[PYTHON] J'ai essayé de simuler combien il en coûterait pour composer un personnage très rare avec la gacha de Soshage

Au début

Quand je regardais YouTube comme d'habitude, un certain soshage m'a demandé: "Combien ça coûte pour terminer un personnage avec une grande rareté? J'ai trouvé une vidéo très dangereuse, alors je l'ai simulée et y ai réfléchi approximativement.

conditions

Des personnages et des équipements d'une rareté de 3 à 5 apparaîtront depuis la Gacha de Soshage. Haut rare ici ne fait référence qu'aux personnages avec des raretés de 4 et 5. Le taux d'émission de chacun et le nombre de caractères de cette rareté

C'est comme ça. On suppose que les caractères de la même rareté apparaîtront avec une probabilité égale.

De plus, au lieu de tourner le gacha une fois, nous tournerons 11 fois comme un ensemble.

Simuler

Je l'ai écrit correctement en python. Il semble que vous puissiez écrire plus efficacement, mais fermez les yeux ()

Gacha.py


money_ave = 0
count_ave = 0
min_money = 1000000000
max_money = 0

for num in range(10000):
    box_5 = np.zeros(34)
    box_4 = np.zeros(59)
    money = 0
    count = 0
    hoshi5_comp = False
    hoshi4_comp = False

    while True:
        for i in range(11):
            a = random.randrange(0, 100)

            if(a == 0):
                hoshi5 = random.randrange(0, 34)
                box_5[hoshi5] += 1
            elif(a <= 4):
                hoshi4 = random.randrange(0, 59)
                box_4[hoshi4] += 1

        for i in range(34):
            if(hoshi5_comp == True):
                break

            if(box_5[i] == 0):
                break

            if(i == 33):
                hoshi5_comp = True

        for i in range(59):
            if(hoshi4_comp == True):
                break

            if(box_4[i] == 0):
                break

            if(i == 58):
                hoshi4_comp = True

        money += 1800
        count += 11


        if(hoshi5_comp and hoshi4_comp):
            break
    
    money_ave += money
    count_ave += count
    
    if(money < min_money):
        min_money = money
    if(money > max_money):
        max_money = money
    

money_ave /= 10000
count_ave /= 10000
print(money_ave)
print(count_ave)
print(min_money)
print(max_money)

résultat

Après 10000 essais, le nombre moyen de révolutions pour atteindre l'objectif était de 14046. Avec ce soshage, 11 stations peuvent être faites pour environ 1800 yens, j'ai donc trouvé qu'il serait possible de compléter un caractère très rare pour environ 2,3 millions de yens.

De toutes les simulations, la moins chère était d'environ 900 000 yens et la plus chère d'environ 7,5 millions de yens.

en conclusion

Je ne pouvais pas penser à une méthode mathématique pour calculer la valeur attendue, alors j'ai essayé de la simuler, mais j'ai ri quand j'ai trouvé que c'était assez énorme. Je suis un contributeur préféré, donc je veux que vous fassiez de votre mieux dans la mesure où vous ne faites pas faillite.

Recommended Posts

J'ai essayé de simuler combien il en coûterait pour composer un personnage très rare avec la gacha de Soshage
J'ai essayé de simuler la propagation de l'infection avec Python
J'ai écrit un doctest dans "J'ai essayé de simuler la probabilité d'un jeu de bingo avec Python"
Un mémorandum lors de l'acquisition automatique avec du sélénium
Quand j'ai essayé de créer un VPC avec AWS CDK mais que je n'ai pas pu le faire
Quand j'ai essayé de créer un environnement virtuel avec Python, cela n'a pas fonctionné
Je veux faire un jeu avec Python
J'ai essayé de générer une chaîne de caractères aléatoire
J'ai créé un jeu ○ ✕ avec TensorFlow
J'ai essayé de créer un projet en utilisant Python sur Docker avec PyCharm, mais cela a fonctionné avec Docker Compose
J'ai essayé de générer automatiquement la chaîne de caractères à entrer dans M. Adjustment avec Python
Les débutants en Python ont créé un chat BOT alors j'ai essayé de résumer comment le faire
J'ai essayé de faire de l'art créatif avec l'IA! J'ai programmé une nouveauté! (Article: Réseau Adversaire Créatif)
Un débutant a essayé de colorier un dessin au trait avec un chainer. J'ai pu le faire.
Comment faire un jeu de tir avec toio (partie 1)
Je veux diviser une chaîne de caractères avec hiragana
J'ai essayé de simuler la méthode de calcul de la moyenne des coûts en dollars
[Git] J'ai essayé de faciliter la compréhension de l'utilisation de git stash en utilisant un exemple concret.
Depuis qu'il y avait Doppelgenger, j'ai essayé de le distinguer avec l'intelligence artificielle (rires) (Partie 2)
J'ai créé un serveur avec socket Python et ssl et j'ai essayé d'y accéder depuis le navigateur
Depuis qu'il y avait Doppelgenger, j'ai essayé de le distinguer avec l'intelligence artificielle (rires) (Partie 1)
J'ai essayé de mettre en œuvre le modèle de base du réseau neuronal récurrent
J'ai essayé de créer automatiquement un rapport avec la chaîne de Markov
Comment faire un simple jeu Flappy Bird avec Pygame
J'ai essayé de résoudre le problème d'optimisation des combinaisons avec Qiskit
J'ai essayé "Comment obtenir une méthode décorée en Python"
J'ai essayé de commencer avec Hy ・ Définir une classe
J'ai essayé de trier une colonne FizzBuzz aléatoire avec un tri à bulles.
J'ai essayé de simuler la probabilité d'un jeu de bingo avec Python
J'ai essayé d'écrire dans un modèle de langage profondément appris
J'ai essayé d'intégrer un réseau d'interaction protéine-protéine dans un espace à deux voies avec Poincarē embarquant de gensim
[5e] J'ai essayé de créer un certain outil de type Authenticator avec python
[2nd] J'ai essayé de créer un certain outil de type Authenticator avec python
[Introduction à Python] Comment fractionner une chaîne de caractères avec la fonction split
[3ème] J'ai essayé de créer un certain outil de type Authenticator avec python
[Python] Un mémo que j'ai essayé de démarrer avec asyncio
J'ai essayé de créer une liste de nombres premiers avec python
J'ai essayé de mettre en œuvre un jeu de dilemme de prisonnier mal compris en Python
J'ai essayé de corriger "J'ai essayé la simulation probabiliste du jeu de bingo avec Python"
J'ai essayé de faire un processus d'exécution périodique avec Selenium et Python
J'ai essayé de créer une application de notification de publication à 2 canaux avec Python
J'ai essayé de créer des taureaux et des vaches avec un programme shell
J'ai essayé de créer une application todo en utilisant une bouteille avec python
[4th] J'ai essayé de créer un certain outil de type Authenticator avec python
[1er] J'ai essayé de créer un certain outil de type Authenticator avec python
J'ai essayé de faire une étrange citation pour Jojo avec LSTM
J'ai essayé de créer un mécanisme de contrôle exclusif avec Go