Autor Thema: [CAs Heartbreaker] Würfelmechanik, brauche Wahrscheinlichkeiten berechnet  (Gelesen 1354 mal)

0 Mitglieder und 1 Gast betrachten dieses Thema.

Offline Timo

  • Bärenmann
  • Mythos
  • ********
  • Lonesome Traveller
  • Beiträge: 11.834
  • Geschlecht: Männlich
  • Username: ChaosAptom
    • ChaosAptoms Homepage
Ich grübel gerade an den passenden SChwierigkeitsgraden für mein System, scheitere aber gerade an "simpler" Mathematik.

Mein Problem, 1W6 hat jeweils 16,666...% Chance eine Nummer zu erhalten, also wenn die theoretischen Mindestwürfe 1-6 wären, hat man mit einem W6 Chancen von:

1=100%
2=83,34%
3=...
...
6=16,66%

Mein Problem nun, wie berechne ich die Wahrscheinlichkeiten für Mindestwürfe 1-24, bei:
2W6, 3W6, 4W6

"The bacon must flow!"

Eulenspiegel

  • Gast
Die Berechnung per Hand ist ab 3W6 recht aufwendig.

Aber die Tabelle mit den Ergebnissen findest du hier:
- 2W6 bzw. 2W6
- 3W6

Allgemein, wenn du es ohne Tabelle ausrechnen willst:
Zähle, wieviele Möglichkeiten es gibt, ein geeignetes Ergebnis zu erhalten. (Also eine Zahl größer oder gleich deinem Mindestwurf) und dividiere es durch die Gesamtzahl der Möglichkeiten.

Beispiel:
Wir wollen die Wahrscheinlichkeit für den Mindestwurf von 11 bei 2W6 berechnen.
Bei 2W6 gibt es insgesamt 6² = 36 Möglichkeiten.
Und es gibt 3 Möglichkeiten, 11 oder höher zu würfeln:
- 1. Wurf: 5 und 2. Wurf: 6
- 1. Wurf: 6 und 2. Wurf: 5
- 1. Wurf: 6 und 2. Wurf: 6

Das heißt, wir haben eine Wahrscheinlichkeit von 3/36 = 1/12 = 8,3%, 11 oder höher zu würfeln.

Offline ArneBab

  • Legend
  • *******
  • Bild unter GPL von Trudy Wenzel.
  • Beiträge: 4.300
  • Geschlecht: Männlich
  • Username: ArneBab
    • 1w6 – Ein Würfel System
Mal ganz naiv (und daher mit minimalem Programmieraufwand) geschrieben:

#!/usr/bin/env python3

"""Wahrscheinlichkeiten für Mindestwürfe in einem Pool-System"""

augenzahlen = [1, 2, 3, 4, 5, 6]
ergebnis = {}
max_würfel = 5
max_mindestwurf = 24

for anzahl_würfel in range(max_würfel):
    ergebnis[anzahl_würfel+1] = []
    # erster würfel
    ergebnis[anzahl_würfel+1].extend(augenzahlen)
    for würfel in range(anzahl_würfel):
        erg = []
        for i in ergebnis[anzahl_würfel+1]:
            for j in augenzahlen:
                erg.append(i+j)
        ergebnis[anzahl_würfel+1] = erg
       

erg = []
for mw in range(max_mindestwurf):
    for würfel in ergebnis:
        erg.append(((würfel, mw+1), len([i for i in ergebnis[würfel] if i >= mw+1]) / len(ergebnis[würfel])))

erg.sort()

for würfel_mw, Wahrscheinlichkeit in erg:
    print (str(würfel_mw[0]) + "," + str(würfel_mw[1]) + ":", Wahrscheinlichkeit)

Ergebnis (bitte gegenprüfen! Ich habe das nur schnell runterprogrammiert und es könnten Fehler drin sein!):

