![]() |
Zufallszahlen mit Wahrscheinlichkeitstabelle erzeugen
Hi,
ich habe eine Wahrscheinlichkeitsverteilung in Form einer Tabelle. Jeder Eintrag hat dort eine bestimmte Wahrscheinlichkeit < 1.0. Jetzt will ich Zufallszahlen auf Basis dieser Verteilung erzeugen, d.h. der Eintrag mit der Wahrscheinlichkeit .50, soll eben doppelt so wahrscheinlich sein, wie der Eintrag mit der Wahrscheinlichkeit .25. Wie mache ich das denn am elegantesten? Gruß Christopher |
Re: Zufallszahlen mit Wahrscheinlichkeitstabelle erzeugen
1, Bestimm dir die Zufallszahl im gewünschten Bereich
2, Bestimm eine Zufallszahl [0..100] und Multiplizier sie mit deiner für unter (1) bestimmten Wahrscheinlichkeitswert 3, Ist der Wert > 1 dann ist die Zufallszahl (1) zu verwenden. |
Re: Zufallszahlen mit Wahrscheinlichkeitstabelle erzeugen
- du rechnest alle Wahrscheinlichkeiten zusammen
Summe aller Wahrscheinlichkeiten der ganzen Werte -> z.B. (50 + 10 + 25 = 85) - erstellst dir in diesem Bereich (0 <= Zufall < Summe) einen Zufall - und nun gehst du alle Werte durch , reihst diese aneinander und schaust, in welchem Bereich deine Zufallszahl liegt ... tja, und der Wert ist dann der Gesuchte, entsprechend seiner Wahrscheinlichkeit 50 = 0..49 10 = 50..59 25 = 60..84 ... bei Zufall=58 wäre das Ergebnis 10, bzw. der Wert mit der Wahrscheinlichkeit von 10 |
Re: Zufallszahlen mit Wahrscheinlichkeitstabelle erzeugen
Liste der Anhänge anzeigen (Anzahl: 1)
Ich habe da früher schon mal eine Unit geschrieben im Prinzip genau das macht, was himitsu beschrieben hat.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:52 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz