[PYTHON] Sie werden in 100 Tagen Ingenieur. ――Tag 64 ――Programmieren ――Über Wahrscheinlichkeit 2

Klicken Sie hier bis gestern

Sie werden in 100 Tagen Ingenieur - Tag 63 - Programmierung - Über Wahrscheinlichkeit 1

Sie werden in 100 Tagen Ingenieur - Tag 59 - Programmierung - Über Algorithmen

Sie werden in 100 Tagen Ingenieur --- Tag 53 - Git - Über Git

Sie werden in 100 Tagen Ingenieur - Tag 42 - Cloud - Über Cloud-Dienste

Sie werden in 100 Tagen Ingenieur - Tag 36 - Datenbank - Über die Datenbank

Sie werden Ingenieur in 100-Tage-24-Python-Grundlagen der Python-Sprache 1

Sie werden in 100 Tagen Ingenieur - Tag 18 - JavaScript - Grundlagen von JavaScript 1

Sie werden in 100 Tagen Ingenieur - 14. Tag - CSS - CSS-Grundlagen 1

Sie werden in 100 Tagen Ingenieur - Tag 6 - HTML - HTML-Grundlagen 1

Über den erwarteten Wert

Der "erwartete Wert" ist der Durchschnittswert, der in einem Versuch erhalten wurde.

Dies ist die Summe aller erhaltenen Werte und die Wahrscheinlichkeit, dass sie auftreten.

Betrachten Sie das Beispiel eines Würfels.

Die Wahrscheinlichkeit, einen Würfel zu bekommen, ist wie folgt.

Augen kommen heraus(x) 1 2 3 4 5 6
Wahrscheinlichkeit(p) 1/6 1/6 1/6 1/6 1/6 1/6

Der erwartete Wert der Rolle ist die Summe der "Rolle * Wahrscheinlichkeit".

$ 1 * \frac{1}{6} + 2 * \frac{1}{6} +3 * \frac{1}{6} +4 * \frac{1}{6} +5 * \frac{1}{6} +6 * \frac{1}{6} = 3.5$

Sie können erwarten, dass der Durchschnitt, der einmal würfelt, 3,5 beträgt.

Rücklaufquote

Glücksspiel hat auch Erwartungen. Zu diesem Zeitpunkt das Verhältnis des zu erstattenden Betrags zur Prämie Es heißt "Rücklaufquote".

Angenommen, Sie zahlen 10 Millionen Yen und haben eine 50% ige Chance, 15 Millionen Yen zu erhalten, eine 40% ige Chance von 5 Millionen Yen und eine 10% ige Chance, 0 Yen zu erhalten.

Der "erwartete Wert" beträgt "(50% x 15,0 Millionen Yen) + (40% x 5 Millionen Yen) + (20% x 0 Yen) = 9,5 Millionen Yen"

Die "Rücklaufquote" beträgt "9,5 Millionen Yen / 10 Millionen Yen", was "95%" entspricht.

Möchten Sie diese Art von Glücksspiel machen? Je mehr ich mache, desto weniger Geld denke ich.

Die bekannte inländische Rücklaufquote für Glücksspiele beträgt

Art Rücklaufquote
Pferderennen Über 75%
Fahrradrennen Über 75%
Bootsrennen Über 75%
Autorennen Über 75%
Lotterie Über 46%
Fußballlotterie Ungefähr 50%
Pachinko Über 80-90%

Je mehr Sie tun, desto weniger Geld erhalten Sie.

Auch wenn Sie Werbekosten ausgeben, um Kunden anzulocken Je mehr Menschen zusammenkommen, desto profitabler werden die Eltern. Es ist ein unwiderstehliches Geschäft.

Grundsätzlich kann es kein Glücksspiel mit einer Rücklaufquote von mehr als 100% geben.

Wenn es Glücksspiele mit einer Rücklaufquote von über 100% gab Das Geld auf der Seite der Ausgaben wird stetig steigen.

Wahrscheinlichkeit des Glücksspiels

Berücksichtigen Sie die unterschiedlichen Spielwahrscheinlichkeiten.

Pferderennen

Pferderennen ist auf die Reihenfolge der Ankunft mit 16,18 Pferden angewiesen. Die Kaufweise hängt von der Reihenfolge der Ankunft ab.

** Sieg **

Ich werde auf einen zählen.

In diesem Fall beträgt die Schlagwahrscheinlichkeit 16 Köpfe $ \ frac {1} {16} = 6,25 $% 18 Köpfe $ \ frac {1} {18} = 5,556 $%

** Doppelsieg **

Schlagen Sie das Pferd, das in 1-3 sein wird.

Weil das erwartete Pferd 1. oder 3. sein kann Es ist einfach das Dreifache des Gewinns.

