AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Random ist kein reiner Zufall

Ein Thema von dino · begonnen am 31. Mär 2007 · letzter Beitrag vom 6. Apr 2007
Antwort Antwort
Seite 3 von 14     123 4513     Letzte »    
schrimm
(Gast)

n/a Beiträge
 
#21

Re: Random ist kein reiner Zufall

  Alt 31. Mär 2007, 16:00
also unser delphi lehrer hat das immer mit randomize gemacht, ka, was das dann macht, aber es scheint zufälliger zu werden.
aber wenn ich in einer schleife (lottozahlenzeugs) immer erst randomize und dann random gemacht habe, kam da immer die gleichen zahlen in einem durchgang hinaus, jedoch nach neustart des progs wieder andere, aber alle 6 gleich
Wie schon gesagt, es gibt ebend keinen wirklichen zufall
  Mit Zitat antworten Zitat
Dax
(Gast)

n/a Beiträge
 
#22

Re: Random ist kein reiner Zufall

  Alt 31. Mär 2007, 16:01
Zitat von inherited:
Dann lügt das Delphi-Buch was ich hier stehen habe
Was mich, ehrlich gesagt, wundern würde wie 'ne Schippe Sand in der Sahara..


Zitat von alzaimar:
Der Borland-Generator ist schon nicht schlecht, richtig gut isser natürlich nicht, dafür gibt es dann besondere Algorithmen: Einer davon ist der Mersenne-Twister, ein ziemliches Ungetüm, das eine sehr sehr lange Periode hat: Die Zahlenreihe wiederholt sich erst nach einigen 10^xxxx Sequenzen. So genau weiss ich das aber nicht.
Ein Ungetüm sicherlich, dafür aber (in der richtigen Implementation, mein Versuch damals in C# war schneller als der .net-mitgebrachte Generator) recht fix[1] dank Verzicht auf arithmetische Operation und eine unschlagbare Periode


[1] Siehe dazu http://www.math.sci.hiroshima-u.ac.j...FMT/index.html
  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
 
#23

Re: Random ist kein reiner Zufall

  Alt 31. Mär 2007, 16:03
Randomize initialisiert den Random-Seed mit irgendeinem Zeitwert, welcher genau weiß ich jetzt nicht. Ohne Randomize, kriegst du immer die gleichen Werte.

Zitat von HERMES:
Man kann aber bessere "Zufallswerte" mit einem sog. WhiteNoise generator erzeugen, in wie weit diese Zufallszahlen echt sind ist mir nicht bekannt, allerdings benötigt man dafür spezielle Hardware.
Echt sind die garantiert nicht. Aber ein "echtes" weißes Rauschen hat tatsächlich eine Gleichverteilung aller Frequenzen.
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
dino

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

Re: Random ist kein reiner Zufall

  Alt 31. Mär 2007, 16:11
@Amateurprofi nun das ist auch ganz genau meine Meinung

manche glauben jedoch, dass es möglich wäre, dass ein teil auch mal in seinem leben regiert, wie er drch seine einflüsse hätte nciht regieren sollen

und da muss ich zugeben, dass kann man nciht ausschliessen, doch das ist genau das selbe wie gott: ausschliessen kann man nciht, dass es Zufall/Gott gibt, aber es beruhigt manche, daran zu glauben, also wieso nicht?

reden wir überhaupt noch davon, wie das random bei delphi realisiert wurde?
  Mit Zitat antworten Zitat
blablab

Registriert seit: 3. Jan 2006
509 Beiträge
 
Delphi 7 Enterprise
 
#25

Re: Random ist kein reiner Zufall

  Alt 31. Mär 2007, 16:26
Ich versteh gar net was denn jetzt die frage ist...

Also random benutzt einfach eine zahl und rechnet mit Hilfe dieser zahl die nächste aus. Diese 2. Zahl sollte dann halt noch möglichst unterschiedlich von der 1. sein. So rechnet er dann eine Zahl nach der anderen aus.
Und mit Randomize setzt er für die zahl einfach gettickcount ein.
Das ist alles.

Ich weiß gar nicht, was da so geheimnisvoll sein soll???
  Mit Zitat antworten Zitat
Alt 31. Mär 2007, 16:28     Erstellt von Der_Unwissende
Dieser Beitrag wurde von MrSpock gelöscht. - Grund: Nur OT
Cöster

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

Re: Random ist kein reiner Zufall

  Alt 31. Mär 2007, 16:34
Zitat von dino:
nur habe ich da keine ahnung von, wie man das im Programm einbaut, dass er guckt, was die einzelnen random aufrufe an Cpu verbrauchen
Nein, ich meinte das CPU-Fenster. Also nen Haltepunkt beim Randomaufruf reinsetzen, starten und, sobald der Haltepunkt erreicht ist, Strg+Alt+C. Dann ein paar mal F7 und man kann besser nachvollziehen, was passiert. Allerdings musst du dafür ein klitzekleines bisschen ASM können.


Zitat von dino:
ist random ein besonderes Geheimniss von Delphi???
Wie kommst du darauf, der Code liegt offen.


Zitat von schrimm:
also unser delphi lehrer hat das immer mit randomize gemacht, ka, was das dann macht, aber es scheint zufälliger zu werden.
aber wenn ich in einer schleife (lottozahlenzeugs) immer erst randomize und dann random gemacht habe, kam da immer die gleichen zahlen in einem durchgang hinaus, jedoch nach neustart des progs wieder andere, aber alle 6 gleich
Man soll Randomize ja auch nur einmal aufrufen, weil es den RandSeed wie gesagt entweder mit dem Var-Parameter von QPC oder dem TickCount initialisiert. Danach wird der RandSeed immer nur noch geändert, wenn Random aufgerufen wird. Wenn du Randomize in einer Schleife 6mal direkt hintereinander aufrufst, hat sich der TickCount in diesen Sekundenbruchteilen wohl kaum geändert. Der RandSeed wird immer wieder zurückgesetzt und du kriegst immer das gleiche raus.


Zitat von 3_of_8:
Randomize initialisiert den Random-Seed mit irgendeinem Zeitwert, welcher genau weiß ich jetzt nicht
s.o.


Zitat von dino:
reden wir überhaupt noch davon, wie das random bei delphi realisiert wurde?
Was sollen wir darüber reden, die Implementierung ist bekannt.
Die einzige Frage, die für mich noch unbeantwortet ist, ist die Herkunft der mysteriösen Konstante $08088405.
  Mit Zitat antworten Zitat
Alt 31. Mär 2007, 16:37     Erstellt von blablab
Dieser Beitrag wurde von MrSpock gelöscht. - Grund: Nur OT.
Alt 31. Mär 2007, 16:51     Erstellt von Klomeister
Dieser Beitrag wurde von MrSpock gelöscht. - Grund: Nur OT.
Alt 31. Mär 2007, 17:11     Erstellt von Cöster
Dieser Beitrag wurde von MrSpock gelöscht. - Grund: Nur OT.
Alt 31. Mär 2007, 17:12     Erstellt von Der_Unwissende
Dieser Beitrag wurde von MrSpock gelöscht. - Grund: Nur OT.
Alt 31. Mär 2007, 17:23     Erstellt von Der_Unwissende
Dieser Beitrag wurde von MrSpock gelöscht. - Grund: Nur OT.
dino

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

Re: Random ist kein reiner Zufall

  Alt 31. Mär 2007, 17:32
oh nagut

also: wenn ihr wisst, wie random gemacht ist, könnt ihr mir dann sagen, warum das so ist?(was ich am anfang des threads feststellen musste)


also ich belibe dabei, dass niemand sagen kann, dass es zufall nciht gibt genausowenig, wie jemand sagen kann, dass es zufall gibt, denn dafür müsste man die Welt und ihre zusammenhänge 100%ig verschlüselt wissen und das ist, wie wir wissen ganz und garnicht so

@unwissender

etwas nciht berechnen zu können heisst nicht, dass es zufall ist!!!
die unschärferelation ist eine vereinfachung, die nötig ist, da man (hoffentlich vertue ich mich da nciht) etwas[weiss nciht mehr was] physisch unmöglich genau bestimmen kann, da jedes verfahren zum erkennen, wie das Ergebnis ausfällt das Ergebnis beeinflussen würde

ich glaube es handelte sich dabei um ort und energie(wellenenergie?schwingungsenergie?rotations energie?) eines elektrons, welche man nciht bestimmen kann, weil halt jedes verfahren, welches auf diese Eigenschaften eines Elektrons reagiert das Elektron ebenfalls auf die Messung reagieren lässt

und übrigens habe ich bereits erwähnt, dass in der Welt alles mit allem zusammenhängt und deshalb lässt es sich nciht berechnen

jedes einzelne helium atom in der Sonne, welches sich mal nach links oder rechts bewegt hat auswirckung auf das Ergebnis

unschärferelation heisst also meiner meinung nach nciht, dass es ungenau ist, sondern dass wir es nciht genau erfahren können
in dem sinne unberechenbar aber nciht zufällig
  Mit Zitat antworten Zitat
Benutzerbild von Sunlight7
Sunlight7

Registriert seit: 17. Sep 2006
Ort: Sonnensystem, Zentral
1.522 Beiträge
 
Delphi 5 Standard
 
#28

Re: Random ist kein reiner Zufall

  Alt 31. Mär 2007, 18:23
Abend allerseits!

Zitat von dino:
sun und ich haben entdeckt, dass die delphi zufallsfunktion etwas nicht zufälliges hat:
Da muß ich mich auch zu Wort melden.

Also um das etwas zu verdeutlichen, wir haben ein Random, das 3 Zustände ausgeben kann (0, 1, 2)...
Dann zählen wir in einer Schleife mit, welcher Zustand wie oft dran kommt.
Sobald alle Zustände gleich oft erzeugt wurden wird die Schleife abgebrochen.

Das Interessante dabei ist, das die Schleife entweder sofort wieder abgebrochen wird, weil alle Zustände nur nach wenigen Durchläufe gleich auf sind, oder es läuft zu ner Zahl, die ca. zwischen 1411655764 und 1431655764 liegt...

Nur einmal kam ein EIntOverflow , das war wohl nur zufällig

Und so kommt die Frage auf, wie kommt das zustande?

Grüßle!

PS: Zum ansehen das ganze als Quelltext:

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
   var i0, i1, i2:integer;
begin
  Randomize;

  i0:=0;
  i1:=0;
  i2:=0;

  Repeat
    Case Random(3) of
       0: Inc(i0);
       1: Inc(i1);
       2: Inc(i2);
    end;
  until (i0=i1) and (i0=i2) and (i1=i2);

  Beep;
  Edit1.text:=IntToStr(i0)+' - '+IntToStr(i1)+' - '+IntToStr(i2);
end;
Windows: Ja - Microsoft: Nein -> www.ReactOS.org
  Mit Zitat antworten Zitat
dino

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

Re: Random ist kein reiner Zufall

  Alt 31. Mär 2007, 18:27
schön ausgedrückt sun

hier mal der Quelltext aus meinem 2. Programm, welches das selbe tut wie das 1. nur immer wieder

Delphi-Quellcode:
var
  i:integer;

{$R *.DFM}

procedure rechne;
   var i0, i1, i2:integer;
begin
  Randomize;
  i0:=0;
  i1:=0;
  i2:=0;
  form1.Button1.caption:='Stop';

  Repeat
    Case Random(3) of
       0: Inc(i0);
       1: Inc(i1);
       2: Inc(i2);
    end;
  until (i0=i1) and (i0=i2) and (i1=i2);

  Beep;
  inc(i);
  form1.image1.canvas.pixels[i,form1.image1.height-round(2*sqrt(sqrt(i0)))]:=clred;
  form1.edit1.text:=form1.edit1.text + inttostr(i0)+' - ';

  form1.timer1.enabled:=true;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  if button1.caption='Stopthen
  begin
    button1.caption:='Start';
    timer1.enabled:=false;
  end else rechne;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
  timer1.enabled:=false;
  rechne;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  i:=0;
end;

end.
ach übringens: hat jemand die exe ausprobiert? was habt ihr so raus?
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#30

Re: Random ist kein reiner Zufall

  Alt 31. Mär 2007, 18:37
Zitat von schrimm:
aber wenn ich in einer schleife (lottozahlenzeugs) immer erst randomize und dann random gemacht habe, kam da immer die gleichen zahlen in einem durchgang hinaus, jedoch nach neustart des progs wieder andere, aber alle 6 gleich
Wie schon gesagt, es gibt ebend keinen wirklichen zufall
Logisch weil der Zufallsgenerator immer mit dem gleichen Wert initialisisert wurde. Randomize darf nur einmal beim Programmstart aufgerufen werden.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 3 von 14     123 4513     Letzte »    


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 23:05 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