Liebes Forum!
Ich möchte gerne Zufallszahlen erzeugen, die aber nur mit einer bestimmten Wahrscheinlichkeiten auftreten dürfen. Dazu habe ich eine Tabelle mit etwa 400 Einträgen (einfache Integer und deren Wahrscheinlichkeit).
Meine bisherige Lösung ein überdimensionales Array (mehrere Milliarden Elemente) einfach zu z.B. 0.046% mit 1er zu füllen, 0.0078% mit 2er zu füllen usw. funktioniert zwar ganz gut, benötigt aber natürlich enorme Speicherkapazitäten (mehrere GB).
Ich suche eine einfache aber dennoch möglichst effiziente Lösung. Dazu stelle ich mir eine Klasse vor, der man mit der AddValue(int nVal, float fProbability) einen neuen Wert mit Wahrscheinlichkeit hinzufügen kann und dannach mit einer Funktion GetRandomValue() abhängig von den Wahrscheinlichkeiten der hinzugefügten Elemente ein Element zurückbekommt.
Wäre für jeden Ansatz dankbar!
mfg dixxi