Statistikfrage zu Rollenspielregelwerk

Hier ist Platz für alles was Spaß macht, also Bilder, Links, Witze etc.

Moderatoren: LiMuBei, pete

Antworten
Benutzeravatar
Behemoth
Initiative Big Boss
Beiträge: 1827
Registriert: Donnerstag 10. Februar 2005, 14:48
Wohnort: Karlsruhe

Statistikfrage zu Rollenspielregelwerk

Beitrag von Behemoth » Donnerstag 1. Juli 2010, 11:00

Nachdem die Beteiligung bei dem anderen Mathethread etwas reger war, wollte ich mal fragen, ob mir jemand bei einem kleinen Problem helfen kann, das mich seit längerer Zeit hin und wieder beschäftigt, für das ich aber einfach zu doof/unwissend bin, um eine Lösung zu finden. :)

Es gibt ein (eher unbekanntes) Brett-/Rollenspielregelwerk namens Silhouette, bei dem Proben auf Attribute/Skills wie bekannt mit Würfeln durchgeführt werden. Dabei geht es mir jetzt um die eigentlich völlig einfache Frage: "Wie hoch ist das durchschnittliche Endergebnis (Erwartungswert), wenn ich mit N Würfeln würfel?" Die Regeln dabei sind folgende:

1. wirf N (sechsseitige) Würfel
2. wähle den Würfel mit der höchsten Augenzahl als Zwischenergebnis
3. ist das höchste Zwischenergebnis 1, ist das Endergebnis 0 (ein Patzer, sozusagen)
4. ist das höchste Zwischenergebnis 6, ist das Endergebnis 6 + die Anzahl der gewürfelten 6en - 1 (also wird um eins höher pro zusätzlicher 6)
5. ansonsten ist das gewürfelte Zwischenergebnis das Endergebnis

Wenn man sich mit den entsprechenden mathematischen Konstrukten auskennt, ist das wahrscheinlich gar kein Problem. Mit Abzählen ist es ziemlich einfach, aber da wird es schon für N = 3 etwas umständlich, und irgendeine gescheite induktive Methode ist mir auch nicht eingefallen.

Jemand Vorschläge? :)
Zuletzt geändert von Behemoth am Donnerstag 1. Juli 2010, 16:29, insgesamt 1-mal geändert.
Look at me, I'm invisible!

Benutzeravatar
LiMuBei
J:I Chief
Beiträge: 1415
Registriert: Sonntag 23. Januar 2005, 18:44
Wohnort: Karlsruhe
Kontaktdaten:

Re: Statistikfrage zu Rollenspielregelwerk

Beitrag von LiMuBei » Donnerstag 1. Juli 2010, 13:43

Ohne jetzt länger drüber nachzudenken würde ich sagen dass deine Frage da etwas unpräzise ist. Ich denke man kann für die drei Fälle (1. nur 1en, 2. mind. eine 6, 3. weder 1 noch 6) je eine Wahrscheinlichkeit berechnen und dazu dann wohl sowas wie einen Erwartungswert. Ob man das dann wieder zusammenkombinieren kann weiß ich nicht.
Against logic there is no armor like ignorance.

Benutzeravatar
Centurion
91 % Vol.
Beiträge: 1063
Registriert: Donnerstag 10. Februar 2005, 16:27
Kontaktdaten:

Re: Statistikfrage zu Rollenspielregelwerk

Beitrag von Centurion » Donnerstag 1. Juli 2010, 14:01

Ich glaube es ist gar nicht so einfach, weil man sich meiner Meinung nach mit mehr als drei Fällen beschäftigen muss. Die Menge der möglichen Ergebnisse ist ja 0 und das Intervall 2..6+N-1.

Die Wahrscheinlichkeit von 0 ist einfach, weil man das Ergebnis nur auf eine Art erwürfeln kann, nämlich mit nur Einsern, also P(0) = 1/6 ^ N.

Für eine Zahl i zwischen 2 und 5 ist es dann die Wahrscheinlichkeit, mindestens ein i zu würfeln, aber kein j mit j > i. Daran, diese Wahrscheinlichkeit zu berechnen, scheitere ich jetzt spontan schonmal völlig.

Ab 6 wird es glaube ich wieder einfacher, denn für jedes k >= 6 ist es genau die Wahrscheinlichkeit (k-5) Sechser zu würfeln. Wenn ich zu Hause wäre, würde ich mir zutrauen, im alten WT-Skript zu finden, wie man das berechnet.

Der mittlere Teil ist aber meiner Meinung nach eklig.
What's a spectral wolf?
- It's the Fourier transform of a regular wolf, duh.

Benutzeravatar
Behemoth
Initiative Big Boss
Beiträge: 1827
Registriert: Donnerstag 10. Februar 2005, 14:48
Wohnort: Karlsruhe

Re: Statistikfrage zu Rollenspielregelwerk

Beitrag von Behemoth » Donnerstag 1. Juli 2010, 14:46

Ist der mittlere Teil, also 2-5 nicht einfach die Wahrscheinlichkeit, keine 6 zu würfeln minus die Wahrscheinlichkeit, eine 0 zu würfeln? Also 5/6 ^ N - 1/6 ^ N ?

Blubb, dann fehlt aber halt noch die Verteilung auf die einzelnen Werte 2, 3, 4 und 5...
Look at me, I'm invisible!

Benutzeravatar
Centurion
91 % Vol.
Beiträge: 1063
Registriert: Donnerstag 10. Februar 2005, 16:27
Kontaktdaten:

Re: Statistikfrage zu Rollenspielregelwerk

Beitrag von Centurion » Donnerstag 1. Juli 2010, 15:01

Genau und ich glaube gleichverteilt sind sie nicht.

Dumme Frage meinerseits mal: Angenommen wir haben irgendwann mal für jedes mögliche Ergebnis i die Wahrscheinlichkeit P(i), ist dann der Erwartungswert für den gesamten Wurf die Summe von P(i) * i über alle i?
What's a spectral wolf?
- It's the Fourier transform of a regular wolf, duh.

Benutzeravatar
Behemoth
Initiative Big Boss
Beiträge: 1827
Registriert: Donnerstag 10. Februar 2005, 14:48
Wohnort: Karlsruhe

Re: Statistikfrage zu Rollenspielregelwerk

Beitrag von Behemoth » Donnerstag 1. Juli 2010, 15:29

Ne, sind natürlich nicht gleichverteilt, wenn man das Maximum nimmt.

Jo, das mit dem Erwartungswert stimmt, wenn ich nicht gerade völlig auf dem Schlauch stehe.
Look at me, I'm invisible!

Benutzeravatar
Magic
WoW Dictionary
Beiträge: 1650
Registriert: Donnerstag 10. Februar 2005, 15:35
Wohnort: Tübingen

Re: Statistikfrage zu Rollenspielregelwerk

Beitrag von Magic » Donnerstag 1. Juli 2010, 20:34

Aufgrund Regeln 2 und 4 würde ich eher ein Programm schreiben, dass es berechnet. Ich vermute, letztendlich läuft es darauf hinaus, alle Fälle aufzuzählen und zusammen zu rechnen. Eine einzelne Auswertung wird dann schon ein Riesenspaß. Ich kann ja einfach mal anfangen und ihr prüft, ob ein Denkfehler drin ist.

E = 0 * 1/6^N
+ Summe_{i=2}^{5} i * 1/6 * (i/6)^(N-1) * (N über 1)
+ Summe_{i=1}^{N} (i+5) * (1/6)^i * (5/6)^(N-i) * (N über i)

Teil 1: Patzer
Teil 2: Fälle 2 bis 5, i ist der höchste Wert, 1/6 dass irgendein Würfel den Wert zeigt und i/6 dass kein anderer höher ist.
Teil 3: Fall 6er, i ist die Anzahl der 6er, 1/6 für 6 geworfen, 5/6 für keine 6 geworfen.

"Kurzer" Sanity-Check wäre jetzt erst mal, wenn alle schwarze Terme durch 1 ersetzt werden, muss immer 1 rauskommen ...
:zauberer2: Ilyrielle - Mage

Benutzeravatar
Behemoth
Initiative Big Boss
Beiträge: 1827
Registriert: Donnerstag 10. Februar 2005, 14:48
Wohnort: Karlsruhe

Re: Statistikfrage zu Rollenspielregelwerk

Beitrag von Behemoth » Samstag 3. Juli 2010, 17:55

Sieht bisher ganz gut aus, auch wenn ich da das eine oder andere noch nicht so ganz nachvollziehen kann. :)
Look at me, I'm invisible!

Benutzeravatar
Magic
WoW Dictionary
Beiträge: 1650
Registriert: Donnerstag 10. Februar 2005, 15:35
Wohnort: Tübingen

Re: Statistikfrage zu Rollenspielregelwerk

Beitrag von Magic » Sonntag 4. Juli 2010, 09:23

Leider stimmt es noch nicht. Im Fall 2 fehlen Fälle, aber ich kam noch nicht drauf warum. Die Frage ist trotzdem erstmal, nützt dir eine solche Formel überhaupt etwas? Selbst zum Ausrechnen wäre ein Programm sinnvoll. ^^
:zauberer2: Ilyrielle - Mage

Benutzeravatar
Behemoth
Initiative Big Boss
Beiträge: 1827
Registriert: Donnerstag 10. Februar 2005, 14:48
Wohnort: Karlsruhe

Re: Statistikfrage zu Rollenspielregelwerk

Beitrag von Behemoth » Sonntag 4. Juli 2010, 20:42

Jo, das habe ich mir auch schon gedacht. Werde es wahrscheinlich einfach abzählen versuchen lassen. :? Doofes Spiel... :mrgreen:
Look at me, I'm invisible!

