Schrift
[thread]7252[/thread]

Zufallszahlen generieren (Seite 5)



<< |< 1 2 3 4 5 >| >> 44 Einträge, 5 Seiten
docsnyder
 2005-09-14 15:29
#57664 #57664
User since
2005-09-08
300 Artikel
BenutzerIn
[Homepage] [default_avatar]
[quote=pKai,14.Sep..2005, 13:25]Den willst du auch nicht, da der höchste Index 99 ist.[/quote]
Oops, stimmt!

Na, dann lassen wir das Aufrunden eben ;o)

Gruß, Doc
sesth
 2005-09-14 19:40
#57665 #57665
User since
2005-02-01
181 Artikel
BenutzerIn
[default_avatar]
Hi Doc,

[quote=docsnyder,13.09.2005, 15:34]Hi Sesth!

Quote
Genau genommen kann ein Algorithmus das nicht leisten, da die Terminiertheit nicht gegeben ist. Es ist also allenfalls eine Rechenvorschrift.


Na, das stimmt ja wohl so nicht! Natürlich gibt es einen Algorithmus dafür und sogar mit der Komplexität O(n):[/quote]
stimmt, Dein Algorithmus terminiert.

Ich hatte ein anderes Vorgehen im Hinterkopf: Wenn eine Zufallszahl zwischen 0 und 100 schon einmal gezogen wurde, wird die Ziehung verworfen und wiederholt. Dabei besteht eine theoretische Restwahrscheinlichkeit, dass in endlicher Zeit keine 10 verschiedenen Zahlen gezogen werden.

Dein Ansatz ist bestechend einfach - aber ich bin mir nicht sicher, ob die Zahlen dann noch wirklich zufällig sind oder schon korelliert (d.h. abhängig von den vorherigen Zahlen). Vielleicht kann das noch jemand beantworten? ???
Gruß
Thomas
docsnyder
 2005-09-14 21:05
#57666 #57666
User since
2005-09-08
300 Artikel
BenutzerIn
[Homepage] [default_avatar]
Hi Sesth!

Ich glaube, ich kann Deine Frage beantworten.

Die weiteren "Ziehungen" sind keinesfalls korrelliert. Der Algorithmus entspricht exakt dem klassischen Modell des Ziehens aus einer Urne: was gezogen ist, ist raus! Und für die restlichen "Ziehungen" gilt jeweils die gleiche Wahrscheinlichkeit für alle verbleibenden Zahlen.

Mehr steckt nicht dahinter.

Gruß, Doc
pq
 2005-09-15 00:21
#57667 #57667
User since
2003-08-04
12209 Artikel
Admin1
[Homepage]
user image
[quote=vayu,14.09.2005, 13:28]nö 0 - 100 sind 101 werte also ist der höchste index 100 :)[/quote]
das stimmt, aber im code hieß es ja:
Code: (dl )
1
2
3
4
5
6
$maxNumber   = 100;
$n = 10;

for ( $i=0; $i<$maxNumber; $i++ ) {
$numbers[$i] = $i;
}

man beachte das $i<$maxNumber
also 100 werte!
rand @numbers ist also völlig korrekt
Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. -- Damian Conway in "Perl Best Practices"
lesen: Wiki:Wie frage ich & perlintro Wiki:brian's Leitfaden für jedes Perl-Problem
<< |< 1 2 3 4 5 >| >> 44 Einträge, 5 Seiten



View all threads created 2005-09-04 16:55.