[PYTHON] Untersuchen wir den Mechanismus von Kaijis Chinchirorin

Während der Zeit der Selbstbeherrschung

Ich war besorgt, weil ich mit der kostenlosen Manga-App verschiedene frühere Werke lesen konnte.

Es ist das Glücksspiel "Chinchirorin", das im Cartoon "Kaiji" erschien.

Kaiji

Eine Reihe von Comic-Arbeiten von Nobuyuki Hon sowie darauf basierende Animationen und Live-Action-Filme.

Ursprünglich ein schlechter Mensch, zeigt er außergewöhnlichen Mut und Talent, wenn er sich in einer extremen Krise befindet. Die Hauptfigur, Kaiji Ito, ist hier ein Manga.

Derzeit wurden die folgenden 5 + 1 Bände veröffentlicht. Darüber hinaus gibt es Spin-off-Werke wie "Intermediate Manager Tonegawa" und "One-Day Outing Record Hanchou".

Gaming Apocalypse Kaiji (1996-1999 Weekly Young Magazine, 13 Bände) Gaming Haunting Record Kaiji (2000-2004 Weekly Young Magazine, 13 Bände) Gaming Fallen Record Kaiji (2004-2008 Weekly Young Magazine, 13 Bände) Gaming Fallen Record Kaiji Kazuya ed. (Wöchentliches junges Magazin 2009-2012, insgesamt 10 Bände) Gaming Fallen Record Kaiji One Poker Edition (2012-2017 Weekly Young Magazine, insgesamt 16 Bände) Gaming Fallen Record Kaiji 2,4 Milliarden Escape Edition (2017-serialisiert, 6 Bände bereits veröffentlicht)

Es ist eine Arbeit, die sich mit dem Grundthema "Glücksspiel" befasst.

Chinchirorin

Im Manga ist es das Glücksspiel, das in Kapitel 3 "Der Sumpf des Begehrens" erscheint.

Dies ist das Glücksspiel, das Teamleiter Otsuki uns als Erholung in der unterirdischen Zwangsarbeitsanlage gebracht hat.

Regel

Wirf 3 Würfel gleichzeitig, bis die Rollen abgeschlossen sind (bis zu 3 Mal).

Legen Sie die Würfel in eine Schüssel, drehen Sie sie um, legen Sie sie auf den Boden und nehmen Sie die Schüssel, um das Ergebnis zu bestimmen.

Die Rollen sind in der Reihenfolge ihrer Stärke wie folgt.

Rollenname Bedingungen
Pinzolo 1 ・ 1 ・ 1
Zoro Augen 2.2.2,3.3.3,4 ・ 4 ・ 4,5 ・ 5 ・ 5,6/6/6
Shigoro 4 ・ 5 ・ 6
Größte Bestellung Zwei sind gleich, die Nummer eins bleibt übrig
Shonben Wenn es keine Rolle gäbe,Wenn die Würfel aus der Schüssel kommen
Hifumi 1, 2, 3

Es gibt Rückerstattungsregeln im Manga, aber dieses Mal werde ich sie weglassen. Wir werden einfach die Wahrscheinlichkeit berücksichtigen, dass eine Rolle herauskommt.

Betrachten wir zunächst eine Funktion, die die Rolle bestimmt. Die Rolle besteht darin, eine Funktion zu erstellen, die das stärkste Pinzolo in der Größenordnung von 1 und dann das stärkste zurückgibt. Darüber hinaus denken wir hier nicht an eine Neuzuweisung, und wenn sie nicht aufeinander abgestimmt sind, werden wir sie so behandeln, als gäbe es keine Rolle. Außerdem denke ich, dass Zoro-Augen die gleiche Stärke haben, egal welche herauskommt.

def tintiro_hand(h):
    #Pinzolo
    if all([h[0]==1,h[1]==1,h[2]==1]):
        return 1
    #Zoro Augen
    if h[0]==h[1] and h[1]==h[2]:
        return 2
    #Shigoro
    if [4,5,6]==list(sorted(h)):
        return 3
        #Hifumi
    if [1,2,3]==list(sorted(h)):
        return 11
    #Stirb und Shonben
    calc = {}
    for n in h:
        if n in calc:
            calc[n]+= 1
        else:
            calc[n]=1
    if 2 in calc.values():
        return 3 + 7-sorted(calc.items(),key=lambda x:x[1])[0][0]
    else:
        return 10

def judge(h1,h_2):
    if h1==h_2:
        return 'DRAW'
    if h1<h_2:
        return 'WIN'
    else:
        return 'LOSE'

Wir werden auch eine Funktion erstellen, um das Ergebnis zu beurteilen.

Gewinnen oder verlieren Sie, wenn Sie mit denselben Würfeln kämpfen

import itertools
from fractions import Fraction

