Διαγράμματα Venn –Χάρτες Karnaugh, Άλγεβρα Boole

22
Διαγράμματα Venn – Χάρτες Karnaugh, Άλγεβρα Boole 04a (§ 4.1 - 4.8) – 21-26 Οκτ. 2020 – Μανόλης Κατεβαίνης © copyright University of Crete – https://www.csd.uoc.gr/~hy120/20f/copyright.html Πανεπ. Κρήτης – Τμ. Επ. Υπολογιστών – ΗΥ-120 Ψηφιακή Σχεδίαση

Transcript of Διαγράμματα Venn –Χάρτες Karnaugh, Άλγεβρα Boole

Page 1: Διαγράμματα Venn –Χάρτες Karnaugh, Άλγεβρα Boole

ΔιαγράμματαVenn– ΧάρτεςKarnaugh,ΆλγεβραBoole

04a(§ 4.1- 4.8)– 21-26 Οκτ. 2020– ΜανόληςΚατεβαίνης

©copyrightUniversityofCrete– https://www.csd.uoc.gr/~hy120/20f/copyright.html

Πανεπ.Κρήτης– Τμ.Επ.Υπολογιστών– ΗΥ-120ΨηφιακήΣχεδίαση

Page 2: Διαγράμματα Venn –Χάρτες Karnaugh, Άλγεβρα Boole

ΧάρτηςKarnaugh/ΔιάγραμμαVenn2Μεταβλητών

set BB false B true

A true

A false

set A

Bf(A,B)

f(1,0) f(1,1)

f(0,1)f(0,0)0

1

0 1

A

204a- ΧάρτεςKarnaugh,ΆλγεβραBooole- ΗΥ-120©U.Crete

ΠίνακαςΑληθείαςσεμορφή

ΧάρτηKarnaugh

Οι«Περιοχές»τηςκάθε

Μεταβλητής

Διάγραμμασυνόλων

τύπουVenn• Μεταβλητέςσεορθογώνιουςάξονες– Διδιάστατοδιάγραμμα

Page 3: Διαγράμματα Venn –Χάρτες Karnaugh, Άλγεβρα Boole

Συναρτήσεις2μεταβλητώνμεένανΆσοστονΠ.Α.

0

1

1f(A,B)

0

0 0

10

A’

B’ B

A

0

1

1g(A,B)

0

0A’

B’ B

A 0

1

0

0

1

1h(A,B)

0

0 0A’

B’ B

A 1 0

0

1

1k(A,B)

0

0

0

A’

B’ B

A

1

0

304a- ΧάρτεςKarnaugh,ΆλγεβραBooole- ΗΥ-120©U.Crete

f(A,B) =A·B g(A,B) =A’·B h(A,B) =A·B’ k(A,B) =A’·B’

• ΤοΚΑΙ ανάβεισεμίακαιμόνομίαπερίπτωση• ΗτομήδύοσυνόλωνστοδιάγραμμαVenn• Οι4έξοδοιτουαποκωδικοποιητή

Page 4: Διαγράμματα Venn –Χάρτες Karnaugh, Άλγεβρα Boole

Δύοάσοισεγειτονικά τετρ.:ανεξαρτ.απόμίαμτβλ.

0

1

1g(A,B)

0

0A’

B’ B

A 0

1

1

0

1

1h(A,B)

0

1A’

B’ B

A 0

0

1

1k(A,B)

0

A’

B’ B

A

1

0

0

1

1f(A,B)

0

0 0

1

A’

B’ B

A 1

0

10

1

404a- ΧάρτεςKarnaugh,ΆλγεβραBooole- ΗΥ-120©U.Crete

f(A,B) =A g(A,B) =B h(A,B) =A’ k(A,B) =B’

• Γειτονικάτετράγωνα=μίαμτβλ.αλλάζει,οιάλλεςίδιες• Συνάρτησηίδιασε2γειτονικάτετράγωνα⇒ ανεξάρτητηαπότημεταβλητήεισόδουπουαλλάζειμεταξύτους

Page 5: Διαγράμματα Venn –Χάρτες Karnaugh, Άλγεβρα Boole

ΗσυνάρτησηOR:Ένωσησυνόλων

0

1

1g(A,B)

0

A’

B’ B

A 0

1

1

