Karnaugh' kaart

Karnaugh' kaart, tuntud ka kui Veitchi diagramm, on abivahend kahendväärtusi sisaldava avaldise lihtsustamiseks. Karnaugh' kaardi leiutas 1953. aastal Bell Labsi instituudi telekommunikatsiooni insener Maurice Karnaugh. Tõeväärtustabelist võetud väärtused paigutatakse kaardile ja järjestatakse Gray koodi printsiibi kohaselt, s.o kõrvutiasetsevate tulpade või ridade puhul erineb vaid ühe muutuja väärtus. Seejärel moodustatakse tabelis olevatest tõestest väärtustest võimalikult suured grupid (kontuurid) suurusega 2n (1, 2, 4, 8, ...). Kontuuride põhjal leitakse avaldise lihtsustatud kuju. Loogikafunktsiooni normaalkujude leidmisel kasutatakse mõisteid: disjunktiivne normaalkuju (DNK) (funktsiooni 1-de piirkond) ja konjunktiivne normaalkuju (KNK) (funktsiooni 0-de piirkond). Nendest on tuletatud täielik DNK (TDNK) ja täielik KNK (TKNK). DNK ja KNK on üksteisest sõltumatud. Kui tuleb leida, kas DNK ja KNK on võrdsed, siis võetakse kasutusele funktsioon ja lisatakse vastavad indeksid d, j ja k. Karnaugh' kaardil valitakse välja kindlate suurustega maksimaalsed piirkonnad, mida kutsutakse kontuurideks. Juhul kui on antud funktsioon f ( x 1 , x 2 , x 3 , x 4 ) = Π ( 1 , 4 , 5 , 9 , 11 , 12 , 13 , 15 ) 0 ( 3 , 14 ) {\displaystyle {\begin{matrix}f(x_{1},x_{2},x_{3},x_{4})=\Pi (1,4,5,9,11,12,13,15)_{0}(3,14)\end{matrix}}} , pole DNK ja KNK võrdsed, sest F d ( 1110 ) ≠ F k ( 1110 ) {\displaystyle {\begin{matrix}F_{d}(1110)\neq F_{k}(1110)\end{matrix}}} Tavaliselt kasutatakse täiendavaid arvutusi leidmaks kahendväärtusliku funktsiooni valemi minimeeritud, s.o lühimat ja efektiivseimat kuju, aga selleks võib kasutada ka Karnaugh' kaarti. Karnaugh' kaart kasutab ära inimese tähelepanuväärset mustrisobitusoskust otsustamaks tingimusi, mille järgi kombineerida lihtsaim valem. Karnaugh' kaart võimaldab tuvastada ja elimineerida potentsiaalsed valikuvõimalused, millega tavaline valemitega lihtsustamine hakkama ei saa. Karnaugh' kaart on suurepärane abivahend kuni kuue muutujaga valemites, kuid kui muutujaid on rohkem, muutub mustri sobitamine nõnda keeruliseks, et inimesel tekib raskusi optimaalse valemi leidmisel. Karnaugh' kaarti kasutatakse ka loogikafunktsioonide ja nende minimeerimise õpetamiseks. Karnaugh' kaardil võib olla palju muutujaid, kuid tavaliselt leiab ta kasutust, kui muutujaid on vähe (2–6). Iga uus muutuja kahekordistab valemi võimaluste arvu, võimaluste arvu saab kirja panna ka kui 2 m u u t u j a i d {\displaystyle {\begin{matrix}2^{muutujaid}\end{matrix}}} . Karnaugh' kaardil on muutujad on paigutatud nõnda, et need erineksid kõrvutiasetsevate tulpade või ridade vahel vaid ühe kahendväärtuse võrra. Ainult nõnda on võimalik leida valemi minimaalkuju. Tuleb leida funktsiooni f ( x 1 , . . . , x 4 ) = ∑ ( 2 , 3 , 6 , 7 , 9 , 10 , 11 , 14 ) 1 {\displaystyle {\begin{matrix}f(x_{1},...,x_{4})=\sum (2,3,6,7,9,10,11,14)_{1}\end{matrix}}} Karnaugh' kaardi kasutamine ei ole otstarbekas, kui muutujaid on rohkem kui neli. Kaart muutub matemaatiliseks ristsõnaks, kui muutujaid on rohkem kui kuus. Sellistel juhtudel tuleks kasutada Quine-McCluskey algoritmi. Selle abil on võimalik leida suurem osa optimaalilähedasi lahendeid, kuid valimaks optimaalseimat, võib siiski olla vaja valemile läheneda jõumeetodiga. (See on siiski üldiselt palju lihtsam, kui jõumeetodil lahendada kogu probleemi.). Venni diagramm Kahendväärtus Quine'i–McCluskey algoritm Karnaugh' kaart. Minimeerimine kaardiga.