(Anzahl Würfel, Mindestwurf: Wahrscheinlichkeit)
1,1: 1.0
1,2: 0.833333333333
1,3: 0.666666666667
1,4: 0.5
1,5: 0.333333333333
1,6: 0.166666666667
1,7: 0.0
1,8: 0.0
1,9: 0.0
1,10: 0.0
1,11: 0.0
1,12: 0.0
1,13: 0.0
1,14: 0.0
1,15: 0.0
1,16: 0.0
1,17: 0.0
1,18: 0.0
1,19: 0.0
1,20: 0.0
1,21: 0.0
1,22: 0.0
1,23: 0.0
1,24: 0.0
2,1: 1.0
2,2: 1.0
2,3: 0.972222222222
2,4: 0.916666666667
2,5: 0.833333333333
2,6: 0.722222222222
2,7: 0.583333333333
2,8: 0.416666666667
2,9: 0.277777777778
2,10: 0.166666666667
2,11: 0.0833333333333
2,12: 0.0277777777778
2,13: 0.0
2,14: 0.0
2,15: 0.0
2,16: 0.0
2,17: 0.0
2,18: 0.0
2,19: 0.0
2,20: 0.0
2,21: 0.0
2,22: 0.0
2,23: 0.0
2,24: 0.0
3,1: 1.0
3,2: 1.0
3,3: 1.0
3,4: 0.99537037037
3,5: 0.981481481481
3,6: 0.953703703704
3,7: 0.907407407407
3,8: 0.837962962963
3,9: 0.740740740741
3,10: 0.625
3,11: 0.5
3,12: 0.375
3,13: 0.259259259259
3,14: 0.162037037037
3,15: 0.0925925925926
3,16: 0.0462962962963
3,17: 0.0185185185185
3,18: 0.00462962962963
3,19: 0.0
3,20: 0.0
3,21: 0.0
3,22: 0.0
3,23: 0.0
3,24: 0.0
4,1: 1.0
4,2: 1.0
4,3: 1.0
4,4: 1.0
4,5: 0.999228395062
4,6: 0.996141975309
4,7: 0.988425925926
4,8: 0.97299382716
4,9: 0.945987654321
4,10: 0.902777777778
4,11: 0.841049382716
4,12: 0.760802469136
4,13: 0.664351851852
4,14: 0.556327160494
4,15: 0.443672839506
4,16: 0.335648148148
4,17: 0.239197530864
4,18: 0.158950617284
4,19: 0.0972222222222
4,20: 0.054012345679
4,21: 0.0270061728395
4,22: 0.0115740740741
4,23: 0.00385802469136
4,24: 0.000771604938272
5,1: 1.0
5,2: 1.0
5,3: 1.0
5,4: 1.0
5,5: 1.0
5,6: 0.999871399177
5,7: 0.999228395062
5,8: 0.997299382716
5,9: 0.992798353909
5,10: 0.983796296296
5,11: 0.967592592593
5,12: 0.941229423868
5,13: 0.90200617284
5,14: 0.84799382716
5,15: 0.778549382716
5,16: 0.694830246914
5,17: 0.600308641975
5,18: 0.5
5,19: 0.399691358025
5,20: 0.305169753086
5,21: 0.221450617284
5,22: 0.15200617284
5,23: 0.0979938271605
5,24: 0.0587705761317


Das Skript ist im Repo des 1w6-Systems verfügbar: https://bitbucket.org/ArneBab/1w6/src/tip/sonstiges/Skripte/pool_mindestwuerfe.py

PS: Ja, das wäre mit einer Binomialverteilung viel schneller. Wollte ich aber grade nicht machen; hatte ich schon im Spielfähig-Skript :)https://bitbucket.org/ArneBab/1w6/src/tip/sonstiges/Skripte/spielfaehig.py
« Letzte Änderung: 24.01.2011 | 01:33 von ArneBab »
1w6 – Ein-Würfel-System — konkret und direkt, einfach saubere Regeln.
Zettel-RPG — Ein Kurzregelwerk auf Post-Its — für Runden mit Kindern.
Flyerbücher — Steampunk trifft Fantasy — auf einem Handzettel.
Technophob — »Wenn 3D-Drucker alles her­stel­len können, aber nicht dürfen, dann ist Techschmuggel Widerstand und Hacken Rebellion.«

Offline ArneBab

  • Legend
  • *******
  • Bild unter GPL von Trudy Wenzel.
  • Beiträge: 4.300
  • Geschlecht: Männlich
  • Username: ArneBab
    • 1w6 – Ein Würfel System
Da ich die Daten gerade schon da hatte und schon länger ausprobieren kann, wie ich nur ausgewählte Teile von Dateien plotten kann:



[gelöscht durch Administrator]
« Letzte Änderung: 24.01.2011 | 01:31 von ArneBab »
1w6 – Ein-Würfel-System — konkret und direkt, einfach saubere Regeln.
Zettel-RPG — Ein Kurzregelwerk auf Post-Its — für Runden mit Kindern.
Flyerbücher — Steampunk trifft Fantasy — auf einem Handzettel.
Technophob — »Wenn 3D-Drucker alles her­stel­len können, aber nicht dürfen, dann ist Techschmuggel Widerstand und Hacken Rebellion.«

killedcat

  • Gast
Nehmt einfach Anydice
http://anydice.com/program/4f2

Man muss sich ein wenig einarbeiten, aber dann gehen auch explodierende Würfel etc. Einfach auf "at least" klicken und die Chancen für mindestwürfe sind zu sehen. Lässt sich auch graphisch darstellen.

Offline ArneBab

  • Legend
  • *******
  • Bild unter GPL von Trudy Wenzel.
  • Beiträge: 4.300
  • Geschlecht: Männlich
  • Username: ArneBab
    • 1w6 – Ein Würfel System
anydice sieht cool aus! Danke für den Link!
1w6 – Ein-Würfel-System — konkret und direkt, einfach saubere Regeln.
Zettel-RPG — Ein Kurzregelwerk auf Post-Its — für Runden mit Kindern.
Flyerbücher — Steampunk trifft Fantasy — auf einem Handzettel.
Technophob — »Wenn 3D-Drucker alles her­stel­len können, aber nicht dürfen, dann ist Techschmuggel Widerstand und Hacken Rebellion.«

Offline Timo

  • Bärenmann
  • Mythos
  • ********
  • Lonesome Traveller
  • Beiträge: 11.834
  • Geschlecht: Männlich
  • Username: ChaosAptom
    • ChaosAptoms Homepage
@killedcat
danke, das hilft sehr
"The bacon must flow!"