54
1 Arhitektura računara vežbe - čas vežbe - čas 1 i 2: Minimizacija logi 1 i 2: Minimizacija logi čkih funkcija čkih funkcija

Arhitektura računara - uoar2.matf.bg.ac.rsuoar2.matf.bg.ac.rs/2018_19/vezbe/cas01/Cas1-2.pdf · DNF se dobija tako što se svakoj vrsti tablice za koju je vrednost funkcije 1 pridruži

  • Upload
    others

  • View
    9

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Arhitektura računara - uoar2.matf.bg.ac.rsuoar2.matf.bg.ac.rs/2018_19/vezbe/cas01/Cas1-2.pdf · DNF se dobija tako što se svakoj vrsti tablice za koju je vrednost funkcije 1 pridruži

1

Arhitektura računara

vežbe - čas vežbe - čas 1 i 2: Minimizacija logi1 i 2: Minimizacija logičkih funkcijačkih funkcija

Page 2: Arhitektura računara - uoar2.matf.bg.ac.rsuoar2.matf.bg.ac.rs/2018_19/vezbe/cas01/Cas1-2.pdf · DNF se dobija tako što se svakoj vrsti tablice za koju je vrednost funkcije 1 pridruži

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.

Page 3: Arhitektura računara - uoar2.matf.bg.ac.rsuoar2.matf.bg.ac.rs/2018_19/vezbe/cas01/Cas1-2.pdf · DNF se dobija tako što se svakoj vrsti tablice za koju je vrednost funkcije 1 pridruži

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.

Page 4: Arhitektura računara - uoar2.matf.bg.ac.rsuoar2.matf.bg.ac.rs/2018_19/vezbe/cas01/Cas1-2.pdf · DNF se dobija tako što se svakoj vrsti tablice za koju je vrednost funkcije 1 pridruži

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.

Page 5: Arhitektura računara - uoar2.matf.bg.ac.rsuoar2.matf.bg.ac.rs/2018_19/vezbe/cas01/Cas1-2.pdf · DNF se dobija tako što se svakoj vrsti tablice za koju je vrednost funkcije 1 pridruži

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)

Page 6: Arhitektura računara - uoar2.matf.bg.ac.rsuoar2.matf.bg.ac.rs/2018_19/vezbe/cas01/Cas1-2.pdf · DNF se dobija tako što se svakoj vrsti tablice za koju je vrednost funkcije 1 pridruži

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

Page 7: Arhitektura računara - uoar2.matf.bg.ac.rsuoar2.matf.bg.ac.rs/2018_19/vezbe/cas01/Cas1-2.pdf · DNF se dobija tako što se svakoj vrsti tablice za koju je vrednost funkcije 1 pridruži

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)

Page 8: Arhitektura računara - uoar2.matf.bg.ac.rsuoar2.matf.bg.ac.rs/2018_19/vezbe/cas01/Cas1-2.pdf · DNF se dobija tako što se svakoj vrsti tablice za koju je vrednost funkcije 1 pridruži

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.

Page 9: Arhitektura računara - uoar2.matf.bg.ac.rsuoar2.matf.bg.ac.rs/2018_19/vezbe/cas01/Cas1-2.pdf · DNF se dobija tako što se svakoj vrsti tablice za koju je vrednost funkcije 1 pridruži

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.

Page 10: Arhitektura računara - uoar2.matf.bg.ac.rsuoar2.matf.bg.ac.rs/2018_19/vezbe/cas01/Cas1-2.pdf · DNF se dobija tako što se svakoj vrsti tablice za koju je vrednost funkcije 1 pridruži

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)

Page 11: Arhitektura računara - uoar2.matf.bg.ac.rsuoar2.matf.bg.ac.rs/2018_19/vezbe/cas01/Cas1-2.pdf · DNF se dobija tako što se svakoj vrsti tablice za koju je vrednost funkcije 1 pridruži

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)

Page 12: Arhitektura računara - uoar2.matf.bg.ac.rsuoar2.matf.bg.ac.rs/2018_19/vezbe/cas01/Cas1-2.pdf · DNF se dobija tako što se svakoj vrsti tablice za koju je vrednost funkcije 1 pridruži

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)

