Ninni Geschrieben 13. Februar 2002 Teilen Geschrieben 13. Februar 2002 Hallo Leute, mich würde mal interessieren wie der Zufallsgenerator vom Prinzip her funktioniert. Ich meine jetzt nicht, wie man die Rnd-Funktion benutzt, sondern wie der Zufallsgenerator an sich funktioniert. D.h. wann er eine Zahl ausgibt und nach welchem Prinzip er zu zählen anfängt, usw. wäre echt dankbar über Eure Hilfe, mfg, Mugglberger Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
TAZttDevil Geschrieben 13. Februar 2002 Teilen Geschrieben 13. Februar 2002 wie der genau funzt wei sich auch nicht... aber er soll die werte entlang der gaußschen glockenkurve rauswerfen.. d.h. er muß doch rechnen.. k.A. vielleicht liest er irgendwelche speicherinhalte aus und stellt diese als zufällig dar.. aber dann stimmt die kurve nicht.. hmm.... also bei QBasic lief der Zufallsgenerator immer gleich.. d.h. bei jedem initialisieren aht er mit den gleichen werten begonnen... aber irgendwie konnte man ihm das abgewöhnen... ansonsten such doch mal bei google oder so.. ich danke, da hast du glück... gruß Taz... Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
progmaker Geschrieben 13. Februar 2002 Teilen Geschrieben 13. Februar 2002 Also, bei Delphi wird der Zufallsgenerator aus Datum und Uhrzeit berechnet. Vielleicht ist es bei Basic genauso. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Agent Geschrieben 13. Februar 2002 Teilen Geschrieben 13. Februar 2002 soweit ich weis wird in visual basic bei der ermittlung von zufallszahlen auf das datum und auf die uhrzeit gegangen. damit der zufallsgenerator aber richtig funktioniert muss man den timer aktualisieren. diese gesieht glaub ich mit RandomizeTimer. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
JoelH Geschrieben 13. Februar 2002 Teilen Geschrieben 13. Februar 2002 also nur der Startwert des Generators wird aus dem Datum gebildet, der Rest ist einfach eine Formel nach der berechnet wird. Deshalb kann man auch mittels dem Startwert immer die selbe 'Zufallsreihe' erzeugen. Es ist also alles garnicht so zufällig. Schau mal hier zB. http://www-irm.mathematik.hu-berlin.de/~hgrass/0wr/node39.html http://www.educeth.ch/informatik/werkstatt/multiplik/zufallszahlen/ http://www.puran2.de/puran2/ Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Technician Geschrieben 13. Februar 2002 Teilen Geschrieben 13. Februar 2002 Hi Mugglberger, ich hab vor einiger Zeit mal einen Zufallsgenerator entworfen; sind einige Einweg-Funktionen drin und damit dürfte das Teil schon besser als der Basic-Algorithmus sein. Kann dir das Struktogramm ja mal mailen! Gruß, Technician Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
doublezero Geschrieben 14. Februar 2002 Teilen Geschrieben 14. Februar 2002 einwegfunktionen nutzen hier aber so gar nichts, denn du machst es mir nun zwar unmoeglich, anhand der *zufallszahl* den initialisierungswert zu ermitteln; jedoch erhalte ich nach wie vor mit gleichem initialiserungswert immer noch die gleiche zufallszahlenfolge. genau das ist ja letztlich der sinn der *einwegfunktionen* ... zudem erzeugen computergenerierte folgen immer periodische werte, so dass sich diese zahlen zwangslaeufig vorhersagen lassen. und vorhergesagter zufall ist dann wohl doch keiner mehr, oder ?! solltest du es dennoch geschafft haben, *echte* zufallszahlen zu erzeugen, dann lass dich fuer den nobelpreis vorschlagen, den hast du dir dann naemlich verdient. es gibt bis dato *keine* einfache moeglichkeit, auf einem computer echte zufallszahlen zu erzeugen. alle diesbezueglichen *verbesserungen* zielen auf eine verlaengerung der periode ... wmg dz Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Technician Geschrieben 14. Februar 2002 Teilen Geschrieben 14. Februar 2002 Hi doublezero! Original geschrieben von doublezero einwegfunktionen nutzen hier aber so gar nichts, denn du machst es mir nun zwar unmoeglich, anhand der *zufallszahl* den initialisierungswert zu ermitteln; jedoch erhalte ich nach wie vor mit gleichem initialiserungswert immer noch die gleiche zufallszahlenfolge. genau das ist ja letztlich der sinn der *einwegfunktionen* ... ist ja auch nur ein kleiner Teil des Algorithmus... Da wird ziemlich viel rumgerechnet Original geschrieben von doublezero zudem erzeugen computergenerierte folgen immer periodische werte, so dass sich diese zahlen zwangslaeufig vorhersagen lassen. und vorhergesagter zufall ist dann wohl doch keiner mehr, oder ?! solltest du es dennoch geschafft haben, *echte* zufallszahlen zu erzeugen, dann lass dich fuer den nobelpreis vorschlagen, den hast du dir dann naemlich verdient. es gibt bis dato *keine* einfache moeglichkeit, auf einem computer echte zufallszahlen zu erzeugen. alle diesbezueglichen *verbesserungen* zielen auf eine verlaengerung der periode ... wmg dz Ich hab das Teil einfach mal so geschrieben - für nix und niemanden, ich wollte eben einfach mal nen Zufallsgenerator nutzen. In irgendwelche Perioden kommt man mit dem Programm kaum. (Ich könnte nicht absolut sagen, nie - ich hab mich dann nicht mehr weiter mit dem Teil beschäftigt.) Nochmal zu den "echten Zufallszahlen": Echte Zufallszahlen wären per Definition immer Zufallszahlen, die ohne einen Algorithmus erzeugt würden - und das ist, logischerweise, am Computer unmöglich. (Bisher, wohlgemerkt - es gibt Algorithmen für Quantenrechner, die tatsächlich echte Zufallszahlen erzeugen - ja, es sind Algorithmen, aber sie beruhen darauf, dass bestimmte quantenmechanische Prozesse absolut nicht vorhersagbar sind...) Gruß, Technician Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Ninni Geschrieben 14. Februar 2002 Autor Teilen Geschrieben 14. Februar 2002 Hallo an alle die mir geholfen haben, Danke schön an alle die mir geholfen haben, jetzt hab ich einen Ansatzpunkt und werde mich da mal reinknien!! DANKE und liebe Grüße, Mugglberger:) :) Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
doublezero Geschrieben 14. Februar 2002 Teilen Geschrieben 14. Februar 2002 ich habe da mal die wichtigsten definitionen rund um den zufall in generierten zahlenfolgen herausgesucht. *zufallszahl* [auch: zufallsbit] wird nach b. schneier folgendermassen definiert: 1. "er [der generator] scheint zufaellig zu sein. das bedeutet, dass er saemtliche uns zugaenglichen statistischen zufallstests besteht." [def. *pseudozufall*] 2. "sie [die pseudozufallsfolge] ist nicht voraussagbar. es muss unmoeglich sein zu berechnen, welches zufallsbit als naechstes kommt, selbst wenn der algorithmus oder die hardware, die die folge erzeugen, sowie alle vorangehenden bits bekannt sind." [def. *kryptographisch sichere pseudozufallsfolgen*] 3. "er [der generator] ist nicht zuverlaessig reproduzierbar. wenn man den generator zweimal mit exakt derselben eingabe (zumindest soweit dies menschenmoeglich ist) laufen laesst, erhaelt man zwei zufallsfolgen, die keinerlei aehnlichkeit aufweisen" [def. *echte zufallsfolgen*] ich denke daher, dass gute (pseudo)zufallsfolgen nicht zwingend auf komplizierten wegen *errechnet* werden muessen, tech. wie waere es denn, wenn man einfach nur initialisierungswerte nimmt, welche nicht oder zumindest schwer nachvollziehbar sind (akt.mauspos; akt.rasterzeile, farbwert des bildpunktes unter dem mauszeiger, akt.cpu-auslastung, verzoegerung zw. zwei tastaturanschlaegen, etc.); diese der sicherheit halber durch ein oder zwei einwegfunktionen schiebt und - insbesondere wenn man mehere quellen kombiniert - doch schon recht ansehnliche *zufallszahlen* mit den simplen *random*-funktionen verschiedenster sprachen erhaelt. natuerlich gibt es bessere wege, die letztlich noch zufaelliger werdende ergebnisse erzeugen: * die rand-tabelle, * zufaelliges rauschen (z.b. atmosphaerisches oder hintergrundrauschen) * radioaktiver zerfall (zeitspanne zwischen zwei emissionen; hier am besten plutonium ) * oder sogar die systemuhr: bastelanleitung eines zahlengenerators: [nach j.b.lacy, d.p.mitchell und w.m.schell] "... zieht einen alarm auf und erhoeht dann solange einen zaehler in einem cpu-register, bis ein interrupt kommt. der inhalt des registers wird dann mit dem inhalt eines ausgabepuffers xor-verknuepft, wodurch der inhalt des registers auf 8 bit abgeschnitten wird. nacdem jedes byte des ausgabepuffers gefuellt ist, wird jedes zeichen im puffer ringfoermig um zwei bit nach rechts verschoben. dadurch verschieben sich die aktivsten (und zufaelligen) niederwertigen bits in die hoechstwertigen stellen. der gesamte vorgang wird dreimal wiederholt. schliesslich wird jedes zeichen des puffers von den beiden zufaelligsten bits des zaehlregisters nach interrupts beeinflusst. es treten also 4n interrupts auf, wobei n die anzahl der gewuenschten zufallsbits ist." solange wir jedoch noch auf den hausgebrauch quantenmechanischer computer warten muessen, bleibt uns keine wahl: "der zufall ist und bleibt berechenbar". wmg dz Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
TAZttDevil Geschrieben 14. Februar 2002 Teilen Geschrieben 14. Februar 2002 deine Idde mit dem kombinieren von quellen ist ja schön und gut.. nur müsste die einweg funktion dann soweit arbeiten, dass sie dei Zahlen nach der gaußschen normalverteilung (glockenkurve) ausspuckt.. und wenn du so daran rumrechnen mußt, finde ich das ziemlich uneffektive... dennoch ist dein Gedanke ziemlich gut.. ir fällt auch nichts besser ein... Gruß Taz... Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Technician Geschrieben 14. Februar 2002 Teilen Geschrieben 14. Februar 2002 Original geschrieben von TAZttDevil deine Idde mit dem kombinieren von quellen ist ja schön und gut.. nur müsste die einweg funktion dann soweit arbeiten, dass sie dei Zahlen nach der gaußschen normalverteilung (glockenkurve) ausspuckt.. und wenn du so daran rumrechnen mußt, finde ich das ziemlich uneffektive... dennoch ist dein Gedanke ziemlich gut.. ir fällt auch nichts besser ein... Gruß Taz... Man (Frau;)) hätt da ja noch weitermachen können: Z.B. die so entstandene "Zufallszahl" z.B. in eine Koordinate umwandeln und aus einem extrem verrauschten Bild (kann ja z.B. von einem Bildbearbeitungsprogramm erzeugt werden) eine Koordinate auslesen...:eek: Vielleicht programmier ich ja an dem Teil weiter, wenn ich mal mag Gruß, Technician Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Technician Geschrieben 14. Februar 2002 Teilen Geschrieben 14. Februar 2002 Original geschrieben von doublezero * oder sogar die systemuhr: Wobei man aber am besten nicht die komplette Zeit nehmen sollte (schlecht wäre, aus Stunde:Minute:Sekunde nacheinander eine Zahl zu bilden; womöglich hängt dann auch noch der restliche Algorithmus von der Größe der Zahl ab... besser, man wertet nur die Sekunden... muss man aber natürlich auch aufpassen...) Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
TAZttDevil Geschrieben 14. Februar 2002 Teilen Geschrieben 14. Februar 2002 hahaha... jetzt diskutieren wir hier, wie man einen richtig guten Zufallsgenerator programmiert... *lol*... aber wems gefällt... Wenn von euch mal jemand einen fertig hast, kann er den ja posten.... *ggg* bis denn mal.. Taz Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
doublezero Geschrieben 14. Februar 2002 Teilen Geschrieben 14. Februar 2002 tech, wenn du *nur* die sec verwerten wuerdest, dann haettest du viel (!) zu kurze zyklen! falls du jedoch diese werte als initial-werte verstanden wissen wolltest, dann wuerde ich der effektivitaet wegen doch eher die millisec bevorzugen, da hier der periodische takt nicht ganz so schnell offensichtlich wird. und *uhr* bezog sich in meinem bsp lediglich auf den taktgeber, nicht auf das, was du so nett angezeigt bekommst, wenn du nach der zeit fragst ... auch dein *verrauschtes bild* ist nicht zufaellig, sondern vorherbestimmt, so dass man - und hier waere es wirklich simpel - recht schnell auf die entstehende zahlenfolge schliessen koennte. (das *rauschen* in den grafikprogrammen wird ja von den TAZttDevil-gauss'schen algorithmen berechnet - ist also reversibel.) taz, warum du dauernd auf der gaussverteilung herumhackst kann ich nicht nachvollziehen. sie beschreibt lediglich eine reelle, symmetrische(!) und positiv definitive matrix. sobald jedoch symmetrie im spiel ist, wird es kalkulierbar, und genau das ist es ja was eine *zufaellige folge* kompromittieren wuerde. daher waere sie nicht nur unnoetig, sondern m.e. sogar voellig fehl am platz. vielmehr koenntest du tech's *verrauschtes bild* vorherbestimmen, damit er sich nicht die muehe machen muss, es selbst zu malen. wmg dz Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Technician Geschrieben 14. Februar 2002 Teilen Geschrieben 14. Februar 2002 Original geschrieben von doublezero tech, wenn du *nur* die sec verwerten wuerdest, dann haettest du viel (!) zu kurze zyklen! falls du jedoch diese werte als initial-werte verstanden wissen wolltest, dann wuerde ich der effektivitaet wegen doch eher die millisec bevorzugen, da hier der periodische takt nicht ganz so schnell offensichtlich wird. es ging mir natürlich auch um die Initialwerte! Original geschrieben von doublezero auch dein *verrauschtes bild* ist nicht zufaellig, sondern vorherbestimmt, so dass man - und hier waere es wirklich simpel - recht schnell auf die entstehende zahlenfolge schliessen koennte. (das *rauschen* in den grafikprogrammen wird ja von den TAZttDevil-gauss'schen algorithmen berechnet - ist also reversibel.) es geht ja dabei nur darum, dass die Wahrscheinlichkeit, einen grünen Punkt zu erwischen, genauso groß ist wie die, einen roten Punkt zu erwischen. Könnte meinetwegen auch ein Raster sein. Original geschrieben von doublezero taz, warum du dauernd auf der gaussverteilung herumhackst kann ich nicht nachvollziehen. sie beschreibt lediglich eine reelle, symmetrische(!) und positiv definitive matrix. sobald jedoch symmetrie im spiel ist, wird es kalkulierbar, und genau das ist es ja was eine *zufaellige folge* kompromittieren wuerde. daher waere sie nicht nur unnoetig, sondern m.e. sogar voellig fehl am platz. bin auch der Meinung! gruß, Technician Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
TAZttDevil Geschrieben 14. Februar 2002 Teilen Geschrieben 14. Februar 2002 wann brauchst du denn mal zufallszahlen, die nicht nach der normlaverteilung gehen... das ist doch die grundlage von stochastik nach der standardabweichung Sigma ca. 87%... wie dem auch sei.. nachdem wir hier soweit auschweifen, denke ich sollten wir es dabei belassen... bis denn, Taz... Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
doublezero Geschrieben 14. Februar 2002 Teilen Geschrieben 14. Februar 2002 hey taz, nicht sauer werden. ich finde dieses thema hochinteressant, und vielleicht ist es ja sogar mgl, dass wir gemeinsam wege finden, einen generator zu entwickeln, der annehmbare *zufaellige* werte liefert. es ist nur so, dass *stochiastik* statistische werte ueber zufaelle ermittelt, also die berechenbarkeit des zufalls sucht, waehrend wir mit einem generator eigentlich bemueht sind, genau das *kaputt zu machen*. imho ist gauss uns deshalb hier nicht wirklich behilflich; was aber nicht heisst, dass deine meinung nicht auch einen sinn haben kann, den ich nicht sehe [was wiederum ursaechlich dafuer ist/sein kann, dass ich bis dato noch immer keinen weg gefunden habe, einen ausreichend befriedigenden *zufall* erzeugen zu koennen.]. um auf deine frage zu kommen, wozu das ganze notwendig ist, kann ich dir verschiedene fachgebiete nennen, die sich mit dem *echten zufall* auseinandersetzen: chaostheorie und kryptographie seinen hier nur vertretungsweise erwaehnt. wenn es moeglich waere, unendliche *echte zufallsfolgen* zu erzeugen, dann koennte man z.b. saemtliche verschluesselungen *absolut* sicher machen, indem ich bspw. ein one-time-pad ueber die gesamte *bibel* oder ueber *war and peace* legen koennte, ohne dass auch nur der hauch einer chance bestuende, den schluessel - der ja dann genau so lang waere, wie der eigentliche inhalt des zu verschluesselnden textes - zu ermitteln. wmg dz Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.