SatuRno17
Super Member >PLATINUM<
ciao a tutti, in questo thread provo a cercare affinità tra numeri generati da PRNG e numeri del lotto. Un prng è un algoritmo deterministico che crea una sequenza di numeri con proprietà statistiche simili a quelle dei numeri casuali, partendo da un valore iniziale detto seed. Con lo stesso seed, il PRNG produce sempre la stessa identica sequenza di numeri. Come ho scritto da altre parti, il lotto è un TRNG cioè è un sistema che genera numeri casuali sfruttando un fenomeno fisico realmente imprevedibile (il mescolamento delle palline con getto d'aria), anziché una formula matematica. Quindi come tutti i "metodi" sviluppati per questo gioco, è una perdita di tempo...ma per chi è appassionato di numeri invece... è un passatempo divertente.
ho scritto un primo abbozzo di codice python che condivido insieme all'archivio che è in formato csv e perciò ho dovuto aggiungere l'estensione txt sperando che non rovini il file.
in questo caso il prng è il MT di python e il mescolamento è semplicemente random.shuffle() ma ci sono tanti tantissimi altri modi per mescolare una lista di 90 elementi.
ho scritto un primo abbozzo di codice python che condivido insieme all'archivio che è in formato csv e perciò ho dovuto aggiungere l'estensione txt sperando che non rovini il file.
in questo caso il prng è il MT di python e il mescolamento è semplicemente random.shuffle() ma ci sono tanti tantissimi altri modi per mescolare una lista di 90 elementi.
Python:
import csv
class clsArchivio:
def __init__(self,file_path):
self.file_path = file_path
self.estrazioni = []
self.date = []
def carica(self):
try:
with open(self.file_path,newline="") as csvfile:
lettore = csv.reader(csvfile,delimiter=";")
for riga in lettore:
self.date.append(riga[0])
ruote=[]
for i in range(1,55+1,5):
ruote.append([int(x) for x in riga [i:i+5]])
self.estrazioni.append(ruote)
except Exception as e:
print(f"Errore nel caricamento dell'archivio !")
archivio = clsArchivio("archivio.csv")
archivio.carica()
ruote = ["Bari","Cagliari","Firenze","Genova","Milano","Napoli","Palermo","Roma","Torino","Venezia","Nazionale"]
import random
seed = 0
random.seed(seed)
print(f"Seed utilizzato: {seed}")
for ruota in range(0,10+1):
valori_uguali, estratti_rnd = [], []
for estrazione in archivio.estrazioni:
numeri = [x for x in range(1,91)]
random.shuffle(numeri)
estratti_rnd = numeri[0:5]
valori_uguali.append(len(set(estrazione[ruota]) & set(estratti_rnd)))
affinità = sum(valori_uguali)/len(valori_uguali)
print(f"{ruote[ruota]} aff: {affinità}")