Posts written by stef72

view post Posted: 28/12/2022, 22:49     +1Ricerca non euristica di lunghette vergini per minimo fissato - SISTEMI E SISTEMISTICA
A questo punto vi chiederete perché ragionare in questa maniera...Che non si capisce niente, non ci sono nemmeno le date dei concorsi e per sapere che numero è uscito bisogna pure usare il mouse per salire su e vedere in quale colonna è stato messo il segno 1 che abbiamo davanti.

Intanto secondo me occorre stabilire dei parametri che magari poi diventeranno variabili, ma che adesso poniamo essere fissi per la nostra ricerca. Quindi stabiliamo che vogliamo cercare una lunghetta di 9 numeri, ovvero una novina, che abbia la caratteristica di non aver totalizzato mai, in nessuna delle estrazioni …3 punti o più di tre punti.

Cioè sia dato che per la nostra ricerca stiamo cercando una novina vergine per tre punti sulle 2093 estrazioni.

A questo punto è il momento di iniziare a applicare un algoritmo.

La ricerca verrà effettuata un numero per volta (della novina da costruire).
Per descrivere il funzionamento non inizierò dal numero uno, per poi provare a aggiungere il due, poi il tre, e magari fare un passo indietro…e così via, come poi probabilmente farà il programma nel suo percorso prestabilito, ma, per evidenziare i punti cruciali, prenderò un momento dell’elaborazione a noi conveniente per capire proprio il fulcro del procedimento.
Pensiamo di aver provato già alcuni passi e di aver quindi escluso le prime combinazioni secondo un certo ordine e che quindi sia arrivato il momento di provare i prossimi numeri inziali che sono il 2, assieme al 31
jpg
Io ho scelto di evidenziare con sfondo verde l’intera colonna corrispondente al numero selezionato (per selezionare l’intera colonna basta cliccare in cima alla colonna per evidenziarla tutta e poi cambiare i colore)
Quindi abbiamo selezionato i primi due numeri di quella che sarà la novina candidata e che speriamo soddisfi il criterio di non aver totalizzato tre punti.
Ora cosa succede…

