Booleaanse expressies
Uitrekenen met 1 en 0
Reken $A \land \neg B$ uit voor $A = 1$ en $B = 0$.
Vul de waarden in: Vervang $A$ door $1$ en $B$ door $0$ = $1 \land \neg 0$
Eerst NIET: $\neg 0 = 1$ = $1 \land 1$
Dan EN: Beide waarden zijn $1$, dus EN geeft $1$ = $1$
Answer: $A \land \neg B = 1$ (waar) voor $A = 1$, $B = 0$.
EN gaat voor OF
Reken $A \lor B \land C$ uit voor $A = 1$, $B = 0$, $C = 0$.
Vul de waarden in: Vervang elke letter door zijn waarde = $1 \lor 0 \land 0$
EN voor OF: $0 \land 0 = 0$ = $1 \lor 0$
Dan OF: Minstens één waarde is $1$ = $1$
Vergelijk met van links naar rechts: Van links naar rechts zou je $(1 \lor 0) \land 0 = 1 \land 0 = 0$ krijgen = Een ander, fout resultaat
Answer: $A \lor B \land C = 1$. Van links naar rechts rekenen geeft $0$, en dat is fout omdat EN voor OF gaat.
Haakjes veranderen het resultaat
Reken $\neg(A \land B)$ en $\neg A \land B$ uit voor $A = 0$ en $B = 0$.
Eerste expressie: eerst de haakjes: $A \land B = 0 \land 0 = 0$ = $\neg(0)$
Dan NIET: $\neg 0 = 1$ = $\neg(A \land B) = 1$
Tweede expressie: NIET werkt alleen op $A$: $\neg A = \neg 0 = 1$ = $1 \land B$
Dan EN: $1 \land 0 = 0$ = $\neg A \land B = 0$
Answer: $\neg(A \land B) = 1$, maar $\neg A \land B = 0$. De haakjes bepalen waarop NIET werkt.
Een volledige waarheidstabel en equivalentie
Stel de waarheidstabel van $A \lor \neg A \land B$ op en vergelijk die met $A \lor B$.
Tel de rijen: 2 variabelen, dus $2^2 = 4$ rijen = $AB$: 00, 01, 10, 11
Hulpkolom $\neg A$: Draai $A$ om: 0, 0, 1, 1 = $\neg A$: 1, 1, 0, 0
Hulpkolom $\neg A \land B$ (EN voor OF): $\neg A$: 1, 1, 0, 0 EN $B$: 0, 1, 0, 1 = 0, 1, 0, 0
Eindkolom $A \lor (\neg A \land B)$: $A$: 0, 0, 1, 1 OF 0, 1, 0, 0 = 0, 1, 1, 1
Kolom van $A \lor B$ en vergelijking: $A \lor B$: 0, 1, 1, 1 = Gelijk in alle 4 rijen
Answer: Beide eindkolommen zijn 0, 1, 1, 1, dus $A \lor \neg A \land B$ en $A \lor B$ zijn equivalent: de kortere expressie doet hetzelfde werk.
Drie variabelen: waar staan de haakjes?
Stel de waarheidstabellen op van $A \land (B \lor C)$ en $A \land B \lor C$. Zijn ze equivalent?
Tel de rijen: 3 variabelen, dus $2^3 = 8$ rijen: 000, 001, 010, 011, 100, 101, 110, 111 = 8 rijen
Hulpkolom $B \lor C$: $B \lor C$ is alleen $0$ als $B = C = 0$ = 0, 1, 1, 1, 0, 1, 1, 1
Eindkolom $A \land (B \lor C)$: $A$ is alleen $1$ in de laatste 4 rijen = 0, 0, 0, 0, 0, 1, 1, 1
Eindkolom $A \land B \lor C = (A \land B) \lor C$: $A \land B$: 0, 0, 0, 0, 0, 0, 1, 1. OF met $C$: 0, 1, 0, 1, 0, 1, 0, 1 = 0, 1, 0, 1, 0, 1, 1, 1
Vergelijk de kolommen: Ze verschillen in rij 2 (001) en rij 4 (011) = Niet equivalent
Answer: De expressies zijn niet equivalent: voor $A = 0$, $B = 0$, $C = 1$ geeft de eerste $0$ en de tweede $1$. Eén rij die verschilt is genoeg.
Mistake: Van links naar rechts rekenen: $1 \lor 0 \land 0 = (1 \lor 0) \land 0 = 0$
Why: EN gaat voor OF, net zoals vermenigvuldigen voor optellen gaat. Zonder haakjes reken je eerst het EN-deel uit.
Correct: $1 \lor 0 \land 0 = 1 \lor (0 \land 0) = 1 \lor 0 = 1$
Mistake: NIET op alles erna toepassen: $\neg A \land B$ lezen als $\neg(A \land B)$
Why: Zonder haakjes werkt NIET alleen op de variabele direct erna.
Correct: $\neg A \land B = (\neg A) \land B$. Wil je de hele EN ontkennen, schrijf dan $\neg(A \land B)$.
Mistake: Optellen zoals bij getallen: $1 \lor 1 = 2$
Why: Een booleaanse expressie kan alleen $1$ of $0$ zijn. OF vraagt of minstens één waarde $1$ is, het telt ze niet.
Correct: $1 \lor 1 = 1$, $1 \land 1 = 1$ en $\neg 1 = 0$. De uitkomst is altijd $1$ of $0$.
Mistake: Twee expressies equivalent noemen na het testen van maar één of twee invoeren
Why: $A \land (B \lor C)$ en $A \land B \lor C$ hebben in 6 van de 8 rijen dezelfde waarde en zijn toch verschillend.
Correct: Stel de volledige tabel met $2^n$ rijen op en vergelijk elke rij. Eén rij die verschilt betekent: niet equivalent.
Regels in een programma
Programmeurs schrijven regels als booleaanse expressies en testen elke combinatie van invoer voordat het programma online gaat.
Een attractie in een pretpark laat je instappen als $T \land (H \lor P)$: $T$ = je hebt een kaartje, $H$ = je bent lang genoeg, $P$ = er gaat een ouder mee.
Spamfilters
Een e-mailprogramma beslist met een booleaanse expressie of een bericht in de spammap komt.
Een filter markeert een e-mail als spam als $L \lor S \land \neg K$: $L$ = afzender staat op een blokkeerlijst, $S$ = verdachte woorden, $K$ = afzender staat in je contacten.
Regels in een slim huis
Twee verschillende expressies kunnen een apparaat precies hetzelfde aansturen. Een waarheidstabel laat zien wanneer een lange regel door een korte vervangen kan worden.
Een tuinlamp gebruikt de regel $M \lor M \land N$: $M$ = beweging gezien, $N$ = het is nacht.
Een booleaanse expressie combineert variabelen, de waarden 1 (waar) en 0 (onwaar) en de operatoren $\land$, $\lor$, $\neg$
De waarde van een booleaanse expressie is altijd 1 of 0, nooit 2 of meer
Volgorde van bewerkingen: eerst haakjes, dan NIET, dan EN, dan OF
NIET werkt alleen op wat er direct na komt: $\neg A \land B$ is niet $\neg(A \land B)$
Een expressie met $n$ variabelen heeft een waarheidstabel met $2^n$ rijen, te beginnen met de rij waarin alle variabelen 0 zijn
Twee expressies zijn equivalent als hun eindkolommen in elke rij gelijk zijn
Q: Waarom gaat EN voor OF?
A: Dat is een afspraak, zoals vermenigvuldigen voor optellen. Met 0 en 1 gedraagt EN zich als vermenigvuldigen ($1 \times 0 = 0$), en OF wordt vaak met optellen vergeleken, dus dezelfde volgorde voelt logisch.
Q: Mag ik gewoon overal haakjes zetten?
A: Ja. Haakjes die alleen de volgorde van bewerkingen laten zien, veranderen de waarde nooit, en ze maken de expressie makkelijker te lezen. $A \lor (B \land C)$ is hetzelfde als $A \lor B \land C$, maar de eerste schrijfwijze laat de volgorde in één oogopslag zien.
Q: Zijn 1 en 0 hetzelfde als waar en onwaar?
A: Ja. 1 staat voor waar en 0 voor onwaar. Computers gebruiken 1 en 0 omdat ze alles als bits opslaan. De interactieve tabellen in deze les gebruiken ook 1 en 0.
Q: Is er een snellere manier dan een waarheidstabel om te laten zien dat twee expressies equivalent zijn?
A: Ja. De booleaanse algebra heeft wetten (zoals de wetten van De Morgan) die een expressie stap voor stap in een andere omzetten. Die leer je in de les Booleaanse algebra. Een waarheidstabel is langzamer, maar werkt altijd.
Booleaanse expressies
1 / 14
Booleaanse expressies
Leer booleaanse expressies met 1 en 0 schrijven en uitrekenen, de volgorde NIET, EN, OF toepassen en hun volledige waarheidstabel opstellen.