lehrkraefte:blc:informatik:glf4-20:simulation:tabellenkalkulation-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-20:simulation:tabellenkalkulation-absolute-bezuege [2021/05/02 18:40]
Ivo Blöchliger
lehrkraefte:blc:informatik:glf4-20:simulation:tabellenkalkulation-absolute-bezuege [2021/05/03 12:03] (current)
Ivo Blöchliger [Varianten (Expert)]
Line 43: Line 43:
 ==== Empfohlenes Tabellen-Layout ==== ==== Empfohlenes Tabellen-Layout ====
  
 +{{:lehrkraefte:blc:informatik:glf4-20:simulation:pasted:20210502-184403.png}}
 +
 +**Tipps und Tricks**:
 +  * Bennen Sie die Zelle mit der Anzahl Bilder.
 +  * Verwenden Sie auch in den ersten beiden Kolonnen Formeln, um die Werte aus den vorhergehenden Werten zu berechnen. Das hat den Vorteil, dass Sie die gesamte Zeile 5 (für $m=2$) nach unten kopieren können.
 +  * 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$.
 +
 +  * Wie viele Bilder muss man kaufen, damit die Wahrscheinlichkeit eines vollen Albums
 +    * min. 50% beträgt?
 +    * min. 90% beträgt?
 +    * min. 99% beträgt?
 +    * min. 99.9% beträgt?
 +
 +===== Varianten (Expert) =====
 +Wenn man jetzt zwei Alben hat, die man füllen möchte? Das Problem lässt sich wohl nur mit vielen Kniffs in Excel lösen, da muss wohl ein Python-Programm her (simuliert oder exakt).
 +
 +Für die exakte Lösung ist folgender Ansatz ein gangbarer Weg: Man betrachtet die Wahrscheinlichkeiten $p_{m,k,l}$ mit wobei $m$ die Anzahl gekaufter Bilder ist, $k$ die Anzahl Bilder, die zwei oder mehrere Male vorhanden sind, und $l$ die Anzahl Bilder, die genau einmal vorhanden sind.
 +Damit lässt sich wieder ein Baum konstruieren, den man zeilenweise berechnen kann.
 +
 +
 +<hidden Lösungsvorschlag in Python>
 +Achtung: Der Code ist nicht sehr effizient und braucht sehr viel Speicher und ist nicht geeignet für Werte über 100.
 +
 +Das Speicherproblem kann relativ einfach gelöst werden, weil nur zwei Zeilen benötigt werden (alle vorhergehenden müssen nicht gespeichert werden).
 +<code python sammelalben.py>
 +n = 20
 +
 +p = [[[1 if k==l and k==0 else 0 for l in range(n+1)] for k in range(n+1)]]
 +
 +pfull = [[0,0]]
 +
 +csv = "Bilder;P(1 voll);P(2 voll)\n"
 +
 +for m in range(1,8*n):
 +    # Neue Zeile mit Nullen einfügen
 +    p.append([[0 for l in range(n+1)] for k in range(n+1)])  # Leere Zeile
 +
 +    pf = [0,0]  # Wahrscheinlichkeiten 1 oder 2 Alben voll zu haben
 +
 +    for k in range(n+1):     # Anzahl mehrfach vorhandene Bilder
 +        for l in range(n-k+1):   # Anzahl einfach vorhandene Bilder
 +            pmehrfach = 0.0
 +            peinmal = 0.0 
 +            pkeinmal = 0.0
 +            pmehrfach = p[m-1][k][l] * k/n             # Bild gekauft, das schon mehrfach vorhanden war
 +            if (k>0 and l<n):
 +                peinmal = p[m-1][k-1][l+1] * (l+1)/     # Bild gekauft, das genau einmal vorhanden war
 +            if (l>0):
 +                pkeinmal = p[m-1][k][l-1] * (n-k-(l-1))/ # Bild gekauft, das noch gar nicht vorhanden war
 +
 +            p[m][k][l] = pmehrfach + peinmal + pkeinmal
 +
 +            # Wahrscheinlichkeiten, 1 oder 2 Alben voll zu haben:
 +            if (k==n):
 +                pf[1]+=p[m][k][l]
 +            if (l+k>=n):
 +                pf[0]+=p[m][k][l]
 +
 +    pfull.append(pf)
 +    
 +    print("Mit %3d von %d Bildern: p(1 volles Album)=%.8f, p(2 volle Alben)=%.8f" % (m, n, pfull[-1][0], pfull[-1][1]))
 +    csv += "%d;%f;%f\n" % (m, pfull[-1][0], pfull[-1][1])
 +
 +datei = open("2alben.csv", "w")
 +datei.write(csv)
 +datei.close()
 +
 +
 +
 +</code>
 +
 +{{lehrkraefte:blc:informatik:glf4-20:simulation:2alben-200.svg}}
 +</hidden>
  
  • lehrkraefte/blc/informatik/glf4-20/simulation/tabellenkalkulation-absolute-bezuege.1619973616.txt.gz
  • Last modified: 2021/05/02 18:40
  • by Ivo Blöchliger