(Forse ho dimenticato di attivare la funzione di filtro in Excel sul foglio che ho allegato, ma se serve chiedete pure come fare o se necessario cambio l’allegato)
e0)Superelalotto nr.2093 (primi due num scelti + a


Attiviamo il filtro in modo da farci mostrare solo le righe della matrice che hanno 1 in quella colonna (l’operazione del filtro in figura deve essere applicata contemporaneamente sial per il numero 2 sia per il 31)
Vedremo a video la seguente situazione:
jpg
Potrebbe sembrare insignificante, ma è proprio qui che otteniamo l’informazione che facilita l’intero il lavoro:
In pratica così riusciamo a mettere la macchina in grado di escludere a priori alcuni passi e permettere di contrassegnare alcune scelte come mosse proibite, invece di effettuarle indiscriminatamente tutte quelle possibili.
jpg
Perché se il computer fosse libero di perdere tempo a scegliere di provare come terzo numero della novina, il numero 4, sarebbe arrivato a comporre (2 4 31) per fare la novina, ma allora l’estrazione nr 980 avrebbe totalizzato 3 punti (facendo la somma degli 1 in orizzontale) e questo abbiamo stabilito essere uno dei risultati che deve essere evitato.

gif


Certamente qualcuno di voi avrà già progredito nel discorso, ma ancora non è chiaro perché questo metodo, secondo me, porterebbe dei vantaggi enormi in termini di tempo di elaborazione anche in presenza di input molto più grandi (penso si possa chiedere più dei nove numeri come la novina del nostro esempio, ma anche che non totalizzi non tre punti, ma quattro, cinque ecc, quale punteggio da non realizzare).

gif



Edited by stef72 - 29/12/2022, 11:43
view post Posted: 28/12/2022, 19:04     +2Ricerca non euristica di lunghette vergini per minimo fissato - SISTEMI E SISTEMISTICA
Ciao Forum,
apro questo thread per discutere su un algoritmo per la ricerca di lunghette, ovvero combinazioni di numeri di lunghezza fissata (ad esempio nove numeri, ovvero novine) che abbiano una determinata caratteristica: proveremo a cercare le lunghette che non hanno mai fatto 3 punti ( e naturalmente neanche più di tre punti) in un certo intervallo di combinazioni. Inizialmente prenderemo alcune estrazioni di sei numeri del superenalotto. Ma vogliamo che l'algoritmo sia alternativo al procedimento tramite forza bruta (che esamina tutte, una per una dalla prima all’ultima, sequenzialmente tutte le possibili soluzioni al fine di individuare quella o quelle cercate).
Ricordo che per seguire meglio questo discorso è bene rileggere quella dozzina circa, di post passati nei quali abbiamo avuto modo di fare le prime valutazioni e i primi esperimenti.
Abbiamo iniziato a parlare di questo argomento replicando a un intervento del prof Di Guida su una discussione avviata da sasalino.
I post sono visionabili dal punto a cui si accede dal seguente link in poi sino almeno alla data di oggi, in ordine cronologico verso il basso:
#entry459776457

Detto questo,
devo ammettere che attualmente non so se la mia idea è buona.
Ma sono certo che mi pare ragionevole confrontarmi con altri esperti. Ho fatto solo un paio di prove simulando le mosse di un software che deve seguire delle istruzioni precise e formali senza curarsi di quello che sta cercando. Quindi dopo poco mi sono stancato senza produrre niente se non alcuni appunti da cui poter riprendere il filo il giorno seguente.
Potrebbe però essere un metodo valido e dare origine a uno strumento utile anche in futuro e quindi pensavo che magari, se servirà scambiare qualche battuta insieme, si potrebbe dedicare questo primo post della discussione all'introduzione del materiale necessario in partenza in modo che, rimanendo in alto a questa pagina, sia facile da reperire in un secondo momento.
Quindi posto in allegato:
- Il file di testo con le 2093 estrazioni del superenalotto (che vanno dal 02 luglio 2009 la prima riga in alto, sino al 24 dicembre 2022 l’ultima riga in fondo al file), in modo da fare riferimento a queste evitando di incartarci con archivi differenti e discordanti.
- Poi serve il file Excel che ho preparato per fare le prove. Contiene le estrazioni di cui sopra, ma in formato di matrice booleana. Nella prima riga in alto si può leggere la prima estrazione (12 13 38 46 47 72) la quale invece che essere scritta coi numeri naturali è espressa sotto forma di una sequenza di 90 bit dove 1 significa che il corrispondente numero di quella colonna è uscito in quella estrazione; mentre 0 oppure cella vuota significa che il numero non è presente.
Mi pare si chiami, oltre che genericamente “boolean matrix” o “bit matrix”, più tecnicamente “adjacency matrix”, ma mi riservo di appurare la corrispondenza di quest'ultimo termine successivamente.
Infine, siccome il file Excel è lungo la bellezza di 32 pagine, posto qui sotto un’elaborazione grafica in cui si vedono solo le estremità della suddetta matrice booleana, in modo che si possa più facilmente esaminare in generale come è strutturato tale file.. Al centro la matrice è spaccata in quattro e tre puntini stanno a indicare la continuità dell’elaborato
jpg
Si noti che le prime due righe, in assoluto in alto, contengono:
la prima in blu, la somma delle volte in cui quel numero è uscito nelle2093 estrazioni (che è anche detta “frequenza” di quel numero nelle 2093 estrazioni
in esame) in pratica non è altro che la somma dei segni 1 in verticale.
La seconda in verde, facilita la lettura riportando il numero stesso da 1 a 90 cui quella colonna si riferisce.
La prima colonna, in arancio, invece, come è facile intuire riporta il numero del relativo concorso che ho numerato da 1 a 2093 per semplicità.

E’ più facile a farsi che a dirsi!

Per adesso però dobbiamo fare una pausa e vederci per la descrizione delle mosse da fare secondo l’algoritmo col prossimo post.
Grazie per la lettura.

Edited by stef72 - 29/12/2022, 13:38
view post Posted: 28/12/2022, 17:36     Piccole curiosità - SUPERENALOTTO & WinForLife
Ok, il tempo (un oretta) di riorganizzare le idee e faccio il thread apposito. Il discorso è davvero semplice. Si potrebbe replicare anche con carta e penna volendo, ma sarebbe un po' troppo lento ai tempi d'oggi:)
view post Posted: 28/12/2022, 15:11     +1Piccole curiosità - SUPERENALOTTO & WinForLife
CITAZIONE (stef72 @ 27/12/2022, 08:15) 
...
______________________________________________________________________________________________________________________________________________________
Devo aggiungere che da ieri (ma sono super impegnato con dei problemi di motori allo scooter e altre complicazioni in famiglia) sto provando un nuovo algoritmo da
applicare a questo problema.
Questo dovrebbe funzionare anche con formazioni superiori alle novine, senza incorrere in tempi mostruosi.
Sto facendo delle prove a mano con Excel e devo dire che già da subito saltano fuori degli aspetti che ora riesco a vedere e appaiono scontati e rendono la ricerca davvero molto più intelligente, ma soprattutto fattibile in tempi ragionevoli.
Ve lo accennerei già da adesso, ma preferirei parlarne inizialmente in un gruppo ristretto, per poi fornire a tutti gli utenti direttamente il risultato finale dell studio.
Fatemi sapere se vi interessa.

