Upload
others
View
9
Download
0
Embed Size (px)
Citation preview
1
Arhitektura računara
vežbe - čas vežbe - čas 1 i 2: Minimizacija logi1 i 2: Minimizacija logičkih funkcijačkih funkcija
2
Bulova algebra
Klod Šenon je 1938. uočio da se Bulova algebra može koristiti u rešavanju problema digitalne elektronike.
Bulova algebra se pokazala posebno korisna u sledećim zadacima: Opis elektronskog kola kao logičke funkcije ulaza kola. Nalaženje najboljeg načina realizacije te funkcije.
3
Elementi logike
Logičke konstante: 0 i 1 Logičke promenljive: A, B, C… Logičke (iskazne) formule su:
Logičke konstante i promenljive. Ako su P i Q logičke formule, onda su i (¬P),
(PΛQ), (PVQ), (P→Q) i (P↔Q) logičke formule. Ništa drugo nije logička formula.
4
Logičke funkcije
Funkcije oblika ƒ:{0,1}n→{0,1} nazivamo logičkim funkcijama n promenljivih.
Postoji 22n logičkih funkcija n promenljivih.
Za svaku logičku funkciju postoji bar jedna logička formula koja joj odgovara i obrnuto.
5
Potpuni sistemi logičkih funkcija
Za skup logičkih funkcija kažemo da je potpun ako se sve logičke funkcije mogu predstaviti pomoću funkcija ovog skupa.
Potpun sistem je minimalan ako ni jedan njgov pravi podskup nije potpun.
{¬, Λ} je minimalan potpun sistem funkcija. Npr. AVB=¬(¬A Λ¬B)
6
Potpuni sistemi logičkih funkcija
Sistemi {↑} i {↓} su potpuni i minimalni. Funkcije ↑ (Ni, Šeferova funkcija) i ↓ (Nili,
Lukašievičeva funkcija) se definišu na sledeći način:
A B A↑B A↓B
0 0 0 1 1 0 1 1
1 1 1 0 1 0 0 0
7
Potpuni sistemi logičkih funkcija
Potpunost prethodnih sistema se vidi iz sledećih relacija: ¬A=A↑A AΛB=(A↑B) ↑(A↑B) ¬A=A↓A AΛB=(A↓A) ↓(B↓B)
8
Normalne forme
Logičke konstante, logičke promenljive i njihove negacije nazivaćemo literalima.
Logička formula je u konjunktivnoj normalnoj formi ako je oblika: A1 Λ A2 Λ … Λ An gde je svaka od formula Ai
disjunkcija literala.
9
Normalne forme
Logička formula je u disjunktivnoj normalnoj formi ako je oblika: A1 V A2 V … V An gde je svaka od formula Ai
konjunkcija literala. Za svaku logičku formulu postoje ekvivalentne
formule u DNF i KNF.
10
Algoritam za DNF
Ulaz: Logička formula A Izlaz: DNF formule A
(1) Eliminisati veznik A↔B koristeći ekvivalenciju A↔B ≡ (A→B) Λ (B→A)
(2) Eliminisati veznik A→B koristeći ekvivalenciju A→B ≡ ¬A V B
(3) Dok je moguće primenjivati De Morganove zakone:¬(A Λ B) ≡ ¬A V ¬B i ¬(A V B) ≡ ¬A Λ ¬B
(4) Eliminisati višestruke negacije koristeći zakon ¬ ¬A ≡ A
(5) Dok je moguće primenjivati zakone distributivnosti Λ u odnosu na V A Λ (B V C) ≡ (A Λ B) V (A Λ C) i(B V C) Λ A ≡ (B Λ A) V (C Λ A)
11
Primer
Naći DNF formule ¬((A↔B) → C) (1) ¬((A→B Λ B→A)→C) (2) ¬(¬((¬AVB) Λ (¬BVA)) V C) (3) ¬(¬(¬AVB) V ¬(¬BVA) V C) (3) ¬((¬¬A Λ¬B) V (¬¬B Λ¬A) V C) (3) ¬(¬¬A Λ¬B) Λ ¬((¬¬B Λ¬A) V C) (3) (¬¬¬A V ¬¬B) Λ ¬(¬¬B Λ ¬A) Λ ¬C (3) (¬¬¬A V ¬¬B) Λ (¬¬¬B V ¬¬A) Λ ¬C (4) (¬A V B) Λ (¬B V A) Λ ¬C (5) (¬A V B) Λ ((¬B Λ ¬C) V (A Λ ¬C)) (5) ((¬A V B) Λ (¬B Λ ¬C)) V ((¬A V B) Λ (A Λ ¬C)) (5) (¬A Λ ¬B Λ ¬C) V (B Λ ¬B Λ ¬C) V (¬A Λ A Λ ¬C) V (B Λ
A Λ ¬C)
12
Primer
Naći DNF sledećih formula:
¬((C→A)→B)
¬(C→(A↔B))
(A↔B)→C
(¬(A↔B))→C
¬(A→(B→C))Λ((A→B)→C)
13
Pojednostavljivanje
Formule se mogu pojednostaviti koristeći ekvivalencije: A Λ ¬A ≡ 0 A V ¬A ≡ 1 A Λ 0 ≡ 0 A V 0 ≡ A A Λ 1 ≡ A A V 1 ≡ 1 A Λ A ≡ A A V A ≡ A
14
Primer
Uprostiti: (¬A Λ ¬B Λ ¬C) V (B Λ ¬B Λ ¬C) V (¬A Λ A Λ ¬C) V (B Λ A
Λ ¬C) (¬A Λ ¬B Λ ¬C) V (0 Λ ¬C) V (0 Λ ¬C) V (B Λ A Λ ¬C) (¬A Λ ¬B Λ ¬C) V 0 V 0 V (B Λ A Λ ¬C) (¬A Λ ¬B Λ ¬C) V 0 V (B Λ A Λ ¬C) (¬A Λ ¬B Λ ¬C) V (B Λ A Λ ¬C)
15
Formiranje DNF prema tablici
Ako je data tablica koja predstavlja neku logičku funkciju, lako se dobija DNF odgovarajuće formule.
DNF se dobija tako što se svakoj vrsti tablice za koju je vrednost funkcije 1 pridruži jedna konjunkcija literala. Literali u konjunkcijama se odredjuju na sledeći način: Ako u odgovarajućoj vrsti promenljiva X ima
vrednost 1, u konjunkciji se javlja literal X U suprotnom, ako promenljiva X u toj vrsti ima
vrednost 0, u konjunkciji se javlja literal ¬X Disjunkcija svih takvih konjunkcija je tražena DNF.
16
Primer
Odgovarajuća DNF je: (¬A Λ B Λ ¬C) V (¬A Λ B Λ C) V (A Λ B Λ ¬C)
A B C F
00001111
00110011
01010101
00110010
17
Logički elementi
Logički elementi su elektronski objekti koji implementiraju neke od logičkih funkcija. Argumenti funkcija su ulazi, a vrednosti funkcija su izlazi logičkih elemenata.
Logički elementi obično implementiraju potpune sisteme logičkih funkcija.
18
Logički elementi
Svaka logička funkcija se u elektronskom obliku može predstaviti mrežom povezanih logičkih elemenata.
Ovi elementi se mogu povezivati tako da predstavljaju npr. DNF formule koja odgovara posmatranoj funkciji.
19
Minimizacija logičkih funkcija
Radi smanjenja troškova proizvodnje i komplikovanosti sistema, teži se sledećim ciljevima: Smanjenje složenosti reprezentacije logičke
funkcije Smanjenje broja različitih logičkih elemenata, pa
se često koristi samo jedan element – Ni ili Nili
20
Minimizacija logičkih funkcija
Postoji vise načina minimizacije logičkih funkcija. Osnovni su: Algebarske transformacije Karnoove (Karnaugh) mape Metoda Kvin-MekKlaskog
21
Algebarske transformacije
Algebarski pristup minimizaciji logičkih funkcija se zasniva na primenama raznih zakona uprošćavanja i zamene složenih podformula jednostavnijim, logički ekvivalentnim, formulama.
22
Primer
F=(¬AΛBΛ¬C)V(¬AΛBΛC)V(AΛBΛ¬C)= (¬AΛBΛ¬C)V(¬AΛBΛC)V(AΛBΛ¬C)V(¬AΛBΛ¬C)
= ¬AΛBΛ(¬CVC) V (AV¬A)ΛBΛ¬C
= ¬AΛB V BΛ¬C
Fmin=BΛ(¬AV¬C)
23
Karnoove mape
Karnoove mape predstavljaju tablični metod minimizacije logičkih funkcija. Koriste se za funkcije do 6 promenljivih. Za veće brojeve promenljivih postaju nepregledne i previše složene.
24
Karnoove mape - opis
Ako je n broj promenljivih, mapa se sastoji od 2n kvadrata.
Kolone i vrste mape se označavaju kombinacijama vrednosti promenljivih.
Ako je širina (odnosno visina) mape n kvadrata, po širini (odnosno visini) se zadaju vrednosti za log2n promenljivih.
Oznake kolona odnosno vrsta (kombinacije vrednosti pormenljivih) su poredjane tako da čine Grejov kod.
25
Primeri
26
Primeri
27
Karnoove mape - konstrukcija
Logička funkcija koja je zapisana u obliku DNF, može se predstaviti pomoću Karnoove mape tako što se u svako polje mape upiše 1 ukoliko postoji konjunkcija u DNF takva da je njena vrednost 1 za vrednosti promenljivih koje odgovaraju tom polju.
Karnoova mapa se takodje može dobiti i iz tablične reprezentacije funkcije, jednostavnim upisivanjem jedinica u polja koja odgovaraju vrstama tablice za koje je vrednost funkcije 1.
28
Primeri
29
Karnoove mape - konstrukcija
Ukoliko tablica koja definiše funkciju nije definisana za sve vrednosti promenljivih (nemamo sve vrste), u polja mape koja odgovaraju tim vrstama možemo upisati neki specijalni simbol. Uobičajeni su d,?,*,n…
Takva polja pri minimizaciji možemo interpretirati kako nam odgovara.
30
Karnoove mape - minimizacija
Pošto Karnoove mape direktno odgovaraju tablicama kojima se zadaju logičke funkcije, DNF formule koja odgovara mapi se može dobiti na isti način. Medjutim, tako dobijena formula ne mora biti minimalna.
Minimizacija se zasniva na postupku uočavanja grupa od po 2k jedinica kojima se konjunkcija može dodeliti kao grupi, umesto da se to radi pojedinačno kao kod konstrukcije iz tablice.
31
Karnoove mape - minimizacija
Kod formiranja grupa jedinica, važe sledeća pravila: Grupe se sastoje samo od jedinica Broj jedinica u grupi mora biti stepen dvojke:
1,2,4,8,…,2i,… Jedinice moraju biti rasporedjene u susednim
poljima u obliku pravougaonika Svaka jedinica mora biti u nekoj grupi Grupe se mogu preklapati Grupe čija su polja u potpunosti sadržana u nekim
drugim grupama treba zanemariti Smatra se da mapa ima oblik torusa, odnosno
mogu se grupisati i jedinice koje postaju susedne kada se spoje naspramne ivice mape.
32
Karnoove mape - minimizacija
Poštujući ova pravila može se formirati puno različitih grupisanja, odnosno, ova pravila ne odredjuju jednoznačno grupisanje jedinica.
Osnovni princip koji garantuje minimalnost je: vršiti grupisanje tako da se sa što manje što većih grupa obuhvate sve jedinice.
33
Primeri
34
Karnoove mape - čitanje
Kao što je i ranije naglašeno čitanje Karnoovih mapa bez grupisanja je jednostavno – kao kod konstrukcije DNF iz tablice koja predstavlja funkciju.
Posle grupisanja, mapa se tumači kao disjunkcija konjunkcija koje odgovaraju grupama, a ne pojedinačnim jedinicama, što dovodi do smanjenja reprezentacije funkcije.
35
Karnoove mape - čitanje
Svaka promenljiva X koja je konstantna na svim poljima neke grupe učestvuje u konjunkciji koja se pridružuje toj grupi kao literal X ako je vrednost promenljive 1 ili ¬X ako je njena vrednost 0.
Što je grupa veća, to je manji broj promenljivih u konjunkciji koja joj se pridružuje.
36
Primer
37
Primer
38
Neodredjena polja
Ukoliko mapa sadrži polja za koja nije odredjena vrednost (označena sa d,?,*,n…), njih tumačimo na način koji nam odgovara u cilju grupisanja jedinica u što manje što većih grupa.
39
Primer
40
Primer
A B C D F
0 0 0 0 1
0 0 0 1 N
0 0 1 0 1
0 0 1 1 0
0 1 0 0 N
0 1 0 1 0
0 1 1 0 N
0 1 1 1 N
1 0 0 0 1
1 0 0 1 N
1 0 1 0 N
1 0 1 1 0
1 1 0 0 N
1 1 0 1 1
1 1 1 0 N
1 1 1 1 N
Minimizovati sledeću funkciju medotom Karnoovih mapa
41
Primer
Rešenje:
Fmin1(A, B, C, D) = D + AC
Primetiti da je i sledeći oblik takođe rešenje:
Fmin2(A, B, C, D) = D + AB
42
Primer
Minimizovati sledeće funkcije
A B C D F1 F2 F3
0 0 0 0 1 N 1
0 0 0 1 N N 0
0 0 1 0 N N 1
0 0 1 1 N 1 1
0 1 0 0 N N 0
0 1 0 1 1 1 N
0 1 1 0 0 0 0
0 1 1 1 N N 1
1 0 0 0 1 0 N
1 0 0 1 0 N N
1 0 1 0 N 1 N
1 0 1 1 N N N
1 1 0 0 N 1 N
1 1 0 1 N 0 N
1 1 1 0 1 1 N
1 1 1 1 N N N
43
Metoda Kvin-MekKlaski
Na početku treba predstaviti funkciju preko DNF, tako da se nedefinisane vrednosti tretiraju kao jedinice
Posmatramo prethodni primer, DNF koja odgovara toj funkciji je
F(A, B, C, D) = ABCD + ABCD + ABCD + ABCD + ABCD + ABCD + ABCD + ABCD + ABCD + ABCD + ABCD + ABCD + ABCD.
44
Metoda Kvin-MekKlaski
Potrebno je grupisati konjunkcije po broju negacija (prva kolona u sledećoj tabeli, grupe su obeležene različitim bojama).
U našem primeru:
- četiri negacije ima ABCD
- sa po tri negacije su ABCD, ABCD, ABCD, ABCD
- sa po dve negacije su ABCD, ABCD, ABCD, ABCD
- sa po jednom negacijom ABCD, ABCD, ABCD
- bez negacije je ABCD.
45
Metoda Kvin-MekKlaski
Porediti svake dve susedne grupe (prvu sa drugom, drugu sa trećom, treću sa četvrtom i četvrtu sa petom) na sledeći način: napraviti sva moguća sažimanja implikanata tako da
- jedan implikant pripada jednoj grupi, drugi implikant pripada susednoj grupi
- oba implikanta imaju sve iste promenljive, na primer ABC i ABC
- razlikuju se samo na jednoj promenljivoj, u ovom slučaju implikanti se razlikuju na C promenljivoj
46
Metoda Kvin-MekKlaski
Označiti štikliranjem implikante koji su učestvovali u sažimanju
Postupak nastaviti sa novodobijenim implikantima sve dok je neko sažimanje moguće
Važno je nastaviti sa svim mogućim sažimanjima iako su svi implikanti već štiklirani
47
Metoda Kvin-MekKlaski
48
Metoda Kvin-MekKlaski
Kada sažimanje više nije moguće, pravi se tabela koja u zaglavlju kolona sadrži konjunkcije koje odgovaraju samo ulazima za koje funkcija ima vrednost jedan. Tabela u zaglavlju vrsta treba da ima sve neuparene implikante, BC, AC, BC, AB, D.
49
Metoda Kvin-MekKlaski
Za svaki implikant iz druge tabele, upisati x u svakoj koloni koja odgovara konjunkciji koja sadrži taj implikant (na primer, AB se sadrži u konjunkciji ABCD). Ovo označi da taj implikant može da zameni početnu konjunkciju koja je učestvovala u DNF.
Cilj nam je da sa što manje implikanata zamenimo sve konjunkcije, što znači da ćemo birati implikante koji po mogućstvu zamenjuju što više konjunkcija. Potrebno je i dovoljno da svaku konjunkciju zameni po jedan implikant.
50
Metoda Kvin-MekKlaski
Prvo označavamo x koje je jedino u koloni (u drugoj tabeli je to x označeno tamno plavom), zato što je ono jedini izbor za tu kolonu, odnosno jedina zamena za konjunkciju koja odgovara toj koloni.
Sve ostale x-eve iz te vrste takođe označavamo (svetlo plava), zato što implikant koji odgovara tom x-u sigurno učestvuje u konačnoj, minimalnoj, formi, pa će biti zamena i za sve ostale konjunkcije u kojima se sadrži.
51
Metoda Kvin-MekKlaski
Nakon toga biramo implikante koji mogu biti zamena za više konjunkcija (nalaze se u više kolona).
Ostala je nepokrivena treća kolona. Može se izabrati bilo koji od dva implikanta AC ili AB.
U ovom primeru je izabran prvi implikant, AC (obojeno zeleno).
52
Metoda Kvin-MekKlaski
Kada je po bar jedan x iz svake kolone označen na bilo koji način, konačni, minimizovani oblik funkcije se sastoji od svih implikanata koji su označeni
F (A, B, C, D) = D + AC. Primetiti da je isto tako minimalni oblik mogao
biti
F (A, B, C, D) = D + AB.
53
Metoda Kvin-MekKlaski
Uporediti ovo rešenje sa rešenjem dobijenim metodom Karnoovih mapa.
Primetiti da implikanti odgovaraju grupama u Karnoovim mapama, a x označava da je ta konjunkcija (jedinica) pokrivena tom grupom.
X-evi u vrsti su ekvivalentni jedinicama koje su pokrivene grupom koja odgovara tom implikantu, dok su x-evi u koloni ekvivalenti grupama kojima je pokrivena ta jedinica.
Jedno x u koloni je ekvivalentno tome da je jedinica iz Karnoove mape koja odgovara toj konjunkciji pokrivena samo jednom grupom, tako da je ta grupa jedina mogučnost.
Ukoliko imamo više x-eva u koloni, to znači da je ta jedinica pokrivena sa više grupa, pa bilo koja grupa može biti zamena, a najbolja je ona koja pokriva više nepokrivenih jedinica, odnosno zamena je za više konjunkcija.
54
Metoda Kvin-MekKlaski
Minimizovati funkcije sa slajda 42.