Karnaugh kaardiga lihtsustamine

Allikas: Teadmusbaas
Redaktsioon seisuga 29. november 2016, kell 13:44 kasutajalt Vainol (arutelu | kaastöö)

Karnaugh kaart

Karnaugh’ kaart on loogikafunktsiooni tõeväärtustabeli sihipärane topoloogiline ümberpaigutus tasandil või ruumis. Tõeväärtustabeli igale reale vastab Karnaugh’ kaardi üks ruut. Kaartide topoloogia:

  • 2-muutuja kaart on mõõtmetega 2x2 (või 1x4) ruutu, vt sele 1;
  • 3-muutuja kaart on mõõtmetega 2x4 ruutu, vt sele 2;
  • 4-muutuja kaart on mõõtmetega 4x4 ruutu, vt sele 3;
  • 5-muutuja kaart on ruumiline kaart mõõtmetega 2x 4x4 ruutu (analoog oleks 2 Excel töölehte 4x4 tabelitega);
  • 6-muutuja kaart on ruumiline kaart mõõtmetega 4x 4x4 ruutu (analoog oleks 4 Excel töölehte 4x4 tabelitega).

Suuremaid kaarte ei ole olemas, ka 5 ja 6 muutujaga kaartide kasutamine on haruldane nende keerukuse tõttu.

Karnaugh’ kaardi 1. põhiomadus:

kaardi iga ruudu naaberruutude arv võrdub kaardi muutujate arvuga

Seega on 2-muutuja kaardi igal ruudul 2 naaberruutu, 3-muutuja kaardil 3 naaberruutu jne Argumentvektorite paiknemine kaardi ruutudes: igale kaardi ruudule vastab loogikafunktsiooni üks argumentvektor (n-järguline kahendvektor)

Karnaugh’ kaardi 2. põhiomadus:

suvalise kahe naaberruudu argumentvektorid on teineteise lähiskoodid*

          • lähiskoodid on kahendvektorid, mis erinevad teineteisest ainult ühes oma kahendjärgus

Karnaugh kaartide näited (paigutused) on toodud seledel allpool, vt seled 1 kuni 3

Karnaugh2.png

Sele 1. Kahe muutujaga Karnaugh kaart

Karnaugh3.png

Sele 2. Kolme muutujaga Karnaugh kaart

Karnaugh4.png

Sele 3. Nelja muutujaga Karnaugh kaart

Loogikafunktsiooni muutujad on tähistaud tähtedega A..D, funktsiooni kasutamisel vastavad muutujad oleksid x1..x4. Arvude järjekord kaardi kohal pole mitte kahendkood vaid Gray kood, vt vastavustabelit

Tabel 1. Kümnendarvude, kahendarvude ja Gray koodi vastavus
10-arv KahendarvGray kood
0 00000000
1 00010001
2 00100011
3 00110010
4 01000110
5 01010111
6 01100101
7 01110100
8 10001100
9 10011101
1010101111
1110111110
1211001010
1311011011
1411101001
1511111000


Tagasi loogikafunktsioonide esituskujud lehele