In diesem Fall beträgt die Schlagwahrscheinlichkeit 16 Köpfe $ \ frac {3} {16} = 18,75 $% 18 Köpfe $ \ frac {3} {18} = 16.667 $%

Wenn es ein doppelter Gewinn ist Es ist eine Wahrscheinlichkeit, alle sechs Male einmal zu treffen.

Die Rückerstattungen sind jedoch im Durchschnitt etwa doppelt so hoch Es ist nicht sehr lecker.

** Frame Ren **

Achtzehn Pferde sind in den neun Rahmen gesetzt. Jeder besteht aus 1-2 Köpfen Es ist die Rangfolge in diesem Rahmen zu erraten.

Aus den neun Bildern werden zwei Bilder ausgewählt.

Es gibt 36 Möglichkeiten \frac{1}{36} = 2.7778%

** Maren **

Es ist eine Möglichkeit zu kaufen, dass entweder 1-2 oder 2-1 als Kombination der beiden ausgewählten Tiere in 1-2 akzeptabel ist.

16 Köpfe $ \ frac {1} {120} = 0,83333 $% 18 Köpfe $ \ frac {1} {153} = 0,65359 $%

** Einzelpferd **

Es ist eine Möglichkeit, 1-2 Outfits zu kaufen, indem Sie die beiden ausgewählten zu 1-2 Outfits kombinieren.

16 Köpfe $ \ frac {1} {240} = 0,41667 $% 18 Köpfe $ \ frac {1} {306} = 0,3268 $%

breit

2 von 3 Kombinationen Es wird in keiner bestimmten Reihenfolge erwartet, unabhängig von der Reihenfolge der Ankunft.

Ich muss nur 1-2, 1-3, 2-3 tragen Es ist einfach dreimal so wahrscheinlich wie Maren.

16 Köpfe $ \ frac {3} {120} = 2,5 $% 18 Köpfe $ \ frac {3} {153} = 1,9608 $%

** Dreifach **

Sagen Sie die Kombination von 1., 2. und 3. in keiner bestimmten Reihenfolge voraus Kombination "16C3", "18C3"

16 Köpfe $ \ frac {1} {560} = 0,17857 $% 18 Köpfe $ \ frac {1} {816} = 0,12255 $%

** Dreifache Einheit **

Sagen Sie die Kombination von 1., 2. und 3. in der Reihenfolge der Ankunft voraus Sequenz "16P3", "18P3"

16 Köpfe $ \ frac {1} {3360} = 0,029762 $% 18 Köpfe $ \ frac {1} {4896} = 0,020425 $%

WIN5

5 von JRA bezeichnete Rennen Ich erwarte jeden. Es ist ein Sieg für die 5. Potenz.

18 Köpfe $ \ frac {1} {1889568} = 0,0000529221 $%

Die Wahrscheinlichkeit liegt bei 1 zu 1,9 Millionen.

Weil die Wahrscheinlichkeit einer Lotterie usw. mit einer Wahrscheinlichkeit von "1 zu 10 Millionen" ungefähr gleich hoch ist Ich denke, WIN5 hat einen höheren "erwarteten Wert".

Die hohe Wahrscheinlichkeit von Pferderennen

Doppelsieg> Einzelsieg> Frame Ries> Breit> Maren> Ma Single> Triple Double> Triple Single> WIN5

Wird sein.

Roto Six

Lotto 6 ist eine Zahl von 1-43 bis "6 reelle Zahlen" und "1 Bonuszahl" Insgesamt werden 7 Zahlen ausgewählt und erraten, und es gibt 1-5 Mag.

** 1. Preis **

Alle 6 dieser Zahlen stimmen mit "43C6" überein

\frac{1}{6096454} = 0.0000164030%

Der 1. Preis hat eine Wahrscheinlichkeit von ca. 1/6 Millionen.

** 2. Klasse **

Entspricht 5 reellen Zahlen, entspricht 1 Bonuszahl

\frac{6}{6096454} = 0.0000984179%

Der zweite Preis hat eine Wahrscheinlichkeit von etwa 1 zu 1.000.000.

** 3 usw. **

5 von 6 stimmen mit dieser Zahl überein

\frac{216}{6096454} = 0.0035430432%

Die Wahrscheinlichkeit beträgt ungefähr 1 / 30.000.

** 4 usw. **

4 von 6 stimmen mit dieser Zahl überein

$\frac{9990}{6096454} = 0.1638657488 $%

Ist es die Wahrscheinlichkeit, ungefähr einmal in 600 Mal zu treffen?

** 5 usw. **

3 von 6 stimmen mit dieser Zahl überein

$\frac{155400}{6096454} = 2.5490227598 $%

Es ist ungefähr einmal in 40 Mal.

Da die 5. Klasse "1000 Yen" ist, trifft sie nur mit einer Wahrscheinlichkeit von "2,5%". Selbst wenn ich es 40 Mal kaufe, werden nur 1000 Yen zurückgegeben.

Wenn es nicht der erste Platz ist, wird es durch Übertragung übertragen und der Betrag erhöht sich Erstens gibt es fast keine Chance, im Leben mit einer Chance von 1 zu 6 Millionen zu treffen.

Poker

Poker ist ein Spiel mit 52 Karten. Finden Sie heraus, wie viele Rollen Sie haben.

Die Rolle ist

Rolle Inhalt
Royal Straight Flush A-K-Q-J-10
Gerade bündig Mit fortlaufenden Nummern(Bild)
5 Karten des gleichen Rußes
Vier Karten 4 Karten des gleichen Ranges und 1 anderes Auto
Volles Haus Drei Karten des gleichen Ranges und zwei andere Karten des gleichen Ranges.
Blitz Fünf Karten des gleichen Rußes.
Gerade Fünf Karten mit fortlaufenden Nummern.
Drei Karten Drei Karten des gleichen Ranges und zwei Seitenkarten unterschiedlicher Ränge.
Zwei Paare Zwei Karten des gleichen Ranges, zwei Sätze und eine Nebenkarte.
Ein Paar Zwei Karten des gleichen Ranges und drei Seitenkarten unterschiedlicher Ränge.
Hohe Karte Eine Hand, die in keine der oben genannten passt. Schwein

Diesmal habe ich ein Programm erstellt, um die Rolle zu beurteilen Bestimmen Sie die Rolle aus der Kombination aller Karten Finden Sie die Anzahl der Rollenkombinationen.

Das Deck erstellt eine Funktion, um es als 52 Karten zu beurteilen Aus der Kombination, wenn 5 Blätter aus allen 52 Blättern ausgewählt sind Zählen Sie die Anzahl der Rollen auf der Suche nach der Rolle.

#Deckgenerierung
deck=[b+':'+str(a) for a in range(1,14) for b in ['C','S','D','H']]

#Beurteilung der Rolle
def jadge_role(card):
    s = {}
    for c in card:
        k = int(c.split(':')[1])
        if k in s:
            s[k]+=1
        else:
            s[k] =1
    t = {c.split(':')[0] for c in card}
    n = sorted([c for c in s.keys()])
    if len(t)==1 and all([1 in n,10 in n ,11 in n,12 in n,13 in n]):
        return 'RSF'
    if len(t)==1 and (all([1 in n,10 in n ,11 in n,12 in n,13 in n]) or
             (max(n)-min(n)==4) and len(s)==5):
        return 'SF'
    if 4 in s.values():
        return '4C'
    if 3 in s.values() and 2 in s.values():
        return 'FH'
    if len(t)==1:
        return 'FL'
    if (all([1 in n,10 in n ,11 in n,12 in n,13 in n]) or
             (max(n)-min(n)==4) and len(s)==5):
        return 'ST'
    if 3 in s.values():
        return '3C'
    if list(s.values()).count(2)==2:
        return '2P'
    if list(s.values()).count(2)==1:
        return '1P'
    return 'BT'

#Kombination berechnen
cards = itertools.combinations(deck,5)
calc_dict = {}
for card in cards:
    role = jadge_role(card)
    if role in calc_dict:
        calc_dict[role] += 1
    else:
        calc_dict[role]  = 1

#Ergebnis
poker_base = math.factorial(52) // (math.factorial(52 - 5) * math.factorial(5))
print(poker_base)
for k,v in sorted(calc_dict.items(),reverse=True,key=lambda x:x[1]):
    print(k,'\t',v,'\t','{0:.10f}%'.format(v/poker_base*100))

2598960

Rolle Anzahl Prozentsatz
BT 1302540 50.12%
1P 1098240 42.26%
2P 123552 4.75%
3C 54912 2.1128%
ST 10200 0.39246%
FL 5108 0.19654%
FH 3744 0.144057%
4C 624 0.024009%
SF 36 0.001385%
RSF 4 0.0001539%

Das Ergebnis ist so.

Der Royal Straight Flush wird berechnet, um ungefähr einmal in ungefähr 640.000 Mal herauszukommen.

Bei "Blitz" und "Gerade" tritt "Gerade" doppelt so häufig auf. Wenn Sie sich also fragen, welche, streben Sie eine Straße mit hoher Wahrscheinlichkeit an. Es kann eine Strategie sein.

Zusammenfassung

Wenn die Wahrscheinlichkeit und der erwartete Wert erhalten werden, kann auch die Rücklaufquote berechnet werden. Gacha usw. sind die gleichen wie Roulette-Spiele usw. Wenn Sie nach der Wahrscheinlichkeit fragen, wie viel Geld sollten Sie investieren, um den Charakter zu gewinnen? Sie können simulieren.

