Oppure

Loading
26/02/09 19:27
jigen80
A chiunque potesse servire posto l'esempio di calcolo combinatorio che potrebbe meglio chiarire le idee:

Qual è la probabilità di fare "5"?
Io gioco una sestina, ad esempio 10, 20, 30, 40, 50, 60, e "spero che la nella sestina vincente ci siano 5 fra i miei numeri".
I casi possibili sono le sestine non ordinate costruibili coi 90 numeri 1, 2, ... 90, cioè (90|6) mentre i casi favorevoli sono tanti quante le sestine costruibili utilizzando 5 fra i miei 6 numeri, insieme con 1 degli 84 numeri che non ho giocato, cioè (6|5), ovvero 6x84 (6 = numero dei modi in cui, fra i miei 6 numeri, posso sceglierne 5).
La probabilità richiesta è pertanto 6x84/(90|6)=0,000000809 e dunque le combinazioni possibili sono 0,000000809^-1 = 1235347 circa

(Se possedete una calcolatrice TEXAS Instrument l'operazione (90|6) può essere effettuata nel seguente modo:
90 3rd nCr 6

Grazie ancora a tutti
aaa
26/02/09 19:27
theprogrammer
Postato originariamente da jigen80:
Mille grazie ancora per il supporto, a presto.


Se hai notizie sull'algoritmo (non lo conosco dato che non mi interesso di "estrazioni" e giochi simili), diccelo che in poco tempo si scrive il codice ...
aaa
26/02/09 21:12
GrG
ti ho seguito solo nella prima parte LOL
Allora hai questo prog (ora ho capito come funge l'estrazione delle sestine) e generi tutte le sestine possibili, quindi anche se io prendo 6 numeri dalla tombola al 100% la sestina ottenuta è presente tra le varie combinazioni elaborate dal progr...intanto una domanda: i numeri delle sestine generati devono essere per forza in ordine?
esempio:
dalla tombola pesco: 5-62-1-23-40-54

nelle tue combinazioni di sicuro c'è, ma ha importanza l'ordine oppure va bene anche:
1-62-5-23-40-54?

Altra cosa...poi tu dici che vuoi fare la stessa cosa ma con 5 numeri, cioè elaborare tutte le possibili combinazioni di CINQUINE e non + sestine...e fino a qua ok, quindi qual'è il probl?

p.s. Perdonami, ma devo capire le cose bene...xD
aaa
26/02/09 21:23
jigen80
nelle tue combinazioni di sicuro c'è, ma ha importanza l'ordine oppure va bene anche:
1-62-5-23-40-54?

Altra cosa...poi tu dici che vuoi fare la stessa cosa ma con 5 numeri, cioè elaborare tutte le possibili combinazioni di CINQUINE e non + sestine...e fino a qua ok, quindi qual'è il probl?

Tranquillo...siamo qui per questo no!!??!
Allora per quanto riguarda l'ordine, questo sarebbe importantissimo dal punto di vista del mero calcolo combinatorio, ma poichè alla fine le sestine del superenalotto vengono per forza di cose ordinate in maniera crescente allora non ci sono problemi.
Infatti, anche se tu estrai la combinazione 1-62-5-23-40-54 dalla tombola, per me questa è una sestina certamente verificata patto che, come realmente accade nel gioco, questa sia ordinata in senso crescente, e cioè 1-5-23-40-54-62. Quindi l'ordine delle sestine da me generate è sempre dal numero + piccolo a quello + grande.
Per quanto riguarda il secondo punto, io non voglio generare le cinquine (sarebbe banale, infatti basterebbe togliere il primo ciclo for e risistemare i contatori) bensì vorrei che, dalla sestina da me estratta, vi sia la certezza di fare 5 e non 6 come nel programmino.Il 6 può accadere solo come "fatto straordinario"...non so se ora mi capisci!!
aaa
27/02/09 12:28
GrG
...vi sia la certezza di fare 5 e non 6...


non ho capito questa frase...lol cerca di farmi degli esempi...cmq almeno adesso so che l'ordine nn ha importanza :rotfl:
aaa
27/02/09 13:01
tippolo
Postato originariamente da jigen80:


Per quanto riguarda il secondo punto, io non voglio generare le cinquine (sarebbe banale, infatti basterebbe togliere il primo ciclo for e risistemare i contatori)

Invece credo che la riduzione del sistema ad n-1 (cinquina) sia proprio quello.
Se ho ben capito tu vuoi fare un sistema al superenalotto che ti dia la garanzia del 5, o ho capito male?
aaa
27/02/09 14:15
P4p3r0g4
allora definiamo



A = {1,2,3..,90}

E = {e1,e2,e3,e4,e5,e6}

N = {n1,n2,..,nj} (j numero di elementi di N)

E c A
N c A

inoltre per ipotesi

E c N


-----
A insieme numeri lotto
E estrazione
N insieme dei numeri che vuoi giocare (puoi anche volere giocare tutti e 90 i numeri) e dei quali vuoi essere sicuro al 100% che se di questi numeri ne escono 6([Hp] E c N) con le combinazioni che ti daro` hai ottenuto almeno una cinquina.

Ragionamento.

avere la certezza di una cinquina equivale a dire che qualsiasi elemento di N {nk} deve incontrare almeno tutti gli altri elementi di N meno uno
in quanto
se nk incontra tutti gli elementi di N meno due {a,b}, nel caso che escano nk, a e b la cinquina non si realizza.
quindi il numero massimo di numeri che posso non fare incontrare a n e` 1(+banalmente se stesso)
chiamo questo numero nh.
adesso anche nh appartine a N e quindi anche lui puo incontrare tutti meno 1, ma visto che non puo gia incontrare nk, l'unico numero che non puo incontrare si riduce proprio a questo.
quindi riassumendo
esistono [j/2] coppie di numeri appartenenti a N con le quali non vanno costruite combinazioni.

ora passando all'algoritmo.
creo una collection(o un array) N di elementi che conterra` i numeri che voglio giocare.
la mischio in modo che i numeri non siano distribuiti in ordine crescente ma in modo casuale.

ora visto che sono scombinati associo ogni elemento con il suo simmetrico alla fine della collection.
n1 lo associo a nj
n2 lo associo a n(j-1)
n3 ecc.

si noti che se j e` dispari l'elemento centale sara` associato con se stesso.
e` ok perche come abbiamo dimostrato prima non puo essere associato con nessun altro a meno di rompere il 100% di uscita.

adesso creo 6 cicli annidati che ciclano gli elementi della collection (o array).
i cicli devono saltare.
-tutti gli elementi precedenti o uguali all'elemento del ciclo direttamente precedente.
-tutti gli elementi che corrispondono all'associato dell'elemento di un qualsiasi ciclo precedente.


Cosi ti genererai le cinquine che cerchi.

Buona programmazione
aaa
27/02/09 14:34
jigen80
Rispondo a Tippolo,
Generare tutte le possibili cinquine è l'ultima strada che vorrei percorrere, visto che le cinquine possibili con 90 numeri sono 43.949.268 contro le 1.235.347 a me necessarie (vedi post sopra).

Facciamo un esempio "più piccolo".
Supponiamo di avere un totale di 5 numeri e di voler cercare tutti i ipossibili terni.
Con 5 numeri avremmo allora 10 terni, per la precisione:

1 - 2 - 3
1 - 2 - 4
1 - 2 - 5
1 - 3 - 4
1 - 3 - 5
1 - 4 - 5
2 - 3 - 4
2 - 3 - 5
2 - 4 - 5
3 - 4 - 5

ciò vuol dire che un qualsiasi terno scelto fra i numeri 1-2-3-4-5 è certamente verificato (garanzia 3)

Vorrei ora far si che, giocando il minimo numero di combinazioni possibili possa fare 2 (garanzia 2).

I casi possibili sono i terni giocabili con 5 numeri, cioè i 10 di cui sopra.
I casi favorevoli sono tanti quanti gli ambi realizzabili con i miei 3 numeri (cioè 3) insieme ai 2 numeri rimanenti.
la probabilità richiesta è pertanto

3x2/10=0,6

e le combinazioni possibili saranno quindi

0,6^-1 =1,67 cioè 2.

Ad esempio un ambo certo è ottenuto giocando le seguenti 2 combinazioni:

1 - 2 - 3
1 - 4 - 5

Sono stato un pò più chiaro ora?
aaa