Buon proseguimento delle feste di Natale.
Stefano

Vorrei esporre la mia idea sull'algoritmo di ricerca perché ho proprio l'impressione possa far nascere qualcosa di interessante!
Mi sarei anche messo a abbozzare un programmino da solo, ma attualmente ho grosse difficoltà nel disporre di un pc con gli strumenti di programmazione in ordine e sempre pronti all'uso. Poi a fare tutto da solo rischio l'esaurimento :P, ma il progetto è già completo si tratta solo di confermarlo, perfezionarlo e eventualmente fare alcune prove pratiche.
Quindi come già detto si potrebbe fare un gruppo temporaneamente ristretto per avviare il discorso e risolvere i primi dettagli tecnici.
Così poi quando si inizia a intravvedere qualcosa, a meno che io non abbia preso un grosso abbaglio e mi fate subito notare cosa mi ha illuso ;) , solo quando diventa interessante per tutti potremmo pubblicare qualche risultato. Che ne dite?
ho pensato come introdurre il discorso che non dovrebbe essere complicato per nessuno da spiegare, ma coi mezzi del Forum si rischia di nn essere capiti chiaramente. Nel senso che sarebbe molto più semplice a parole :)

Ora devo approfittare di questo ultimo paio d'ore di luce per concludere, spero, un lavoretto qui fuori.
Poi, non so, più tardi, in caso di indicazioni contrarie qui o per PM potrei anche pensare di aprire un comune thread nella sezione sistemistica senza alcuna limitazione.
Ciao
view post Posted: 28/12/2022, 09:34     +1sono 56 i terni mai sortiti - LOTTO
Mi scuso in anticipo col prof Di Guida se stava per aggiornare lui i risultati del Lotto e lo sto precedendo :) ,ma mi preme osservare come hanno funzionato gli accorpamenti.

Le 37 terzine iniziali, lasciate tali come le ha prodotte la statistica del prof, hanno realizzato: 3 Ambi (Firenze, Torino, Venezia)
La vincita avrebbe quindi dato un ritorno di € 83,33 (ambo in terzina) * 3 / 10 = € 25

Per i raggruppamenti è andata meglio, perché hanno dato origine anche al terno in un paio di casi. Rivediamoli:

CITAZIONE (stef72 @ 25/12/2022, 19:47) 
Ho raggruppato i 37 terni vergini in questo modo:

