Mathématiques en seconde générale et technologique – Algorithmes

Loi des grands nombres

Observer la loi des grands nombres à l'aide d'une simulation sur Python ou tableur.
def frequences_succes(n, epreuve) :
    compteur = 0
    lf = []
    for k in range(1, n + 1) :
        if epreuve() :
            compteur += 1
        lf.append(compteur / k)
    return lf

import matplotlib.pyplot as plt
def plot(lf, n) :
    plt.figure()
    plt.gca().set_ylim([0, 1])
    plt.gca().yaxis.grid(True)
    plt.scatter(range(n), lf[0:n], c="blue", s=3, zorder=2)
    plt.savefig("figure_{}.svg".format(n))

def run(ln, epreuve) :
    lf = frequences_succes(max(ln), epreuve)
    for n in ln :
        plot(lf, n)
    return lf[-1]
    
from random import random
epreuve = lambda : random() < 0.4
print(run([50, 500, 5000], epreuve))
0.3988
Lionel Avon