Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

derolli

Treue Seele

  • »derolli« ist der Autor dieses Themas

Beiträge: 144

Beruf: Student

  • Private Nachricht senden

1

20.10.2011, 20:28

Zufallszahlen sind berechenbar

Hallo Leute

Ich brauche für mein aktuelles Projekt Zufallszahlen,
und es ist wichtig, das man sie nicht vorhersehen kann!
Das Problem ist, dass die rand-Funktion immer Zahlenreihen ausgibt.
Das heißt, dass sich die Zufallszahl ständig erhöht, bis sie wieder am Anfang anfängt.
Kennt ihr vielleicht eine Lösung für das Problem?

derolli

drakon

Supermoderator

Beiträge: 6 513

Wohnort: Schweiz

Beruf: Entrepreneur

  • Private Nachricht senden

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

3

20.10.2011, 20:41

[...] und es ist wichtig, das man sie nicht vorhersehen kann!

Wenn du das wirklich ernst meinst, dann schau mal hier:
http://www.random.org/

Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von »dot« (20.10.2011, 20:46)


BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

4

20.10.2011, 20:51

Das kann er auch gern simulieren. Mikro an den PC, Ton aufnehmen. Jeweils das unterste Bit eines einzelnen Messwerts nehmen und daraus Bytes generieren. Dürfte so ziemlich unvorhersehbar sein wie nur geht, solange das Mikro nicht das beste ist. ;) Und das schöne daran ist, er kann beliebig lange Zufallszahlen-Tabellen damit aufnehmen :D
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

David Scherfgen

Administrator

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

5

20.10.2011, 21:04

Schonmal ausprobiert? Würde mich interessieren, wie gut diese Zufallsquelle ist.

Edit: siehe http://www.cs.virginia.edu/~evans/theses/cotter.pdf

Legend

Alter Hase

Beiträge: 731

Beruf: Softwareentwickler

  • Private Nachricht senden

6

20.10.2011, 23:29

Hier eine Reihe von Algorithmen:

http://en.wikipedia.org/wiki/Cryptograph…umber_generator

Die Dinger sind weniger was für probalistische Algorithmen, da sie nicht unbedingt die schnellsten
Generatoren für Zufallszahlen sind, aber ein guter Generator für kryptographische Anwendungen
kann (momentan) nicht vorgesehen werden.

Ansonsten musst du dich in die Richtung der Hardwaregeneratoren begeben. Das angesprochene
Aufnehmen von Rauschen wäre schon ein Beispiel dafür.
"Wir müssen uns auf unsere Kernkompetenzen konzentrieren!" - "Juhu, wir machen eine Farm auf!"

Netzwerkbibliothek von mir, C#, LGPL: https://sourceforge.net/projects/statetransmitt/

Schorsch

Supermoderator

Beiträge: 5 145

Wohnort: Wickede

Beruf: Softwareentwickler

  • Private Nachricht senden

7

21.10.2011, 00:01

Naja ich denke, dass ihm ein variabler seed vermutlich schon helfen würde.
„Es ist doch so. Zwei und zwei macht irgendwas, und vier und vier macht irgendwas. Leider nicht dasselbe, dann wär's leicht.
Das ist aber auch schon höhere Mathematik.“

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

8

21.10.2011, 07:27

Ist die Frage wofür er es überhaupt braucht. Ich kann mir durchaus vorstellen, dass er nur ein triviales Problem (oder einen Bug) hat und wirklich aufwendige Zufallszahlen gar nicht notwendig sind.

@David Scherfgen:
Nö, noch nicht probiert. Rauschen ist aber an sich 'ne prima Sache. Sollte bei Kameras vermutlich auch gehen, da hat man eventuell auch weniger Probleme mit eventuellem Rechner-Brummen, was dann eine Oberwelle in den Daten erzeugen könnte.
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

derolli

Treue Seele

  • »derolli« ist der Autor dieses Themas

Beiträge: 144

Beruf: Student

  • Private Nachricht senden

9

21.10.2011, 11:02

Danke für die vielen Antworten!

Ich brauche die Zufallszahlen, um bei meinem Spiel, Meteoriten aus einer Zufälligen Position kommen zu lassen.
Das Problem bei rand ist halt, wie schon erwähnt, das die Spawnstelle der Meteoriten von links nach rechts wandert.

xardias

Community-Fossil

Beiträge: 2 731

Wohnort: Santa Clara, CA

Beruf: Software Engineer

  • Private Nachricht senden

10

21.10.2011, 12:32

Danke für die vielen Antworten!

Ich brauche die Zufallszahlen, um bei meinem Spiel, Meteoriten aus einer Zufälligen Position kommen zu lassen.
Das Problem bei rand ist halt, wie schon erwähnt, das die Spawnstelle der Meteoriten von links nach rechts wandert.

rand liefert keine aufsteigenden Zahlen, da duerftest du einen Fehler an anderer stelle haben.
Aber rand wird dir immer die selben Zufallszahlen liefern wenn du nicht den Zufallsgenerator nicht mit einem zufaelligen seed initialisierst mit srand(timeGetTime()) oder Aehnliches.

Werbeanzeige