Karnaugh-kort løser

Gratis Karnaugh-kort løser online: skriv et boolsk udtryk med to til seks variable og få dets K-kort med hver gruppe indrammet og den minimale sum af produkter eller det minimale produkt af summer aflæst på det.

Indtast et logisk udtryk for at analysere det (understøtter propositionel logik, boolesk algebra)

Kun klientsiden - dine data forlader aldrig din browser

Guide

Klik på en operator for at prøve dens eksempel i beregneren. Hver enkelt viser alle de måder, du kan skrive den på.

Skriv et udtryk, og denne Karnaugh-kort løser lægger dets sandhedsværdier ud på et Gray-kodet gitter, rammer hver gruppe ind, der kan slås sammen, og aflæser den minimale form på dem. Den tager symboler (¬ ∧ ∨ → ↔) eller almindelig ASCII (!, &, |, ->, <->), dækker to til seks variable og regner et eksakt minimum ud, ikke bare et godt et. Intet uploades: kortet bygges i din browser.

Sådan løser du et Karnaugh-kort

  1. Skriv dit udtryk i feltet ovenfor - for eksempel (A & B) | (!A & C). Operatortastaturet indsætter symbolerne, hvis du helst ikke vil taste dem.
  2. Løseren læser de variable ud af udtrykket og lægger sandhedsværdierne ud i gitteret. Akserne er Gray-kodede (00, 01, 11, 10), så nabofelter adskiller sig i præcis én variabel - og det er netop derfor, en gruppe af dem falder sammen til ét led.
  3. Hver farvet ring er en gruppe. Peg på eller tryk på en i signaturen for at fremhæve den på kortet, og læg mærke til dem, der er markeret som væsentlige: dem kan ingen minimal form undvære. En gruppe må gå om kortets kanter, og et felt må høre til flere.
  4. Aflæs den minimale form nedenunder. Skift mellem sum af produkter og produkt af summer, kopiér resultatet, indlæs det igen i beregneren, eller eksportér kortet som LaTeX eller TikZ.

Hvad løseren giver dig

  • Hver gruppe indrammet og farvet, med de væsentlige markeret og det led, hver enkelt efterlader.
  • En minimal form, der virkelig er minimal: overdækningen søges eksakt, ikke valgt grådigt, så selv et cyklisk kort kommer ud i den korteste form.
  • Sum af produkter eller produkt af summer - gruppér etallerne eller nullerne - ud fra det samme kort.
  • Kortet som LaTeX, enten som en almindelig tabel eller gentegnet i TikZ med ringe og signatur.
  • Også sandhedstabellen, egenskaberne og de ækvivalente former, hvis du åbner det samme udtryk i den fulde beregner.
Åbn logikberegneren

Et gennemregnet eksempel

Kortet for (((A∧B)∧C)∨((A∧B)∧¬C))∨((¬A∧B)∧C). Tre felter er sande, og de dækkes af to grupper på to, der overlapper i det ene af dem - hele metoden i miniature: den variabel, der skifter inden for en gruppe, falder ud af dens led, og et felt må gerne dækkes to gange.

Karnaugh-kort

Hver farvet gruppe dækker et rektangel af sande felter. De variable, der skifter inde i en gruppe, falder væk, så hver gruppe efterlader én konjunktion. Sådan læser du kortet →

Karnaugh-kort med A i rækkerne og BC i kolonnerne
ABC00011110
0
1
Minimal form
(B ∧ C) ∨ (A ∧ B)

Grupper

Hvor mange variable kan et Karnaugh-kort have?

Denne løser tegner kort for 2 til 6 variable. Under 2 er der intet at gruppere; fem og seks tegnes som to eller fire stablede planer, og over 6 er selv det ikke længere lettere at læse end sandhedstabellen ved siden af. Ved flere variable giver beregnerens ækvivalente former dig stadig en minimeret DNF.

VariableFelterGitter
242 × 2
382 × 4
4164 × 4
5322 × (4 × 4)
6644 × (4 × 4)

Sum af produkter og produkt af summer

Grupperer man de sande felter, får man en sum af produkter: én konjunktion pr. gruppe, forbundet med ELLER. Grupperer man de falske, får man et produkt af summer med negerede literaler: én disjunktion pr. gruppe, forbundet med OG. Begge beskriver den samme funktion, og hvilken der er kortest afhænger af, om etallerne eller nullerne danner de pæneste rektangler - derfor tilbyder løseren begge, og du tager den mindste.

Sandhedstabel til UdtrykKonverter enhver sandhedstabel til et logisk udtryk. Generer boolske formler i Disjunktiv Normalform (DNF) eller Konjunktiv Normalform (KNF) fra din tilpassede sandhedstabel.

Ofte stillede spørgsmål

Find svar på almindelige spørgsmål om brugen af Logikberegneren

Hvor mange variable kan et Karnaugh-kort have?

Denne løser tegner kort for to til seks variable: to giver et 2 × 2-gitter, tre et 2 × 4, fire et 4 × 4. Fem og seks tegnes som lærebøgerne tegner dem, som to eller fire stablede 4 × 4-planer, hvor celler på samme plads i naboplaner regnes som naboer - en gruppe, der ikke nævner de stablende variable, er det samme rektangel på hvert plan. Over seks holder de naboskaber, man skal huske, op med at være synlige - og det er det eneste, et kort er til for: brug da den minimerede DNF blandt beregnerens ækvivalente former.

Hvad er forskellen på sum af produkter og produkt af summer?

Det er to måder at læse det samme kort på. Grupperer man de sande felter, får man en sum af produkter: én konjunktion pr. gruppe, forbundet med ELLER. Grupperer man de falske, får man et produkt af summer med negerede literaler: én disjunktion pr. gruppe, forbundet med OG. Begge beskriver den samme funktion; hvilken der er kortest afhænger af, om etallerne eller nullerne danner de pæneste rektangler.

Er løserens svar virkelig den minimale form?

Ja. De væsentlige primimplikanter tages først, og resten af overdækningen søges udtømmende med branch and bound i stedet for at blive valgt grådigt. Det betyder noget på et cyklisk kort - et hvor ingen gruppe er væsentlig - fordi et grådigt valg kan ende på en overdækning, der er ét led for lang, uden nogensinde at sige det. Dominerede rækker og søjler stryges sammen med de essentielle, igen og igen indtil skemaet ikke skrumper mere, så de fleste kort aldrig når frem til søgningen - og det er dét, der holder et eksakt svar øjeblikkeligt selv ved seks variable.

Hvorfor er kolonnerne mærket 00, 01, 11, 10 og ikke 00, 01, 10, 11?

Fordi det er den rækkefølge, der får kortet til at virke. Mærkaterne løber i Gray-kode, hvor to på hinanden følgende værdier adskiller sig i præcis én bit: nabofelter adskiller sig altså i præcis én variabel, og et rektangel af ens værdier er dermed et led, hvor den variabel er faldet ud. I almindelig binær rækkefølge ville 01 og 10 stå ved siden af hinanden, selv om de adskiller sig i to bit, og at gruppere dem ville ikke betyde noget. Kanterne går rundt af samme grund: første og sidste kolonne adskiller sig også i én bit, så en gruppe må løbe ud i den ene side og fortsætte i den anden.

Kan jeg markere felter som ligegyldige?

Ikke direkte: løseren afbilder et udtryk, og et udtryk er sandt eller falsk i hver række - der er ingen tredje værdi at skrive. Hvor en funktion faktisk ignorerer et input, så skriv det ind i formlen, og kortet viser det: et led som (D | !D) sætter D på kortet som en variabel, funktionen ikke afhænger af, og sådan er det færdige kort for et gyldigt BCD-ciffer bygget.

Se alle spørgsmål