Script per gioco del Lotto

danseamidi
Salve sono un appassionato del gioco del lotto e pur ritendendomi molto esperto in materia non sono in grado di elaborare script per le mie ricerche statistiche.
Avrei bisogno anche dietro compenso di script a riguardo ad esempio le 30 cinquine per la sorte di ambo su ruota la cui somma dei singoli ritardi di ciascun ambo dei 10 componibili con una cinquina è più elevata.
Esempio cinquina 1-2-3-4-5

Ambo 1-2: rit
Ambo 1-3: rit
Ambo 1-4: rit
Ambo 1-5: rit
Ambo 2-3: rit
Ambo 2-4: rit
Ambo 2-5: rit
Ambo 3-4: rit
Ambo 3-5: rit
Ambo 4-5: rit

Il valore che cerco è dato dalla somma dei 10 ritardi.
Questo per le oltre 43 milioni di cinquine componibili con 90 numeri.
Grazie mille!

Risposte
hamming_burst
Prima cosa, questo forum non è un forno di risoluzioni a problemi, ti si può dare un'idea, non la soluzione. Evita queste frasi in futuro: "Avrei bisogno anche dietro compenso di script". Se fai queste offerte, mettile nella sezione Annunci Cerco e Offro

vediamo:
cerca di spigare meglio il problema. Cosa intendi per ritardi?
cosa vuoi dire con: "10 componibili con una cinquina è più elevata."
intendi distribuzione o permutazioni? alcune cose non dicono nulla...
sicuramente se lo spieghi meglio ti si può dare na mano :-)

Umby2
La complessità del codice non è alta, non mi sembra nulla di che.
Il problema potrebbe essere il tempo di elaborazione altissimo.

Ti consiglio di fare prima un ciclo di elaborazione dove per ogni coppia, memorizzi il ritardo,
e poi un secondo ciclo dove scelta la cinquina di riferimento, vai a prelevarti il ritardo delle 10 coppie che formano la cinquina stessa.

danseamidi
Ad esempio la cinquina per ambo sulla ruota di Milano 21-22-25-83-87 ritardo cronologico minimo 100 estrazioni presenta i seguenti ritardi:

21-22: 1339
21-25: 679
21-43: 2619
21-87: 1757
22-25: 100
22-43: 1291
22-87: 1409
25-43: 3310
25-87: 731
43-87: 2206

Somma dei ritardi dei 10 ambi che compongono la cinquina: 15441 da cui Rmedio= 1544,1

Dalle ricerche che ho fatto sono praticamente certo che sia quella con il Rm + alto, chiaramente per esserne sicuro avrei bisogno di uno script che mi classifichi diciamo le prime 10.

hamming_burst
ok, adesso è più chiaro il problema.
"ritardo" può avere diversi significati.

il problema come dice bene Umby, non è difficile, ma è fisicamente difficile trovare una soluzione in tempi umani.
Fatti due conti e capirai perchè, secondo me (se non vedo male) la complessità del problema è superpolinomiale, lo spazio di ricerca è davvero grande, poi i dati memorizzatti non ne parliamo...
perciò se vuoi cose appossimazioni devi usare algoritmi specifici e studiati per il problema, se usi algoritmi naive con il computer di casa ti ci fai due risate ad aspettare...

poi non so che ricerche tu debba fare, ma devi usare algoritmi studiati ad hoc, non script banali...

Umby2
"ham_burst":


poi non so che ricerche tu debba fare, ma devi usare algoritmi studiati ad hoc, non script banali...


ma sicuramente per vincere a lotto, giocando sui ritardi. :-D

Cmq, in rete si trovano i database delle estrazioni.
Ho fatto qualche ricerca tempo fa, su un argomento simile sulla ruota di Napoli.

http://www.matematicamente.it/forum/il-lotto-a-napoli-t38004.html

hamming_burst
wow che lavoretto Umby :-)

ma allora sono io che ho travisato il problema, forse è perchè ho pensato a tutte le possibili permutazioni di una cinquina su 99 numeri, e poi calcolare su ogni coppia i loro ritardo.
Ma con 4000 estrazioni per me è ancora disumano...forse come massima distanza 100 dai è meglio...