0

1

1h(A,B)

0

1A’

B’ B

A 1

0

1

1k(A,B)

0

A’

B’ B

A

1

0

0

1

1f(A,B)

0

0 1

1

A’

B’ B

A 1

1

1

01

1

504a- ΧάρτεςKarnaugh,ΆλγεβραBooole- ΗΥ-120©U.Crete

f(A,B) =A+B g(A,B) =A’+B h(A,B) =A+B’ k() =A’+B’

• Καλύπτουμεόλουςτουςάσουςμεορθογώνιες περιοχές,όσοπιόμεγάλεςγίνεται(μέγεθος⇒ ανεξαρτησία)• ΗσυνάρτησηείναιτοOR (ένωση)όλωντωνεπιμέρους

Page 6: Διαγράμματα Venn –Χάρτες Karnaugh, Άλγεβρα Boole

Οιυπόλοιπες4συναρτήσεις2μεταβλητών…

0

1

1g(A,B)

0

A’

B’ B

A

1

1

0

1

1h(A,B)

0

0A’

B’ B

A 1 0

0

1

1k(A,B)

0

0

0

A’

B’ B

A

10

1

1f(A,B)

0

0 0

00

A’

B’ B

A

1

1

1

1

604a- ΧάρτεςKarnaugh,ΆλγεβραBooole- ΗΥ-120©U.Crete

f(A,B) =0 g(A,B) =1 A·B’+A’·B A’·B’+A·B

• Ίδιατιμήσε4γειτονικάτετρ.⇒ ανεξαρτησίααπό2μτβλ.• ΟιXORκαιXNOR δεναδιαφορούνγιάκαμίαείσοδο(ιδιό-τηταανίχνευσηςσφαλμάτων)⇒ καμίααπλοποίησηόρων

Page 7: Διαγράμματα Venn –Χάρτες Karnaugh, Άλγεβρα Boole

Γιατίυπάρχουν16(=24)συναρτήσεις2μεταβλητών;

• Ψηφιακήδυαδικήσυνάρτησηδύοψηφιακώνδυαδικώνμτβλ.• Πλήρωςκαθορισμένηαπότονπίνακααληθείαςτης• Οπιν.αλ.τηςέχει4θέσεις• Σεκάθεθέση,2επιτρεπτέςτιμές

704a- ΧάρτεςKarnaugh,ΆλγεβραBooole- ΗΥ-120©U.Crete

0

1

0 1

A

Bf(A,B)

f(1,1)f(1,0)

f(0,0) f(0,1)

• Τα4bitsστα4χρωματιστάτετρ.καθορίζουνπλήρωςτηνf()• Υπάρχουνακριβώςκαιμόνον24=16συνδυασμοίτων4bits,άραυπάρχουνακριβώς24=16συναρτήσειςBoole2μεταβλ.

Page 8: Διαγράμματα Venn –Χάρτες Karnaugh, Άλγεβρα Boole

ΧάρτηςKarnaugh/ΔιάγραμμαVenn3 Μεταβλητών

C B

A1

0A

1

0

B

CBC

01

00

11

10

0 1

00 01 11 10

BC

0

1

A

804a- ΧάρτεςKarnaugh,ΆλγεβραBooole- ΗΥ-120©U.Crete

• ΤρείςΜεταβλητές• ΤριδιάστατοΔιάγραμμα • Κόβουμεκαιξετυλίγουμε

όχι ησυνηθι-σμένησειρά!

Page 9: Διαγράμματα Venn –Χάρτες Karnaugh, Άλγεβρα Boole

Συναρτήσεις3 μεταβλητώνμεένανΆσοστονΠ.Α.

00 01 11 10

BC

C

B

A

0

1

0

1

0 0 0

0 0 0

1

1

1

1

1

1

1

00 01 11 10

BC

C

B

A

0

1

0 0 0 0

0 0

00 01 11 10

BC

C

B

A

0

1

0 0 0 0

0 0

00 01 11 10

BC

C

B

A

0

1

0 0 0 0

0 0

00 01 11 10

BC

C

B

A

0

1

0 0 0

0 0 0

00 01 11 10

BC

C

B

A

0

1

0 0 0

0 0 0

00 01 11 10

BC

C

B

A

0

1

0 0

0 0 0

