AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Random ist kein reiner Zufall

Ein Thema von dino · begonnen am 31. Mär 2007 · letzter Beitrag vom 7. Apr 2007
Antwort Antwort
Seite 1 von 14  1 2311     Letzte » 
dino

Registriert seit: 15. Jul 2006
Ort: Bad Münstereifel
627 Beiträge
 
Delphi 5 Professional
 
#1

Random ist kein reiner Zufall

  Alt 31. Mär 2007, 15:33
Guten Morgen DP

ich habe gerade ne ganze seite über folgendes geschrieben und als ich fertig war ist der Internet Explorer abgeschmiert, darum hab ich nun kein Bock es nchmal alles zu schreiben

daher die kurzversion:

sun und ich haben entdeckt, dass die delphi zufallsfunktion etwas nicht zufälliges hat:

wir haben heute morgen um 2-4 uhr etwas mit dem 1. beiliegenden Programm rumgespielt, welches so lange random(3) aufruft, bis 0,1 und 2 gleich oft vorkahm
nun liegt der Wert,wie oft die zahlen vorkahmen auffallend oft sehr nahe zusammen

darauf habe ich eben ein Programm geschrieben, was immer wieder testet, bei welchem wert sich die drei anzahlen traffen und bekahm folgendes raus:


http://images.foren-city.de/images/u...4818/1_117.png
X-Achse sind die Durchläufe
Y-Achse(von unten nach oben) ist round(2*sqrt(sqrt(gemeinsamer wert)))

beiliegend die Werte als Text, das Programm von heute morgen(2 Uhr AM) und das Programm von eben

nun deute ich es so, dass, da die werte am Anfang 0 - 0 - 0 sind es immer weniger wahrscheinlich, dass sich die Werte treffen, doch dazu gibts noch einen schwellwert, bei dem sie sich treffen müssen, der damit zusammenhängt, was der Computer sonst noch so gerade macht

nun wollte ich fragen, was ihr so über random wisst

wenn ihr wollt geb ich euch ncoh die Programme oder einfach nur den Quelltext
sie sind an sich sehr einfach gehallten
Angehängte Dateien
Dateityp: txt 2_178.txt (1,6 KB, 29x aufgerufen)
Dateityp: exe zufall_134.exe (311,5 KB, 30x aufgerufen)
Dateityp: exe zufall_134.exe (311,5 KB, 23x aufgerufen)
  Mit Zitat antworten Zitat
Benutzerbild von inherited
inherited

Registriert seit: 19. Dez 2005
Ort: Rosdorf
2.022 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: Random ist kein reiner Zufall

  Alt 31. Mär 2007, 15:46
Es gibt keine "Zufallsgeneratoren" sondern nur bessere oder schlechtere Algorithmen
Der Delphi-Zufallsgenerator benutzt für die Hilfen wie TickCount, Uhrzeit und Datum.
Nikolai Wyderka

SWIM SWIM HUNGRY!
Neuer Blog: hier!
  Mit Zitat antworten Zitat
Benutzerbild von 3_of_8
3_of_8

Registriert seit: 22. Mär 2005
Ort: Dingolfing
4.129 Beiträge
 
Turbo Delphi für Win32
 
#3

Re: Random ist kein reiner Zufall

  Alt 31. Mär 2007, 15:47
Random ist gar kein Zufall. Es ist ja auch ein "Pseudozufall". Random verwendet vermutlich den Satz von Weyl, initialisiert mit einem Startwert. Dadurch dürfte sich eigentliche eine asymptotische Gleichverteilung ergeben. Deine Ergebnisse hab ich nicht so ganz verstanden...
Manuel Eberl
„The trouble with having an open mind, of course, is that people will insist on coming along and trying to put things in it.“
- Terry Pratchett
  Mit Zitat antworten Zitat
Benutzerbild von inherited
inherited

Registriert seit: 19. Dez 2005
Ort: Rosdorf
2.022 Beiträge
 
Turbo Delphi für Win32
 
#4

Re: Random ist kein reiner Zufall

  Alt 31. Mär 2007, 16:00
Vermutlich ja. Allerdings ist er nicht unbedingt kompatibel, die Delphi-Hilfe schreibt selbst, dass bei verschiedenen Delphi-Versionen trotz gleichem Seed verschiedene Zufallszahlen produziert werden *können*
Nikolai Wyderka

SWIM SWIM HUNGRY!
Neuer Blog: hier!
  Mit Zitat antworten Zitat
dino

Registriert seit: 15. Jul 2006
Ort: Bad Münstereifel
627 Beiträge
 
