Data Analysis - Programming
Week 1
Oefeningen
- Schrijf een Python programma dat de waarheidstabel van de volgende expressie produceert:
$\neg{(A \lor B)}$ (Quine's Dagger)
- De expressies uit opdracht 3 en 4 (in de slides) hebben een eigen naam,
$(\neg{A}) \lor B$ wordt ook wel implicatie genoemd en genoteerd als $A \implies B$,
$(A \lor B) \land \neg{(A \land B)}$ wordt ook wel exclusieve of (of xor) genoemd en genoteerd als $A \oplus B$.
De operator $\Leftrightarrow$ wordt equivalentie (gelijkheid) genoemd.
De expressie $A \Leftrightarrow B$ levert alleen True op, wanneer de waarde van $A$ gelijk is aan die van $B$.
Bedenk een expressie in $A$ en $B$ met behulp van de operatoren or, and en not die precies het resultaat van de operator equivalentie oplevert en controleer je expressie met een Python programma.
$A$ | $B$ | $A \Leftrightarrow B$ |
False | False | True |
False | True | False |
True | False | False |
True | True | True |
- Strikt genomen zijn de extra operatoren uit opgave 2 niet nodig, want je kunt ze namaken met or, and en not.
Eigenlijk kun je zelfs rondkomen met alleen or en not !
Bedenk een combinatie van or en not waarbij de waarheidstabel hetzelfde is als die van and. Controleer je expressie met een Python programma.
$A$ | $B$ | $A \land B$ |
False | False | False |
False | True | False |
True | False | False |
True | True | True |
- Een tautologie is een expressie die altijd waar oplevert, ongeacht de invulling van de variabelen.
De uitdrukking $A \lor \neg{A}$ is een voorbeeld van een tautologie.
Schrijf Python programma's om te bepalen of de onderstaande uitdrukkingen tautologieën zijn.
Let op: de implicatie $A \implies B$ kun je uitrekenen, als in opgave 2 beschreven, met $(\neg{A}) \lor B$
- $(A \lor B) \implies (A \lor B)$
- $(A \lor B) \implies (A \land B)$
- $(\neg{A} \implies B) \land (\neg{A} \implies \neg{B})$
- $((A \implies B) \land (B \implies C)) \implies (A \implies C)$