poi per viencere al lotto...scusa ma che azzata (pensiero personale)...

per il problema è anche bello ragionarci :-)

danseamidi
Ecco un esempio di script

Sub main()
Dim n(2),ru1(1),ru2(1),ru3(1),ru4(1),ru5(1),ru6(1),ru7(1),ru8(1),ru9(1),ru10(1),mt(4005,24)
r1=1:r2=2:r3=3:r4=4:r5=5:r6=6:r7=7:r8=8:r9=9:r10=10
ru1(1)=r1:ru2(1)=r2:ru3(1)=r3:ru4(1)=r4:ru5(1)=r5:ru6(1)=r6:ru7(1)=r7:ru8(1)=r8:ru9(1)=r9:ru10(1)=r10

For i=1 To 89
n(1)=i
For j=i+1 To 90
n(2)=j
co=co+1
rt1=SerieRitardo(1,EstrazioneFin,n,ru1,2)
rt2=SerieRitardo(1,EstrazioneFin,n,ru2,2)
rt3=SerieRitardo(1,EstrazioneFin,n,ru3,2)
rt4=SerieRitardo(1,EstrazioneFin,n,ru4,2)
rt5=SerieRitardo(1,EstrazioneFin,n,ru5,2)
rt6=SerieRitardo(1,EstrazioneFin,n,ru6,2)
rt7=SerieRitardo(1,EstrazioneFin,n,ru7,2)
rt8=SerieRitardo(1,EstrazioneFin,n,ru8,2)
rt9=SerieRitardo(1,EstrazioneFin,n,ru9,2)
rt10=SerieRitardo(1,EstrazioneFin,n,ru10,2)
s=rt1+rt2+rt3+rt4+rt5+rt6+rt7+rt8+rt9+rt10

mt(co,1)=co
mt(co,2)=n(1)
mt(co,3)=n(2)
mt(co,4)=SiglaRuota(r1)
mt(co,5)=rt1
mt(co,6)=SiglaRuota(r2)
mt(co,7)=rt2
mt(co,8)=SiglaRuota(r3)
mt(co,9)=rt3
mt(co,10)=SiglaRuota(r4)
mt(co,11)=rt4
mt(co,12)=SiglaRuota(r5)
mt(co,13)=rt5
mt(co,14)=SiglaRuota(r6)
mt(co,15)=rt6
mt(co,16)=SiglaRuota(r7)
mt(co,17)=rt7
mt(co,18)=SiglaRuota(r8)
mt(co,19)=rt8
mt(co,20)=SiglaRuota(r9)
mt(co,21)=rt9
mt(co,22)=SiglaRuota(r10)
mt(co,23)=rt10
mt(co,24)=s

Next
Next
OrdinaMatrice mt,-1,24

For x=1 To 30
Scrivi Format2(mt(x,2))&"."& Format2(mt(x,3))&" "&mt(x,4)&" "& _
FormatSpace(mt(x,5),4,1)&" "&mt(x,6)&" "&formatspace(mt(x,7),4,1)&" "& _
mt(x,8)&" "&formatspace(mt(x,9),4,1)&" "&mt(x,10)&" "& _
FormatSpace(mt(x,11),4,1)&" "&mt(x,12)&" "&formatspace(mt(x,13),4,1)&" "& _
mt(x,14)&" "&formatspace(mt(x,15),4,1)&" "&mt(x,16)&" "& _
FormatSpace(mt(x,17),4,1)&" "&mt(x,18)&" "&formatspace(mt(x,19),4,1)&" "& _
mt(x,20)&" "&formatspace(mt(x,21),4,1)&" "&mt(x,22)&" "& _
FormatSpace(mt(x,23),4,1)&" "&formatspace(mt(x,24),4,1)
Next
End Sub

Umby2
Non è che abbia capito tutto quello che hai scritto, ma io andrei in una direzione completamente diversa.

Rispondi
Per rispondere a questa discussione devi prima effettuare il login.