hands1 = list(itertools.product([1,2,3,4,5,6],repeat=3))
hands2 = list(itertools.product([1,2,3,4,5,6],repeat=3))
wins = {}
for hand1 in hands1:
    for hand2 in hands2:
        w = judge(tintiro_hand(hand1),tintiro_hand(hand2))
        if w in wins:
            wins[w] +=1
        else:
            wins[w] = 1
total = sum(wins.values())
draw,win,lose =wins['DRAW'],wins['WIN'],wins['LOSE']
print('DRAW\t' , Fraction(draw,total) , ' \t{:%}'.format(draw/total))
print('WIN \t'    , Fraction(win ,total)  , '\t{:%}'.format(win/total))
print('LOSE\t'   , Fraction(lose,total)  , '\t{:%}'.format(lose/total))
DRAW 1639/5832 28.10%
WIN 4193/11664 35.95%
LOSE 4193/11664 35.95%

Die Gewinn- oder Verlustchancen sind gleich. Nun, es ist natürlich.

Gewinnen oder verlieren Sie gegen Shigoro Samurai

** Shigoro 賽 **

Es ist ein Würfel, den Teamleiter Otsuki mit nur 4,5,6 Augen benutzt.

image.png

Die Rückseite von 4 ist 4 und die Rückseite hat die gleiche Nummer, also aus einer Richtung betrachtet Es gibt eine Funktion, die Sie nicht bemerken.

Wie wird sich die Gewinnrate dabei ändern? Ich werde versuchen, mit gewöhnlichen Würfeln zu konkurrieren.

import itertools
from fractions import Fraction

hands1 = list(itertools.product([1,2,3,4,5,6],repeat=3))
hands2 = list(itertools.product([4,5,6,4,5,6],repeat=3))
wins = {}
for hand1 in hands1:
    for hand2 in hands2:
        w = judge(tintiro_hand(hand1),tintiro_hand(hand2))
        if w in wins:
            wins[w] +=1
        else:
            wins[w] = 1
total = sum(wins.values())
draw,win,lose =wins['DRAW'],wins['WIN'],wins['LOSE']
print('DRAW\t' , Fraction(draw,total) , '\t{:%}'.format(draw/total))
print('WIN \t' , Fraction(win ,total) , '\t{:%}'.format(win/total))
print('LOSE\t' , Fraction(lose,total) , '  \t{:%}'.format(lose/total))
DRAW 107/1944 5.50%
WIN 175/1944 9.00%
LOSE 277/324 85.49%

Bei gleicher Gewinn- oder Verlustchance verlieren Sie 50% mehr. Es ist ein schöner Würfel.

Wie hoch ist die Wahrscheinlichkeit einer Rolle?

Die Wahrscheinlichkeit, eine Rolle zu bekommen, besteht darin, dass die Kombination der Würfel "216 Wege" ($ 6 ^ 3 $) ist, also ist dies der Nenner.

Betrachtet man die Wahrscheinlichkeit der Rolle in jedem Würfel

import itertools
import matplotlib.pyplot as plt
%matplotlib inline

hands1 = list(itertools.product([1,2,3,4,5,6],repeat=3))
hands = {}
for hand1 in hands1:
    h = tintiro_hand(hand1)
    if h in hands:
        hands[h] +=1
    else:
        hands[h] = 1

plt.figure(figsize=(12,6))
x = [k for k,v in sorted(hands.items())]
y = [v for k,v in sorted(hands.items())]
for x1,y1 in zip(x,y):
    plt.text(x1, y1+1 , y1 , size = 10, color = "green")
    plt.text(x1, y1+10 , '{:.01%}'.format(y1/216), size = 10, color = "black")
label = ['111','Zoro Augen','Shigoro','6','5','4','3','2','1','Shonben','123']
plt.bar(x,y,tick_label=label)
plt.grid()
plt.show()

image.png

Wenn dies bestätigt wird, ohne dreimal erneut zu würfeln, ist die Rolle, die am häufigsten erscheint, keine Rolle (Shonben). Ich denke, es ist eine Regel, dreimal neu zu würfeln.

Es gibt nur einen Pinzolo. Es gibt 6 Arten der schwächsten "123".

Was ist, wenn dies Shigoro Sagami ist?

import itertools
import matplotlib.pyplot as plt
%matplotlib inline

hands = list(itertools.product([4,5,6,4,5,6],repeat=3))
hands2 = {i:0 for i in range(1,12)}
for hand in hands:
    h2 = tintiro_hand(hand)
    if h2 in hands2:
        hands2[h2] +=1
    else:
        hands2[h2] = 1

plt.figure(figsize=(12,6))
x = [k for k,v in sorted(hands2.items())]
y = [v for k,v in sorted(hands2.items())]
for x1,y1 in zip(x,y):
    plt.text(x1, y1+1 , y1 , size = 10, color = "green")
    plt.text(x1, y1+10 , '{:.01%}'.format(y1/216), size = 10, color = "black")
label = ['111','Zoro Augen','Shigoro','6','5','4','3','2','1','Shonben','123']
plt.bar(x,y,tick_label=label)
plt.grid()
plt.show()

