www.vorkurse.de
Ein Projekt von vorhilfe.de
Die Online-Kurse der Vorhilfe

E-Learning leicht gemacht.
Hallo Gast!einloggen | registrieren ]
Startseite · Mitglieder · Teams · Forum · Wissen · Kurse · Impressum
Forenbaum
^ Forenbaum
Status Mathe-Vorkurse
  Status Organisatorisches
  Status Schule
    Status Wiederholung Algebra
    Status Einführung Analysis
    Status Einführung Analytisc
    Status VK 21: Mathematik 6.
    Status VK 37: Kurvendiskussionen
    Status VK Abivorbereitungen
  Status Universität
    Status Lerngruppe LinAlg
    Status VK 13 Analysis I FH
    Status Algebra 2006
    Status VK 22: Algebra 2007
    Status GruMiHH 06
    Status VK 58: Algebra 1
    Status VK 59: Lineare Algebra
    Status VK 60: Analysis
    Status Wahrscheinlichkeitst

Gezeigt werden alle Foren bis zur Tiefe 2

Navigation
 Startseite...
 Neuerdings beta neu
 Forum...
 vorwissen...
 vorkurse...
 Werkzeuge...
 Nachhilfevermittlung beta...
 Online-Spiele beta
 Suchen
 Verein...
 Impressum
Das Projekt
Server und Internetanbindung werden durch Spenden finanziert.
Organisiert wird das Projekt von unserem Koordinatorenteam.
Hunderte Mitglieder helfen ehrenamtlich in unseren moderierten Foren.
Anbieter der Seite ist der gemeinnützige Verein "Vorhilfe.de e.V.".
Partnerseiten
Weitere Fächer:

Open Source FunktionenplotterFunkyPlot: Kostenloser und quelloffener Funktionenplotter für Linux und andere Betriebssysteme
Forum "Zahlentheorie" - Periodenlänge
Periodenlänge < Zahlentheorie < Algebra+Zahlentheo. < Hochschule < Mathe < Vorhilfe
Ansicht: [ geschachtelt ] | ^ Forum "Zahlentheorie"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien

Periodenlänge: Lineare Kongruenz
Status: (Frage) beantwortet Status 
Datum: 15:31 Mi 05.01.2011
Autor: madmore

Hallo :)

kann jemand den Satz von Knuth / Carmichael beweisen wie die Werte seien müseen um eine max. Periodenlänge beim Linearen Kongruenz Generator zu erreichen?

http://de.wikipedia.org/wiki/Kongruenzgenerator

http://cvpr.uni-muenster.de/teaching/ws08/info1WS08/script/Kapitel5-Java-6.pdf ( Folie 195)

Gibt es weitere interessante Werte für die Konstanten oder das Modul, die man untersuchen könnte?

Vielen Dank :)

Ich habe diese Frage auch in folgenden Foren auf anderen Internetseiten gestellt: http://www.chemieonline.de/forum/showthread.php?p=2684805331#post2684805331

        
Bezug
Periodenlänge: Antwort
Status: (Antwort) fertig Status 
Datum: 18:12 Mi 05.01.2011
Autor: rainerS

Hallo!

Erstmal herzlich [willkommenvh]

> kann jemand den Satz von Knuth / Carmichael beweisen wie
> die Werte seien müseen um eine max. Periodenlänge beim
> Linearen Kongruenz Generator zu erreichen?

Schau doch einfach bei Knuth nach: The Art of Computer Programming, gleich am Anfang von Band 2 (Abschnitt 3.2.1.2).

> Gibt es weitere interessante Werte für die Konstanten oder
> das Modul, die man untersuchen könnte?

Steht alles bei Knuth.

  Viele Grüße
    Rainer

Bezug
        
Bezug
Periodenlänge: Kongruenzgenerator in Java
Status: (Frage) beantwortet Status 
Datum: 20:13 So 13.03.2011
Autor: Rat62

Der in Java verwendete Lineare Kongruenzgenerator der Klasse Random
benutzt
modulus m = 2^48 - 1 = 3*3*5*7*13*17*97*241*257*673
Multiplikator a = 0x5DEECE66D = 7 * 443 * 739 * 11003
Increment c = 11

Es gilt a-1 = 2*2*3*757*787*3527

Mit diesen Werten wird nach dem Satz von Knuth nicht die volle Periodenlänge m erreicht, sie muss also kürzer sein. Wie lang?

Ich habe als Startwert X0 = 0 gesetzt.
Sei P(X0,a,c,m) die Periodenlänge eines LCG mit den entsprechenden Parametern. Wenn ich Knuth 2, Kap 3.2.1.2 Lemma Q richtig verstanden habe, müsste ich die Periodenlänge des Java-Randomgenerators bestimmen können, indem ich die Periodenlängen der 9 Generatoren bestimme, die sich aus der Primfaktorzerlegung von m ergeben.

P(0,0x5DEECE66D mod 9,2,9) = 9
P(0,0x5DEECE66D mod 5,1,5) = 4
P(0,0x5DEECE66D mod 7,4,7) = 1
P(0,0x5DEECE66D mod 13,11,13) = 4
P(0,0x5DEECE66D mod 17,11,17) = 16
P(0,0x5DEECE66D mod 97,11,97) = 12
P(0,0x5DEECE66D mod 241,11,241) = 120
P(0,0x5DEECE66D mod 257,11,257) = 256
P(0,0x5DEECE66D mod 673,11,673) = 42

Das kleinste gemeinsame Vielfache dieser Einzelperioden ist nur 80640. Das ist aber ganz offensichtlich nicht die Periodenlänge des Random-Generators.

Ich sehe meinen Fehler nicht. Kann mir jemand helfen?

Danke

Bezug
                
Bezug
Periodenlänge: gelöst!
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 21:20 So 13.03.2011
Autor: Rat62

Tach zusammen.

Ausprobieren hilft.
Mit *diesen* Werten hat man tatsächlich nur eine so kurze Periode.

Dass man das in Java mit der Klasse Random nicht nachvollziehen kann, liegt daran, dass ich den Modulus falsch angegeben hatte.

Die Rechenvorschrift ist
seed = (seed * 0x5DEECE66DL + 0xBL) & ((1L << 48) - 1)

Die UND-Verknüpung entspricht einem modulo 2^48.

Dann passen auch die Voraussetzungen des Satzes von Knuth und die Periodenlänge ist die volle Länge 2^48.

Ich habe wieder dazugelernt.

Trotzdem vielen Dank für Eure Aufmerksamkeit.

Jetzt muss ich das noch irgendwie als erledigt markieren.



Bezug
Ansicht: [ geschachtelt ] | ^ Forum "Zahlentheorie"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien


^ Seitenanfang ^
www.vorkurse.de
[ Startseite | Mitglieder | Teams | Forum | Wissen | Kurse | Impressum ]