AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Zufallsgenerator mit vorgegebener Häufigkeit?
Thema durchsuchen
Ansicht
Themen-Optionen

Zufallsgenerator mit vorgegebener Häufigkeit?

Ein Thema von stoxx · begonnen am 7. Aug 2007 · letzter Beitrag vom 7. Aug 2007
Antwort Antwort
Seite 2 von 2     12   
Benutzerbild von Nikolas
Nikolas

Registriert seit: 28. Jul 2003
1.528 Beiträge
 
Delphi 2005 Personal
 
#11

Re: Zufallsgenerator mit vorgegebener Häufigkeit?

  Alt 7. Aug 2007, 22:30
Wenn du später aber die Binäre Suche einsetzen willst, brauchst du eine andere Liste, mit p(x<=n) in den Einträgen.
Erwarte das Beste und bereite dich auf das Schlimmste vor.
  Mit Zitat antworten Zitat
Benutzerbild von negaH
negaH

Registriert seit: 25. Jun 2003
Ort: Thüringen
2.950 Beiträge
 
#12

Re: Zufallsgenerator mit vorgegebener Häufigkeit?

  Alt 7. Aug 2007, 22:54
Jo das stimmt. Das "Verteilung" Array enthält dann nicht die absoluten Prozentwert für jeden Bereich sondern die kummulierten Prozente, also so

1 = 10%
2 = 20%
3 = 40%
4 = 10%
5 = 20%

[10,30,70,80,100]

Das vereinfacht einiges, 1. Schleife ist nun unnötig, 2. Schleife begint in der Mitte des Arrays[] und vergleicht J mit diesem Element. Sollte es kleiner sein nimmt man die untere Hälfte des Arrays[] und ansonsten die obere Hälfte. Simple binäre Suche halt.

Gruß Hagen
  Mit Zitat antworten Zitat
Benutzerbild von stoxx
stoxx

Registriert seit: 13. Aug 2003
1.111 Beiträge
 
#13

Re: Zufallsgenerator mit vorgegebener Häufigkeit?

  Alt 7. Aug 2007, 23:43
Also das mit dem Array und eine zweite Zuordnung habe ich mir auch schon überlegt, nur ist das dann noch eine echte Zufallszahl?
Wahrscheinlich reicht das aber für meinen Zweck aus.
ich denke, ich werde es einfach über ein Array lösen, und mit hilfe einer gleichverteilten Zufallsvariable einfach die neue Zahl über diese "Funktion" zuweisen ..
vielen Dank!
Phantasie ist etwas, was sich manche Leute gar nicht vorstellen können.
  Mit Zitat antworten Zitat
Benutzerbild von negaH
negaH

Registriert seit: 25. Jun 2003
Ort: Thüringen
2.950 Beiträge
 
#14

Re: Zufallsgenerator mit vorgegebener Häufigkeit?

  Alt 7. Aug 2007, 23:57
Naja, echter Zufall kann es nie sein, da wir ja nur Random() benutzen und das eine Pseudo-Zufalls-Funktion ist, eben kein echter Zufall.

Aber statistisch betrachtet ist es exakt so zufällig wie du die Verteilung vorgibst. Bei zwei Zahlen zb. 1 und 2 die mit einer Wahrscheinlichkeit von 10% zu 90% vorkommen sollen, wird

1.) die Reihenfolge welche der Zahlen gezogen wird statistisch exakt so gleichverteilt sein wie Random(), als benutze Zufallsfunktion
2.) die statistische Häufung der beiden Zahlen jeweils 10% zu 90% sein. Die zweite Zahl kommt also 9 mal häufiger vor als die 1. Zahl

Das verhältnis der Häufigkeiten ist also nicht im geringsten zufällig, ist ja auch so von uns gewollt. Die Reihenfolge der gezogenen Zahlen ist aber sehr wohl noch pseudozufällig. Wird statt Random() ein echter Zufallsgenerator benutzt dann ist die Reihenfolge auch zufällig.

Sieh es mal so. Wir ziehen mit einem echten Zufallsgenerator Zahlen im Berewich 1 bis 100. Wie wird die Häufigkeitsverteilung dieser 100 Zahlen nach einer gewissen Zeit sein ? Zufällig oder exakt berechnenbar ?

Natürlich beträgt die Wahrscheinlichkeit dann exakt 1/100'tel für die Häufigkeiten der gezogenen Zahlen. Bei 100 Zahlen also 1 Prozent pro Zahl. Logisch da ein Zufallsgenerator statistisch die Häufigkeiten auf den kompletten Zahlenbereich gleichmäßig verteilt. Das ist ja auch die Grundlage dafür das man mit den vorherigen Lösungsvorschlägen aus einer statistischen Gleichverteilung eine vorgegebene Ungleichverteilung erreichen kann. Wir gehen davon aus das Random() immer gleichverteilte Häufigkeiten erzeugt, skalieren unsere Vorgabehäufigkeiten entsprechend um eine ungleichverteilte Häufigkeit zu erreichen.

Also selbst mit echten Zufall wären die Häufigkeiten welche Zahlen man zieht nicht zufällig, sondern statistisch gleichverteilt wenn man gegen unendlich viele Zahlen gezogen hat.

Die statistische Verteilung der Zahlen ist also fast immer gleichverteilt, egal mit welchem Verfahren man diese Zahlen erzeugt (guter RNG vorrsausgesetzt).

In der Physik gibts aber sehr viele Phenomäne die keine Gleichverteilung der Wahrscheinlichkeiten der gezogenen Zahlen aufweisen. Zb. Gaussche Verteilung -> Glockenkurve.

Anderst ausgedrückt: Zufällig ist nicht die Häufigkeit sondern nur der Zeitpunkt wann man welche Zahl zieht. Zufall bestimmt also den Zeitpunkt wann was eintritt aber nicht wie oft es als ein Ereignis unter vielen anderen vorkommt. Die Frage nach dem "oft", also dem Vorkommen eines Ereignisses wird immer statistisch berechenbar sein. Dazu benötigt man die Periode und die Art des Zufallsgenerators. Kennt man das beides bestimmt nur noch die Größe der gezogenenen Ereignisse inwieweit wir die statistische Häufigkeit berechnen können.

Es ist sehr wichtig das zu begreifen um zu verstehen was Zufall ist.

Gruß Hagen
  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:06 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz