02.04.2008, 12:16
|
jg
CLA & CLED
Beiträge: 15.864
Registriert seit: Jun 2005
20xx / 8.x
1999
EN
Franken...
Deutschland
|
random number 0-1 initialisieren?
Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)
!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!
Einführende Links zu LabVIEW, s. GerdWs Signatur.
|
|
|
02.04.2008, 13:25
|
IchSelbst
LVF-Guru
Beiträge: 3.692
Registriert seit: Feb 2005
11, 14, 15, 17, 18
-
DE
97437
Deutschland
|
random number 0-1 initialisieren?
' schrieb:Na dann nehm' ich das mal hin, auch wenn ich den Sinn des Ganzen noch nicht verstehe.
Ich versuchs mal so:
Ich will (z.B.) ein Spiel programmieren, dessen Algorithmus zum Teil von einer Strategie (KI) und zum Teil von Zufallswerten abhängt. Der nächste Spielzug ergibt sich - das ist nämlich der Algorithmus - aus den bisherigen Zügen sowie einer vorausschauenden KI. Eine vorausschauende KI alleine ist aber ungenügend, da aus diversen Gründen dann immer jedes Spiel gleich wäre. Der Algoritmus benutzt also zusätzlich "Zufallswerte" - und sei es nur, um die Parameter der KI zu gewichten. Diese Zufallsgewichtung - oder wie immer die zufällige Komponente integriert wird - bewirkt, das sich jedes Spiel vom vorausgehenden unterscheiden kann. Im Prinzip unterscheiden sich dadurch dann auch Folgezüge mit gleichen Voraussetzungen von einander.
Jetzt tritt aber während der Programmentwicklung folgendes Problem auf. Wenn an einer ganz bestimmten Stelle der KI-Algo (noch) einen Fehler hat, z.B. nach dem 27. Zug - wie generiere ich genau die selben Voraussetzungen, um den Fehler zu reproduzieren? Ohne Reproduktion aber kann der Fehler nicht behoben werden - respektive kann nicht nachgewiesen werden, dass genau diese Voraussetzungen eben nicht mehr zu diesem Fehler führen.
Ich bin also darauf angewiesen, dass eine wiederholbare Zufallszahlenfolge möglich ist. Ob das nun automatisch durch einen Start mit z.B. Seek(MyStart) geht oder per Zwischenspeichern in Array ist natürlich zweitrangig.
Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
|
|
|
02.04.2008, 13:34
|
Y-P
☻ᴥᴥᴥ☻ᴥᴥᴥ☻
Beiträge: 12.612
Registriert seit: Feb 2006
Developer Suite Core -> LabVIEW 2015 Prof.
2006
EN
71083
Deutschland
|
random number 0-1 initialisieren?
Danke, das hat mir weitergeholfen. Jetzt bin auch ich durchgestiegen.
Gruß Markus
' schrieb:Ich versuchs mal so:
Ich will (z.B.) ein Spiel programmieren, dessen Algorithmus zum Teil von einer Strategie (KI) und zum Teil von Zufallswerten abhängt. Der nächste Spielzug ergibt sich - das ist nämlich der Algorithmus - aus den bisherigen Zügen sowie einer vorausschauenden KI. Eine vorausschauende KI alleine ist aber ungenügend, da aus diversen Gründen dann immer jedes Spiel gleich wäre. Der Algoritmus benutzt also zusätzlich "Zufallswerte" - und sei es nur, um die Parameter der KI zu gewichten. Diese Zufallsgewichtung - oder wie immer die zufällige Komponente integriert wird - bewirkt, das sich jedes Spiel vom vorausgehenden unterscheiden kann. Im Prinzip unterscheiden sich dadurch dann auch Folgezüge mit gleichen Voraussetzungen von einander.
Jetzt tritt aber während der Programmentwicklung folgendes Problem auf. Wenn an einer ganz bestimmten Stelle der KI-Algo (noch) einen Fehler hat, z.B. nach dem 27. Zug - wie generiere ich genau die selben Voraussetzungen, um den Fehler zu reproduzieren? Ohne Reproduktion aber kann der Fehler nicht behoben werden - respektive kann nicht nachgewiesen werden, dass genau diese Voraussetzungen eben nicht mehr zu diesem Fehler führen.
Ich bin also darauf angewiesen, dass eine wiederholbare Zufallszahlenfolge möglich ist. Ob das nun automatisch durch einen Start mit z.B. Seek(MyStart) geht oder per Zwischenspeichern in Array ist natürlich zweitrangig.
--------------------------------------------------------------------------
Bitte stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort !!
--------------------------------------------------------------------------
|
|
|
02.04.2008, 15:06
(Dieser Beitrag wurde zuletzt bearbeitet: 02.04.2008 19:13 von jg.)
|
|
|
| |