1 2.1. Konačni automati Konačni automat se u teoriji tretira kao uređaj za azbučna preslikavanja gde svakom slovu, dovedenom na njegov ulaz, odgovara određeno slovo na izlazu, ili kako se još kaže svako ulazno slovo se preslikava u izlazno. Sekvencijalno dovedena slova čine reči. Slova i reči na ULAZU, odslikavaju stanje sistema (informacije o programu nekog procesa) a slova i reči na IZLAZU program za upravljanje tim sistemom. Konačni automat vrši funkciju upravljačkog organa. Konačni automat: grafički prikaz 1 Slajdovi su generalno bazirani na referenci [2] Slika 2.1. Konačni automat 1
Blok A, je funkcionalni deo konačnog automata koji vektor ulaza: X dužine n, preslikava u vektor izlaza: Y, dužine m. Na svakom ulaznom kanalu prisutni su ulazni diskretni signali, koji se mogu naći u konačnom broju stanja (vrednosti) / binarni digitalni signali {0,1} digitalni konačni automati. Broj kanala na ulazu definiše dužinu ulaznih slova ( n ), a ova slova čine ULAZNU azbuku. Broj slova ULAZNE azbuke je konačan. Broj kanala na izlazu definiše dužinu izlaznih slova ( m ), a ova slova čine IZLAZNU azbuku. Broj slova IZLAZNE azbuke je takođe, konačan. Automat preslikava slova ULAZNE azbuke u slova IZLAZNE azbuke. Drugim rečima: Automat sa konačnim brojem ulaznih i izlaznih kanala, sa signalima koji uzimaju vrednost iz slupa {0,1}, imaće i konačan broj ulaznih i izlaznih kombinacija (slova) pa se zbog toga i naziva konačnim. Konačni automati spadaju u klasu determinističkih sistema (pojavljivanje ulaznih signala i njihovih vrednosti su strogo utrvđene). 2
Razlikuju se dve osnovne klase konačnih automata: KOMBINACIONI AUTOMATI i SEKVENCIJALNI AUTOMATI (Slika 2.2.). Slika 2.2. Konačni automat Kombinacioni automat ili automat bez memorije, je automat kod koga postoji jednoznačno preslikavanje ULAZNIH u IZLAZNA slova, odnosno jednom ulaznom slovu, nezavisno od trenutka kada se ono pojavljuje, uvek odgovara isto određeno izlazno slovo. Sekvencijalni automat ili automat sa memorijom, je automat kod koga ne postoji jednoznačno preslikavanje ULAZNIH u IZLAZNA slova, odnosno jednom ulaznom slovu, u zavisnosti od trenutka kada se ono pojavljuje, mogu odgovarati različita izlazna slova. Izlazno slovo ovoh automata ne zavisi samo od slova prisutnog tog trenutka na ulazu, već i od prethodno saopštenih ulaznih slova. 3
2.2. Informatika. Kada govorimo o nekom objektu, procesu ili sistemu, koji je predmet upravljanja, potrebne su nam informacije o tom objektu. Informacija je negativna entropija. Entropija je mera neuređenosti sistema. Što je veća količina informacija o nekom sistemu to je manja entropija posmatranog sistema. Svrha upravljanja (a time i RU) je smanjenje entropije upravljanog objekta. Informacije o objektu iskazane su u obliku podataka. Informacije su podaci kojima je dat smisao. Stanje objekta, koji je predmet upravljanja, opisano je vrednostima (nivoima) određenog broja fizičkih parametara (varijabli, indikatora...), kojima se približno ali i na dovoljno dobar način opisuje dati objekat. Kvantitativne vrednosti parametara (podaci) koji opisuju objekat, utvrđuju se merenjem. Materijalni nosilac podataka su signali čija fizička priroda može biti različita (napon struje, jačina struje, pristisak fluida, intezitet svetlosti...). 4
Podaci mogu biti diskretni i kontininulani. Konačni automati rade sa diskretnim signalima. Diskretizacija analognih signala realizuje se nekim od postupaka A/D konverzije. Kod diskretnih podataka stanja signala se mogu označiti simbolima. Skup različitih simbola čini azbuku, a svaki simbol je slovo te azbuke. Ako je broj simbola azbuke A= { a1, a2, a3,..., a m } jednak m, onda je broj reči ( N ) određen varijacijama sa ponavljanem: N = m n gde je n dužina reči (dužina reči jednaka broju ulaznih kanala). Svaka od reči (slogova) može opisati jedno moguće stanje nekog sistema. 5
U principu, azbuka može sadržati bilo koji broj slova (simbola), ali je najprostija binarna (dvoznačna) azbuka sa simbolima {0,1}, koji reprezentuju odsustvo/prisustvo signala. Dakle, stanje sistema u određenom trenutku može se iskazati pomoću reči azbuke od dva slova. Simbol binarne azbuke naziva se bit (binary digit=binarna cifra). Bit predstavlja najmanju količinu informacije (najmanja jedinica informacije). Digitalni sistemi, koji implementiraju RU, sastavljeni su od elemenata koji operišu sa binarnim signalima. Za obradu i kodiranje binarnih signala veoma važnu ulogu imaju brojčani sistemi a posebno binarni brojčani sistem. 6
2.3. Brojčani sistemi Brojčani sistemi se dele na dve grupe: Aditivni - sistemi koji su se javili pre pozicionih, kod kojih cifre/simboli imaju istu vrednost bez obzira na mesto, u nizu kojim je broj zapisan, na kome se nalaze. Primer ovakvog sistema je rimski brojčani sistem sa ciframa datim u Tabeli 2.1. Tabela 2.1. Rimski brojčani sistem simboli i decimalne vrednosti Kao primer navodi se broj: Simboli cifara Decimalna vrednost I 1 V 5 X 10 L 50 C 100 D 500 M 1000 MCMLXXIX 1000 + (1000-100) +50+10+10 +(10-1)=1979 Pozicioni (mesni) Kod ovih brojčanih sistema svaka cifra/simbol, osim numeričke vrednosti, ima i svoju težinu koja zavisi od pozicije u nizu cifara, zbog čega se ovakvi sistemi još nazivaju i težinskim. 7
Pozicioni brojčani sistemi Apsolutna vrednost N ( B) izražava se u obliku: n n n 1 0 1 m i n n 1 0 1 m i i= m N( B) = a B + a B +... + a B +... + a B +... + a B = a B gde su: a i - koeficijenti koji predstavljaju cifre brojčanog sistema ai {0,1,..., B 1} B osnova brojčanog sistema i eksponenet, ceo broj i { m, m+ 1,..., n} a i i B - proizvod koji obrazuje jedan razred čiji rang, odnosno težina zavisi od eksponenta i, odnosno od pozicije cifre u broju Prema konvenciji u prikazu broja daju se samo cifre, dok se težine pamte: N = aa... a, a a... a ( B) n n 1 0 1 2 m 8
Primeri brojčanih sistema dati su u Tabeli 2.2. Tabela 2.2. Primeri brojčanih sistema Osnova B Vrednost koeficijenata Naziv brojčanog sistema 2 01 Binarni 3 012 Ternarni 8 01234567 Oktalni 10 0123456789 Dekadni 12 0123456789AB Duodekadni 16 0123456789ABCDEF Heksadekadni Primer: brojevi u dekadnom i binarnom brojčanom sistemu: 2 1 0 1 2 125.63 = 1 10 +2 10 + 5 10 + 6 10 + 3 10 = 100 + 20 + 5 + 0.6 + 0.03 = 125.63 ( 10) 10011 = 1 2 + 0 2 + 0 2 + 1 2 + 1 2 = 16 + 0 + 0 + 2 + 1 = 19 4 3 2 1 0 (2) (10) 9
Prevođenje brojeva u pozicionim brojčanim sistemima N = aa... a, a a... a ( B1) n n 1 0 1 2 m N = bb... b, b b... b ( B2) p p 1 0 1 2 q Mogu nastupiti dva karakteristična slučaja: A. B1 B2 < pri čemu je B 1 > 1 a1. direktna metoda 5 4 3 2 1 0 110011(2) 1 2 1 2 0 2 0 2 1 2 1 2 1 32 16 0 8 0 4 1 2 1 = + + + + + = + + + + + a2. metoda double-double za prevođenje celih binarnih brojeva Slika 2.3. Metoda double-double 10
Prevođenje prvih 16 celih dekadnih brojeva (kojii su često u upotrebi) u binarni brojčani sistem: Tabela 2.3. Prvih 16 celih dekadnih brojeva Dekadni broj Binarni broj 0 0 0 0 0 1 0 0 0 1 2 0 0 1 0 3 0 0 1 1 4 0 1 0 0 5 0 1 0 1 6 0 1 1 0 7 0 1 1 1 8 1 0 0 0 9 1 0 0 1 10 1 0 1 0 11 1 0 1 1 12 1 1 0 0 13 1 1 0 1 14 1 1 1 0 15 1 1 1 1 težina: 2 3 2 2 2 1 2 0 vrednost: 8 4 2 1 11
Kapacitet brojčanih sistema: Sa n cifara brojčanog sistema sa osnovom B, moguće je kreirati n B kombinacija, a sa p cifara decimalnog brojčanog sistema 10 p kombinacija. Za poređenje kapaciteta brojčanih sistema neka je broj kombinacija isti: n p B = 10 n p log B = log10 n log B= p log10 n log B= p Za binarini brojčani sistem B = 2, te sledi n log10 2 = p n 0.30103 = p Primer: za n = 10 p = 3 Za broj iskazan sa 10 cifara u binarnom brojčanom sistemu dovoljno je 3 cifre u dekadnom brojčanom sistemu. VEĆI KAPACITET dekadnog brojčanog sistema...!!! JOŠ VEĆI KAPACITET HEKSADEKADNOG BROJČANOG SISTEMA...!!! Ipak, pitanje tehničke realizacije!!!!! 12
B. B1 B2 > pri čemu je B 2 > 1 Postupak prevođenja celih brojeva: Sukcesivno deljenje zadatog broja osnove B 1, sa osnovom B 2, željenog brojčanog sistema, sve dok celobrojna vrednost ne bude jednaka nula. Ostaci b i, čitano odozdo naviše (ili sa desna na levo), tj. obrnutim redom od postupka deljenja, ispisni u nizu daju broj u željenom brojčanom sistemu sa osnovom B 2. i 0 1 2... p Q i Q 0 =N(B 1 ) Q 1 =Q 0 /B 2 Q 2 =Q 1 /B 2 Q p =Q p-1 /B 2 b i b 0 b 1 b 2... b p Primer: Slika 2.4. Pretvaranje celih brojeva iz dekadnog u binarni brojčani sistem 13
Postupak prevođenja razlomljenih brojeva: i 0 1 2... p Q -i Q 0 =N(B 1 ) Q -1 =Q 0 *B 2 Q -2 =Q - Q -p =Q -(p-1) *B 2 1*B 2 b -1 0 b -1 b -2... b -p Slika 2.5. Pretvaranje celih brojeva iz dekadnog u binarni brojčani sistem 14
Primer prevođenja u kome se dekadni razlomljeni broj ne može prikazati sa konačnim brojem cifara u binarnom brojčanom sistemu. Slika 2.6. Pretvaranje celih brojeva iz dekadnog u binarni brojčani sistem Postupak prevođenja mešovitih brojeva: Vrši se posebno za celobrojni a posebno za razlomljeni deo, nakon čega se sabiraju rezultati. Primer: 186.625(10)=10111010.101(2) 15
Napomena 1: Za vežbu i utvrđivanje gradiva o pretvaranju brojeva u/iz različitih brojčanih sistema (heksadekadni, duodekadni, dekadni, oktalni, ternarni, binarni) sa sajta skole: www.vpts.edu.rs///milovan.milivojevic... preuzeti fajl Brojcani sistemi.xlsx. Unose se celobrojni ili mešoviti brojevi u ćelije C6 ili C36. Analizirati rezultate i prikazani postupak prevođenja. Napomena 2: Fajl je zaštićen Izgled fajla dat je na Slici. 2.7. 16
Slika 2.7. Pretvaranje brojeva između različitih brojčanih sistema 17
2.4. Kodiranje Pod kodiranjem se podrazumeva predstavljanje diskretnih informacija pomoću slova (simbola) neke azbuke A k. Primer kodiranja: Pisani tekst kao sredstvo komunikacije među ljudima baziran je na azbuci koja predstavlja uniju tri azbuke: o jezičke azbuke za glasovne (fonetske) informacije - alfabet o numeričke azbuke za brojeve i o azbuke simbola za interpunkciju. Za kodiranje informacija (podataka) čija je priroda numerička koristi se azbuka čija su slova cifre. Svaki vid informacija može se pogodnom transformacijom svesti na numerički. 18
Za memorisanje, unos i obradu informacija/podataka E = { e}, i = 1,2,3,..., r, koristi se azbuka A = { a}, i = 1,2,3,..., k koja se sastoji od k slova/simbola. k i i Za kodiranje manje količine informacija koriste se pojedinačna slova. Za kodiranje veće količine informacija neophodno je kreiranje reči (slogovi)dužine n. Ako se svakoj informacija iz skupa informacija E k, pridruži po jedna reč u azbuci A k, tada se takav skup naziva kod informacija u azbuci pridruživanja reči je kodiranje. A k, a sam proces 19
Ako je svaka reč (slog), iste dužine, kod je ravnomeran, a ako su iskorišćene sve moguće reči iste dužine kod je potpun. Ravnomerni potpuni kod čiji slog ima dužinu n a kodna azbuka ima m slova ima n m različitih slogova. U praksi se, kao što je ranije objašnjeno, najčešće koristi binarana azbuka {0,1}, jer je tehnički najlakše ostvariti dva stabilna fizička stanja / pri čemu ova azbuka nije optimalna (najekonomičnije bi bilo raditi sa ternarnim brojim sistemom!!!). Kodiranje numeričkih podataka ne vrši se direktno, tako da se svakom broju, proizvoljno pridruži reč iz kodne azbuke A, već se u tu svrhu koriste pravila na kojima se zasnivaju brojčani sistemi. k 20
Od posebnog je značaja kodiranje dekadnih brojeva u binarnoj kodnoj azbuci / klasa binarno-decimalnih kodova. Prirodni binarni kod Kod prirodnog koda se svaka cifra koda ponavlja onoliko puta, kolika je težina odgovarajućeg ranga (pozicije) (Tabela 2.2, kolona b). Decimlani ekvivalent Tabela 2.2. Prirodni binarni kod i Gray kod Prirodni binarni kod Binarni ciklični (Gray) (b) (c) 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 1 2 0 0 0 1 0 0 0 1 1 3 0 0 0 1 1 0 0 1 0 4 0 0 1 0 0 0 1 1 0 5 0 0 1 0 1 0 1 1 1 6 0 0 1 1 0 0 1 0 1 7 0 0 1 1 1 0 1 0 0 8 0 1 0 0 0 1 1 0 0 9 0 1 0 0 1 1 1 0 1 10 0 1 0 1 0 1 1 1 1 11 0 1 0 1 1 1 1 1 0 12 0 1 1 0 0 1 0 1 0 13 0 1 1 0 1 1 0 1 1 14 0 1 1 1 0 1 0 0 1 15 0 1 1 1 1 1 0 0 0 16 1 0 0 0 0 1 0 0 0 17 1 0 0 0 1 1 0 0 1 18 1 0 0 1 0 1 0 1 1 težina 2 3 2 2 2 1 2 0 21
Svojstvo susednosti: Dve cifre u sistemu sa osnovom B su susedne ako se razlikuju za jednu jedinicu modula B. Primeri susednih cifara i brojeva (Tabela 3): Tabela 2.3. Susedne cifre i susedni brojevi Susedna Cifra susedna Brojevi dekadni dekadno 1 2 3 susedni 275 dekadno 4 5 6 susedni 175 dekadno 8 9 0 susedni 375 susedni 265 binarno 0 1 susedni 285 1 0 susedni 274 susedni 276 Kod binarnog sistema dve kombinacije od n cifara biće susedne ako se međusobno razlikuju samo u jednoj cifri istog ranga. 22
Primer susedni binarni brojevi: Binarni Decimalni 11010 26 01010 10=26-16 10010 18=26-8 11110 30=26+4 11000 24=26-2 11011 27=26+1 Vidi se da se binarni susedni brojevi razlikuju u dekadnom brojčanom sistemu uvek za težinu 2 i, dakle za 1,2,4,8,16. Kontinualni i ciklični kod Kontinualni kod je onaj kod kod koga su dve uzastopne kombinacije susedne. Ako je osim toga poslednja kombinacija susedna prvoj, kod se naziva cikličnim. 23
Ciklični Grejov kod (Gray) Prikazan je u Tabeli 2.2 (kolona c). Simetričnost u odnosu na pojedine horizontalne ose/ Analiza Decimalni ekvivalenti su susedni (posmatrano binarno). Ova osobina je od posebne važnosti za tehničku realizaciju, jer promena SAMO JEDNE binarne cifre dovodi do promene signala / veoma pogodno za digitalna merenja merne skale. Prirodni kod po ovom pitanju nije pogodan: Primer: 7 8... potrebno promeniti jednovremeno 4 stanja / binarne cifre (0111 1000), što dovodi do mogućih kritičnih stanja. Kod Grejovog koda prelazak 7 8... podrazumeva promenu samo jednog bit-a (0100 1100). 24
Ekvivalentna decimalna vrednost broja izražena kodom Greja dobija se kada se ciframa sa desne strane broja prikazanog u Grejovom kodu, dodele redom težine 1,3,7,15,..., 2 n-1-1. Primer: broj u Grejevom kodu 1011, binarno je 1*(2 4-1)+0*(2 3-1)+1*(2 2-1)+1*2 0 =15+0-3+1=13!!! Primer: Pretvaranje brojeva iz prirodnog binarnog koda u Grejev kod. Prirodni binarni kod 10011101000 Grejev kod 11010011100 U zavisnosti da li se ispred cifre nalazi 0 ili 1, zapisuje se ista cifra ili njen komplement. Ako je u prirodnom binarnom kodu ispred tekuće cifre 0 (nula), tekuća cifra se, u Grejevom kodu, prepisuje... a ako je ispred tekuće cifre 1 (jedan), tekuća cifra se menja komplementom. 25
Binarno-decimalni kod Decimalni broj se kodira cifra po cifra. Svaka cifra {0,1, 2,3, 4,5,6,7,8,9}, se kodira u binarni brojčani sistem. Koliko je potrebno bit-a? Broj kombinacija/slogova je 10. n 2 = 10 n log 2 = log 10 10 10 n log 2 = 1 10 1 n = = log210 = 3.3219 log 2 10 Pošto n mora biti ceo broj, za kodiranje se usvaja n = 4, odnosno TETRADA bita. 4 Usvaja se, dakle 2 = 16 kombinacija (tetrada), a potrebno je 10. Potrebno je odabrati 10 tetrada kojima će se izvršiti kodiranje. 26
Broj mogućnosti da se od 16 kombinacija odabere 10, predstavlja broj varijacija bez ponavljanja 16! V = = 2.9 10 (16 10)! 16 10 10 dakle broj varijanti je oko 29 milijardi. U ovom skupu postoje različite klase kombinacija sa posebnim osobinama. Izdvajaju se one sa osobinama: o Težinska osobina (svaka pozicija u binarnom kodu, tj. tetradi da ima svoju težinu) o Osobina komplementarnosti (ako je za decimalne cifre α + β = 9, onda ako je α kodirano sa aaaa 1 2 3 4 onda β mora biti kodiran sa aaaa 1 2 3 4, pri čemu je a i 1ako je ai = 0 =. 0ako je ai = 1 o Osobina susednosti (ako se dekadne cifre razlikuju za 1, da se onda i binarni ekvivalenti razlikuju u samo jednom bit-u / poziciji), 27
Kod 8421 (BCD) Binary Coded Decimal Jedan od najprostijih. Kodiranje tetrade vrši se u prirodnom binarnom kodu. Uzima se prvih 10 od 16 tetrada (Tabela 2.4). Kod poseduje težinsku osobinu. Tabela 2.4. Kod 8421 Decimlani ekvivalent Kod 8421 2 3 =8 2 2 =4 2 1 =2 2 0 =1 0 0 0 0 0 1 0 0 0 1 2 0 0 1 0 3 0 0 1 1 4 0 1 0 0 5 0 1 0 1 6 0 1 1 0 7 0 1 1 1 8 1 0 0 0 9 1 0 0 1 28
Kodiranje decimalnih višerazrednih brojeva vrši se kodiranjem cifre po cifre, a ne globalno kao kod prirodnog koda. Primer: 4835 (10) 0100 1000 0011 0101 Ovaj kod se koristi kod brojača. Za sabiranje nije pogodan. Zašto? Kod sabiranja do 10, rezultat je ispravan, ali ako je rezultat veći ili jednak 10, onda se dobijaju pseudotetrade i mora se vršiti korekcija dodatnim sabiranjem sa ekvivalentom 6. Pravila za sabiranje / Bulova algebra: 0+0=0 0+1=1 1+0=0 1+1=0 sa prenosom u sledeći razred + 1 2 0 1 1 0 Primer 1 (8421) Primer 2 (8421) decimalno binarno decimalno binarno 5 0101 0111 7 3 1 1 12 1100 0110 00010010 (1) (2) pseudotetrada korekcija (+6) Dodatni nedostatak koda 8421 je postojanje tetrade 0000, koja može dovesto do zabune ako u sistemu dođe do nestanka fizičkog sredstva za kodiranje (napon, fluid, pritisak...), jer će ovakva situacija biti tumačena kao kod 0000. 29
Kod 2421 (Aiken) Kodiranje se vrši cifra po cifra. Za kodiranje su odabrane simetrične tetrade iz prirodnog binarnog koda (Tabela 2.5). Decimlani ekvivalent Prirodni binarni kod 0 0 0 0 0 1 0 0 0 1 2 0 0 1 0 3 0 0 1 1 4 0 1 0 0 0 1 0 1 0 1 1 0 0 1 1 1 1 0 0 0 1 0 0 1 1 0 1 0 5 1 0 1 1 6 1 1 0 0 7 1 1 0 1 8 1 1 1 0 9 1 1 1 1 Tabela 2.5. Kod 2421 Decimlani ekvivalent Prirodni binarni kod 0 0 0 0 0 1 0 0 0 1 2 0 0 1 0 3 0 0 1 1 4 0 1 0 0 5 1 0 1 1 6 1 1 0 0 7 1 1 0 1 8 1 1 1 0 9 1 1 1 1 težina 2 4 2 1 Primer1: 7=1*2+1*4+0*2+1*1 Primer2: 9=1*2+1*4+1*2+1*1 30
Kod višak 3 Kodiranje se vrši tako da se i-ti decimalni broj uveća za 3, a potom se tako dobijeni broj kodira u kodu 8421 (Tabela 2.6). Tabela 2.6. Kod višak 3 2 3 =8 2 2 =4 2 1 =2 2 0 =1 malni broj Kod 8421 Aiken kod Kod višak 3 Gray kod 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 1 0 0 0 1 0 0 0 1 0 1 0 0 0 0 0 1 2 0 0 1 0 0 0 1 0 0 1 0 1 0 0 1 1 3 0 0 1 1 0 0 1 1 0 1 1 0 0 0 1 0 4 0 1 0 0 0 1 0 0 0 1 1 1 0 1 1 0 5 0 1 0 1 1 0 1 1 1 0 0 0 0 1 1 1 6 0 1 1 0 1 1 0 0 1 0 0 1 0 1 0 1 7 0 1 1 1 1 1 0 1 1 0 1 0 0 1 0 0 8 1 0 0 0 1 1 1 0 1 0 1 1 1 1 0 0 9 1 0 0 1 1 1 1 1 1 1 0 0 1 1 0 1 Kod višak 3 poseduje osobinu komplementarnosti ( α + β = 9 ) (primer: 2+7. 0101 i 1010 ). Kod višak 3 ima bar jednu cifru 1, što je važno za aritmetičke operacije u digitalnim sistemima. 31
2.5. Pouzdanost kodiranja Za studente za samostalni rad... Klase kodova za: Otkrivanje greške o Kodovi sa pseudoslogovima o Kodovi m do n o Kodovi parnosti Otkrivanje i ispravljanje greške Hamming-ovo rastojanje 32
1. KONAČNI AUTOMATI. Brojčani sistemi. Kodiranje Reference [1] Drndarevic D., Upravljanje procesima priručnik, Visoka poslovno-tehnička škola, Užice 2015. [2] Zarić S., Automatizacija proizvodnje, Mašinski fakultet, Beograd, 1987. 33
Hvala na pažnji!!! 34