AGB  ·  Datenschutz  ·  Impressum  







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

Zufallsgenerator

Offene Frage von "kwhk"
Ein Thema von Jonski · begonnen am 3. Dez 2009 · letzter Beitrag vom 30. Jan 2017
Antwort Antwort
kenshin3672

Registriert seit: 22. Okt 2016
19 Beiträge
 
#1

AW: Zufallsgenerator

  Alt 7. Nov 2016, 15:58
aber nochmal so ne Frage: wie greife ich auf RandSeed zu?
  Mit Zitat antworten Zitat
bra

Registriert seit: 20. Jan 2015
711 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#2

AW: Zufallsgenerator

  Alt 7. Nov 2016, 16:03
Aber wenn du die beiden Randomwerte direkt nacheinander vergleichen willst, ist da die Wahrscheinlichkeit nicht ziemlich hoch, dass die CPU-Temperatur beides mal dieselbe ist?
  Mit Zitat antworten Zitat
kenshin3672

Registriert seit: 22. Okt 2016
19 Beiträge
 
#3

AW: Zufallsgenerator

  Alt 7. Nov 2016, 16:10
wieso sollte dieser Fall eintreten?
wenn ich dem RandSeed von Delphi vorgebe das er die Laufzeit des Rechners nehmen soll und einen weiteren anweise das er die Temp des Prozessors nehmen soll, dann sollten die Randomwerte doch theoretisch unterschiedlich ausfallen.
  Mit Zitat antworten Zitat
bra

Registriert seit: 20. Jan 2015
711 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#4

AW: Zufallsgenerator

  Alt 7. Nov 2016, 16:12
Achso, ich hatte es anders verstanden
  Mit Zitat antworten Zitat
Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#5

AW: Zufallsgenerator

  Alt 7. Nov 2016, 16:23
1) Der Startwert (also der 1. generierte Wert, nicht der Seed) wird (genau wie jeder folgende Wert) anhand von RandSeed berechnet. In RandSeed steht wie du schon weißt "standardmäßig" wenn du randomize aufgerufen hast der Zeitstempel von dem Zeitpunkt als du randomize aufgerufen hast. Alle Werte (auch der erste Wert - der Startwert) werden dann aufgrund dieses Zeitstempels berechnet.
Wenn du randseed manuell auf einen anderen Wert setzt, dann ändert sich auch die Zufallszahlenfolge.

2) Den Startwert kannst du nicht direkt setzen. Du kannst nur den Seed verändern wodurch du (evtl) einen anderen Startwert erhältst.
Wenn du den verwendeten Algorithmus kennst könnte man sich wahrscheinlich auch wenn man es draufanlegen würde einen Seed ausrechnen der einen betimmten Startwert generiert.

4) Bin mir nicht sicher was du da visualisieren willst. Du bekommst mit einem RandSeed Wert eine Zufallsreihenfolge und mit einem anderen Seed eine komplett andere Folge.


EDIT (WICHTIG):
Ich hab dich endlich verstanden. Du hast das mit den Zufallszahlen komplett falsch verstanden

RandSeed ist nicht die Zufallszahl! Wenn du einen festen Wert als RandSeed angibst, z.B. "123",
wird dieser als BASIS für einen Algorithmus genutzt der dir aus diesem Seed Zufallszahlen generiert (Mathe).

Auch die Standard Delphi Zufallszahlen selbst sind NICHT GLEICH der Uhrzeit, sondern die Uhrzeit zum Zeitpunkt des randomize-Aufrufs dient nur als GRUNDLAGE für die generierten Zufallszahlen.
Quasi als Eingabe/Startwert für den Zufallszahlenalgorithmus.

Den RandSeed also dauernd zu verändern macht keinen Sinn. Es wird nicht zufälliger wenn du die CPU-Temperatur nimmst und es wird auch nicht schlechter wenn du einen festen Startwert (z.B. 123) nimmst.
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."

Geändert von Neutral General ( 7. Nov 2016 um 16:33 Uhr)
  Mit Zitat antworten Zitat
kenshin3672

Registriert seit: 22. Okt 2016
19 Beiträge
 