Page 13: Arhitektura računara - uoar2.matf.bg.ac.rsuoar2.matf.bg.ac.rs/2018_19/vezbe/cas01/Cas1-2.pdf · DNF se dobija tako što se svakoj vrsti tablice za koju je vrednost funkcije 1 pridruži

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

Page 14: Arhitektura računara - uoar2.matf.bg.ac.rsuoar2.matf.bg.ac.rs/2018_19/vezbe/cas01/Cas1-2.pdf · DNF se dobija tako što se svakoj vrsti tablice za koju je vrednost funkcije 1 pridruži

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)

Page 15: Arhitektura računara - uoar2.matf.bg.ac.rsuoar2.matf.bg.ac.rs/2018_19/vezbe/cas01/Cas1-2.pdf · DNF se dobija tako što se svakoj vrsti tablice za koju je vrednost funkcije 1 pridruži

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.

Page 16: Arhitektura računara - uoar2.matf.bg.ac.rsuoar2.matf.bg.ac.rs/2018_19/vezbe/cas01/Cas1-2.pdf · DNF se dobija tako što se svakoj vrsti tablice za koju je vrednost funkcije 1 pridruži

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

Page 17: Arhitektura računara - uoar2.matf.bg.ac.rsuoar2.matf.bg.ac.rs/2018_19/vezbe/cas01/Cas1-2.pdf · DNF se dobija tako što se svakoj vrsti tablice za koju je vrednost funkcije 1 pridruži

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.

Page 18: Arhitektura računara - uoar2.matf.bg.ac.rsuoar2.matf.bg.ac.rs/2018_19/vezbe/cas01/Cas1-2.pdf · DNF se dobija tako što se svakoj vrsti tablice za koju je vrednost funkcije 1 pridruži

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.

Page 19: Arhitektura računara - uoar2.matf.bg.ac.rsuoar2.matf.bg.ac.rs/2018_19/vezbe/cas01/Cas1-2.pdf · DNF se dobija tako što se svakoj vrsti tablice za koju je vrednost funkcije 1 pridruži

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

Page 20: Arhitektura računara - uoar2.matf.bg.ac.rsuoar2.matf.bg.ac.rs/2018_19/vezbe/cas01/Cas1-2.pdf · DNF se dobija tako što se svakoj vrsti tablice za koju je vrednost funkcije 1 pridruži

20

Minimizacija logičkih funkcija

Postoji vise načina minimizacije logičkih funkcija. Osnovni su: Algebarske transformacije Karnoove (Karnaugh) mape Metoda Kvin-MekKlaskog

Page 21: Arhitektura računara - uoar2.matf.bg.ac.rsuoar2.matf.bg.ac.rs/2018_19/vezbe/cas01/Cas1-2.pdf · DNF se dobija tako što se svakoj vrsti tablice za koju je vrednost funkcije 1 pridruži

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.

Page 22: Arhitektura računara - uoar2.matf.bg.ac.rsuoar2.matf.bg.ac.rs/2018_19/vezbe/cas01/Cas1-2.pdf · DNF se dobija tako što se svakoj vrsti tablice za koju je vrednost funkcije 1 pridruži

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)

Page 23: Arhitektura računara - uoar2.matf.bg.ac.rsuoar2.matf.bg.ac.rs/2018_19/vezbe/cas01/Cas1-2.pdf · DNF se dobija tako što se svakoj vrsti tablice za koju je vrednost funkcije 1 pridruži

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.

Page 24: Arhitektura računara - uoar2.matf.bg.ac.rsuoar2.matf.bg.ac.rs/2018_19/vezbe/cas01/Cas1-2.pdf · DNF se dobija tako što se svakoj vrsti tablice za koju je vrednost funkcije 1 pridruži

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.

Page 25: Arhitektura računara - uoar2.matf.bg.ac.rsuoar2.matf.bg.ac.rs/2018_19/vezbe/cas01/Cas1-2.pdf · DNF se dobija tako što se svakoj vrsti tablice za koju je vrednost funkcije 1 pridruži

25

Primeri

Page 26: Arhitektura računara - uoar2.matf.bg.ac.rsuoar2.matf.bg.ac.rs/2018_19/vezbe/cas01/Cas1-2.pdf · DNF se dobija tako što se svakoj vrsti tablice za koju je vrednost funkcije 1 pridruži

