Booleaanse algebra vereenvoudiger

Reduceer elke booleaanse uitdrukking tot de minimale som van producten en het product van sommen, met elke priemimplicant en een rij-voor-rij controle via een waarheidstabel.

Uitdrukking

Schrijf variabelen als enkele letters. AND kan AB, A·B, A*B of A AND B zijn; OR is A + B of A OR B; NOT is A', !A of NOT A; XOR, NAND en NOR werken ook.
Voeg een operator in

Maximaal 6 verschillende variabelen en 2000 tekens. De constanten 0 en 1 zijn toegestaan.

Probeer een uitdrukking

Minimale vorm

Je minimale vorm verschijnt hier

Typ een booleaanse uitdrukking om de eenvoudigste som van producten, het product van sommen en de manier waarop ze zijn gevonden te bekijken.

Typ een booleaanse uitdrukking om deze te vereenvoudigen.

Uitdrukkingen worden vereenvoudigd in deze browser en verlaten je apparaat nooit.

Veelgestelde vragen

Welke manieren om een uitdrukking te schrijven worden begrepen?

Alle gangbare conventies, vrij door elkaar gebruikt: technische stijl (AB + A'C, met impliciete AND en de apostrof voor NOT), programmeerstijl (A && !B || C, A ^ B), logische symbolen (¬ ∧ ∨ ⊕ ⊼ ⊽) en gewone woorden (A AND B OR NOT C, NAND, NOR). Reeksen van meerdere letters zoals ABC betekenen A AND B AND C, en de woorden AND, OR, NOT, XOR, NAND, NOR worden altijd als operatoren gelezen.

Hoe wordt de minimale vorm gevonden?

De tool bouwt de volledige waarheidstabel op, voegt aangrenzende 1-rijen samen tot priemimplicanten (de Quine–McCluskey-methode), behoudt de essentiële en sluit eventuele resterende rijen met een exacte minimale dekking. Het resultaat is gegarandeerd minimaal voor de som-van-producten-vorm — het is geen heuristiek — en dezelfde procedure op de 0-rijen levert het product van sommen op.

Wat is het verschil tussen de SOP- en POS-resultaten?

Beide beschrijven dezelfde functie. De som van producten (SOP) verbindt AND-termen met OR-operatoren, zoals AB' + BC, en sluit direct aan op AND-OR-circuits; het product van sommen (POS) verbindt OR-factoren met AND-operatoren, zoals (A + B)(B' + C), en sluit aan op OR-AND-circuits. Afhankelijk van de functie kan de ene vorm minder poorten vereisen dan de andere, dus de tool toont altijd beide.

Waarom worden er maximaal 6 variabelen ondersteund?

Zes variabelen leveren al een waarheidstabel van 64 rijen op, wat ongeveer de grens is van wat nog handmatig leesbaar en controleerbaar is. Daarboven blijft minimalisatie in theorie werken, maar de afleiding en tabel waar deze pagina omheen is gebouwd, verliezen hun nut als bewijsvoering. Logica-ontwerpsoftware met bestandsuitvoer is beter geschikt voor uitgebreidere functies.

De werking van de Booleaanse algebra vereenvoudiger

De Booleaanse algebra vereenvoudiger reduceert elke Booleaanse uitdrukking direct tot de meest eenvoudige wiskundige vormen. Na het invoeren of plakken van een uitdrukking berekent de tool gelijktijdig de minimale som van producten (SOP) en het minimale product van sommen (POS).

Naast deze geminimaliseerde vormen toont de tool een stapsgewijze uitleg van de vereenvoudiging via de Quine–McCluskey-methode. Alle priemimplicanten worden hierbij opgelijst. Ter verificatie genereert de tool een volledige waarheidstabel die de vereenvoudigde resultaten rij voor rij vergelijkt met de oorspronkelijke invoer.

Invoerformaten en syntaxis

De tool accepteert variabelen geschreven als enkele letters. De invoer mag maximaal 6 verschillende variabelen bevatten en is begrensd tot een lengte van 2000 tekens. Verschillende notatiesystemen uit de techniek, softwareontwikkeling en formele logica kunnen vrijuit door elkaar worden gebruikt:

  • AND (conjunctie): Dit kan impliciet worden geschreven door variabelen achter elkaar te plaatsen (bijvoorbeeld AB), of expliciet met A·B, A*B, A AND B, A && B, of logische symbolen. Een aaneenschakeling van letters zoals ABC wordt geïnterpreteerd als A AND B AND C.
  • OR (disjunctie): Dit wordt ingevoerd als A + B, A OR B, A || B, of via logische symbolen.
  • NOT (negatie): Dit kan worden aangeduid als A', !A, NOT A, ¬A, of met een accentteken.
  • XOR (exclusieve OR): Dit wordt geschreven als A ^ B, A XOR B, of A ⊕ B.
  • NAND: Dit wordt ingevoerd als A NAND B of .
  • NOR: Dit wordt ingevoerd als A NOR B of .
  • Constanten: De logische waarden 0 en 1 zijn toegestaan.

De interface bevat knoppen onder het label "Voeg een operator in" om specifieke symbolen direct in de uitdrukking te plaatsen. Daarnaast zijn er snelkoppelingen onder "Probeer een uitdrukking" om direct voorbeeldscenario's te laden:

  • Termen samenvoegen (het consensus-voorbeeld)
  • Genegateerd product (het De Morgan-voorbeeld)
  • Drieweg-XOR (het XOR-voorbeeld)

Met de knop "Wissen" kan het invoerveld direct worden leeggemaakt.

Analyse en diagnostische resultaten

Zodra een geldige uitdrukking is ingevoerd, toont de tool de resultaten en een diagnostisch paneel onder de titel "In één oogopslag". Dit paneel bevat de volgende gegevens:

  • Variabelen: De gedetecteerde variabelen in de uitdrukking.
  • Rijen gelijk aan 1: De lijst of het aantal mintermen.
  • Priemimplicanten: Het totale aantal gevonden priemimplicanten.
  • Essentiële priemimplicanten: Het aantal essentiële priemimplicanten dat noodzakelijk is voor de dekking.
  • Literalen, voor → na: Het aantal literalen in de uitdrukking vóór en na de vereenvoudiging.
  • Methode: De gebruikte minimalisatiemethode, die altijd "Quine–McCluskey, exacte minimale dekking" hanteert.

De interpretatie van de invoer wordt genormaliseerd weergegeven achter het label "Gelezen als". De uiteindelijke vereenvoudigingen worden gepresenteerd als "Minimale som van producten (SOP)" en "Minimaal product van sommen (POS)". Met de knop "Resultaat kopiëren" kan het vereenvoudigde resultaat direct naar het klembord worden gekopieerd.

Stapsgewijze afleiding en verificatie

Onder het label "Hoe het is vereenvoudigd" genereert de tool een gedetailleerde tekstuele beschrijving van het minimalisatieproces:

  1. Variabele- en rij-analyse: De tool stelt vast hoeveel variabelen er zijn gebruikt en hoeveel rijen de waarheidstabel telt (bijvoorbeeld: "De uitdrukking gebruikt ‹count› variabelen (‹variables›), dus de waarheidstabel heeft ‹rows› rijen." of "De uitdrukking gebruikt één variabele, ‹variables›, dus de waarheidstabel heeft ‹rows› rijen." of "De uitdrukking gebruikt geen variabelen, dus deze evalueert tot een enkele constante.").
  2. Mintermen en maxtermen: De actieve rijen worden gedefinieerd: "Hij is gelijk aan 1 op de rijen Σm(‹minterms›) en 0 op de rijen ΠM(‹maxterms›).".
  3. Samenvoeging: De tool toont de overgebleven priemimplicanten na het samenvoegen van aangrenzende 1-rijen: "Het zo ver mogelijk samenvoegen van aangrenzende 1-rijen laat ‹count› priemimplicanten over: ‹list›.".
  4. Essentiële priemimplicanten: De onmisbare implicanten worden geïdentificeerd: "Essentiële priemimplicanten — de enige overgebleven dekking voor ten minste één rij: ‹list›." of "Geen enkele priemimplicant is essentieel: elke 1-rij kan op meer dan één manier worden gedekt.".
  5. Dekking van resterende rijen: Eventuele overgebleven rijen worden opgelost: "De rijen die nog niet gedekt zijn, worden gesloten met de minste extra termen: ‹list›." of "De essentiële priemimplicanten dekken al elke 1-rij, dus de som is compleet.".
  6. Product van sommen: De POS-vorm wordt afgeleid via de 0-rijen: "Het uitvoeren van dezelfde samenvoeging op de 0-rijen geeft het minimale product van sommen ‹pos›.".
  7. Verificatie: Het proces sluit af met de status: "Beide minimale vormen komen overeen met de oorspronkelijke uitdrukking op alle ‹rows› rijen van de waarheidstabel.".

De "Waarheidstabel" toont vervolgens kolommen voor de variabelen, de oorspronkelijke "Uitdrukking", en de vereenvoudigde "Minimale SOP" om de gelijkwaardigheid visueel te bevestigen.

Foutmeldingen en randvoorwaarden

Wanneer de invoer niet aan de syntactische regels voldoet, toont de tool specifieke foutmeldingen:

  • Lege invoer: "Voer een booleaanse uitdrukking in."
  • Te veel variabelen: "Deze uitdrukking gebruikt ‹count› verschillende variabelen; de vereenvoudiger ondersteunt er maximaal 6."
  • Te lange invoer: "Houd de uitdrukking onder de 2000 tekens."
  • Ongeldige tekens: ""‹char›" (positie ‹position›) is geen booleaanse operator, variabele of constante."
  • Ontbrekende operanden: "Er ontbreekt een operand bij een operator rond positie ‹position› — controleer op een losse + · of ⊕."
  • Ongebalanceerde haakjes: "Haakjes zijn niet in balans — voeg een haakje toe of verwijder er een."

Als een uitdrukking al optimaal is, meldt de tool: "Je uitdrukking is al een minimale som van producten.". Bij constante uitdrukkingen verschijnt de melding "Deze uitdrukking is constant: hij is altijd gelijk aan ‹value›.". Dit wordt nader toegelicht als "Deze uitdrukking is altijd 1: elke combinatie van waarden maakt hem waar." (tautologie) of "Deze uitdrukking is altijd 0: geen enkele combinatie van waarden maakt hem waar." (contradictie).

Privacy en verwerking

Alle berekeningen en vereenvoudigingen van de ingevoerde uitdrukkingen worden direct in de browser van de gebruiker uitgevoerd. De gegevens verlaten het apparaat van de gebruiker nooit.

Doelgroepen

  • Studenten digitale systeemtechniek: Voor het controleren van huiswerk, het handmatig opstellen van waarheidstabellen en het begrijpen van de Quine–McCluskey-minimalisatiestappen.
  • Elektrotechnici en computeringenieurs: Voor het ontwerpen van fysieke AND-OR of OR-AND poortschakelingen, waarbij SOP- en POS-vormen worden vergeleken om het minimale aantal logische poorten te bepalen.
  • Softwareontwikkelaars: Voor het vereenvoudigen van complexe conditionele logica (zoals uitgebreide if-statements) in broncode om de leesbaarheid en prestaties te verbeteren.

Veelgestelde vragen

Welke manieren om een uitdrukking te schrijven worden begrepen?

Alle gangbare conventies, vrij door elkaar gebruikt: technische stijl (AB + A'C, met impliciete AND en de apostrof voor NOT), programmeerstijl (A &&!B || C, A ^ B), logische symbolen (¬ ∧ ∨ ⊕ ⊼ ⊽) en gewone woorden (A AND B OR NOT C, NAND, NOR). Reeksen van meerdere letters zoals ABC betekenen A AND B AND C, en de woorden AND, OR, NOT, XOR, NAND, NOR worden altijd als operatoren gelezen.

Wat is het verschil tussen de SOP- en POS-resultaten?

Beide beschrijven dezelfde functie. De som van producten (SOP) verbindt AND-termen met OR-operatoren, zoals AB' + BC, en sluit direct aan op AND-OR-circuits; het product van sommen (POS) verbindt OR-factoren met AND-operatoren, zoals (A + B)(B' + C), en sluit aan op OR-AND-circuits. Afhankelijk van de functie kan de ene vorm minder poorten vereisen dan de andere, dus de tool toont altijd beide.

Hoe wordt de minimale vorm gevonden?

De tool bouwt de volledige waarheidstabel op, voegt aangrenzende 1-rijen samen tot priemimplicanten (de Quine–McCluskey-methode), behoudt de essentiële en sluit eventuele resterende rijen met een exacte minimale dekking. Het resultaat is gegarandeerd minimaal voor de som-van-producten-vorm — het is geen heuristiek — en dezelfde procedure op de 0-rijen levert het product van sommen op.

Waarom worden er maximaal 6 variabelen ondersteund?

Zes variabelen leveren al een waarheidstabel van 64 rijen op, wat ongeveer de grens is van wat nog handmatig leesbaar en controleerbaar is. Daarboven blijft minimalisatie in theorie werken, maar de afleiding en tabel waar deze pagina omheen is gebouwd, verliezen hun nut als bewijsvoering. Logica-ontwerpsoftware met bestandsuitvoer is beter geschikt voor uitgebreidere functies.