Klasseneinteilung beim Kniffel |
22.06.2017, 20:04 | Dopap | Auf diesen Beitrag antworten » | |||||||
Klasseneinteilung beim Kniffel dass es 3600 Blöcke der Form aabcd (= genau ein Paar) beim Kniffel gebe von insgesamt 7776 Blöcken. Das möchte ich simulieren und statistisch überprüfen. Dazu werden viele Arrays erstellt, die das Ergebnis eines Wurfes enthält z.B Es steht mir zusätzlich z.B. der Befehl der im obigen Falle eine Null zurückgibt, im Wahr-Fall eine 1. Wie wäre denn programmtechnisch eine geschickte Abfrage zu formulieren ?
|
|||||||||
23.06.2017, 21:26 | Dopap | Auf diesen Beitrag antworten » | |||||||
mit dem kleinen Hilfsprogramm das zählt wie oft x im Array W auftritt geht es wohl am einfachsten. IF COUNT(W,2)=1 AND COUNT(W,3)=0 THEN ... END dürfte genau 1 Paar gefunden werden. edit: filtert man von oben her 5Pasch - 4Pasch - Full house - 3Pasch - 2Paare , dann genügt natürlich COUNT(W,2)=1. Die Straße ist dann auch kein Problem mehr: IF COUNT(W,0)=0 THEN Straße END und die Klasseneinteilung ist fertig. |
|||||||||
24.06.2017, 08:55 | SHigh | Auf diesen Beitrag antworten » | |||||||
Bei einer Straße bekommt man doch zwangsläufig eine Null, weil man nur fünf Würfel hat, oder? Dann fällt mir nur IF COUNT(W,2)=0 AND COUNT(W,3)=0 AND COUNT(W,4)=0 AND COUNT(W,5)=0 THEN ... ein, oder geht das nicht viel schöner ? Hat sich das Ergebnis mit dem "genau 1 Paar" denn bestätigt? |
|||||||||
25.06.2017, 02:43 | Dopap | Auf diesen Beitrag antworten » | |||||||
richtig, bin selbst bei 5 Würfel und 6 Möglichkeiten durcheinander. Die 0 aber muss vorne oder hinten sitzen. Als Einzelabfrage mMn: IF (W(1)=0 OR W(6)=0) AND COUNT(W,0) = 1 THEN .... END
Ja und nein !! Eine Simulation mit n=100.000 brachte p(1 Paar )= 46.9% gegenüber 46.3% nach Theorie. Sieht erst mal gut aus. Leider sind das ca. 3 SigmaEinheiten Abstand. Woran könnte das liegen |
|||||||||
25.06.2017, 10:51 | SHigh | Auf diesen Beitrag antworten » | |||||||
Richtig, das ist mir ja schon fast peinlich... Zur Überprüfung würde ich zum Binomialtest raten. Teste zweiseitig mit den kritischen Werten und . Als Teststatistik zählst du einfach die Erfolge, also bei dir sollte sein (oder eben den ungerundeten Wert). |
|||||||||
25.06.2017, 11:43 | Huggy | Auf diesen Beitrag antworten » | |||||||
@SHigh Bei 100 000 Simulationen und kann man zur Abschätzung der Genauigkeit schon die Näherung der Binomialverteilung durch die Normalverteilung benutzen, wie es Dopap gemacht hat. @Dopap Um dein Programm zu überprüfen, könntest mal das Würfeln durch das systematische Erzeugen aller Kombinationen (5 Laufanweisungen für die 5 Würfel) ersetzen. Es muss ja dann 3600 herauskommen. Das läuft auch viel schneller als die Simulation. Ich habe es mal auf die Schnelle in Mathematica programmiert und da passt beides, systematisches Erzeugen und Simulation. Generell ist mit aber unklar, weshalb du ein offensichtlich richtiges Resultat noch mit einem Programm prüfen möchtest. |
|||||||||
Anzeige | |||||||||
|
|||||||||
25.06.2017, 19:02 | Dopap | Auf diesen Beitrag antworten » | |||||||
Irgendwo musste ein kleiner "unbedeutender" Fehler stecken. Typisch: der COUNT(W,x) lief nur bis 5 und nicht bis 6, was natürlich doppelte Paare mit 2 Sechsen und Full House mit 3 Sechsen mitzählte . Man sollte eben auch die vermeintlich kleinen Programme immer zuerst testen. |
|||||||||
25.06.2017, 19:45 | Leopold | Auf diesen Beitrag antworten » | |||||||
Ich habe ein Programm mit Lazarus (Delphi/Object-Pascal) geschrieben. Es enthält ein Memo-Objekt AusgabeMemo und einen Button AusfuehrenButton, dessen OnClick-Prozedur ausfuehren (ganz unten im Code) heißt.
Das Programm liefert die folgende Ausgabe. [attach]44747[/attach] siehe auch hier |
|||||||||
25.06.2017, 21:05 | Dopap | Auf diesen Beitrag antworten » | |||||||
einfach überzeugend ! Das letzte in programmieren war bei mir Turbo Pascal ca. 1992. Verwendet man statt Würfel Zufallsziffern, so kann man diese mit der Klasseneinteilung des Pokertestes testen. Zumindest eine Klasse hat mein Zufallsgenerator im TR also bestanden. |
|||||||||
26.06.2017, 09:57 | HAL 9000 | Auf diesen Beitrag antworten » | |||||||
Auch der allgemeine Fall ist kombinatorisch nicht so kompliziert, das schlimmste daran ist noch die leider notwendige Einführung aller benötigten Symbole: Wir betrachten Auswahlen von Elementen aus mit Wiederholung und Reihenfolge, d.h. insgesamt Variationen. Unter diesen -Tupeln suchen wir nun diejenigen mit genau -mal jeweils gleichen Komponenten (), wobei gelten soll. Diese Typisierung soll vollständig sein, d.h. (Anzahl verschiedener Elemente in der Auswahl) und (Anzahl der Elemente in den Klassen), d.h. evtl. einzeln vorkommende Elemente müssen mit und auch gar nicht vorkommende Elemente mit erfasst werden! Die Anzahl solcher Tupel ist dann . Bsp. oben . Und was (zumindest für größere ) auch nicht trivial ist: Die Erfassung aller möglichen Klassen, also über die Parameter , die für gegebenes n,m jeweils möglich sind. |
|||||||||
26.06.2017, 13:47 | Leopold | Auf diesen Beitrag antworten » | |||||||
Das steht ja bereits im von mir angegebenen Link. @ Dopap Es geht auch mit einem "antiken" Turbo-Pascal-Programm. Den Programmcode kann man fast vollständig übernehmen. Lediglich in var musterAnzahl: TMusterAnzahl = (0,0,0,0,0,0,0); ist var durch const zu ersetzen. Und die Ausgabe am Bildschirm erfolgt über das Hauptprogramm. Die Bilder zeigen die Ausführung in einer DOS-Box. [attach]44755[/attach] [attach]44756[/attach] [attach]44757[/attach] |
|||||||||
26.06.2017, 14:58 | HAL 9000 | Auf diesen Beitrag antworten » | |||||||
Der Spezialfall m=10,n=5 steht da - oder du meinst einen anderen Link.
|
|||||||||
26.06.2017, 20:44 | Dopap | Auf diesen Beitrag antworten » | |||||||
Es wurde ja über das Ende des matheboards im Off-Topic schon diskutiert. Aber hier bekommt der TS Antworten auf Fragen die er so gar nicht gestellt hat. ( Wenn er überhaupt nochmals vorbeischaut ! ), wo gibt's so was schon ? Wenn ich es richtig verstehe, könnte somit alle Fragen zum Klingonen-Kniffel ( 8 Pentagondodekaeder werden geworfen ) beantwortet werden. |
|
Verwandte Themen
Die Beliebtesten » |
|
Die Größten » |
|
Die Neuesten » |