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 7. Apr 2007
Antwort Antwort
Seite 11 von 14   « Erste     91011 1213     Letzte »    
alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#101

Re: Random ist kein reiner Zufall

  Alt 2. Apr 2007, 17:57
Wieso soll denn das 'zufälliger' sein? Hast Du das getestet? Und wenn ja, wie?
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat
dino

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

Re: Random ist kein reiner Zufall

  Alt 2. Apr 2007, 21:15
nun versuch ichs mal damit:
Delphi-Quellcode:
procedure _RandInt;
asm
{     ->EAX     Range   } 
{     <-EAX     Result  } 
        PUSH EBX
{$IFDEF PIC} 
        PUSH EAX
        CALL GetGOT
        MOV EBX,EAX
        POP EAX
        MOV ECX,[EBX].OFFSET RandSeed
        IMUL EDX,[ECX],08088405H
        INC EDX
        MOV [ECX],EDX
{$ELSE} 
        XOR EBX, EBX
        IMUL EDX,[EBX].RandSeed,08088405H
        INC EDX
        MOV [EBX].RandSeed,EDX
{$ENDIF} 
        MUL EDX
        MOV EAX,EDX
        POP EBX
end;
1. Frage: ich weiss nun, dass Push den wert im stack abspeichert.
überschreibt push eax nun push ebx oder gibts für beide register nen einzelnen stack?
2. Frage: "call getgot" ich weiss was call ist, aber was ist getgot?
3. Frage: [EBX].Randseed: was ist das? hat der register Ebx noch unterregister oder wie?
  Mit Zitat antworten Zitat
Cöster

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

Re: Random ist kein reiner Zufall

  Alt 2. Apr 2007, 22:19
Oh Mann, das erste OT-Thema ist beendet und gleich fängt das nächste an. Aber nun gut.

Zitat von dino:
überschreibt push eax nun push ebx oder gibts für beide register nen einzelnen stack?
Nein, alles kommt in einen Stack. Das Funktionsprinzip eines Stacks kannst du in der Wikipedia nachlesen.

Zitat von dino:
was ist getgot?
Irgendne Funktion. Was sie macht? kp

Du musst bedenken, dass entweder der Code zwischen {$IFDEF PIC} und {$ELSE} oder der zwischen {$ELSE} und {$ENDIF} durchgeführt wird, abhängig davon, ob "PIC" (was auch immer das heißt) definiert ist. Auf meinem PC ist PIC jedenfalls nicht definiert.

Zitat von dino:
[EBX].Randseed: was ist das?
Wie das genau syntaktisch funktioniert, weiß ich nicht. Ist aber (in diesem Fall, weil EBX=0) gleichbedeutend mit Randseed.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.035 Beiträge
 
Delphi 12 Athens
 
#104

Re: Random ist kein reiner Zufall

  Alt 2. Apr 2007, 23:32
Zitat von alzaimar:
Wieso soll denn das 'zufälliger' sein? Hast Du das getestet? Und wenn ja, wie?
Wie negaH schon mehrmals sagte/bewieß, gibt es in einem "normalem" PC keinen echten Zufall.

Bei dem pseudo Zufallsgeneratoren wie der in Delphi, welche nur rein mathematisch arbeiten
gibt es immer eine ganz bestimmte Zahlenfolge, welche erstellt wird und Randomize setzt nur den Anfang innerhalb dieses Zahlenspektrums.

Nun wird durch den Einsatz einer programmunabhängigen Variable (z.B. der Zeit) von diesem kontinuierlichem Zahlenstrom ständig "unvorhersehbar" abgewichen.

Theoretisch wäre es ja möglich mit einer ausreichenden Anzahl aufeinanderfolgender Werte die Nachfolgenden zu berechnen (vorallem wenn man schon den Algotirhmus kennt).

Ich hab bei "meinem" Code auch extra nur ein Bit der Formel verändert, da diese schon eine schöne Verteilung der "Zufallszahlen" bietet und ich dieses nicht zerstören wollte.



Wenn man viele Zufallszahlen in kürzester Zeit (< 10 ms) berechnen möchte, dann sollte man allerdings etwas schnelleres als GetTickCount verwenden.

Hab GetTickCount nur verwendet, da dieses leicht/schnell auslesbar und vorallem in einer schönen Größe (32 Bit) ist.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
grenzgaenger
(Gast)

n/a Beiträge
 
#105

Re: Random ist kein reiner Zufall

  Alt 2. Apr 2007, 23:53
du weisst aber schon, dass 'n zufallszahlengenerator, überhaupt nix wert ist, wenn man den zufall nicht reproduzieren kann????!!!
  Mit Zitat antworten Zitat
dino

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

Re: Random ist kein reiner Zufall

  Alt 2. Apr 2007, 23:55
nun denke ich, dass genau das genau das Thema ist, worums hier geht

ich will ja verstehen, woher meine Ergebnisse kommen und dafür möchte ich verstehen, wie Random programmiert ist


Zitat von Cöster:
Du musst bedenken, dass entweder der Code zwischen {$IFDEF PIC} und {$ELSE} oder der zwischen {$ELSE} und {$ENDIF} durchgeführt wird, abhängig davon, ob "PIC" (was auch immer das heißt) definiert ist. Auf meinem PC ist PIC jedenfalls nicht definiert.
ich kenne ja nun ein wenig asm code, daher frage ich mcih wohl zurecht, wie sowas zustande kommen soll, wo das mit dem PIC bzw. elde und endif doch in {} steht
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.035 Beiträge
 
Delphi 12 Athens
 
#107

Re: Random ist kein reiner Zufall

  Alt 3. Apr 2007, 00:22
Zitat von grenzgaenger:
du weisst aber schon, dass 'n zufallszahlengenerator, überhaupt nix wert ist, wenn man den zufall nicht reproduzieren kann????!!!
Echter Zufall ist aber nicht reproduzierbar.

Wieso sollte also in "Zufallsgernerator", der genau das macht, nichts wert sein?

Schließlich nimmt man ja einen "Zufallsgerneraor", damit man nicht reproduzierbare/zufällige Werte bekommt.


[add]
@dino
Zitat von OH:
Kommentare und Compiler-Direktiven

Kommentare werden vom Compiler ignoriert. Dies gilt jedoch nicht für Kommentare, die als Trennzeichen (zur Trennung aufeinanderfolgender Token) oder als Compiler-Direktiven fungieren.

Kommentare lassen sich auf verschiedene Arten kennzeichnen:
Code:
{ Text zwischen einer öffnenden und einer schließenden geschweiften Klammer. }
(* Text zwischen einer öffnenden runden Klammer plus einem Sternchen und
   einem Sternchen plus einer schließenden runden Klammer. *)
// Beliebiger Text zwischen einem doppelten Schrägstrich und dem Zeilenende.
Ähnliche Kommentare lassen sich nicht verschachteln. So funktioniert beispielsweise {{}}, der Kommentar (*{}*) jedoch nicht. Dies ist nützlich zum Auskommentieren von Abschnitten, die ebenfalls Kommentare enthalten.

Ein Kommentar, in dem unmittelbar nach { oder (* ein Dollarzeichen ($) steht, ist eine Compiler-Direktive. Beispiel:
Code:
{$WARNINGS OFF}
Diese Direktive weist den Compiler an, keine Warnmeldungen zu generieren.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
dino

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

Re: Random ist kein reiner Zufall

  Alt 3. Apr 2007, 00:40
oh sehr interessant danke himitsu, das wusste ich nicht

bleibt nurnoch die Frage, was IFDEF PIC heisst
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.035 Beiträge
 
Delphi 12 Athens
 
#109

Re: Random ist kein reiner Zufall

  Alt 3. Apr 2007, 01:55
wollt grad auf $IFDEF in der OH verweisen, aber meine D4/D7-Hilfe kennt dat nicht ... zum Glück hab'sch nochmal nachgesehn

{$IFDEF PIC} prüft einfach ob das Symbol PIC vorher definiert wurde ... z.B. per {$DEFINE PIC}, welches in [oh]$DEFINE[/oh] beschrieben wird.


PS: der Text da Oben ist unter [oh]$[/oh] zu finden
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
dino

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

Re: Random ist kein reiner Zufall

  Alt 3. Apr 2007, 17:32
öhm ob PIC vorher Definiert wurde...

Im Programm oder wo?
oder wer oder was Definiert sowas?
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 11 von 14   « Erste     91011 1213     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 15:35 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