* un nombre est dit normal si ses" décimales" dans n'importe quelle base sont équiréparties.wikipedia a écrit:Il est extrêmement difficile de démontrer la normalité de nombres pourtant simples. Par exemple, on ne sait pas siou
sont normaux* (mais des expériences numériques font conjecturer qu'ils le sont). On ne sait même pas démontrer qu'un chiffre donné apparaît une infinité de fois dans le développement décimal de ces constantes.
chiffre occurrences
0 968
1 1026
2 1021
3 974
4 1012
5 1046
6 1021
7 970
8 948
9 1014
total 10000
with open('../Bureau/PI1000000.txt','r') as fichier :
text=fichier.read()
L=text.splitlines()
import matplotlib.pyplot as plt
def Partie(n) :
GainsA=[0]; GainsB=[0]; GainsC=[0]; GainsD=[0]
Scores=10*[0]
precedent=3
retard=0
avance=9
for ligne in L[:n] :
for car in ligne :
chiffre=int(car)
if chiffre==retard : GainsA.append(GainsA[-1]+9)
else : GainsA.append(GainsA[-1]-1)
if chiffre==avance : GainsB.append(GainsB[-1]+9)
else : GainsB.append(GainsB[-1]-1)
if chiffre==0 : GainsC.append(GainsC[-1]+9)
else : GainsC.append(GainsC[-1]-1)
if chiffre==precedent : GainsD.append(GainsD[-1]+9)
else : GainsD.append(GainsD[-1]-1)
Scores[chiffre]+=1
precedent=chiffre
retard=Scores.index(min(Scores))
avance=Scores.index(max(Scores))
return GainsA, GainsB, GainsC, GainsD
GA,GB,GC,GD=Partie(10000)
fig, ax = plt.subplots()
ax.plot(GA, label='Gains A')
ax.plot(GB, label='Gains B')
ax.plot(GC, label='Gains C')
ax.plot(GD, label='Gains D')
ax.set_title("Historique des gains")
ax.legend()
def Succes(G) :
return [(G[k]+k)/10/k for k in range(1,len(G))]
SA=Succes(GA); SB=Succes(GB); SC=Succes(GC); SD=Succes(GD)
fig, ax = plt.subplots()
ax.plot(range(10**5,10**6),SA[10**5:], label='Succès A')
ax.plot(range(10**5,10**6),SB[10**5:], label='Succès B')
ax.plot(range(10**5,10**6),SC[10**5:], label='Succès C')
ax.plot(range(10**5,10**6),SD[10**5:], label='Succès D')
ax.set_title("Historique des fréquences de succès")
ax.legend()
with open('../Bureau/PI1000000.txt','r') as fichier :
text=fichier.read().replace("\n","")
import matplotlib.pyplot as plt
def Occurrences(n,chaine) :
L = 10**n*[0]
for i in range(len(chaine)-n+1) :
L[int(chaine[i:i+n])]+=1
return L
L3=Occurrences(3,text)
_ = plt.hist(L3, bins='auto')
plt.title("Histogramme des nombres d'occurrences\n\
des 1000 suites de 3 chiffres\n\
dans le premier million de décimales de pi")
plt.show()
mini=min(L3)
suitemini=str(L3.index(mini)).zfill(3)
print("suite qui apparaît le moins :",suitemini,\
"avec",mini,"occurrences")
maxi=max(L3)
suitemaxi=str(L3.index(maxi)).zfill(3)
print("suite qui apparaît le plus :",suitemaxi,\
"avec",maxi,"occurrences")
def Basen(n,chaine) :
L = 10**n*[0]
for i in range(len(chaine)//3) :
L[int(chaine[3*i:3*i+n])]+=1
return L
Lbase3=Basen(3,text)
_ = plt.hist(Lbase3, bins='auto')
plt.title("Histogramme des nombres d'occurrences\n\
des 1000 suites de 3 chiffres dans la liste\n\
des 333333 premières tranches de 3 décimales")
plt.show()
moyenne=sum(occ for occ in Lbase3)/len(Lbase3)
print("la moyenne est {:0,.1f}".format(moyenne))
variance=sum((occ-333.333)**2 for occ in Lbase3)/len(Lbase3)
print("la variance est {:0,.1f}".format(variance))
triples=[k*111 for k in range(10)]
Ltriples=[L3[n] for n in triples]
moyenne=sum(occ for occ in Ltriples)/len(triples)
variance =sum((occ-1000)**2 for occ in Ltriples)/len(triples)
print("la moyenne est {:0.1f}".format(moyenne))
print("la variance est {:0.1f}".format(variance))
aba=[k*101+l*10 for l in range(10) for k in range(l)]\
+[k*101+l*10 for l in range(10) for k in range(l+1,10)]
Laba=[L3[n] for n in aba]
moyenne=sum(occ for occ in Laba)/len(aba)
variance =sum((occ-1000)**2 for occ in Laba)/len(aba)
print("la moyenne est {:0.1f}".format(moyenne))
print("la variance est {:0.1f}".format(variance))
autre = lambda n : n not in triples and n not in aba
autres=[n for n in range(10**3) if autre(n)]
Lautres=[L3[n] for n in autres]
moyenne=sum(occ for occ in Lautres)/len(autres)
variance =sum((occ-1000)**2 for occ in Lautres)/len(autres)
print("la moyenne est {:0.1f}".format(moyenne))
print("la variance est {:0.1f}".format(variance))
Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 26 invités
Tu pars déja ?
Identification
Pas encore inscrit ?
Ou identifiez-vous :