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
Seite 2 von 2     12   
Benedikt Magnus

Registriert seit: 6. Jul 2012
Ort: Bonn
190 Beiträge
 
FreePascal / Lazarus
 
#1

AW: Zufallsgenerator

  Alt 7. Nov 2016, 15:01
oke top danke
weißt du zufällig wie man die Startwerte ändern kann? also meinetwegen statt der Systemlaufzeit meinetwegen die spezielle Temperatur des Prozessors nutzen kann?

weil ich habe als aufgabe zwei zufallsgeneratoren mit verschiedenen Startparametern zu vergleichen. Hänge halt gerade an der Beeinflussung und das grundverändernste ist es der Startwert der geändert wird (auch wenn es sich weiterhin nur um PseudoZufallszahlen handelt )
Das geht, indem du RandSeed manuell zuweist.

Da stellt sich mir die Frage, wie zufällig ist dieser Zufall, wenn man als Startparameter einen echten Zufallswert verwendet?
  Mit Zitat antworten Zitat
kenshin3672

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

AW: Zufallsgenerator

  Alt 7. Nov 2016, 15:20
naja aber wenn ich RandSeed einen dauerhaft gleichbleibenden Wert zuweise habe ich ja immer den selben Startwert also ziemlich sicher kein Zufallsgenerator mehr da ich den Algorithmus (theoretisch) nachvollziehen könnte.
Kann ich bei RandSeed auch einen wechselhaften Wert eintragen (wechselnde Temperatur etc.)?

Geändert von kenshin3672 ( 7. Nov 2016 um 15:23 Uhr)
  Mit Zitat antworten Zitat
kenshin3672

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

AW: Zufallsgenerator

  Alt 29. Jan 2017, 13:59
Guten Tag,

im weiteren Verlauf der Programmierung würde ich jetzt gerne "beweisen" das ich RandSeed mit RandSeed := 1; zuweise.
also habe ich ein quellcode aus einem Forum (an der stelle nochmal danke) genutzt um den RandSeed aufzuspüren. Bei diesen quellcode gebe ich die ersten "Zufallszahlen" in ein array [0..32] und theoretisch sollte dann auch der RandSeed ausgerechnet werden.
Allerdings bekomme ich immer die fehlermeldung: Anzahl der Elemente ist von der Deklaration unterschiedlich.

Hier mal der Quellcode:
Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var T: TDateTime;
    C: Int64;
    S: Integer;
    W: Byte;
    H: Cardinal;
    F: Boolean;
const Start = - MaxInt;
ZF: Array[0..32] of Byte = (8, 1, 9, 1, 1, 8, 4, 0, 3, 9, 5, 0, 0, 2, 3, 1, 8, 9, 3, 7, 9, 6, 7, 6, 3, 8, 9, 5, 7, 1, 4, 7);
begin
//find start seed and "last" seed
T := Now;

RandSeed := Start;
C := 0;

repeat
  S := RandSeed;
  For H:=Low(ZF) to High(ZF) do
    begin
    W := Random(10);
    F := (W=ZF[H]);
    if not F then break;
    end;
  inc(C);
until
  (RandSeed=Start) or F;

T := Now - T;
Showmessage( 'Needed Time: ' + FormatDateTime('hh:nn:ss.zzz', T) +#13#10+
              'Needed Runs: ' + IntToStr(C) +#13#10 +
              'Last Seed: ' + IntToStr(RandSeed) +#13#10+
              'StartSeed: ' + IntToStr( S ) );
end;

end.
Fehlermeldung erfolgt beim Array.
Mein Problem ist jetzt halt denkbar einfach die Fehlermeldung und die Tatsache das ich sie nicht wegbekomme :§ würde mich über Tipps freuen.


mit freundlichen Grüßen
kenshin3672
  Mit Zitat antworten Zitat
bnreimer42

Registriert seit: 26. Mai 2013
Ort: Erlangen, Franken
129 Beiträge
 
Delphi 12 Athens
 
#4

AW: Zufallsgenerator

  Alt 29. Jan 2017, 14:10
Werte von 0 bis 32 währen nach meiner Berechnung 33 Werte.
In der Liste zähle ich 32.
Björn Reimer
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 10:40 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