image.png

Es ist überwältigend.

Es ist offensichtlich, wenn Sie sie vergleichen. スクリーンショット 2020-05-23 17.10.35.png

Wenn es Shigoro Sai ist, wird es keine Nutzlosigkeit geben und mindestens "4" wird herauskommen. Die Wahrscheinlichkeit von "Zorome" beträgt weniger als das Fünffache und die Wahrscheinlichkeit von "Shigoro" das Achtfache.

Im Fall von Manga wird die Zahlung von "111" erhöht und die Zahlung von "456" wird leicht geschwächt und es wird getarnt. Ich plane verschiedene Dinge und die Regeln sind interessant.

Wie man Tintenfisch findet

Es war die Aufzeichnung des Ergebnisses, das mein Kollege Miyoshi aufbewahrte, dass ich den Mechanismus dieser Ikasama-Würfel herausfand.

Mir ist aufgefallen, dass es nur dann viele 456 gibt, wenn der Teamleiter das beste Spiel hier ist. Sie werden der Existenz von Ikasama-Würfeln misstrauisch sein.

Mit einem normalen Würfel beträgt die Wahrscheinlichkeit von "456" weniger als 3%, so dass Sie nur 2-3 Mal in 100 Mal erhalten. Je weiter Sie fortfahren, desto mehr konvergiert die Wahrscheinlichkeit und Sie sollten sich der ursprünglichen Wahrscheinlichkeit nähern. Wenn Sie tausende Male Daten sammeln, stellen Sie möglicherweise fest, dass die Wahrscheinlichkeit seltsam ist.

Es ist wichtig, tägliche Daten zu erfassen und die Wahrscheinlichkeit zu notieren.

Zusammenfassung

Schließlich können Sie sehen, dass Statistiken und Wahrscheinlichkeiten erneut wichtig sind, um Glücksspiele zu gewinnen.

Wenn eine öffentliche Einrichtung aufgrund von IR anfängt, Chinchirorin zu halten Ikasama, der so gegangen ist, mag beliebt sein, und ich würde mich gerne auf diese Zeit freuen.

Informationen zum Autor

HP von Otsu py: http://www.otupy.net/

Youtube: https://www.youtube.com/channel/UCaT7xpeq8n1G_HcJKKSOXMw

Twitter: https://twitter.com/otupython

Recommended Posts

Untersuchen wir den Mechanismus von Kaijis Chinchirorin
Ich habe den Mechanismus der Flaschenanmeldung untersucht!
Lassen Sie uns den Gewinner des Bingo bestimmen
Untersuchen Sie die Auswirkung von Ausreißern auf die Korrelation
Verwenden wir die API des allgemeinen Fensters für Regierungsstatistiken (e-Stat).
Lassen Sie uns jetzt die Mehrdeutigkeit des Bindestrichs (-) des Befehls su beseitigen! !!
[Statistik] Verstehen Sie den Mechanismus von Q-Q-Plots mit Animation.
Lassen Sie uns die Grundlagen des Python-Codes von TensorFlow aufschlüsseln
Verwenden wir die Python-Version des Confluence-API-Moduls.
Verwenden wir die offenen Daten von "Mamebus" in Python
Lassen Sie uns die medizinische Kollapshypothese des neuen Koronavirus testen
Lassen Sie uns die Emotionen von Tweet mit Chainer (2.) analysieren.
Lassen Sie uns die Emotionen von Tweet mit Chainer (1.) analysieren.
[Python] Lassen Sie uns die URL der Django-Administrator-Site ändern
Der Beginn von cif2cell
Die Bedeutung des Selbst
der Zen von Python
Die Geschichte von sys.path.append ()
Rache der Typen: Rache der Typen
Überqueren wir die Wand des linkshändigen Koordinatensystems und des rechtshändigen Koordinatensystems.
Lassen Sie uns die Vorlesung der PyCon JP 2016 durch Kombinationsoptimierung entscheiden
Visualisieren wir das Handelsvolumen der TSE-Aktien - jpxlab sample
Lassen Sie uns die Eisenbahndaten der nationalen Landnummern verwenden
Lassen Sie uns die Analyse der sinkenden Daten der Titanic so durchführen
Lassen Sie uns den Befehl pünktlich mit dem Bot der Zwietracht ausführen
Berühren wir die API der Netatmo Weather Station mit Python. #Python #Netatmo
Lassen Sie uns das Timing von Barus vorhersagen und den Film langsam genießen
Das Experiment der CIA zur Entschlüsselung des Mechanismus des Abhörens öffentlicher Telefone
Stellen wir uns die Anzahl der mit Matplotlib mit dem Coronavirus infizierten Personen vor
Verwenden wir den verteilten Ausdruck von Wörtern schnell mit fastText!
Spielen Sie mit dem Passwortmechanismus von GitHub Webhook und Python