36 quartine ---> 7 Ambi + 1 Terno (3A+1T Firenze, 2A Torino, 1A Venezia, 1A Nazionale)
20 cinquine ---> 8 Ambi (1A Bari, 1A Cagliari, 1A Firenze, 1A Roma, 2A Torino, 2A Venezia)
18 sestine -----> 8 Ambi (1A Cagliari, 1A Firenze, 2A Milano, 1A Palermo, 1A Roma, 1A Torino, 1A Venezia)
13 settine -----> 6 Ambi (1A Cagliari, 1A Firenze, 1A Roma, 1A Torino, 2A Venezia)
12 ottine ------> 5 Ambi (2A Cagliari, 1A Firenze, 1A Torino, 1A Venezia)
10 novine -----> 7 Ambi (1A Bari, 1A Firenze, 1A Palermo, 1A Roma, 2A Torino, 1A Venezia)
9 decine -------> 9 Ambi + 1 Terno (1A Bari, 1A Cagliari, 1A Firenze, 1A Napoli, 2A Torino, 3A+1T Venezia)
:)

Sarebbe interessante vedere se qualcuno riesce a battere anche uno solo dei miei raggruppamenti ;P

Naturalmente, per la stima di ciascuna vincita, c'è da considerare la Tabella delle Vincite del gioco del Lotto che prevede importi via via più elevati quando il punteggio è ottenuto giocando meno numeri sulla stessa schedina.
Nel dettaglio, si moltiplica l'importo giocato, come previsto dalla Tabella Premi del gioco del Lotto, in base a quanti numeri sono stati contrassegnati sulla stessa schedina:tabella-vincite-lotto CUT 50%+50+75%(clicca sulla miniatura per ingrandire)

Perciò, ad esempio, la vincita realizzata su Firenze da una delle colonne del raggruppamento in quartine:
05 27 58 85 Totale: 5A 1T ---> [3A+1T Firenze, 1A Venezia, 1A Nazionale]
avrebbe fruttato
€ 1.125,00 (terno in quartina) / 10 ruote = € 112,50
+
€41,67 (ambo in quartina) * 5ambi / 10 ruote = € 20,83

Mentre sempre il terno realizzato però in una delle decine avrebbe reso un importo decisamente più modesto.

Per chi non ha dimestichezza con queste cose ricordo che i raggruppamenti derivano direttamente dalle terzine iniziali in quanto contengono le stesse che sono semplicemente riorganizzate in formazioni di numeri più lunghe. Perciò anche i punti realizzati dipendono dalla buona selezione di esse in principio.
view post Posted: 27/12/2022, 08:15     +1Piccole curiosità - SUPERENALOTTO & WinForLife
CITAZIONE (Giovanni A. (a.k.a. krypta) @ 26/12/2022, 10:59) 
Ciao Stefano,

non mi sono fermato ma purtroppo non ho messo un timer che mi dicesse alla fine quanto ci abbia messo. Sul pc di mio figlio credo circa 3 ore.
Ho sfruttato la nuova versione del .Net 7 che permette di gestire numeri fino a 128bit.
Questo è il pezzo di codice che fa il grosso del lavoro.
CODE
//
CODICE
// metto a 1 tutti i bit da 1 a 90
per curiosità, il numero che si ottiene è 1.237.940.039.285.380.274.899.124.223
UInt128 top = GetTop(90);

HashSet<UInt128> b9 = new(); // conterrà le novine vergini senza doppioni

// la variabile _rows contiene le combinazioni vincenti
// memorizzo le sestine vergini
Combinator c6 = new(top, 6);
UInt128 b6 = 0;
List<UInt128> b6v = new();
while ((b6 = c6.Next()) != 0)
{
       bool found = false;
       for (int i = 0; i < _rows.Length; i++)
       {
               if (BitCount128(b6 & _rows[i]) > 2)
               {
                       found = true;
                       break;
               }
       }
       if (!found)
               b6v.Add(b6); // sestina vergine
}
UInt128[] arrb6v = b6v.ToArray();

