Themabewertung:
  • 0 Bewertung(en) - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
KenoSeed - Zufallstippgenerator (Download + Kombis)
#11
Zitat:Original von chris2k

Hi Hitman Wink

Hallo chris2k!

Danke für die ausführlichen Infos und weiterführenden Links zum TT800. Ich werde mir das alles dieses Wochenende genau durchlesen! Daumen hoch

Zitat:Per Programm werden "800" Bits als "Digital-Zustände"
des Rauschens "erfasst" und die 800 Bits gefüllt.

Daher "TT800" !

800 Bits ergeben "25" 32 Bit-Werte, sogenannte
"Langwörter". Die Programmierung kann verschiedenartig
ausgeführt worden sein !

Ja, die nennen sich "State Vectors" (Statusvektoren) im TT800 Quellcode. Es sind 25 LongInt 32-Bit Werte, welche selber Seeds darstellen!

Zudem gibt es noch einen sogenannten "Magic Vector". Dies ist der Seed 8EBFD028 in Hex (2394935336 in Dec) Schreibweise, den du bereits genannt hast.

Zitat:Der "TT800"-Algorithmus ist laut Quellcode so
programmiert, daß er "mitzählt", wann der letzte
( 25. ) 32 Bit-Wert verwendet wurde. Danach wird
eine "logische Schiebe und Verknüpfungs-Prozedur" -
die alle 800 Bits betrifft - durchgeführt, so daß
die nächsten erzeugten 25 "32 Bit-Werte" vorliegen.

Das ist vollkommen richtig. Ich habe den TT800 Algorithmus bereits in einem Testprogramm von mir getestet.
Nach 25 Schritten erzeugt der Algorithmus 25 neue State Vectors (32-Bit Saatwerte).

Zitat:Die Schiebe- und Verknüpfungsprozedur wird erst auf
einen Teil der Bits angewendet und dann auf den
Rest bzw. teilweise überschneidend. Dies ergibt nach
wenigen "Komplettdurchläufen" ( je "25-er Packs" an
"32-Bit-Werten ) eine solch hervorragende und völlig
unvorhersehbare "Verteilung" der (Pseudo-)Zufallszahlen.

Genau. Der TT800 arbeitet mit mehreren, also dynamischen Seeds, und nicht nur mit einem Einzigen. Dadurch wird das Ganze natürlich noch unvorhersehbarer bzw. chaotischer!
Die TT800 Seeds werden durch XOR (Bitverschiebung) dynamisch alle 25 Schritte (Frames) verändert.

Zitat:Da der TT800-"Seed" durch das Auswerten des Transistor-
Rauschens am Anfang erzeugt wurde, gilt jede Ziehung
daher als völlig unvorhersehbar.

Es gibt beim TT800 Algorithmus 25 Initialisierungs-Vektoren (StartSeeds)! Diese stehen im original TT800 C-Quellcode von Makoto Matsumoto:

Code:
double
genrand()
{
    unsigned long y;
    static int k = 0;
    static unsigned long x[N]={ /* initial 25 seeds, change as you wish */
    0x95f24dab, 0x0b685215, 0xe76ccae7, 0xaf3ec239, 0x715fad23,
    0x24a590ad, 0x69e4b5ef, 0xbf456141, 0x96bc1b7b, 0xa7bdf825,
    0xc1de75b7, 0x8858a9c9, 0x2da87693, 0xb657f9dd, 0xffdc8a9f,
    0x8121da71, 0x8b823ecb, 0x885d05f5, 0x4e20cd47, 0x5a9ad5d9,
    0x512c0c03, 0xea857ccd, 0x4cc1d30f, 0x8891a8a1, 0xa6b7aadb
    };
    static unsigned long mag01[2]={
        0x0, 0x8ebfd028 /* this is magic vector `a', don't change */

Zitat:Verknüpft in Schleife die "Langwörter" ( 08 bis 25 )
mit ( 01 bis 18 ). Ist Bit "0" des aktuellen "Langworts"
= "0" wird mit Magic "00000000" verknüpft, ist Bit "0"
= "1" wird mit Magic "8EBFD028" verknüpft.

Danach:
Verknüpft in Schleife die "Langwörter" ( 19 bis 25 )
mit ( 01 bis 07 ). Ist Bit "0" des aktuellen "Langworts"
= "0" wird mit Magic "00000000" verknüpft, ist Bit "0"
= "1" wird mit Magic "8EBFD028" verknüpft.

Im Endbereich des Algorithmus taucht noch ein dritter
Magic-Wert auf "2B5B2500". Alle Werte in "Hex".

Richtig. Der "Magic Vector" wird mit den Seeds verknüpft, um zufällige Seeds während des Durchlaufs zu erzeugen bis der Ziehungsbeamte den Vorgang stoppt.

Zitat:Da sich die obigen Bereiche überschneiden gibt es ein
ziemliches "Durcheinander", schon nach wenigen Durchläufen,
sogar wenn alle 800 Bits "Null" gesetzt sind bzw. würden.

Die "Magics" wurden von Matsumoto + Team in langen
Versuchen per Programm ermittelt, so daß der Algorithmus
durch diese Werte offensichtlich maximal optimiert
werden konnte, daß dieser eine der höchsten machbaren
statistischen Gleichverteilungen der gelieferten
(Pseudo-)Zufallszahlen erreicht. Auf der Seite von
Matsumoto sind bzw. waren mal Programme im Quelltext,
mit denen man sich eigene Magic-Werte bestimmen lassen
kann. Auch das Nebeneinanderlaufen von mehreren
"TT800"'s mit Zustandsspeicherung vor und nach dem
Wechsel in den Nächsten "Task" war dort mal in Programmen
aufgezeigt.

Der TT800 ist ein genialer Zufallsalgorithmus, den ich selber noch genauer verstehen muss. Das Grundprinzip haben du und ich hier bereits erklärt. Smile

Zitat:Der Nachfolger ist z. B. der "MT19937".
Er verwendet "624" "Langwörter" - statt "nur" "25" - als
"Zustandsvektor", aus dem die 624 "Zufalls-32-Bitwerte"
bis zum Letzten als Ausgabewert der Zufalls-Prozedur
an die aufrufende Routine übergeben werden. Danach
erfolgt auch eine entsprehende "Verschiebeaktion",
abhängig vom internen Zustand der Bits, ähnlich wie
beim "TT800".

http://de.wikipedia.org/wiki/Mersenne-Twister

Ja, den Quellcode für den MT19937 (Mersenne Twister) habe ich auch. Den werde ich auch in meine KENO Software als Modul [MT19937] integrieren...

Gruß
- Hitman

Erfahrener Kenospieler seit 2005
Zitieren

#12
-
"Beschwörungs"-"Praktiker" :D Wut :lol1: Daumen hoch

-
:da: Der 2. Teil der "Signatur" befindet sich aus technischen Gründen auf der Rückseite. :lol1:

:D Dance1 :lol1:
Nun sitze ich schon seit Jahren auf diesem Schwachmatenplaneten fest.
Tss, tss, "Zeitmaschine", Scheiß Alien-Technologie !
( Made in GDR, "VEB Space-Flight". Mist )
-
Zitieren

#13
@alle:

Ich habe bemerkt und festgestellt, dass ich einen Fehler in meinem KenoSeed Quellcode gemacht habe! Ich hatte für den RandSeed statt Variablentyp LongWord (Unsigned 32-Bit) den Typ LongInt deklariert. Mist

Dadurch konnte der Zufallsgenerator von Windows nur Saatwerte von 0 bis 2147483647 (Hex 00000000 .. 7FFFFFFF) abdecken, weil ab Hex 80000000 die Werte ein negatives Vorzeichen bekamen, also Minuswerte unter 0, die der Generator nicht verarbeiten konnte.

Nun habe ich meinen Quellcode dementsprechend korrigiert und LongWord als Typ genommen. Jetzt kann man die 4 Milliarden Seeds aus dem kompletten Bereich nehmen, also 0 bis 4294967295 (Hex 00000000 .. FFFFFFFF), die auch der TT800 benutzt.

Den Bugfix habe ich als neue kenoseed.exe kompiliert und hochgeladen! Siehe oben für neuen Download!

Für alle diejenigen unter euch, die sich die fehlerhafte Version des KenoSeed schon heruntergeladen haben, bitte ich diese zu löschen und stattdessen die neue Version kenoseed-v2.zip herunterzuladen.

Für die Programmierer unter euch, hier nochmal der Überblick über die beiden Variablentypen:

32-Bit Long
LongInt (Signed) = -2147483648 .. 2147483647
LongWord (Unsigned) = 0 .. 4294967295

Benutzt für solche Sachen kein langes Integer, sondern ein langes Word! Solche dummen Fehler schleichen sich beim Programmieren ein und dann wundert man sich warum Dinge seltsam laufen. Ich hatte nämlich zuerst fälschlicherweise angenommen, der Zufallsgenerator von Windows würde nur den halben Bereich der Seeds nutzen können. Aber das stimmt nicht! Er kann den vollen Bereich nutzen, also die 4 Milliarden Seeds.

Grüße

P.S. Zudem habe ich eine Batch-Datei tt800gen.bat ins Archiv beigefügt. Diese erstellt automatisch und in sekundenschnelle mit KenoSeed jeweils 100 zufällige KENO 10 Reihen mit den 25 InitSeeds des TT800 und speichert sie alle in eine Datei tt800out.txt ab! Damit könnt ihr bei Bedarf experimentieren und diese Kenotipps mit aktuellen Kenoziehungen vergleichen. Ich habe bereits festgestellt, dass Saatwerte vom TT800 gute Kombis produzieren. Bei einer davon hatte ich gestern schon 07/10 Treffer, also €15 Gewinn! Daumen hoch
- Hitman

Erfahrener Kenospieler seit 2005
Zitieren

#14
Die 25 Saatwerte des TT800 im Überblick, in hexadezimal und dezimal...

TT800 InitSeeds (25 State Vectors bzw. Zustandsvektoren):

[01] Hex 95f24dab = Dec 2515684779
[02] Hex 0b685215 = Dec 191386133
[03] Hex e76ccae7 = Dec 3882666727
[04] Hex af3ec239 = Dec 2940125753
[05] Hex 715fad23 = Dec 1902095651
[06] Hex 24a590ad = Dec 614830253
[07] Hex 69e4b5ef = Dec 1776596463
[08] Hex bf456141 = Dec 3208995137
[09] Hex 96bc1b7b = Dec 2528910203
[10] Hex a7bdf825 = Dec 2814244901
[11] Hex c1de75b7 = Dec 3252581815
[12] Hex 8858a9c9 = Dec 2287512009
[13] Hex 2da87693 = Dec 766015123
[14] Hex b657f9dd = Dec 3059218909
[15] Hex ffdc8a9f = Dec 4292643487
[16] Hex 8121da71 = Dec 2166479473
[17] Hex 8b823ecb = Dec 2340568779
[18] Hex 885d05f5 = Dec 2287797749
[19] Hex 4e20cd47 = Dec 1310772551
[20] Hex 5a9ad5d9 = Dec 1520096729
[21] Hex 512c0c03 = Dec 1361841155
[22] Hex ea857ccd = Dec 3934616781
[23] Hex 4cc1d30f = Dec 1287770895
[24] Hex 8891a8a1 = Dec 2291247265
[25] Hex a6b7aadb = Dec 2797054683

Ihr könnt die dezimalen Saatwerte an KenoSeed übergeben, um recht gute Kenoreihen generieren zu lassen. Für diejenigen unter euch, die sich die ganze Tipperei in der Eingabeaufforderung sparen wollen, habe ich eine Batch-Datei tt800gen.bat ins neue Archiv kenoseed-v2.zip beigefügt. Diese könnt ihr bequem vom Windows Desktop oder Windows Explorer per Mausklick starten. Die Batch generiert mit KenoSeed und jeweils allen 25 Seeds 100 Mal KENO 10 Tippreihen und speichert diese alle in eine Textdatei tt800out.txt ab. Das sind 2500 Tippreihen, die man täglich testen kann!
- Hitman

Erfahrener Kenospieler seit 2005
Zitieren

#15
Hallo Hitman,

Mensch helfe mir doch mal... :tor:

Ich komme mit mit dem "Free File Sharing System TurboBit.net nicht klar. Mist

Bin ja auch bereit, dafür meinen Obolus zu geben ...
Kannst du uns die Datei irgendwie anders anbieten? Bin ich hier der einzigste => DAU der damit nicht klar kommt?

Da war zu früh von mir :lol1:

Zitat:Hallo Hitman,

vielen Dank für dieses Tool. Wink

Dein letzter Beitrag um diese Uhrzeit, typisch Programmierer... Daumen hoch
Zitat:Heute, 03:27 53

Handy-Nummer... :was:

[Bild: 2qx8hvp.png]

Anschrift D + Russland (TurboBit.net) ... ???

[Bild: 35kj4ib.png][Bild: 1t1vh4.png]

Ich will mitmachen beim Projekt TT800 usw. ... :guck: Das ist doch genau mein Zahlenspektrum [Bild: 29wmpvt.png]

Kann man(n) das nicht noch anders anbieten?
[Bild: 13ztm60.png]

[Bild: 2i2a8b9.jpg]

Ich bin PayPal - User Mist


BG
Jürgen
Zitieren

#16
WinkJürgen,

das ist alles kein Hexenwerk

Vorgehensweise:

[Bild: 2nbx9as.png]

[Bild: 2v12841.png]

[Bild: 2mg2gbq.png]

[Bild: a17g1u.png]

Der Rest dürfte selbsterklärend sein Daumen hoch

So geht es ohne die Geldbörse zu öffnen :huegli: :huegli:

Gruss
flicflac
...egal wie tief man die Messlatte für den menschlichen Verstand auch ansetzt, jeden Tag kommt jemand und marschiert aufrecht drunter durch...
Zitieren

#17
Hallo Jürgen,

eine Mail ist im Anmarsch

Gruß Peter
Zitieren

#18
Zitat:Original von flicflac
das ist alles kein Hexenwerk

Hallo flicflac,

vielen Dank für diese Informationen - mit Screenshot's Daumen hoch | Response nur 28 Minuten :huegli:
Auf die 'Kölner' kann man(n) sich verlassen. Meine Erfahrungen u.a. UniKlinik Köln.

Beste Grüße
Jürgen Wink
Zitieren

#19
Hallo Hitman,

läuft natürlich auch auf 64-Bit OS im DOS-Modus Daumen hoch

So sieht die *.bat aus, Info für die (nur) Leser.

[Bild: zyc8aw.jpg]

DOS Eingabe Aufforderung, Mensch ist das lange her, damals noch mit :da: Disketten MS-DOS 6.22, gerade mal nachgesehen, das war im April 1994 :lol1:

Hitman, so gefällt mir das besser... Daumen hoch aber du bist ja dabei es zu programmieren. Bin gespannt auf die (bezahlbare) Version. ???

[Bild: t7ejuq.jpg]
Zitieren

#20
Zitat:Original von flicflac
WinkJürgen,

das ist alles kein Hexenwerk

Vorgehensweise:

[Bild: 2nbx9as.png]

Hallo Leute,

ich dachte das wäre jedem klar, dass das auf einem üblichen Filesharing Portal wie tubobit.net hochgeladen wurde, von dem man auch kostenlos herunterladen kann. Die Download-Geschwindingkeit ist natürlich limitiert und sehr langsam. Aber ich denke bei nur 32 KB sollte das kein Problem sein. Zwinker

Grüße
- Hitman

Erfahrener Kenospieler seit 2005
Zitieren



Gehe zu:


Benutzer, die gerade dieses Thema anschauen:
18 Gast/Gäste

Deutsche Übersetzung: MyBB.de, Powered by MyBB 1.8.36, © 2002-2024 Melroy van den Berg.