00 01 11 10

BC

C

B

A

0

1

0 0 0

0 0 00

0

0

0

0

0

0

0

904a- ΧάρτεςKarnaugh,ΆλγεβραBooole- ΗΥ-120©U.Crete

A’·B·C

A·B·C

A’·B·C’ A’·B’·C A’·B’·C’

A·B·C’ A·B’·C A·B’·C’

Page 10: Διαγράμματα Venn –Χάρτες Karnaugh, Άλγεβρα Boole

Συναρτ.3 μτβλ.μεδύογειτονικούς ΆσουςστονΠ.Α.

A

1

0 CBC

01

00

11

10

0 1

11 11

0

1

0

0

000

11

1

1

1

1

00 01 11 10

BC

C

B

A

0

1

0 0

0

00 01 11 10

BC

C

B

A

0

1

0 0

0 0

00 01 11 10

BC

C

B

A

0

1

0 0 1

0 0 0

00 01 11 10

BC

C

B

A

0

1

0 0 0

1 0 1

00 01 11 10

BC

C

B

A

0

1

0

0 0

00 01 11 10

BC

C

B

A

0

1

0 0 0

0 0 0 0

0

0

0 0

00 01 11 10

BC

C

B

A

0

1

0 0 0 0

0

10

γειτονικα!

0

1004a- ΧάρτεςKarnaugh,ΆλγεβραBooole- ΗΥ-120©U.Crete

B·C

A·B

B’·C A·C’ A’·C’

A·C A’·B’

Page 11: Διαγράμματα Venn –Χάρτες Karnaugh, Άλγεβρα Boole

4γειτονικοί άσοι:ανεξαρτησίααπό2μεταβλητές

C’C

A’A B’B

1

1

1 1

1 1A

11

00 01 11 10

BC

C

B

A

0

1 0

00 01 11 10

C

A

0

1

0 0 1

0

00 01 11 10

BC

C

B

A

0

1

0 0

0

00 01 11 10

BC

C

B

0

1

0 0 0 0

1

0

00 01 11 10

BC

C

B

A

0

1 0 0

00 01 11 10

BC

C

B

A

0

1

0 0

00

γειτονικα!B

1111

11 1 1

0 0

1 11

1 1

00

00

1

1104a- ΧάρτεςKarnaugh,ΆλγεβραBooole- ΗΥ-120©U.Crete

• Γειτονιέςορθογωνίουσχήματοςπάντα• Κάθεδιπλασιασμόςμεγέθουςγειτονιάςαντιστοιχείσεανεξαρτησίααπόμίαεπιπλέονμεταβλητήεισόδου • 4άσοι⇒ ανεξαρτησίααπό2μτβλ.

Page 12: Διαγράμματα Venn –Χάρτες Karnaugh, Άλγεβρα Boole

ΈνωσηΓειτονιών(OR):συμφέρειναείναιΜεγάλες

C’A

C’A’ B’ C’B’

AB’A C’ B C’ C’BA

B’ C’00 01 11 10

BC

C

B

A

0

1

1

0 0 1

0 0 0

11

00 01 11 10

BC

C

B

A

0

1

1

0 0 1

0 0 0

1

00 01 11 10

BC

C

B

A

0

1

1

0 0 1

0 0 0

1204a- ΧάρτεςKarnaugh,ΆλγεβραBooole- ΗΥ-120©U.Crete

• ΟλικήΣυνάρτηση=OR (όροιAND ορθογώνιωνγειτονιών)• Όσομεγαλύτερηγειτονιά,τόσομικρότεροςόροςAND• Συμφέρει«φούσκωμα»γειτονιών,καιμεαλληλοκάλυψη• ΗROMτης§2.5υλοποιείτηναριστερή(χειρότερη)λύση

A’·B’·C’+A·B’·C’+A·B·C’ B’·C’+A·B·C’ B’·C’+A·C’

Page 13: Διαγράμματα Venn –Χάρτες Karnaugh, Άλγεβρα Boole

ΧάρτηςKarnaugh4Μεταβλητών

D C

A

B

AB:

00 01 11 10

00

11

01

10

CD:

1304a- ΧάρτεςKarnaugh,ΆλγεβραBooole- ΗΥ-120©U.Crete