Delphi 5 Professional
 
#5

Re: Random ist kein reiner Zufall

  Alt 31. Mär 2007, 16:03
dass Random kein Zufall ist war uns klar, doch würde und interessieren, wie es sonst so ist

was haste denn an den Ergebissen nciht verstanden?

die y achse ist nichtlinear, das es sonst sehr unübersichtlich wäre, denn die top 12 sieht so aus:

1431655765
1431655765
1431655765
1431655764
1431655764
1431655764
1431655763
1431655761
1431655706
1431655693
1431655581
1431655532

dagegen sind einige tausend nichts
doch durch die nichtlineare achse sind die klleinen zahlen unterscheidbar ohne die grossen über alle massen gehen zu lassen (möchtest du auf einem centimeter die zahlen 1-100.000 sehen, dann liegt 1.431.655.532 bei 143 Meter
  Mit Zitat antworten Zitat
Cöster

Registriert seit: 6. Jun 2006
589 Beiträge
 
Turbo Delphi für Win32
 
#6

Re: Random ist kein reiner Zufall

  Alt 31. Mär 2007, 16:06
Zitat von inherited:
Der Delphi-Zufallsgenerator benutzt für die Hilfen wie TickCount, Uhrzeit und Datum.
Das mit Uhrzeit und Datum ist mir nicht bekannt. Der RandSeed wird beim Aufruf von Randomize wenn möglich auf den Var-Parameter von QPC gesetzt, sonst auf den TickCount.

Wenn Randomize nicht aufgerufen wird, wird der RandSeed mit 0 initialisiert.

Beim späteren Aufruf von Random wird der TickCount allerdings nicht mehr verwendet, sondern lediglich ein bisschen mit RandSeed und der sagenhaften Konstante $08088405 rumgespielt.

Was genau bei Random alles passiert, kann man auch in seiner Implementierung nachgucken. Dann ist auch klar, dass das kein wirklicher Zufall ist. Ich glaube aber kaum, dass es überhaupt möglich ist, echten Zufall zu erzeugen.
  Mit Zitat antworten Zitat
dino

Registriert seit: 15. Jul 2006
Ort: Bad Münstereifel
627 Beiträge
 
Delphi 5 Professional
 
#7

Re: Random ist kein reiner Zufall

  Alt 31. Mär 2007, 16:12
Angefangen hats heute morgen mit einer disskussion, obs überhaupt zufall gibt oder nicht, womit ich von dem anderes aktuellen zufallsthread inspiriert anfing.

Doch glaube ich, dass es trotz alledem komisch ist, dass sie die werte so komisch verhallten

bzw. wurde es wohl entweder so geacht, dass die werte nicht völlig frei rumlaufen, oder es ist eine logische reaktion darauf, wie random programmiert wurde

was hats mit dieser konstante auff sich?

und überhaupt: was wisst ihr alles über Random
  Mit Zitat antworten Zitat
Benutzerbild von inherited
inherited

Registriert seit: 19. Dez 2005
Ort: Rosdorf
2.022 Beiträge
 
Turbo Delphi für Win32
 
#8

Re: Random ist kein reiner Zufall

  Alt 31. Mär 2007, 16:25
Zitat von dino:
und überhaupt: was wisst ihr alles über Random
http://de.wikipedia.org/wiki/Zufall
Nikolai Wyderka

SWIM SWIM HUNGRY!
Neuer Blog: hier!
  Mit Zitat antworten Zitat
dino

Registriert seit: 15. Jul 2006
Ort: Bad Münstereifel
627 Beiträge
 
Delphi 5 Professional
 
#9

Re: Random ist kein reiner Zufall

  Alt 31. Mär 2007, 16:28
ich weiss, was Zufall ist, ich rede von der Random funktion von Delphi!
  Mit Zitat antworten Zitat
Cöster

Registriert seit: 6. Jun 2006
589 Beiträge
 
Turbo Delphi für Win32
 
#10

Re: Random ist kein reiner Zufall

  Alt 31. Mär 2007, 16:28
Zitat von dino:
was hats mit dieser konstante auff sich?
kp ob es mit jeder anderen 4Byte-Konstante genauso gut ginge? Vielleicht kommt das Result aber auch bei dieser Zahl dem Zufall am nächsten.

Vielleicht könnte es für dich auch ganz interessant sein, einfach mal zu gucken, was bei einem Random-Aufruf im CPU-Fenster so alles abgeht. Dann kann man besser nachvollziehen warum und wie Random überhaupt funzt.
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:21 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz