Cliquez ici jusqu'à hier
Vous deviendrez ingénieur dans 100 jours - Jour 63 - Programmation - À propos de la probabilité 1
Vous deviendrez ingénieur dans 100 jours - Jour 59 - Programmation - À propos des algorithmes
Vous deviendrez ingénieur dans 100 jours --- Jour 53 --Git --À propos de Git
Vous deviendrez ingénieur dans 100 jours - Jour 42 --Cloud --À propos des services cloud
Vous deviendrez ingénieur dans 100 jours-24 jours-Python-Bases du langage Python 1
Vous deviendrez ingénieur dans 100 jours --Jour 18 --Javascript --Les bases de JavaScript 1
Vous deviendrez ingénieur dans 100 jours - Jour 14 --CSS --CSS Basics 1
Vous deviendrez ingénieur dans 100 jours - Jour 6 --HTML - Bases du HTML 1
Pensons au problème de probabilité qui est relativement familier à la programmation.
Je pense que le nombre de classes du primaire et du premier cycle du secondaire est à ce sujet La probabilité qu'il y ait même un groupe de personnes avec le même anniversaire dans une classe de 30 personnes Combien de temps cela prendra-t-il?
Probabilité que même une paire ait le même anniversaire = 1 - Probabilité que l'anniversaire de chacun soit différent
S'il s'agit d'une formule de calcul
Sera.
C'est ennuyeux, alors résolvons-le avec Python.
from functools import reduce
from operator import mul
n = 30
a1 = [i for i in range(365,365-n,-1)]
a2 = [365 for i in range(n)]
print('{:%}'.format(1- reduce(mul, a1)/reduce(mul, a2)))
70.631624%
C'est environ 70%. Si 30 personnes se réunissent, il y a 70% de chances qu'une paire célèbre le même anniversaire.
** Quelle est la probabilité d'avoir jusqu'à 50 personnes? ** **
Les chiffres sont présentés ensemble.
from functools import reduce
from operator import mul
import matplotlib.pyplot as plt
%matplotlib inline
plt.figure(figsize=(16,5))
x,y = [n for n in range(2,51)] , []
for n in x:
a1 = [i for i in range(365,365-n,-1)]
a2 = [365 for i in range(n)]
y.append(1-reduce(mul, a1)/reduce(mul, a2))
plt.bar(x,y)
plt.grid()
plt.show()
40% pour 20 personnes Environ 97% dans une classe de 50 personnes Il semble y avoir quelqu'un avec le même anniversaire.
Si c'est une entreprise, je pense qu'il y a 100 personnes, donc il devrait y avoir des personnes avec presque le même anniversaire.
Si vous frappez avec une chance de 1% lorsque vous dessinez un gacha, il y a une probabilité que vous manquiez 100 fois de suite Combien de temps cela prendra-t-il?
Est-il sûr de frapper parce que je ne tire que ça? !! ?? !!
Probabilité de sortir 100 fois de suite = Probabilité de sortir en tirant une fois ^ (100)
En d'autres termes
est.
Quand je calcule le ratio
print('{:%}'.format((99/100)**100))
36.603234%
Ne pensez-vous pas que cela se produira avec une bonne probabilité?
Est-ce vraiment un triple festival! !! !! Il y a des moments où je pense.
** Combien tirez-vous et quelle est vos chances de gagner? **
Probabilité de frapper = 1-Probabilité de perdre
Alors, réfléchissons au nombre de fois que vous tirez et à combien vous allez gagner.
import matplotlib.pyplot as plt
%matplotlib inline
plt.figure(figsize=(16,5))
x,y = [n for n in range(1,501)],[]
for n in x:
y.append(1-(99/100)**n)
plt.bar(x,y)
plt.grid()
plt.show()
Dans ce cas, si vous tirez 100 fois, 30% se détacheront. Après avoir tiré 200 fois, le coup dépassera finalement les 80%.
Si vous le tirez 500 fois, il semble qu'il ne se détachera presque jamais. Cependant, ce n'est pas un succès sûr, donc si vous n'êtes pas chanceux, vous risquez de vous en sortir.
Y a-t-il vraiment 1% de chances de gagner? Simulons.
Comptez le nombre de fois où vous frappez le gacha 100 fois avec une chance de 1%.
import random
import matplotlib.pyplot as plt
%matplotlib inline
weights = [0.99,0.01]
d = {b:0 for b in range(101)}
for p in range(10000):
a = 0
for i in range(100):
tf = random.choices([False,True], weights=weights)[0]
if tf:
a=i+1
break
d[a]+=1
plt.figure(figsize=(16,5))
x = list(d.keys())
y = list(d.values())
plt.bar(x,y)
plt.grid()
plt.show()
0 est le nombre de personnes qui ont raté, et les autres sont le nombre de fois qu'elles ont frappé.
Avec la probabilité ci-dessus, 36% des personnes seront absentes, donc si c'est 10 000, il y aura environ 3 600 personnes.
Si vous posez un questionnaire à environ 10000 personnes et que le nombre de personnes qui sont hors de cette plage diminue Vous pouvez voir que la probabilité de gacha est manipulée. En premier lieu, il est difficile d'adresser un questionnaire à un grand nombre de personnes.
Il s'agit de baseball. Le vainqueur de la série Japon est celui qui l'a achetée quatre fois en premier, et elle aura lieu sept fois au total. Lorsque la probabilité de gagner ou de perdre est de 50% pour SE et PA Quelle est la probabilité de s'emmêler jusqu'au 7e tour?
Il semble bon de considérer toutes les combinaisons pour trouver la probabilité. Parce que ça se terminera quand 4 victoires ou 4 défaites sortiront Combinaisons qui n'ont pas été jumelées jusqu'à 6 courses
import itertools
p4 = [i for i in itertools.product(['Gagner','négatif'],repeat=4) if i.count('Gagner')==4 or i.count('négatif')==4]#Se termine sur 4 courses
p5 = [i for i in itertools.product(['Gagner','négatif'],repeat=5) if (i[0:4].count('Gagner')<4 and i[0:4].count('négatif')<4) and (i.count('Gagner')==4 or i.count('négatif')==4)]#Se termine dans 5 courses
p6 = [i for i in itertools.product(['Gagner','négatif'],repeat=6) if (i[0:5].count('Gagner')<4 and i[0:5].count('négatif')<4) and (i.count('Gagner')==4 or i.count('négatif')==4)]#Se termine dans 6 courses
p7 = [i for i in itertools.product(['Gagner','négatif'],repeat=6) if i[0:6].count('Gagner')<4 and i[0:6].count('négatif')<4]#Ne se termine pas par 6 courses
print('Se termine sur 4 courses' , len(p4))
for a in p4:
print(' '.join(a))
print('Se termine dans 5 courses' , len(p5))
for a in p5:
print(' '.join(a))
print('Se termine dans 6 courses' , len(p6))
for a in p6:
print(' '.join(a))
print('Ne se termine pas par 6 courses' , len(p7))
for a in p7:
print(' '.join(a))
Termine sur 4 courses 2 Gagner, gagner, gagner, gagner Négatif Négatif Négatif
Termine sur 5 courses 8 Gagner, gagner, gagner, gagner Gagner, gagner, gagner, gagner Gagner, gagner, gagner, gagner Jeu Négatif Négatif Négatif gagnant gagnant gagnant Correspondance négative Négative Négatif Négatif Jeu Négatif Jeu négatif négatif négatif
Encore 6 courses 20 Gagner, gagner, gagner, gagner Gagner, gagner, gagner, gagner, gagner Gagner, gagner, gagner, gagner Gagner Gagner le jeu Négatif Gagner, gagner, gagner, gagner, gagner Gagner, gagner, gagner, gagner Jeu jeu jeu jeu jeu Gagner, gagner, gagner, gagner Jeu Négatif Jeu Négatif Jeu jeu jeu jeu jeu Victoire négative victoire victoire défaite Victoire négative victoire victoire défaite Négatif Victoire Négatif Négatif Victoire négative Victoire négative gagnée Jeu négatif Jeu négatif Négatif Jeu négatif Jeu négatif Negative Negative Win Win Win Négatif Négatif Gagner Négatif Jeu négatif Jeu négatif Jeu négatif Négatif Négatif Négatif Victoire
Ne se termine pas par 6 courses 20 Gagner Gagner Gagner Gagner Négatif Gagner le jeu Gagner le jeu Gagner le jeu Gagner le jeu Win Win Game Defeat Win Jeu jeu jeu jeu jeu Jeu de jeu jeu de jeu Jeu jeu jeu jeu jeu Jeu jeu jeu jeu jeu Jeu jeu jeu jeu jeu Gagner la partie gagner la partie gagner Négatif Win Win Win Négatif Victoire négative Négatif gagne Négatif gagne Jeu négatif Jeu négatif Victoire négative Victoire négative Victoire négative Victoire négative Negative Negative Win Win Win Défaite négative gagnez la défaite Négatif Négatif Victoire Négatif Négatif Négatif Négatif Victoire
Combinaison qui ne se termine pas par 6 courses / Combinaison jusqu'à 6 courses
Compte tenu de la combinaison, «20 / (2 + 8 + 20 + 20)» est 0,4 = 40%.
Compte tenu de la combinaison qui peut être jouée en 7 jeux, la combinaison qui ne se termine pas dans ces 6 jeux Il y a 40 façons, soit deux fois plus que 20.
Considérant que la probabilité de gagner ou de perdre est de moitié
40 voies × (1/2) ^ 7 = 5/16 = 31,25%
Compte tenu de la probabilité, «31,25%» semble aller au 7e tour.
Dans tous les cas, 30% seront emmêlés jusqu'au 7e tour.
Si vous pensez à divers problèmes de probabilité et les intégrez dans le programme Je pense que vous améliorerez votre programmation.
Résolvons divers problèmes.
35 jours avant de devenir ingénieur
HP d'Otsu py: http://www.otupy.net/
Youtube: https://www.youtube.com/channel/UCaT7xpeq8n1G_HcJKKSOXMw
Twitter: https://twitter.com/otupython