26

Primeri

Page 27: Arhitektura računara - uoar2.matf.bg.ac.rsuoar2.matf.bg.ac.rs/2018_19/vezbe/cas01/Cas1-2.pdf · DNF se dobija tako što se svakoj vrsti tablice za koju je vrednost funkcije 1 pridruži

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.

Page 28: Arhitektura računara - uoar2.matf.bg.ac.rsuoar2.matf.bg.ac.rs/2018_19/vezbe/cas01/Cas1-2.pdf · DNF se dobija tako što se svakoj vrsti tablice za koju je vrednost funkcije 1 pridruži

28

Primeri

Page 29: Arhitektura računara - uoar2.matf.bg.ac.rsuoar2.matf.bg.ac.rs/2018_19/vezbe/cas01/Cas1-2.pdf · DNF se dobija tako što se svakoj vrsti tablice za koju je vrednost funkcije 1 pridruži

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.

Page 30: Arhitektura računara - uoar2.matf.bg.ac.rsuoar2.matf.bg.ac.rs/2018_19/vezbe/cas01/Cas1-2.pdf · DNF se dobija tako što se svakoj vrsti tablice za koju je vrednost funkcije 1 pridruži

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.

Page 31: Arhitektura računara - uoar2.matf.bg.ac.rsuoar2.matf.bg.ac.rs/2018_19/vezbe/cas01/Cas1-2.pdf · DNF se dobija tako što se svakoj vrsti tablice za koju je vrednost funkcije 1 pridruži

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.

Page 32: Arhitektura računara - uoar2.matf.bg.ac.rsuoar2.matf.bg.ac.rs/2018_19/vezbe/cas01/Cas1-2.pdf · DNF se dobija tako što se svakoj vrsti tablice za koju je vrednost funkcije 1 pridruži

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.

Page 33: Arhitektura računara - uoar2.matf.bg.ac.rsuoar2.matf.bg.ac.rs/2018_19/vezbe/cas01/Cas1-2.pdf · DNF se dobija tako što se svakoj vrsti tablice za koju je vrednost funkcije 1 pridruži

33

Primeri

Page 34: Arhitektura računara - uoar2.matf.bg.ac.rsuoar2.matf.bg.ac.rs/2018_19/vezbe/cas01/Cas1-2.pdf · DNF se dobija tako što se svakoj vrsti tablice za koju je vrednost funkcije 1 pridruži

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.

Page 35: Arhitektura računara - uoar2.matf.bg.ac.rsuoar2.matf.bg.ac.rs/2018_19/vezbe/cas01/Cas1-2.pdf · DNF se dobija tako što se svakoj vrsti tablice za koju je vrednost funkcije 1 pridruži

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.

Page 36: Arhitektura računara - uoar2.matf.bg.ac.rsuoar2.matf.bg.ac.rs/2018_19/vezbe/cas01/Cas1-2.pdf · DNF se dobija tako što se svakoj vrsti tablice za koju je vrednost funkcije 1 pridruži

36

Primer

Page 37: Arhitektura računara - uoar2.matf.bg.ac.rsuoar2.matf.bg.ac.rs/2018_19/vezbe/cas01/Cas1-2.pdf · DNF se dobija tako što se svakoj vrsti tablice za koju je vrednost funkcije 1 pridruži

37

Primer

Page 38: Arhitektura računara - uoar2.matf.bg.ac.rsuoar2.matf.bg.ac.rs/2018_19/vezbe/cas01/Cas1-2.pdf · DNF se dobija tako što se svakoj vrsti tablice za koju je vrednost funkcije 1 pridruži

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.

Page 39: Arhitektura računara - uoar2.matf.bg.ac.rsuoar2.matf.bg.ac.rs/2018_19/vezbe/cas01/Cas1-2.pdf · DNF se dobija tako što se svakoj vrsti tablice za koju je vrednost funkcije 1 pridruži

39

Primer

Page 40: Arhitektura računara - uoar2.matf.bg.ac.rsuoar2.matf.bg.ac.rs/2018_19/vezbe/cas01/Cas1-2.pdf · DNF se dobija tako što se svakoj vrsti tablice za koju je vrednost funkcije 1 pridruži

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

Page 41: Arhitektura računara - uoar2.matf.bg.ac.rsuoar2.matf.bg.ac.rs/2018_19/vezbe/cas01/Cas1-2.pdf · DNF se dobija tako što se svakoj vrsti tablice za koju je vrednost funkcije 1 pridruži

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

Page 42: Arhitektura računara - uoar2.matf.bg.ac.rsuoar2.matf.bg.ac.rs/2018_19/vezbe/cas01/Cas1-2.pdf · DNF se dobija tako što se svakoj vrsti tablice za koju je vrednost funkcije 1 pridruži

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

Page 43: Arhitektura računara - uoar2.matf.bg.ac.rsuoar2.matf.bg.ac.rs/2018_19/vezbe/cas01/Cas1-2.pdf · DNF se dobija tako što se svakoj vrsti tablice za koju je vrednost funkcije 1 pridruži

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.

Page 44: Arhitektura računara - uoar2.matf.bg.ac.rsuoar2.matf.bg.ac.rs/2018_19/vezbe/cas01/Cas1-2.pdf · DNF se dobija tako što se svakoj vrsti tablice za koju je vrednost funkcije 1 pridruži

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.

Page 45: Arhitektura računara - uoar2.matf.bg.ac.rsuoar2.matf.bg.ac.rs/2018_19/vezbe/cas01/Cas1-2.pdf · DNF se dobija tako što se svakoj vrsti tablice za koju je vrednost funkcije 1 pridruži

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

Page 46: Arhitektura računara - uoar2.matf.bg.ac.rsuoar2.matf.bg.ac.rs/2018_19/vezbe/cas01/Cas1-2.pdf · DNF se dobija tako što se svakoj vrsti tablice za koju je vrednost funkcije 1 pridruži

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

Page 47: Arhitektura računara - uoar2.matf.bg.ac.rsuoar2.matf.bg.ac.rs/2018_19/vezbe/cas01/Cas1-2.pdf · DNF se dobija tako što se svakoj vrsti tablice za koju je vrednost funkcije 1 pridruži

47

Metoda Kvin-MekKlaski

Page 48: Arhitektura računara - uoar2.matf.bg.ac.rsuoar2.matf.bg.ac.rs/2018_19/vezbe/cas01/Cas1-2.pdf · DNF se dobija tako što se svakoj vrsti tablice za koju je vrednost funkcije 1 pridruži

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.

Page 49: Arhitektura računara - uoar2.matf.bg.ac.rsuoar2.matf.bg.ac.rs/2018_19/vezbe/cas01/Cas1-2.pdf · DNF se dobija tako što se svakoj vrsti tablice za koju je vrednost funkcije 1 pridruži

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.

Page 50: Arhitektura računara - uoar2.matf.bg.ac.rsuoar2.matf.bg.ac.rs/2018_19/vezbe/cas01/Cas1-2.pdf · DNF se dobija tako što se svakoj vrsti tablice za koju je vrednost funkcije 1 pridruži

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.

Page 51: Arhitektura računara - uoar2.matf.bg.ac.rsuoar2.matf.bg.ac.rs/2018_19/vezbe/cas01/Cas1-2.pdf · DNF se dobija tako što se svakoj vrsti tablice za koju je vrednost funkcije 1 pridruž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).

Page 52: Arhitektura računara - uoar2.matf.bg.ac.rsuoar2.matf.bg.ac.rs/2018_19/vezbe/cas01/Cas1-2.pdf · DNF se dobija tako što se svakoj vrsti tablice za koju je vrednost funkcije 1 pridruži

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.

Page 53: Arhitektura računara - uoar2.matf.bg.ac.rsuoar2.matf.bg.ac.rs/2018_19/vezbe/cas01/Cas1-2.pdf · DNF se dobija tako što se svakoj vrsti tablice za koju je vrednost funkcije 1 pridruži

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.

Page 54: Arhitektura računara - uoar2.matf.bg.ac.rsuoar2.matf.bg.ac.rs/2018_19/vezbe/cas01/Cas1-2.pdf · DNF se dobija tako što se svakoj vrsti tablice za koju je vrednost funkcije 1 pridruži

54

Metoda Kvin-MekKlaski

Minimizovati funkcije sa slajda 42.