Pseudozufallszahlen - warum gewinnen immer die gleichen?

in deutsch •  5 years ago 

Wer hin und wieder in der Quasselstunde sitzt hört früher oder später das der Bot manipuliert ist. Am gleichen Abend gewinnen einer oder wenige die meisten Gewinne, während der Rest leer ausgeht.


Wie funktioniert der Bot?


Der Bot arbeitet mit einem Standardzufallsgenerator, der mithilfe eines Algorithmus und der Systemzeit einen Zufallswert festlegt. Die Teilnehmer werden jeweils mit einer Zahl verbunden, diese Zahlen werden als Parameter für den Bot verwendet und am Ende gewinnt der Spieler, dessen Zahl der Zufallsgenerator aufruft.


Beispiel 1: 10 Runden


Wir haben 6 Teilnehmer und 10 Runden. Die Teilnehmer haben wie folgt gewonnen:
Runde1.10.PNG
Eine Verteilung die man durchaus als Zufällig bezeichnen kann.
Runde2.10.PNG
In dieser Runde ist eine Dominanz von 2 und 5 zu erkennen.
Runde3.10.PNG
In dieser Runde ist eine Dominanz von 3 und 5 zu erkennen.


Beispiel 2: 100 Runden


Weiterhin 6 Teilnehmer, nur das diesesmal 100 Runden gespielt werden.
Runde1.200.PNG
1 und 5 stechen wieder etwas heraus, aber es gibt keine so großen Unterschiede zwischen den Teilnehmern wie bei 10 Runden.
Rund2.100.PNG
Die Verteilung der ersten 100 Runden zieht sich weiter, es ist keine perfekte Verteilung aber nähert sich ihr an.


Runde 3: 10000 Runden


Zuletzt schauen wir uns einmal 10000 Runden bei 6 Teilnehmern an.
Runde1.1000.PNG
Die Verteilung gibt eine zufällige Verteilung vor.


Warum sieht es zufälliger aus, wenn mehr Runden gespielt werden


Deswegen nennt man es Pseudozufallszahlengenerator. Da als Grundlage die Systemzeit verwendet wird, kann es bei mehreren Runden ohne ausreichenden Abstand dazu kommen, das der Algorhitmus das gleiche Ergebnis ausgibt. Aus diesem Grund kann es bei einer geringen Anzahl an Runden, in kurzer Zeit oder in einem regelmäßigen Abstand zu einer Häufung einzelner Ergebnisse kommen.


Folgender Code wurde zur Erzeugung der Zahlen verwendet:

        int zufallsZahl, zahl1, zahl2, zahl3, zahl4, zahl5, zahl6, x;

        Random RandomZahl = new Random();

        Console.WriteLine("Anzahl an Runden eingeben:");

        x = Convert.ToInt32(Console.ReadLine()) + 1;

        zahl1 = 0;
        zahl2 = 0;
        zahl3 = 0;
        zahl4 = 0;
        zahl5 = 0;
        zahl6 = 0;

        for (int i = 1; i < x; i++)
        {
            zufallsZahl = RandomZahl.Next(1, 7);

            if (zufallsZahl == 1)
            {
                zahl1++;
            }
            else if (zufallsZahl == 2)
            {
                zahl2++;
            }
            else if (zufallsZahl == 3)
            {
                zahl3++;
            }
            else if (zufallsZahl == 4)
            {
                zahl4++;
            }
            else if (zufallsZahl == 5)
            {
                zahl5++;
            }
            else if(zufallsZahl == 6)
            {
                zahl6++;
            }
        }
Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!
Sort Order:  

Dazu kommt, dass bei wenigen Ziehungen nunmal sowas passieren kann. Viele Leute haben von Wahrscheinlichkeiten den falschen Eindruck, dass diese sich schon bei kleinen Ziehungen den zu erwartenden relativen Häufigkeiten anpassen müssten. Das ist aber falsch. Es ist völlig normal, dass man solche Ausreißer hat.

10000 Ziehungen sind halt genug fürs Gesetz der großen Zahlen.

Aha das jetzt also das alle die sagen das der bot manipuliert ist in Wirklichkeit nicht recht haben oder habe ich es jetzt falsch verstanden?

Ja, es gibt die Möglichkeit einen wirklichen Zufallsgenerator zu erstellen, aber dieser ist kompliziert umzusetzen und dadurch Fehleranfällig.

Nächstes mal Zufallsgenerator mit Wetter Moskau, Wetter Südafrika, Bitcoin Preis und Schulden Deutschlands :)

AHA sehr sehr interessant

Hi @satren!

Your post was upvoted by @steem-ua, new Steem dApp, using UserAuthority for algorithmic post curation!
Your UA account score is currently 3.370 which ranks you at #7075 across all Steem accounts.
Your rank has improved 3 places in the last three days (old rank 7078).

In our last Algorithmic Curation Round, consisting of 186 contributions, your post is ranked at #130.

Evaluation of your UA score:
  • You're on the right track, try to gather more followers.
  • The readers like your work!
  • Try to improve on your user engagement! The more interesting interaction in the comments of your post, the better!

Feel free to join our @steem-ua Discord server