Hallo,
ich hab heute schon zum dritten mal "gleichverteilte zufallszahl" gelesen.
ist die zufallszahl der meisten programmiersprachen (in meinem fall c#) nicht schon von haus aus gleichverteilt oder muss ich da noch was machen? was hat es mit diesem "gleichverteilt" auf sich? ^^
Naja, meines Wissens ist ist die Zufallszahl der "meisten" Programmiersprachen gleichverteilt zwischen 0 und 1. Wenn man eine zwischen 0 und 5 gleichverteilt haben will, bringt's z.B. die 0,815 nicht wirklich. Die musste ja dann noch umrechnen. *Das* ist damit gemeint, und natürlich um den Unterschied zu anderen Verteilungen zu betonen, die es in der Welt ja auch noch gibt oder geben soll, wie in deinem Array ;-)
das würde dann in richtung brute-force-methode hinauslaufen und das wäre mir zu langsam.
Ok. Habe da noch eine ähnliche, aber vielleicht doch bessere Idee.
Obwohl mir irgendwie schwant, dass da ein Denkfehler drin sein könnte:
- Angenommen, es sind 100'000 Array-Elemente.
- Man sucht sich gleichverteilt ;-) eines aus und stellt fest, es hat das Gewicht 0,1.
- Es ist mit einer W'keit von nur p = 1/100'000 = 0.00001 gewählt worden
- Die W'keit, dass es das richtige ist, muss also 1/p = 10'000 mal größer sein
- Eine weitere Zufallszahl zw. 1 und 10'000 liefert das Ergebnis: Ist sie > 1, dann haben wir das richtige, sonst nicht.
Das dürfte in den meisten Fällen sofort klappen...
Gruß, Don P