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 metA·B,A*B,A AND B,A && B, of logische symbolen. Een aaneenschakeling van letters zoalsABCwordt geïnterpreteerd alsA 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, ofA ⊕ B. - NAND: Dit wordt ingevoerd als
A NAND Bof⊼. - NOR: Dit wordt ingevoerd als
A NOR Bof⊽. - Constanten: De logische waarden
0en1zijn 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:
- 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."). - 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›).". - 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›.". - 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.". - 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.". - 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›.". - 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.