RANDOM und Gleichverteilung (halbtheoretisch)

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • RANDOM und Gleichverteilung (halbtheoretisch)

    Hi,

    Habe mir grade nochmal die Infos zun rand() rengezogen und auch mal die threads hier durchwühlt.

    Aber dennoch bleibt mir eine Frage offen, besonders nachdem ich die geposteten Threads hier gelesen habe:

    Scheinbar ist es ja so das rand() nicht wirklich zufällig, ist und goth's Vorschlag zur verbesserung mit rand(time()) scheint das, naja, zu verbessern aber irgendwie immer noch nicht wirklich ideal zu sein.

    Mathematisch gesehen erzeugt ein gegen Unendlich laufender Zufallsaufruf ja eine relative Gleichverteilung. Kann das durch
    PHP-Code:
    order by rand(".time()."
    erreicht werden?

    Letzlich ist mir egal ob ein DS mehrfach hintereinander gerufen wird, hauptsache übers Jahr/ Monat verteilt sind die Aufrufe gleichverteilt.

    Kommentare wären hilfreich!
    chansel0049
    ----------------------------------------------------
    if you've reached the bottomline - dig further!
    Übersetzer gesucht? http://www.babelport.com

  • #2
    einfachste möglichkeit:

    - leg dir ein paar datensätze an.
    - zieh dir 100.000 mal einen zufälligen raus.
    - analysiere das ganze mal (am besten automatisch )

    Kommentar


    • #3
      Re: RANDOM und Gleichverteilung (halbtheoretisch)

      Original geschrieben von chansel0049
      Mathematisch gesehen erzeugt ein gegen Unendlich laufender Zufallsaufruf ja eine relative Gleichverteilung. ...
      Richtig!
      Es ist doch eigentlich egal was für einen Zufall du nimmst, letzt endlich kommt jeder Fall gleich oft vor. - Die Frage ist nur wann sind es genug Abfragen um representativ für unendlich zu stehen

      BTW: ich denke der Thread wäre bei BS besser aufgehoben
      [COLOR=royalblue]Ein großes DANKE an alle, die sich auf selbstlose Weise im Forum einbringen.[/COLOR]

      [COLOR=silver]btw: REAL PROGRAMMERs aren't afraid to use GOTOs![/COLOR]

      [color=indigo]Etwas ernster, aber auch nicht weiter tragisch, sieht die Situation bei Software-Patenten aus. Software-Patente sind eine amerikanische Erfindung und stehen auf dem selben Blatt wie genveränderte Babynahrung, die im Supermarkt nicht mehr als solche gekennzeichnet werden soll, um die Hersteller nicht gegenüber denen natürlicher Produkte zu diskriminieren ...[/color]
      (from here)

      Kommentar


      • #4
        Re: RANDOM und Gleichverteilung (halbtheoretisch)

        Original geschrieben von chansel0049
        Mathematisch gesehen erzeugt ein gegen Unendlich laufender Zufallsaufruf ja eine relative Gleichverteilung.
        Theoreitsch Ja.
        Praktisch Nein.

        Ein Zufallsgenerator arbeitet i.d.R. ähnlich dem Chaosprinzip
        a la Mandelbrot (f ist hier die Zufallsfunktion):

        x2 = f(x1)
        x3 = f(x2)
        x4 = f(x3)

        ...

        Das Ergebnis wird also immer wieder für die Funktion verwendet.
        Die Qualität der Zufallszahlen hängt von der Funktion ab.

        Jetzt braucht das ganze noch einen Startwert. Der server setzt ihn halt irgendwann.
        Man kann ihn aber auch selber angeben.

        Und weil die Funktion im MySQL wirklich wenig taugt
        kann man mit rand(time()) eben diesen Startwert auch zusätzlich einigermassen zufällig festlegen,
        um bessere Ergebnisse zu bekommen.

        Kommentar

        Lädt...
        X