Delphi-PRAXiS
Seite 3 von 5     123 45      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Wie zufällig ist Random(x)? (https://www.delphipraxis.net/24127-wie-zufaellig-ist-random-x.html)

sCrAPt 6. Sep 2004 17:53

Re: Wie zufällig ist Random(x)?
 
Zitat:

Zitat von tn249
manche soager nur ein bis zweimal in mehreren tausend durchgängen

Ich denke das ist Zufall gewesen :gruebel:

http://og4all.de/s.jpg, sCrAPt

atreju2oo0 6. Sep 2004 18:29

Re: Wie zufällig ist Random(x)?
 
Liste der Anhänge anzeigen (Anzahl: 1)
Und genau um das zu testen habe ich mal vor langer Zeit ein kleines Prog angefangen...
Im Edit-Feld gibt man an wieviele Zahlen erstellt werden sollen und dann kann man grafisch sehen wie
viel besser Delphi mit den einzelnen Durchläufen wird!
Eigentlich war das Ergebniss natürlich klar aber da ich es gemacht hab kann ichs ja mal zeigen... :zwinker:

P.S: Speichern und Laden is egal... wollte mehrere Messreihen machen und habs dann sein lassen...

Phoenix 6. Sep 2004 18:38

Re: Wie zufällig ist Random(x)?
 
Es gibt eine echte Quelle von Echten Zufallszahlen, und das ist Random.org, der zum Beispiel per SOAP abgefragt werden kann.

Hier wird live das atmosphärische Rauschen aufgenommen (ihr wisst schon... Radio auf irgendeine Frequenz einstellen auf der nicht gesendet wird, das Rauschen ganze Ding aufzeichnen und in einen Bitstream umwandeln - reine Entropie und die ist wirklich Zufällig).

Dieser Bitstream wird dann hergenommen und daraus die Zufallszahlen ermittelt.

Nachtrag: Als Beispiel wurde ein 1MB grosses File genommen, das aus diesen Zufallswerten bestand. Eine optimale Kompression konnte das Megabyte um kein einziges Bit verkleinern, will heissen es gab keine Wiederholungen, die komprimierbar gewesen wären.

sCrAPt 6. Sep 2004 18:59

Re: Wie zufällig ist Random(x)?
 
Zitat:

Zitat von Phoenix
Nachtrag: Als Beispiel wurde ein 1MB grosses File genommen, das aus diesen Zufallswerten bestand. Eine optimale Kompression konnte das Megabyte um kein einziges Bit verkleinern, will heissen es gab keine Wiederholungen, die komprimierbar gewesen wären.

Zufall :stupid:
Der Zufall hat keine Erinnerungen, deshalb hätten ja eigentlich auch 400 Einsen hintereinanderer kommen können :roll:

http://og4all.de/s.jpg, sCrAPt

negaH 6. Sep 2004 19:05

Re: Wie zufällig ist Random(x)?
 
@Phoenix,

und da haben wir es schon, unser Problem mit den HW-RNGs.
Denn exakt zu dem Zeitpunkt wo ich bei Random.org meinen Zufall abfrage um meine hochgeheimen Schlüssel zu produzieren, fängt gleich neben dem Rausch-Empfänger ein Radiosender an zu senden. Und das genau auf der Frequenz auf der der HW-RNG von Random.org läuft. Das Problem für Random.org ist aber jetzt zu unterscheiden ob der gelieferte Zufall tatsächlich noch Zufall ist. Denn bei echtem Zufall ist es durchaus statistisch wahrscheinlich das eine 10 Stunden Folge von 0101010 Bits erzeugt wird.

Und wieder das Problem mit den HW-RNGs, der Beweis das die Zufallsfolgen die ein HW-RNG produziert auch tatsächlich echte Zufallsfolgen sind ist nicht durchführbar. Eben exakt dadurch das für HW-RNGs Sensoren benutzt werden die auf physikalischen Ereignissen beruhen die der Mensch bis heute nicht mathematisch als nicht zufällig beweisen kann. Man nimmt eben einfach an das das Hintergrundrauschen auf leeren Frequenzbändern zufällig ist, aber man kann es nicht beweisen das es so ist. Oder anders gesagt: weil ich nicht weis das es keinen Gott gibt nehmen wir an es gäbe ihn. Weil für uns Menschen in den physikalischen Prozessen, wie Photonenaustritt, keine mathematische Regelmäßigkeit zu entdenken wa, nehmen wir einfach mal an das das alles zufällig ist. Nur, es könnte trotzdem eine Regelmäßigkeit geben die wir eben nicht verstehen ! Und das ist eben keine sichere Grundlage um behaupten zu können das HW-RNGs echten Zufall produzieren.

Nochmal: jeder mathematische Pseudozufallsgenerator der eine bestimmte Komplexität in seinen mathematischen Verfahren überschreitet ist definitiv beweisbar zufällig. Denn aus Sicht desjenigen der den Startwert/Paramter dieses PRNG nicht kennt, sind die produzierten Zufallsfolgen in keinster weise berechnenbar und demnach zufällig. Er kann nur eine Aussage über diesen PRNG treffen : "das nächste Bit ist mit einer Wahrscheinlichkeit von exakt 50% eine 0 oder eine 1". Diese Aussage beschreibt den perfekten Zufallsgenerator.
Man muß also die Parameter/Seeds/Algos. des benutzten PRNGs nur so hoch schrauben das mit der heutigen Technik und dem heutigen Wissen es unmöglich wird ohne diese Paramater den Zufallsstrom vorherzusagen. Wir haben dann eine Pseudozufallsgenerator der für jeden nicht eingeweihten absolut zufällig sein muß, und nur für diejenigen die die Parameter kennen vorhersagbar ist.
Bewegt man sich in diesem Bereich so bewegt man sich nicht mehr auf dünnem Eis, sondern im Bereich der absolutistischen Mathematik. Man kann also mit absoluter Bestimmtheit die Qualität und Sicherheit der erzeugten Zufallsdaten voraus berechnen.

Fazit: Pseudo-Zufallsgeneratoren sind, wenn man die richtigen Algos/Paramater benutzt, immer wesentlich besser als jede Hardware Lösung.


Gruß Hagen

himitsu 6. Sep 2004 20:05

Re: Wie zufällig ist Random(x)?
 
Liste der Anhänge anzeigen (Anzahl: 1)
Diese Pseudozufallsgeneratoren (wie z.B. in Delphi) sind meines Wissens auch noch ein bissl optimiert - in wirklich keit währe es ja möglich viele male hintereinander den selben Wert zu erreichen, was ja nicht der Fall ist, ausserdem sind diese so gemacht, das die Werte schön verteilt sind (was bei atreju2oo0's Programm nicht so auffällt, bei den wenigen Werten kommt es auch mal vor, das es einen/zwei... Wert(e) nicht gibt) .......

also wenn man mal ein paar mehr Werte nimmt (siehe Anhang), dann sollte auch die vorher schonmal gestellte Frage, über die Quallität der Verteilung der Zufallszahlen erledigt sein.
Da ja "fast" eine schöne Linie rauskommt, sollten die Werte wohl auch schön verteilt sein ^^

Phoenix 6. Sep 2004 20:33

Re: Wie zufällig ist Random(x)?
 
Zitat:

Zitat von negaH
Wir haben dann eine Pseudozufallsgenerator der für jeden nicht eingeweihten absolut zufällig sein muß, und nur für diejenigen die die Parameter kennen vorhersagbar ist.

Interessanterweise kann aber (noch) niemand die Zahlenfolge einer der benannten Hardwarelösungen (atmosphärisches Rauschen, radioaktiver Zerfall von Atomen, Photonendurchgang halbdurchlässiger Spiegel) vorhersagen. Damit ist das nicht nur für jeden nicht eingeweihten sondern eben auch für jeden Eingeweihten absolut zufällig - und damit an und für sich zuverlässiger und besser als jegliche berechenbare Zahlenfolge. Dein Vergleich hinkt da nämlich ein wenig.

Natürlich kann ich auch ein ungeheuer geheimes und kompiziertes Verfahren zur Verschlüsselung verwenden. Solange nur ich und mein Gegenüber dies kennen können wir auch absolut geheim und nicht abhörbar kommunizieren. Aber jeder dem das Verfahren bekannt ist, kann es gezielt angreifen. Eine solche Verschlüsselung ist also defakto unsicher. Quantenkryptographie ist hingegen sicher, auch wenn das Verfahren hinlänglich bekannt ist. Und auch hier verlassen wir uns wieder auf die Hardware.

Natürlich... sollte morgen jemand morgen auf die Weltformel stossen und damit nachweisen können, das Entropie berechenbar ist, oder sollte jemand morgen die Heisenberg'sche Unschärferelation kippen, dann sind die Zufallszahlen berechenbar und auch die Quantenkryptographie unsicher - aber solange das nicht passiert sind wir mit diesen Lösungen auf jeden Fall besser bedient als durch irgendeine nachgeahmte Methode, die eben gar nichts mit Zufall gemeinsam hat.

himitsu 6. Sep 2004 20:50

Re: Wie zufällig ist Random(x)?
 
Also für Verschlüsslungstechniken sollte doch der "Zufall" berechenbar sein, den beide Seiten müssten ja die Selbe Zahlenfolge besitzen (der eine für's ver- und der andere für's entschlüsseln)

fiasko 6. Sep 2004 21:18

Re: Wie zufällig ist Random(x)?
 
Zitat:

Zitat von himitsu
Also für Verschlüsslungstechniken sollte doch der "Zufall" berechenbar sein, den beide Seiten müssten ja die Selbe Zahlenfolge besitzen (der eine für's ver- und der andere für's entschlüsseln)

Neeee, neee, neee. Unter keinen umständen, du willst was möglichst zufälliges.


Was mir noch aufgefallen ist: zufällig bedeutet "nur" keine Vorhersagbarkeit, hat aber überhaubt nix mit einer Gleichverteilung zu tun!


Und wenn die Radiostation anfängt zu senden und das Hintergrundrauschen stört ist das ja auch Zufall - schließlich kann keiner vorraussagen wie die Wellen bei mir ankommen.

Phoenix 6. Sep 2004 21:22

Re: Wie zufällig ist Random(x)?
 
Zitat:

Zitat von fiasko
Was mir noch aufgefallen ist: zufällig bedeutet "nur" keine Vorhersagbarkeit, hat aber überhaubt nix mit einer Gleichverteilung zu tun!

Bei einer rein zufälligen Anordnung wird sich aber dennoch früher oder später eine statistische Gleichverteilung einstellen.

Nehmen wir das Beispiel mit einem perfekten Würfel auf einer Ebene, der aus einer bestimmten Höhe ohne äussere Einflüsse aus immer gleicher Position fallen gelassen wird: Auch dieser springt zufällig umher. Dennoch ist die Chance auf eine seiner Seiten zu fallen genau 1/6tel, und demnach werden alle 6 Ziffern bei ausreichend häufiger Wiederholung in etwa gleich oft auftauchen.

Das ist einfach ein Phänomen, das wir dabei bisher immer beobachtet haben, bei einer entsprechenden Quelle von Zufall werden wir dies aller Wahrscheinlichkeit nach auch dort beobachten können.


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:17 Uhr.
Seite 3 von 5     123 45      

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz