Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
lehrkraefte:blc:informatik:glf4-23:relative-und-absolute-bezuege [2024/04/04 08:24] Ivo Blöchliger |
lehrkraefte:blc:informatik:glf4-23:relative-und-absolute-bezuege [2024/04/23 22:00] (current) Olaf Schnürer [Varianten (Expert)] |
||
---|---|---|---|
Line 39: | Line 39: | ||
Um diese Wahrscheinlichkeiten zu berechnen stellen wir erst mal fest, dass | Um diese Wahrscheinlichkeiten zu berechnen stellen wir erst mal fest, dass | ||
$$ | $$ | ||
- | p_{1,1}=1 \text{ und } p_{1, | + | p_{1,1}=1 \text{ und } p_{1, |
$$ | $$ | ||
Line 51: | Line 51: | ||
Damit können wir den Baum zeilenweise berechnen, bzw. die Wahrscheinlichkeiten für $m$ aus den Wahrscheinlichkeiten für $m-1$. | Damit können wir den Baum zeilenweise berechnen, bzw. die Wahrscheinlichkeiten für $m$ aus den Wahrscheinlichkeiten für $m-1$. | ||
+ | |||
+ | $$ | ||
+ | p_{m,k} = p_{m-1, | ||
+ | \qquad \text{ mit } p_{m,0}=0 \text{ wenn } m\geq 1 | ||
+ | $$ | ||
==== Empfohlenes Tabellen-Layout ==== | ==== Empfohlenes Tabellen-Layout ==== | ||
Line 61: | Line 66: | ||
* Zum Füllen mit Nullen geben Sie in zwei benachbarten Zellen eine Null ein, markieren Sie diese und kopieren Sie dann (wird nur eine Zelle markiert, wird diese beim Kopieren hochgezählt). | * Zum Füllen mit Nullen geben Sie in zwei benachbarten Zellen eine Null ein, markieren Sie diese und kopieren Sie dann (wird nur eine Zelle markiert, wird diese beim Kopieren hochgezählt). | ||
- | Beantworten Sie folgende Fragen, einmal für $n=20$, einmal für $n=200$. | + | Beantworten Sie folgende Fragen, einmal für $n=20$, einmal für $n=200$ |
* Wie viele Bilder muss man kaufen, damit die Wahrscheinlichkeit eines vollen Albums | * Wie viele Bilder muss man kaufen, damit die Wahrscheinlichkeit eines vollen Albums | ||
Line 93: | Line 98: | ||
p.append([[0 for l in range(n+1)] for k in range(n+1)]) | p.append([[0 for l in range(n+1)] for k in range(n+1)]) | ||
+ | pf = [0,0] # Wahrscheinlichkeiten 1 oder 2 Alben voll zu haben | ||
for k in range(n+1): | for k in range(n+1): | ||
- | pf = [0,0] # Wahrscheinlichkeiten 1 oder 2 Alben voll zu haben | ||
for l in range(n-k+1): | for l in range(n-k+1): | ||
pmehrfach = 0.0 | pmehrfach = 0.0 | ||
Line 128: | Line 133: | ||
{{lehrkraefte: | {{lehrkraefte: | ||
+ | </ | ||
+ | |||
+ | <hidden Python-Programm, | ||
+ | <code python sammelalben-simulation.py> | ||
+ | import random | ||
+ | import matplotlib.pyplot as plt | ||
+ | n = 200 | ||
+ | anzahl_alben = 3 | ||
+ | anzahl_versuche = 10000 | ||
+ | liste_noetiger_kaeufe = [] | ||
+ | for v in range(anzahl_versuche): | ||
+ | if v % 1000 == 0: | ||
+ | print(f' | ||
+ | liste_anzahl_bilder = [0 for _ in range(n)] | ||
+ | kaeufe = 0 | ||
+ | while min(liste_anzahl_bilder) < anzahl_alben: | ||
+ | kaeufe += 1 | ||
+ | bild_nummer = random.randrange(n) | ||
+ | liste_anzahl_bilder[bild_nummer] += 1 | ||
+ | while len(liste_noetiger_kaeufe) < kaeufe + 1: | ||
+ | liste_noetiger_kaeufe.append(0) | ||
+ | liste_noetiger_kaeufe[kaeufe] += 1 | ||
+ | print(liste_noetiger_kaeufe) | ||
+ | |||
+ | liste_noetiger_kaeufe_summiert = [] | ||
+ | summe = 0 | ||
+ | for i in range(len(liste_noetiger_kaeufe)): | ||
+ | summe += liste_noetiger_kaeufe[i] | ||
+ | liste_noetiger_kaeufe_summiert.append(summe / anzahl_versuche) | ||
+ | |||
+ | |||
+ | xwerte = list(range(len(liste_noetiger_kaeufe))) | ||
+ | plt.bar(xwerte, | ||
+ | plt.xlabel(f" | ||
+ | plt.ylabel(f" | ||
+ | plt.show() | ||
+ | |||
+ | p = 0 | ||
+ | while p < 1: | ||
+ | i = 0 | ||
+ | while liste_noetiger_kaeufe_summiert[i] < p: | ||
+ | i += 1 | ||
+ | print(f' | ||
+ | p += 0.1 | ||
+ | |||
+ | plt.plot(liste_noetiger_kaeufe_summiert) | ||
+ | plt.xlabel(f" | ||
+ | plt.ylabel(f" | ||
+ | plt.show() | ||
+ | </ | ||
</ | </ | ||