Schlechtes Spiel oder wie die Organisatoren der Auslosung uns täuschen


Einmal, an einem sonnigen Frühlingsmorgen, beim Lesen eines Stadtforums, stieß ich auf einen Link mit einem einfachen Spiel eines bekannten Handelsnetzwerks. Das Spiel (Aktion), das der Weltmeisterschaft gewidmet war, war ein einfaches Drei-mal-Drei-Feld, das mit Fußbällen gefüllt war. Mit einem Klick auf die Kugel öffneten wir ein Bild mit einem bestimmten Produkt. Beim Öffnen von drei identischen Bildern wurde dem Teilnehmer ein kostenloser Empfang dieses Produkts in einem der Netzwerkgeschäfte garantiert. Unter einem der Bälle befand sich auch das Bild einer roten Karte, deren Eröffnung das Ende des Spiels bedeutete.



Das Interesse an dem Spiel ließ aufgrund äußerst seltener Fälle von Gewinnen schnell nach. Als wir in ein paar Tagen zu viert mit 6 Telefonnummern spielten (ungefähr 15 Spiele), konnte niemand gewinnen. "Wie hoch ist die Gewinnwahrscheinlichkeit in diesem Spiel im Allgemeinen?", Fragte ich mich und nahm ein Blatt Papier heraus, wobei ich mich an einen Kurs in höherer Mathematik erinnerte. Beim Aufschreiben der Formeln stellte sich heraus, dass jedes Spiel 1 bis 9 Züge enthalten kann und jeder Zug zu einem von drei Zuständen führt - Sieg, Niederlage oder Fortsetzung des Spiels (mit Ausnahme der ersten beiden Züge, die nur zu zwei Zuständen führen können). Als mir schnell klar wurde, dass die Formel für 9 Felder zu kompliziert ist, begann ich mit einem einfachen 1 - 4-Feld (drei identische Produkte und eine rote Karte). Eine kurze Skizze der Formeln auf einer Serviette und es stellte sich heraus, dass die Gewinnwahrscheinlichkeit 1/4 beträgt. Für 5 Felder musste ich basteln, aber die berechnete Wahrscheinlichkeit lag ebenfalls bei 25%. In diesem Moment dachte ich dreimal nach und überprüfte die Berechnung noch einmal. Alles ist richtig. Um nicht zu sagen, dass ich sehr überrascht war, seit ich an der Universität studiert habe, bin ich daran gewöhnt, dass in der Wahrscheinlichkeitstheorie die unerwartetesten Ergebnisse möglich sind. Die Berechnung für 9 Felder würde mehrere Blätter Papier und mehr als eine Stunde Zeit in Anspruch nehmen, sodass eine einfachere Entscheidung getroffen wurde. Simulieren Sie das Spiel mit einem Skript. Ein paar zehn Minuten, eine Tasse Kaffee und das Drehbuch ist fertig. Verwendet PowerShell als Werkzeug, das dem Systemadministrator immer zur Hand ist. Ein paar zehn Minuten, eine Tasse Kaffee und das Drehbuch ist fertig. Verwendet PowerShell als Werkzeug, das dem Systemadministrator immer zur Hand ist. Ein paar zehn Minuten, eine Tasse Kaffee und das Drehbuch ist fertig. Verwendet PowerShell als Werkzeug, das dem Systemadministrator immer zur Hand ist.

$fail = 0
$win = 0
for ($m=1; $m -lt 1001; $m++)
{
 $mas = 1, 2, 3, 4, 5, 6, 7, 8, 9
 $sum = 0
 $result = ""
 for ($i=0; $i -lt 8; $i++)
 {
  $j = Get-Random -Minimum $i -Maximum 9
  if ($mas[$j] -eq 9)
  {
   $result = "FAIL"
   break
  }
  if ($mas[$j] -eq 1 -or $mas[$j] -eq 2 -or $mas[$j] -eq 3) { $sum++ }
  if ($sum -eq 3)
  {
   $result = "WIN"
   break
  }
  $mas[$j] = 0
  $mas = $mas | Sort-Object
 }
 $result
 if ($result -eq "WIN") { $win++ } 
 if ($result -eq "FAIL") { $fail++ } 
}
$fail
$win

Ich habe die Gewinnzahlen für 1, 2 und 3 und die rote Karte für 9 genommen. Ich bin ein wenig vorausgerannt, wie sich später herausstellte, dachten die Programmierer, die dieses Spiel geschrieben haben, ähnlich.

