Die Simulation einer Rolle mit einer verzerrten Würfel
Habe ich ein Suche aber nicht wirklich bekommen, eine richtige trifft. Vielleicht habe ich verwendet falsche Begriffe?
Was ich Fragen will, ist ein Algorithmus für die Simulation eine voreingenommene Rolle eher als ein standard-angeblich-zufällig-roll.
Es kein problem wäre, wenn Sie nicht geben Sie mir genaue Antworten geben (vielleicht ist die Erklärung ist langatmig?) aber ich würde schätzen, &Zeiger auf material, das ich darüber Lesen können.
Was ich im Sinn habe, ist zum Beispiel eine Verschiebung der Ausrichtung auf die 5, 6-Bereich, so dass die zahlen Rollen würde, haben eine höhere Wahrscheinlichkeit, eine 5 oder eine 6, das ist die Art von problem, das ich zu lösen versuche.
[Update]
Auf weitere Gedanken und durch Einsichtnahme in einige der Antworten, habe ich realisiert, dass das, was ich erreichen möchte ist wirklich der Roulette-Radauswahl - Betreiber, die sich auch in den genetischen algorithmen, da mit einem größeren Sektor bedeutet, dass die Erhöhung der Quote der ball landen wird es. Bin ich richtig mit dieser Linie des Denkens?
- Möchten Sie simulieren eine verzerrte Würfel physisch oder möchten Sie vor-zuweisen von Wahrscheinlichkeiten zu jedem Ergebnis? Hinweis: physisch ist schwierig ...
- Nicht körperlich, Nein, die Wahrscheinlichkeiten sind bereits vergeben. Ich aktualisiert meine Frage, um diese zu reflektieren.
- Übrigens, ich glaube, die relevanten Suchbegriffe sind: "wie kann ich die Probe von einer multinomial-Verteilung?" en.wikipedia.org/wiki/...
- Wenn das der Fall ist, dann kein Wunder, ich habe jack.
- Sind Sie rollende sterben, oder mehrere Würfel insgesamt?
- Assistenten: sterben ist das, was ich im Sinn hatte.
- Dann vergiß, was ich dachte, Belisar gibt eine gute Methode.
- Das Roulette-Rad ist das, was ich vorgeschlagen habe. Meine Antwort ist einfacher, als dein link, da ich davon ausgegangen Wahrscheinlichkeiten anstelle eines fitness-parameter, so dass Sie die Summe 1 per definition
Du musst angemeldet sein, um einen Kommentar abzugeben.
Im Allgemeinen, wenn Sie Ihre Wahrscheinlichkeiten {p1,p2, ...,p6} konstruieren Sie die folgende Hilfsprogramm-Liste:
Erhalten nun eine zufällige Zahl X in [0,1]
Wenn
Oder, effizienter pseudocode
Bearbeiten
Dies ist äquivalent zu der roulette-Rad Auswahl Sie erwähnen in Ihrer Frage update wie im Bild zu sehen:
Machen Sie ein 2-dimensionales array mit möglichen Werten und deren GEWICHTE. Die Summe aller GEWICHTE. Zufällig wählen Sie einen Wert im Bereich von 0 bis die Summe der GEWICHTE.
Nun das array Durchlaufen und dabei ein Akkumulator, der die GEWICHTE so weit gesehen. Sobald dieser Wert überschreitet die random-Nummer, wählen Sie den Wert des Würfels sind hier vertreten.
Hoffe, das hilft
Hmm. Angenommen, Sie wollen eine 1/2 chance, eine sechs und eine 1/10 chance zu bekommen, anderen Gesicht. Um dies zu simulieren, könnten Sie erzeugen eine zufällige ganze Zahl
n
im[1, 2, ... , 10]
, und das Ergebnis anzeigen zu sechs, wennn
ist in[6, 7, 8, 9, 10]
und anzeigen zun
sonst.Sagen wir mal das Werkzeug in Richtung auf einen 3.
Statt der Kommissionierung eine zufällige Eintrag aus einem array 1..6 mit 6 Einträgen, wählen Sie eine zufällige Eintrag aus einem array 1..6, 3, 3. (8 Einträge).
Einer Weise, die in der Regel ziemlich einfach zu beginnen ist, eine zufällige Zahl in einem erweiterten Bereich, und die Pause, die Strecke bis in zwei ungleiche Stücke.
Beispielsweise mit einer perfekt gleichmäßige (sechsseitigen) sterben, jede Zahl sollte 1/6th von der Zeit. Angenommen, Sie entscheiden sich auf Runde Prozentwerte-alle anderen zahlen sollte, kommen 16 Prozent der Zeit, aber 2 sollten kommen 17 Prozent der Zeit.
Könnten Sie tun, dass durch die Generierung von zahlen von 1 bis 100. Wenn die Zahl von 1 bis 16 ist, kommt es aus wie eine 1. Wenn es von 17 bis 34, kommt es als 2. Wenn es von 34 bis 50, es kommt heraus, als eine 3 (und die anderen sind in Blöcken zu je 16 Stück).