In Spielen und Gachas fragen wir oft nach Wahrscheinlichkeiten und erwarteten Werten. Es kann gut sein zu wissen, wie man verschiedene Wahrscheinlichkeiten berechnet.

36 Tage, bis Sie Ingenieur werden

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

Sie werden in 100 Tagen Ingenieur. ――Tag 65 ――Programmieren ――Über Wahrscheinlichkeit 3
Sie werden in 100 Tagen Ingenieur. ――Tag 64 ――Programmieren ――Über Wahrscheinlichkeit 2
In 100 Tagen sind Sie Ingenieur. ――Tag 71 ――Programmieren ――Über das Schaben 2
In 100 Tagen sind Sie Ingenieur. ――Tag 61 ――Programmieren ――Über Erkundung
In 100 Tagen sind Sie Ingenieur. ――Tag 74 ――Programmieren ――Über das Schaben 5
In 100 Tagen sind Sie Ingenieur. ――Tag 73 ――Programmieren ――Über das Schaben 4
In 100 Tagen sind Sie Ingenieur. ――Tag 75 ――Programmieren ――Über das Schaben 6
In 100 Tagen sind Sie Ingenieur. ――Tag 68 ――Programmieren ――Über TF-IDF
In 100 Tagen sind Sie Ingenieur. ――Tag 70 ――Programmieren ――Über das Schaben
In 100 Tagen sind Sie Ingenieur. ――Tag 81 ――Programmieren ――Über maschinelles Lernen 6
In 100 Tagen sind Sie Ingenieur. ――Tag 82 ――Programmieren ――Über maschinelles Lernen 7
In 100 Tagen sind Sie Ingenieur. ――Tag 79 ――Programmieren ――Über maschinelles Lernen 4
In 100 Tagen sind Sie Ingenieur. ――Tag 76 ――Programmieren ――Über maschinelles Lernen
In 100 Tagen sind Sie Ingenieur. ――Tag 80 ――Programmieren ――Über maschinelles Lernen 5
In 100 Tagen sind Sie Ingenieur. ――Tag 78 ――Programmieren ――Über maschinelles Lernen 3
Sie werden in 100 Tagen Ingenieur. ――Tag 84 ――Programmieren ――Über maschinelles Lernen 9
In 100 Tagen sind Sie Ingenieur. ――Tag 83 ――Programmieren ――Über maschinelles Lernen 8
In 100 Tagen sind Sie Ingenieur. ――Tag 77 ――Programmieren ――Über maschinelles Lernen 2
In 100 Tagen sind Sie Ingenieur. ――Tag 85 ――Programmieren ――Über maschinelles Lernen 10
Sie werden in 100 Tagen Ingenieur - Tag 34 - Python - Python-Übung 3
Sie werden in 100 Tagen Ingenieur - 31. Tag - Python - Python-Übung 2
Sie werden in 100 Tagen Ingenieur - Tag 86 - Datenbank - Über Hadoop
Sie werden in 100 Tagen Ingenieur. ――Tag 24 ―― Python ―― Grundlagen der Python-Sprache 1
Sie werden in 100 Tagen Ingenieur. ――Tag 30 ―― Python ―― Grundlagen der Python-Sprache 6
Sie werden in 100 Tagen Ingenieur. ――Tag 25 ―― Python ―― Grundlagen der Python-Sprache 2
In 100 Tagen sind Sie Ingenieur. ――Tag 60 ――Programmieren ――Über Datenstruktur und Sortieralgorithmus
Sie werden in 100 Tagen Ingenieur - 29. Tag - Python - Grundlagen der Python-Sprache 5
Sie werden in 100 Tagen Ingenieur - Tag 33 - Python - Grundlagen der Python-Sprache 8
Sie werden in 100 Tagen Ingenieur - 26. Tag - Python - Grundlagen der Python-Sprache 3
Sie werden in 100 Tagen Ingenieur - Tag 35 - Python - Was Sie mit Python tun können
Sie werden in 100 Tagen Ingenieur - Tag 32 - Python - Grundlagen der Python-Sprache 7
Sie werden in 100 Tagen Ingenieur - 28. Tag - Python - Grundlagen der Python-Sprache 4
Sie werden in 100 Tagen Ingenieur. ――Tag 67 ――Programmieren ――Über morphologische Analyse
Sie werden in 100 Tagen Ingenieur. ――Tag 66 ――Programmieren ――Über die Verarbeitung natürlicher Sprache
Wenn Sie eine Lotterie mit einer Chance von 1% ziehen, 100 Mal hintereinander zu erscheinen, werden Sie dann einmal gewinnen?
Wenn Sie View decorator in urls.py in Django schreiben, ist die Liste höher.
Wenn in der Funktion eine Ausnahme auftritt, wird diese an den Anrufer 2 übertragen
Wenn in der Funktion eine Ausnahme auftritt, wird diese an den Anrufer 1 übertragen