Beim Ausführen des Skripts habe ich ein unerwartetes Ergebnis erhalten - 25% der Gewinne. Nachdem ich mit der Anzahl der gewinnenden Elemente und der Gesamtzahl der Felder gespielt hatte, stellte ich fest, dass die Wahrscheinlichkeit eines Gewinns in einem solchen Spiel nicht von der Anzahl der Felder abhängt und gleich eins geteilt durch die Anzahl der gewinnenden Elemente, die um eins erhöht wurden.

In diesem Moment kamen mir große Zweifel über die Ehrlichkeit des Spiels in den Sinn. Immerhin musste ich jedes vierte Mal gewinnen. Zu diesem Zeitpunkt hatte ich bereits zehn Mal verloren, die Wahrscheinlichkeit einer solchen Entwicklung war äußerst gering und ich begann, die Skripte des Spiels zu recherchieren.

Parallel dazu habe ich die Regeln geöffnet.
Regeln für die Teilnahme an einer Marketingveranstaltung

1.3 Der Veranstalter garantiert, dass bei der Bestimmung der Möglichkeit, Anreize zu erhalten, keine Algorithmen oder Verfahren verwendet werden, die die Ergebnisse der Werbeaktion vor deren Beginn bestimmen können.
Großartig! Nachdem wir das Vorhandensein dieser Algorithmen und Verfahren bewiesen haben, werden wir den Organisator an der Hand fassen.

F12 in Chrome und starten Sie die Studie. Wir spielen bis zum Ende, mit einem Blick auf die Netzwerküberwachung. Genug Standardarbeit der Anwendung, Laden der Seite, Skripte, Sprites und mehrerer Datensätze im JSON-Format. Aber das Seltsame ist, dass ab dem Moment, in dem Sie auf die Schaltfläche "Spiel starten" klicken, kein Datenaustausch mit dem Server stattfindet. Die zweite Kuriosität ist, dass das gewinnende Sprite nicht einmal geladen wird, sondern nur das Sprite „Du hast verloren“. Offensichtlich "kennt" das Skript vor dem Start des Spiels sein Ergebnis. Es bleibt seine Hand zu fangen.

Die Haupt-JS mit dem Spiel ist sehr groß, 1,5 MB, ohne Formatierung ist alles "Durcheinander". Eine schnelle Google-Suche gab uns den JS Beautifier-Service und jetzt lesen wir den formatierten Code. Aber sein Volumen ist sehr groß, mehr als 40.000 Zeilen. Ein kurzer Blick auf JSON ergab keine Ergebnisse, zu viele Daten, es wurde entschieden, den umgekehrten Weg zu gehen - vom Gegenteil. Bei der Suche nach Sprite-Dateinamen wurde JSON mit den erforderlichen Daten gefunden.



Sprites 0, 1 und 2 gewinnen, Sprite 3 ist eine rote Karte, der Rest spielt keine Rolle.

Die Suche nach dem Namen des Arrays von Sprites führt uns zum gewünschten Block des Spielskripts.



Ich interessierte mich für das Outcome-Array im Skript, sah mir JSON noch einmal an und oh, Wunder! Du wirst es nicht glauben!



Ja, das ist die Reihenfolge der Sprites! Und es endet mit einer extremen Karte! Es spielt keine Rolle, in welche Felder Sie mit der Maus klicken, die Sprites werden in der vom Server festgelegten Reihenfolge angezeigt. Der Server selbst steuert den Prozess und passt die Wahrscheinlichkeit an. Es ist kein Unfall nachvollziehbar.

Schauen wir uns noch einmal die Spielregeln an:
8. Preisgeld:

8.1. Verfügbare Preise: Namen und Mengen
...
Gesamt 166.000
Bei einem fairen Spiel werden die Preise bei ungefähr 664.000 Spielen enden, was anscheinend nicht dem Management des Handelsnetzwerks entsprach, wobei der Zeitpunkt der Aktion und die potenzielle Anzahl der Teilnehmer berücksichtigt wurden.

Schlussfolgerungen (ein bisschen offensichtlich).

Spiele faire Offline-Spiele (wie Schach). Glauben Sie nicht den Veranstaltern von Online-Gewinnspielen. Jeder lügt. (c)

Jetzt auch beliebt: