lehrkraefte:blc:informatik:glf4-23:relative-und-absolute-bezuege

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
lehrkraefte:blc:informatik:glf4-23:relative-und-absolute-bezuege [2024/04/04 08:57]
Ivo Blöchliger [Empfohlenes Tabellen-Layout]
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,k}=0  \text{ für }k > 1+p_{1,1}=1 \text{ und } p_{1,k}=0  \text{ wenn }k > 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,k}\cdot \frac{k}{n} + p_{m-1,k-1}\cdot \frac{n-(k-1)}{n}
 +\qquad \text{ mit } p_{m,0}=0 \text{ wenn } m\geq 1
 +$$
  
 ==== Empfohlenes Tabellen-Layout ==== ==== Empfohlenes Tabellen-Layout ====
Line 128: Line 133:
  
 {{lehrkraefte:blc:informatik:glf4-20:simulation:2alben-200.svg}} {{lehrkraefte:blc:informatik:glf4-20:simulation:2alben-200.svg}}
 +</hidden>
 +
 +<hidden Python-Programm, per Simulation, variable Anzahl Alben>
 +<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'Versuch {v}')
 +    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, liste_noetiger_kaeufe)
 +plt.xlabel(f"x = Anzahl der Käufe, bis {anzahl_alben} Alben voll")
 +plt.ylabel(f"y(x) = Anzahl der Experimente, bei denen x Käufe nötig waren.")
 +plt.show()
 +
 +p = 0
 +while p < 1:
 +    i = 0
 +    while liste_noetiger_kaeufe_summiert[i] < p:
 +        i += 1
 +    print(f'Man muss (laut Simulation) {i} Bilder kaufen, um {anzahl_alben} Alben mit Wahrscheinlichkeit {p:.1f} zu füllen.')
 +    p += 0.1
 +
 +plt.plot(liste_noetiger_kaeufe_summiert)
 +plt.xlabel(f"x = Anzahl der Käufe")
 +plt.ylabel(f"p(x) = Wahrscheinlichkeit, dass {anzahl_alben} Alben voll.")
 +plt.show()
 +</code>
 </hidden> </hidden>
  
  • lehrkraefte/blc/informatik/glf4-23/relative-und-absolute-bezuege.1712213871.txt.gz
  • Last modified: 2024/04/04 08:57
  • by Ivo Blöchliger