#6

AW: Zufallsgenerator

  Alt 7. Nov 2016, 17:00
naa nich falsch verstanden sondern nur kacke formuliert.
Mir war bewusst das der RandSeed immer nur der momentante Wert ist (halt wie du gesagt hast -> hab ich einfach mal vorausgesetzt).
Wenn ich den Zeitpunkt änder bekomme ich ja (vllt) einen anderen Startwert (also 1.Ergebnis).
Mir geht es nur darum den RandSeed zu ändern und rein theoretisch nachzuweisen das die zufallszahlen von eben diesen Wert abhängen. Das es in der Praxis auch die gleichen werte sein können sei da hingestellt ^^ geht nur um das Prinzip das wenn sich mein RandSeed ändert sich auch mein Startwert ändert und so andere Zufallszahlen entstehen können.
Weil theoretisch wäre es ja dann möglich (wenn RandSeed und Startwert bekannt sind) voraus zu sehen welcher Wert als nächstes erscheinen wird (auch wenn es da immernoch einen gewissen Raum für Ergebnisse gibt).


ne idee wie man RandSeed aufrufen kann? lese gerade parallel was dazu aber wenn ich gerade schon hier am tippen bin kann ich auch gleich fragen
  Mit Zitat antworten Zitat
kenshin3672

Registriert seit: 22. Okt 2016
19 Beiträge
 
#7

AW: Zufallsgenerator

  Alt 7. Nov 2016, 17:02
Die Visualisierung soll in Form einer Präsentation erfolgen. Heißt den aufbau des jeweilligen Zufallsgenerators zeigen und mit den anderen vergleichen -> unterschiede aufzeigen. Und dann halt noch sagen wieso die ergebnisse so entstehen wie sie entstehen wo wir wieder beim RandSeed wären ^^

aber das hat noch ordentlich zeit erstmal das mit RandSeed verstehen wie ich den ändern kann etc.



nochmal so ne frage dazu: wie setzt Delphi die Uhrzeit(Zeitpunkt des aufrufens) in einen Startwert um? weil dahinter muss ja auch noch eine bestimmte Formel stecken
  Mit Zitat antworten Zitat
Benutzerbild von jfheins
jfheins

Registriert seit: 10. Jun 2004
Ort: Garching (TUM)
4.579 Beiträge
 
#8

AW: Zufallsgenerator

  Alt 7. Nov 2016, 18:51
Mir geht es nur darum den RandSeed zu ändern und rein theoretisch nachzuweisen das die zufallszahlen von eben diesen Wert abhängen. Das es in der Praxis auch die gleichen werte sein können sei da hingestellt ^^ geht nur um das Prinzip das wenn sich mein RandSeed ändert sich auch mein Startwert ändert und so andere Zufallszahlen entstehen können.
Das kannst du auch "praktisch" nachweisen. Wenn du 1000 Mal den RandSeed zuweist und 10 Zufallszahlen ziehst, werden diese stets identisch sein. Sobald du einen anderen RandSeed zuweist, werden sie garantiert nicht identisch sein.
Du kannst dir Random() so vorstellen, dass es eine gemischte Liste von Zahlen hat, die 2^32 Elemente lang ist. Der RandSeed ist der Index des Elements wo die erste Zufallszahl gezogen wird. Jedes Random gibt dir das Element zurück (ggf. mod Maximalwert) und setzt den Index ein weiter.

Weil theoretisch wäre es ja dann möglich (wenn RandSeed und Startwert bekannt sind) voraus zu sehen welcher Wert als nächstes erscheinen wird (auch wenn es da immernoch einen gewissen Raum für Ergebnisse gibt).
Das geht auch in der Praxis. Siehe zum Beispiel diesen Thread: http://www.entwickler-ecke.de/viewto...=680027#680027
==> Wenn du von dem Delphi-Zufallsgenerator 100 Zahlen zwischen 0 und 255 ziehst, genügen die ersten 8 Zahlen locker um die ganze folgende Sequenz vorherzusagen.
  Mit Zitat antworten Zitat
Antwort Antwort


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 22:18 Uhr.
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