Generator van expressies uit waarheidstabellen

Klik de uitvoerkolom in de vorm die je nodig hebt en het hulpmiddel leest de formule eraf: de canonieke DNF (som van producten), de canonieke CNF (product van sommen) en de kortste equivalente vorm. Alles draait in je browser, en de tabel die je bouwt reist mee in de link.

Variabelen: p, q
pqUitvoer

Klik op de uitvoerwaarden om te wisselen tussen waar (⊤) en onwaar (⊥)

Gegenereerde expressie

Disjunctieve normaalvorm (som van producten)
(p ∧ ¬q) ∨ (¬p ∧ q)

Een waarheidstabel omzetten in een booleaanse expressie

Elke waarheidstabel is de waarheidstabel van een of andere formule, en twee van die formules lees je er rechtstreeks van af - zonder algebra en zonder gokwerk:

  1. Schrijf alle 2ⁿ rijen voor je n variabelen uit en markeer die waar de uitvoer ⊤ is.
  2. Schrijf voor elke ⊤-rij een minterm: alle variabelen met EN verbonden, met een negatie waar de rij ze onwaar maakt. Verbind de mintermen met OF en je hebt de DNF.
  3. Schrijf voor elke ⊥-rij een maxterm: alle variabelen met OF verbonden, met een negatie waar de rij ze waar maakt. Verbind de maxtermen met EN en je hebt de CNF.
  4. Beide formules hebben precies de tabel waarmee je begon, dus allebei zijn ze een correct antwoord. Vereenvoudig daarna als je de kortste wilt.

Minterm

Een conjunctie van alle variabelen, elk wel of niet ontkend, die in precies één rij van de tabel waar is. De DNF is de disjunctie van de mintermen van de rijen waar de uitvoer ⊤ is - vandaar één term per ⊤-rij.

Maxterm

Een disjunctie van alle variabelen, elk wel of niet ontkend, die in precies één rij van de tabel onwaar is. De CNF is de conjunctie van de maxtermen van de rijen waar de uitvoer ⊥ is - vandaar één term per ⊥-rij.

Uitgewerkt voorbeeld: exclusieve of

De tabel hierboven is die waarmee het hulpmiddel opent: p en q, waar in precies de twee rijen waar de invoer verschilt.

  • Twee rijen zijn ⊤, dus de DNF heeft twee mintermen: (p ∧ ¬q) ∨ (¬p ∧ q)
  • De andere twee zijn ⊥, dus de CNF heeft twee maxtermen: (p ∨ q) ∧ (¬p ∨ ¬q)

Geen van beide kan korter - de exclusieve of heeft beide termen echt nodig - en dat is het waard om één keer te zien: de canonieke vorm is niet altijd de omweg. Bij een tabel als 'hoogstens één van p, q, r' loopt de minimale vorm pas echt uit.

Booleaanse synthese begrijpen

Disjunctieve normaalvorm (DNF)

DNF stelt een formule voor als een OF van ENs (som van producten). Voor elke rij waar de uitvoer waar is maken we een minterm die alle variabelen met EN verbindt, met een negatie voor de variabelen die onwaar zijn. Die mintermen worden vervolgens met OF verbonden tot de volledige expressie.

Conjunctieve normaalvorm (CNF)

CNF stelt een formule voor als een EN van OFs (product van sommen). Voor elke rij waar de uitvoer onwaar is maken we een maxterm die alle variabelen met OF verbindt, met een negatie voor de variabelen die waar zijn. Die maxtermen worden vervolgens met EN verbonden tot de volledige expressie.

DNF en CNF vergeleken

AspectDisjunctieve normaalvorm (som van producten)Conjunctieve normaalvorm (product van sommen)
Opgebouwd uitDe rijen waar de uitvoer ⊤ is, elk één mintermDe rijen waar de uitvoer ⊥ is, elk één maxterm
VormEen disjunctie van conjuncties: een OF van ENsEen conjunctie van disjuncties: een EN van OFs
Kies deze alsJe de gevallen wilt opsommen die de formule waar maken, of een EN-OF-circuit wilt opzettenJe de voorwaarden wilt die allemaal tegelijk moeten gelden, of de clausulevorm die een SAT-solver verwacht

Hoe groot wordt de tabel?

Een functie van n variabelen heeft 2ⁿ rijen, dus de tabel verdubbelt bij elke variabele die je toevoegt: 4 rijen bij twee variabelen, 8 bij drie, 16 bij vier en 32 bij vijf, waar dit hulpmiddel stopt. De DNF neemt één term per ⊤-rij en de CNF één per ⊥-rij, samen dekken ze dus elke rij precies één keer - en een van de twee is altijd het kortere startpunt.

Toepassingen van waarheidstabelsynthese

Een waarheidstabel omzetten in een logische expressie is een basistechniek in de informatica en de digitale elektronica. Dit hulpmiddel helpt bij:

  • Digitaal circuitontwerp - booleaanse vergelijkingen voor logische poorten afleiden uit het gewenste in- en uitvoergedrag
  • Softwareontwikkeling - conditionele logica genereren uit specificatietabellen
  • Studie - booleaanse algebra en propositielogica leren en oefenen
  • Logische optimalisatie - DNF en CNF vergelijken om eenvoudigere equivalente expressies te vinden

Veelgestelde vragen

Antwoorden op veelgestelde vragen over het gebruik van de Logica Calculator

Wat doet het hulpmiddel van waarheidstabel naar expressie?

Het laat de calculator achterstevoren werken. Jij legt de uitvoerkolom van een waarheidstabel vast door op elke rij te klikken, en het levert een formule met precies die waarheidstabel op, in disjunctieve normaalvorm (een OF van ENs) of conjunctieve normaalvorm (een EN van OFs).

Wat is het verschil tussen DNF en CNF?

DNF is een som van producten: één conjunctie voor elke rij waar de uitvoer waar is, alle met OF verbonden. CNF is een product van sommen: één disjunctie voor elke rij waar de uitvoer onwaar is, alle met EN verbonden. Beide beschrijven dezelfde functie, dus kies de vorm die voor jouw tabel korter uitvalt — een overwegend onware kolom geeft een korte DNF, een overwegend ware kolom een korte CNF.

Hoeveel variabelen aanvaardt het synthesehulpmiddel?

Maximaal vijf, oftewel een tabel van 32 rijen. Elke variabele die je toevoegt verdubbelt het aantal rijen, en voorbij vijf is de tabel niet meer met de hand in te vullen.

Waarom is de gegenereerde expressie zo lang?

Een normaalvorm wordt rij voor rij opgebouwd, met één term op volle breedte voor elke rij die gedekt moet worden, dus de lengte volgt de waarheidstabel en niet het idee erachter. Ze is correct van constructie, niet compact. Om ze in te korten, open je ze in de calculator, die equivalente vormen opsomt, waaronder een geminimaliseerde DNF.

Kan ik een vereenvoudigde versie van een formule krijgen?

Ja. Voer haar in de calculator in en bekijk de equivalente vormen onder de waarheidstabel. Daar staan vormen die zijn afgeleid door te herschrijven met de algebraïsche wetten, en de DNF en CNF die van de waarheidstabel zijn afgelezen, samen met een geminimaliseerde DNF.

Alle vragen bekijken