// memorizzo le terzine vergini
Combinator c3 = new(top, 3);
UInt128 b3 = 0;
List<UInt128> b3v = new();
while ((b3 = c3.Next()) != 0)
{
       bool found = false;
       for (int i = 0; i < _rows.Length; i++)
       {
               if ((b3 & _rows[i]) == b3)
               {
                       found = true;
                       break;
               }
       }
       if (!found)
               b3v.Add(b3); // terzina vergine
}
UInt128[] arrb3v = b3v.ToArray();

// per ogni sestina vergine
for (int i6 = 0; i6 < arrb6v.Length; i6++)
{
       UInt128 v6 = arrb6v[i6];
       // per ogni terzina vergine
       for (int i3 = 0; i3 < arrb3v.Length; i3++)
       {
               UInt128 v3 = arrb3v[i3];
               // se non hanno numeri in comune
               if ((v6 & v3) == 0)
               {
                       // compongo la novina
                       UInt128 v9 = v6 | v3;
                       bool found = false;
                       // controllo che non faccia più di 2 punti con tutte le combinazioni vincenti
                       for (int i = 0; i < _rows.Length; i++)
                       {
                               if (BitCount128(v9 & _rows[i]) > 2)
                               {
                                       found = true;
                                       break;
                               }
                       }
                       if (!found)
                               b9.Add(v9); // novina vergine
               }
       }

}

Non ho controllato se si formano le stesse novine più volte e forse non ne vale nemmeno la pena, nell'hashset si memorizzano comunque senza doppioni.

Sicuramente non è il miglior codice che si possa scrivere ma considerando che l'ho fatto in poche ore dopo l'abbuffata natalizia è già tanto che funzioni :D

Stamattina ho fatto, per curiosità, una prova con la forza bruta, ovvero controllare tutte le 706.252.528.630 novine ma, visto quanto ci mette più o meno a scorrerne 1 miliardo, direi che sul mio pc ci metterebbe circa 16/17 ore, direi 12/13 sul pc di mio figlio. Adesso ho fermato l'elaborazione.

E' un linguaggio molto affascinante e dev'essere potentissimo (vedo che lavori a 128 bit, siamo nel futuro!)
Anche il codice che hai prodotto mi dà l'impressione che sia essenziale e diretto.
Complimenti, sei madrelingua ;-), cose così le avevo viste prima d’ora solo su "Stack Overflow"

L'unica modifica che i potrebbe venire in mente (ma non è una correzione, solo una variante) è che
così come è, di volta in volta produce la novina corrente con lo stesso ciclo controlla che sia valida senza doppi e sempre nello stesso ciclo ne verifica la copertura.
Ora, visto che i tempi sono biblici, potresti valutare di dividere le tre operazioni sopra:
A) Produrre tutte le novine con un ciclo che poi si conclude;
B) Poi, vedere se la moltiplicazione ha prodotto doppi con un ciclo a parte scandendo tutte le novine generate;
C) E infine, con un terzo ciclo sulle novine valide senza doppi verificare la copertura

oppure, in alternativa unire i punti A e B in un unico ciclo e infine con un secondo ciclo fare separatamente la verifica delle novine valide.

Ma credo che cambi poco, anzi magari considerando gli accessi al disco il risultato è anche più lento Il vantaggio sarebbe che ti trovi le novine valide pronte per poi essere verificate magari spezzando il file in più parti.


______________________________________________________________________________________________________________________________________________________
Devo aggiungere che da ieri (ma sono super impegnato con dei problemi di motori allo scooter e altre complicazioni in famiglia) sto provando un nuovo algoritmo da
applicare a questo problema.
Questo dovrebbe funzionare anche con formazioni superiori alle novine, senza incorrere in tempi mostruosi.
Sto facendo delle prove a mano con Excel e devo dire che già da subito saltano fuori degli aspetti che ora riesco a vedere e appaiono scontati e rendono la ricerca davvero molto più intelligente, ma soprattutto fattibile in tempi ragionevoli.
Ve lo accennerei già da adesso, ma preferirei parlarne inizialmente in un gruppo ristretto, per poi fornire a tutti gli utenti direttamente il risultato finale dell studio.
Fatemi sapere se vi interessa.

Buon proseguimento delle feste di Natale.
Stefano
view post Posted: 26/12/2022, 10:15     Piccole curiosità - SUPERENALOTTO & WinForLife
CITAZIONE (Giovanni A. (a.k.a. krypta) @ 26/12/2022, 08:35) 
Confermo le 3 novine

02 18 31 48 49 50 58 70 73
02 20 27 48 64 71 81 82 86
02 31 48 49 50 58 59 70 73

Adesso la sfida è ridurre i tempi di elaborazione :)

Ciao Giovanni,
che significa che confermi? Che non ne hai trovate altre o che ti sei fermato?
Se sei riuscito a provare tutte...tutte le novine originate dalla moltiplicazione sei stato molto veloce. Sia a verificare i punteggi, ma anche a verificare che fossero delle combinazioni strutturalmente valide, cioè senza ripetizioni di numeri.

E' interessante perchè la mole di dati era gigantesca!
Saluti.
view post Posted: 26/12/2022, 07:30     +1sono 56 i terni mai sortiti - LOTTO
CITAZIONE (TarulliG @ 25/12/2022, 20:43) 
(: bel lavoro ;)

=) Mi aspetto che di questi terni ne escano 5 o 6 durante il 2023 ^_^

:rolleyes: Chissà se con il tuo aiuto si riesca a beccarne uno :woot:

:blink: Quali delle 36 quartine contiene 4 terni? ( se ce ne sono )

l'unica quartina che contiene due di questi terni surviver per moltiplicazione risulta : 03 07 12 76

ciao Gianni,
Esatto! nel sistema in 36 quartine coprono tutte un solo terno eccetto la seconda: 03 07 12 76 menzionata da te, che copre ne copre due: 03 07 12 e 03 07 76
Quattro terni per volta (su una stessa colonna) si hanno solo nei raggruppamenti dalle ottine in su.
allego il file con le coperture degli stessi files che ho raggruppato ieri così puoi scegliere la combinazione che copre più terni, tra quelli del Prof. Di Guida.


NOTA: se aveste invece la curiosità di vedere non quanti, ma quali sono i terni che raggruppa ciascuna lunghetta, allora cliccate qui sotto per aprire lo spoiler

si può usare il programma "setaccio v 1.0" (vi ricordo che è l'allegato di questo vecchio post scaricabile cliccando qui).

Si caricano le "37 terzine ancora vergini per almeno un terno sulle dieci ruote" del prof Di Guida, come archivio di combinazioni d filtrare
Si impostando 3 punti come filtro punti
infine si inserisce la lunghetta scelta (una per volta) e si preme il bottone "Filtra"

Come nel seguente esempio:
jpg


Mi raccomando, se di caffè, invece che uno solo, ne dovessi vincere due o tre...siamo qui ad attendere (uno per me e uno per il Prof Di Guida) :woot: ;P :XP: :)
view post Posted: 25/12/2022, 19:47     sono 56 i terni mai sortiti - LOTTO
Ho raggruppato i 37 terni vergini in questo modo:

36 quartine
20 cinquine
18 sestine
13 settine
12 ottine
10 novine
9 decine
:)

Sarebbe interessante vedere se qualcuno riesce a battere anche uno solo dei miei raggruppamenti ;P
view post Posted: 25/12/2022, 18:37     Piccole curiosità - SUPERENALOTTO & WinForLife
CITAZIONE (C-64 @ 25/12/2022, 12:38) 
Alcuni giorni fa avevo letto le curiosità di questa discussione, e mi aveva incuriosito il discorso di come ottenere le novine.
Avevo pensato anche io di partire da formazioni più piccole, ma ho pensato che forse non era la strada giusta... avevo abbozzato
un programmino proprio per la ricerca delle terzine, visto che l'avevo iniziato lo allego, non si sa che può tornare utile a qualcuno.
L'archivo superenalotto l'ho ricavato dal web e contiene tutte le estrazione dal 1939, ma per la ricerca dei terni non usciti si
seleziona una data di inizio e una data finale, alla fine della analisi dell'archivio verranno visualizzati tutti i terni che hanno 0 uscite
nel range di date analizzate.
Buone feste a tutti!

Se lo provi con lo stesso range di estrazioni dovrebbero tornare gli risultati con quelle che ho pubblicato 12 giorni fa, qualche post più indietro:
#entry459772841
view post Posted: 25/12/2022, 10:52     Piccole curiosità - SUPERENALOTTO & WinForLife
Ciao a tutti e Buon Natale,

Siccome abbiamo appurato che scandire tutte le possibili novine dai 90 numeri (706.252.528.630) è, al giorno d'oggi, una cosa non fattibile, stavo pensando a un ALGORITMO ALTERNATIVO per ricavare le novine che non hanno mai fatto 3 punti.

Ho pensato di ragionare in maniera inversa, cioè di costruire le novine a partire da lunghette VERGINI più piccole (delle quali invece, è possibile disporre).

jpg


Visti questi dati sembrerebbe più conveniente tentare di generare novine unendo sestine e terni vergini (tot 73.452.302.084) anche se è sempre un numero molto grande
il problema di questo lavoro è che
- Gran parte delle novine così generate presentano, alcune dei numeri ripetui e quindi devono essere scartate a priori;
- Altre invece, in seguito alla loro unione, danno origine, nella novina, a uno o più terni (che sono usciti nelle estrazioni) e quindi la novina composta non è più vergine per i tre punti come le lunghette prima che venissero unite.
La ricerca fatta così diventa più breve, ma mi pare sia sempre un lavoro fuori dalla mia portata.

Peccato non riesca a produrre le "settine vergini" e non so neanche quante... possano essere... ^_^

Nella speranza che qualcuno abbia qualche idea geniale e volesse tentare di risolvere questo arzigogolo, fornisco il materiale che ho usato io, anche perché può risultare interessante sotto qualsiasi aspetto.

Allego quindi:
il file con le 2093 estrazioni che ho usato (tutti i concorsi dal 02 luglio 2009 al 24 dicembre 2022 compresi)
il file con le sestine vergini
il file con le cinquine vergini
il file con le quartine vergini
il file con le terzine vergini

le dimensioni del file compresso, anche se non è molto grande (circa 7 Mb), superano il limite del forum (0,5 Mb) quindi

L'ALLEGATO E' SCARICABILE CLICCANDO QUI

Buone feste!
view post Posted: 23/12/2022, 21:44     Piccole curiosità - SUPERENALOTTO & WinForLife
Grazie,
era un errore che avevo in un vecchio archivio storico e chissà quante volte mi è sfuggito.
view post Posted: 23/12/2022, 15:23     Piccole curiosità - SUPERENALOTTO & WinForLife
Ciao Giovanni,
si, il verificatore controlla tutte le novine (sono più di 700 miliardi) . Forse avrò esagerato, magari il tuo programma impiega meno di qualche secolo (che avevo stimato come tempo per questa verifica, nel mio post precedente) :).
Ma mi chiedevo se esiste un algoritmo che non usi la forza bruta.
Come, ad esempio, un algoritmo genetico che prenda le terzine vergini e le unisca in modo da formare novine che continuino a essere vergini per il tre.
Andrebbe bene il funzionamento di "Numeri a Coprire" che cerca una lunghetta che copre il più possibile, però facendolo lavorare al contrario...Potrebbe cercare una (o più lunghette) che non coprono per niente le estrazioni caricate in memoria

Allego il file delle 2087 estrazioni menzionato nei post sopra, per le tue verifiche.
760 replies since 9/11/2014