• Σαναπόξετύλιγμακαιοριζόντιακαικατακόρυφα• Αριστερήστήληγειτονικήμεδεξιά• Επάνωγραμμήγειτονικήμεκάτω

Page 14: Διαγράμματα Venn –Χάρτες Karnaugh, Άλγεβρα Boole

ΠαραδείγματαΣυναρτήσεων4ΜεταβλητώνA’ B’ D’

A D’CB’ CA

A’ B’ C’ D

C’ DB’ D’ B’

0 0

0A

C

B

D

1

AB:

00 01 11 10

00

11

01

10

CD:

1

0

1

1

00

0 0A

C

B

D

00

0

0

1

1

00

AB:

00 01 11 10

00

11

01

10

CD:

1

0

1 1 1

1 1

1

1

00

0 0 0A

C

B

D

1 1

AB:

00 01 11 10

00

11

01

10

CD:

1

0

1 1 1

1 1

1

1

00

0

1404a- ΧάρτεςKarnaugh,ΆλγεβραBooole- ΗΥ-120©U.Crete

Μέγεθος«Γειτονιάς»(πλήθοςκουτακίων) 1 2 4 8 16ΌροςΚΑΙ ανεξάρτητοςαπόπόσεςμεταβλητές 0 1 2 3 4ΌροςΚΑΙ περιέχειπόσεςμεταβλητέςεισόδου 4 3 2 1 0

A·B’·C+A·C·D’+A’·B’·D’B’ + C’·DB’·D’+ C’·D+ A’·B’

Page 15: Διαγράμματα Venn –Χάρτες Karnaugh, Άλγεβρα Boole

ΤικάνουμεγιάΣυναρτήσεις≥5μεταβλητών;• ΧάρτηςKarnaughπέντε μεταβλητώνθαήτανσανδύοχάρτες4μεταβλητώνοέναςπάνωαπότονάλλον,κλπ.• Δενείναιπρακτικό/χρήσιμογιάτουςανθρώπους• Σημερινήτεχνολογίαέχειπροχωρήσειπολύ– Kανείςπιάδενβελτιστοποιεί«συνδυαστικήλογική»μετοχέρι– Πολύεξελιγμένοιαλγόριθμοικαιπρογράμματααυτοματοποιημένηςβελτιστοποίησης

• EDA (ElectronicDesignAutomation)Tools• CAD (ComputerAidedDesign)

1504a- ΧάρτεςKarnaugh,ΆλγεβραBooole- ΗΥ-120©U.Crete

Page 16: Διαγράμματα Venn –Χάρτες Karnaugh, Άλγεβρα Boole

Τοσύμβολο“x”(don’tcare)στηνπλευράΕισόδωνΠ.Α.• Σύντμησηπολλαπλώνπανομοιότυπωνγραμμών– ανεξαρτησίαεξόδωναπό(αδιαφορίαγιά)κάποιαμτβλ.εισόδου– «ό,τικαινα’ναιαυτήημεταβλητή,εσύκάνειςτοίδιο»

1604a- ΧάρτεςKarnaugh,ΆλγεβραBooole- ΗΥ-120©U.Crete

Χορτο-φάγος;

Χοιρινότρώτε; Πιάτο:

1 x Σαλάτα0 0 κοτόπουλο0 1 πριζόλα

Χορτοφ.; Χοιρινό; Πιάτο:1 0 Σαλάτα1 1 Σαλάτα0 0 κοτόπουλο0 1 πριζόλα

Write DataIn Μνήμη=

0 x ό,τιπριν1 0 01 1 1

Write DataIn Μνήμη=0 0 ό,τιπριν0 1 ό,τιπριν1 0 01 1 1

A B A·B

0 x 01 0 01 1 1

A B A·B0 0 00 1 01 0 01 1 1

Page 17: Διαγράμματα Venn –Χάρτες Karnaugh, Άλγεβρα Boole

Τοσύμβολο“x”(don’tcare)στηνπλευράΕξόδωνΠ.Α.• Προδιαγραφές:«Δενμενοιάζει– κάνεό,τισυμφέρει»– Τελικά,ηέξοδος,ή0θαείναιή1θαείναισεαυτήτηθέσητουπίνακααληθείας– απλάεμείςδεχόμαστεοιοδήποτεεκτωνδύο

