# Notwendige Importe

Die nächste Zelle muss ausgeführt werden. Sinnvoll ist es, vorher einmal das Menü 

`cell | All Output | Clear`

aufzurufen. Dadurch werden alle Ausgaben gelöscht. Sonst sieht man nicht mehr, ob eine bestimmte Zelle schon ausgeführt wurde.


```python
from sympy import *
init_printing()

from vierfeldertafel_v01 import Vierfelder_Tafel
```

# Voraussetzungen

**Ereignisse** werden immer mit $A$ und $B$ bezeichnet. Zusätzlich gibt es die **Gegenereignisse** $\bar{A}$ und $\bar{B}$.

Die Wahrscheinlichkeiten werden nach einem bestimmten Schema benannt:

**Grundwahrscheinlichkeiten**

- $P(A)$: `a1`, $P(\bar{A})$: `a2`
- $P(B)$: `b1`, $P(\bar{B})$: `b2`

**Schnittwahrscheinlichkeiten**

- $P(A\cap B)$: `a1b1`
- $P(\bar{A}\cap B)$: `a2b1`
- $P(A\cap \bar{B})$: `a1b2`
- $P(\bar{A}\cap \bar{B})$: `a2b2`

**Bedingte Wahrscheinlichkeiten:**

- $P_A(B)$: `b1_a1`
- $P_{\bar{A}}(B)$: `b1_a2`
- $P_B(A)$: `a1_b1`
- $P_{\bar{B}}(\bar{A})$: `b2_a2`

**Achtung:** Hier ändert sich die Reihenfolge in der Schreibweise!

# Erstes Beispiel:

- $P(A) = 0.3$,
- $P_A(B) = 0.4$
- $P_{\bar A}(\bar{B}) = 0.7$


```python
v = Vierfelder_Tafel(
    a1=0.3,
    b1_a1=0.4,
    b2_a2=0.7
)

v.anzahl_loesungen
```

Nach Eingabe der Werte sollte man immer die Anzahl der Lösungen überprüfen. In den meisten Fällen gibt es nur eine Lösung. Es gibt aber auch Fälle, in denen mehr als eine Lösung existieren kann.

Die Lösungen werden -beginnend mit 0- durchnummeriert. Der vollständige Aufruf zur Ausgabe einer Vierfeldertafel lautet:

`v.tafel(loesung_idx=0,digits=None)`

Die Methode `v.tafel()` hat zwei optionale Argumente, nämlich der Index der Lösung (in der Regel 0) und die Anzahl der Ziffern (`digits`). Wird hier nichts angegeben, so wird mit der Standardgenauigkeit gerechnet.


```python
v.tafel(digits=5)
```

Manchmal möchte man die Zeilen und Spalten vertauschen. Das geht über die Mehode `T`:


```python
v.tafel(digits=5).T
```

Für eine Vierfeldertafel gibt es immer zwei Wahrscheinlichkeitsbäume. Der eine geht von den Ereignissen $A$ und $\bar{A}$ aus, der andere von den Ereignissen $B$ und $\bar{B}$.


```python
v.tree_a(digits=5)
```


```python
v.tree_b(digits=5)
```

# Zweites Beispiel

- $P(A) = \frac{1}{3}$
- $P_A(B) = \frac{1}{4}$
- $P_B(A) = \frac{1}{5}$



```python
v = Vierfelder_Tafel(
    a1 = Rational(1,3),
    b1_a1 = Rational(1,4),
    a1_b1 = Rational(1,5)
)
v.anzahl_loesungen
```


```python
v.tafel()
```


```python
v.tree_a()
```


```python
v.tree_b()
```

f6a34ca32435a8e29b2aa6edc1c4f7df344d93dd
ipynb
Jupyter Notebook
Beispiele.ipynb
w-meiners/vierfeldertafel
58cc234147e07c7f8903cc787dc2dc03b5053ce7
MIT
Beispiele.ipynb
w-meiners/vierfeldertafel
58cc234147e07c7f8903cc787dc2dc03b5053ce7
MIT
Beispiele.ipynb
w-meiners/vierfeldertafel
58cc234147e07c7f8903cc787dc2dc03b5053ce7
MIT
Qwen/Qwen-72B
1. YES
2. YES