Benutzeravatar
Magic
WoW Dictionary
Beiträge: 1650
Registriert: Donnerstag 10. Februar 2005, 15:35
Wohnort: Tübingen

Re: Statistikfrage zu Rollenspielregelwerk

Beitrag von Magic » Montag 5. Juli 2010, 19:01

Hey, ich hab's.

E = 0 * 1/6^N
+ Summe_{i=2}^{5} i * (i^N-(i-1)^N)/6^N
+ Summe_{i=1}^{N} (i+5) * (N über i) * 5^(N-i)/6^N
= 1/6^N * [Summe_{i=2}^{5} i * (i^N-(i-1)^N) + Summe_{i=1}^{N} (i+5) * (N über i) * 5^(N-i)]

Bei Teil 2 war ein Denkfehler drin, Teil 3 ist nur umgeformt. 6^N ist im Nenner, eh klar. Beim Patzer müssen alle 1 sein, also nur 1 Möglichkeit. Ergebnis 2 bis 5 ist am interessantesten:
Anzahl der Möglichkeiten für Ergebnis 2 = Alle Kombinationen von 1 bis 2 (2^N) minus alle Kombinationen von 1 (1), also 2^N-1.
Anzahl der Möglichkeiten für Ergebnis 3 = Alle Kombinationen von 1 bis 3 (3^N) minus alle Kombinationen von 1 bis 2 (2^N), also 3^N-2^N.
...
Leuchtet ein? Für Ergebnis 4 müssen alle Würfel 1 bis 4 zeigen (4^N Möglichkeiten), aber alle Möglichkeiten mit nur 1 bis 3 fallen weg (3^N Möglichkeiten). Die 6er sind in der Formel zuvor besser ersichtlich. Hab's nur für die 6^N im Nenner vereinfacht. Der Check haut auch hin, mittels binomischem Lehrsatz.

Summe_{i=1}^{N} 1 * (N über i) * 5^(N-i) = Summe_{i=1}^{N} (N über i) * 1^i * 5^(N-i) = Summe_{i=0}^{N} (N über i) * 1^i * 5^(N-i) - 5^N = 6^N-5^N

Hast wohl nicht gedacht, dass es so kompliziert ist, oder? ^^ Im Grunde ist der Sachverhalt sogar recht einfach, aber die Formeln dazu halt schon arg. (N über i) ist übrigens die Anzahl der Möglichkeiten i Sechser auf N Würfel zu verteilen. Weiß nicht, ob du die Binomialkoeffizienten noch kennst? Dürften die wenigsten kennen, die's nicht gerade studieren oder als Hobby haben.
:zauberer2: Ilyrielle - Mage

Benutzeravatar
LiMuBei
J:I Chief
Beiträge: 1415
Registriert: Sonntag 23. Januar 2005, 18:44
Wohnort: Karlsruhe
Kontaktdaten:

Re: Statistikfrage zu Rollenspielregelwerk

Beitrag von LiMuBei » Montag 5. Juli 2010, 19:09

Also ich hab mal ein bisschen gepythoned:

Code: Alles auswählen

import os

def Add(a):
    return a+1

def GetDiceValues(N, Z):
    result = list()
    for i in range(pow(Z, N)):
        nr = (N) * [0]
        tmp = i
        for j in range(N):
            a = tmp // Z
            b = tmp % Z
            nr[j] = b
            tmp = a
        nr2 = map(Add, nr)
        result.append(nr2)
    return result

def GetNumberOfOcc(Val, DiceValues):
    Occs = 0
    for i in range(len(DiceValues)):
        greater = False
        isin = False
        for j in DiceValues[i]:
            if j > Val:
                greater = True
            if Val in DiceValues[i]:
                isin = True
        if not greater and isin:
            Occs += 1
    return Occs


if __name__ == "__main__":
    a = int(os.sys.argv[1])
    b = int(os.sys.argv[2])
    print "Calling with: ", (a,b)
    r = GetDiceValues(a, b)
    for i in range(1, b+1):
        Occs = GetNumberOfOcc(i, r)
        print "Occs for '%s': %s" % (i, Occs)
        print "Prob for '%s': %s" % (i, float(Occs)/float(len(r)))
Aufruf mit programm #Würfel MaxAugenzahl. Danach berechnet das Programm erst mal alle möglichen Würfelausgänge und dann kann die eine Funktion die Anzahl an vorkommenden Würfen berechnen in denen kein Würfel mehr als den gefragten Wert anzeigt und der Wert enthalten ist. Damit kann man schon bisschen was anfangen. Für die 6er müsste man noch speziell was bauen um das zu errechnen. Anschliessend kann man dann Wahrscheinlichkeiten und Erwartungswert irgendwie machen, aber das ist mir jetzt zu doof :D
Against logic there is no armor like ignorance.

Antworten