1704a- ΧάρτεςKarnaugh,ΆλγεβραBooole- ΗΥ-120©U.Crete

C’B D’BC’ D’

10

00

11

01

10

CD:

1

1 0

A

C

B

D

1

1

1

0 00

0

AB:

00 01 11 10

00

11

01

10

CD:

1

1 0

A

C

B

D

x x x

x x

1

1

1

0 00

0

x 0 1

0 0

11

00 01 11Οπελάτηςζήτησετοαριστερό.Οσχεδιαστήςεπέλεξετοδεξί.Ταγκρίζαταεπιλέγειοσχε-διαστής,όπωςτονσυμφέρει.

Page 18: Διαγράμματα Venn –Χάρτες Karnaugh, Άλγεβρα Boole

ΆλγεβραBoole1:ΘεώρημαDeMorgan• Δύοαρνήσεις= μίακατάφαση:

(A’)’=A• DeMorgan/Δυϊσμός ΚΑΙ- Ή:

(Α·Β)’=Α’+Β’

(Α+Β)’=Α’· Β’

1804a- ΧάρτεςKarnaugh,ΆλγεβραBooole- ΗΥ-120©U.Crete

B

A

+BA

BA

BA

A+B

Page 19: Διαγράμματα Venn –Χάρτες Karnaugh, Άλγεβρα Boole

Επιμεριστικήιδιότητατου ΚΑΙ ωςπροςτο Ή

A·(B+C)=A·B+A·C

1904a- ΧάρτεςKarnaugh,ΆλγεβραBooole- ΗΥ-120©U.Crete

A C BA

B+C

A

B

C

Page 20: Διαγράμματα Venn –Χάρτες Karnaugh, Άλγεβρα Boole

ΚαιτοΔυϊκό:Επιμεριστικήιδ.του Ή ωςπροςτο ΚΑΙ

2004a- ΧάρτεςKarnaugh,ΆλγεβραBooole- ΗΥ-120©U.Crete

A+C A+B

CB

C

A

BA + (B·C)=(A+B)· (A+C)

Δυϊσμός:ΣεκάθεταυτότητατηςάλγεβραςBoole,εάναλλά-ξουμεταΚΑΙ σεΉ,ταΉ σεΚΑΙ,τιςσταθερές0 σε1,καιτις1σε0,προκύπτειμιάάλλη,δυϊκήτης,αληθήςταυτότητα!

Page 21: Διαγράμματα Venn –Χάρτες Karnaugh, Άλγεβρα Boole

ΑπόδειξητουΔυϊκούχρησιμοποιώνταςτοευθύ

A+(B·C)==[(A+(B·C))’]’=[A’·(B·C)’]’=[A’·(B’+C’)]’=[(A’·B’)+(A’·C’)]’=(A’·B’)’·(A’·C’)’=(A’’+B’’)·(A’’+C’’)=(A+B)· (A+C)

2104a- ΧάρτεςKarnaugh,ΆλγεβραBooole- ΗΥ-120©U.Crete

←Δύοαρνήσεις

← Εσωτ.ΟΧΙτουΉ(DeMorgan)

← Εσωτ.ΟΧΙτουΚΑΙ(DeMorgan)

← ΕπιμεριστικήΚΑΙπροςΉ (ευθύ)

← Εξωτ.ΟΧΙτουΉ(DeMorgan)

← Εσωτ.ΟΧΙτουΚΑΙ(DeMorgan)

←Δύοαρνήσεις

Page 22: Διαγράμματα Venn –Χάρτες Karnaugh, Άλγεβρα Boole

ΆλλεςΤαυτότητεςτηςΆλγεβραςBoole&ταΔυϊκάτουςA·B=B·A A+B=B+A (αντιμεταθετική)

(A·B)·C=A·(B·C) (A+B)+C=A+(B+C) (προσεταιριστική)

A·0= 0 A+1=1 (annihilatorelement)

A·1=A A+0=A (identityelement)

A·A=A A+A=A (idempotent)

A·A’=0 A+A’=1 (complementation)

A·(A+B)=A A+A·B=A (absorption)

A·(A’+B)=A·B A +A’·B=A+B

2204a- ΧάρτεςKarnaugh,ΆλγεβραBooole- ΗΥ-120©U.Crete