Calcolo Combinatorio - Sito personale di Mirto Moressa

Transcript

Calcolo Combinatorio - Sito personale di Mirto Moressa
Capitolo S-09
Calcolo Combinatorio
Autore:
Contatto:
Sito:
Mirto Moressa
[email protected]
www.mirtomoressa.altervista.org
Data inizio:
Data fine:
16/10/2010
21/10/2010
Ultima modifica:
Versione:
21/10/2010
2.0
Indice del capitolo
1) Generalità: 1)def. alfabeto; 2)def. vettore; 3)def. fattoriale; 4)def. fattoriale troncato; 5)Disposizioni con
ripetizione; 6)Disposizioni senza ripetizione; 7)Permutazioni; 8)Combinazioni;
2) Applicazioni: 1)Super Enalotto; 2)Lotto; 3)Poker Texas Hold'em; 4)Poker a 5 carte; 5)La memoria del
computer; 6)L'insieme dei sottoinsiemi;
9.1) Generalità
9.1.1) Def: Un alfabeto è un insieme finito di valori (simboli), la cui cardinalità viene indicata con n.
es.1)
alfabeto binario = {0, 1};
n = 2;
es.2)
alfabeto decimale = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};
n = 10;
9.1.2) Def: Un vettore da k posti è una serie ordinata di k caselle, ciascuna delle quali può contenere un valore,
scelto da un opportuno alfabeto. La casella più a sinistra è in prima posizione, quella più a destra in ultima
posizione.
es.1) vettore di 5 posti
[ ][ ][ ][ ][ ]
9.1.3) Def: Dato un numero n, si definisce fattoriale del numero n e si indica con n!, la produttoria
n⋅ n−1⋅ n−2⋅...⋅1 .
es.1)
3 ! = 3⋅ 2⋅ 1 = 6
es.2)
100 ! = 100 ⋅99 ⋅98 !
9.1.4) Def: Dato un numero n, si definisce fattoriale troncato di k posizioni del numero n, la produttoria dei
primi k termini.
es.1)
fattoriale troncato di 5 posizioni del numero 90 = 90 ⋅89⋅88 ⋅87⋅ 86
e si può indicare come rapporto di fattoriali:
90!
90!
=
=
85!
90−5 !
n!
n−k  !
Per praticità assumeremo da qui in avanti n = 90 e k = 5, cioè di avere un alfabeto composto da 90 simboli (ad
es. i numeri da 1 a 90) e un vettore da 5 posti, da riempire con altrettante estrazioni (che è allincirca ciò che
accade nel gioco del lotto).
9.1.5) Disposizioni con ripetizione
Contiamo quanti vettori distinti possiamo ottenere se supponiamo di fare estrazioni con reinserimento (cioè
reinserendo nell'urna la pallina appena estratta): alla prima posizione abbiamo 90 possibilità, alla seconda 90,
ecc...
Abbiamo appena contato tutte le possibili Disposizioni con ripetizione che sono: 90⋅ 90⋅ 90⋅ 90⋅ 90 = 905
e si indicano col simbolo:
Dr 90, 5
(e in generale:
Dr  n , k  = n
k
)
9.1.6) Disposizioni senza ripetizione
Contiamo quanti vettori distinti possiamo ottenere se supponiamo di fare estrazioni senza reinserimento: alla
prima posizione abbiamo 90 possibilità, alla seconda 89, alla terza 88, ecc... Abbiamo appena contato tutte le
90 !
possibili Disposizioni senza ripetizione che sono: 90⋅ 89⋅88 ⋅87⋅86 =
85 !
e si indicano col simbolo:
D90, 5
D n , k  =
(e in generale:
n!
n−k !
)
9.1.7) Permutazioni
Le Permutazioni si hanno quando si considerano le Disposizioni senza ripetizione, nel caso in cui sia k = n,
cioè abbiamo un vettore con tanti posti quanti sono i simboli dell'alfabeto.
Si ottiene facilmente che i vettori distinti sono 90!
e si indicano col simbolo:
D90, 90
D n , n = n !
(e in generale:
)
9.1.8) Combinazioni
Se alle Disposizioni senza ripetizione togliamo il vincolo dell'ordine otteniamo le Combinazioni.
In questo contesto la cinquina {1, 13, 25, 82, 74} è del tutto equivalente a {1, 82, 13, 74, 25} e a tutte le altre
possibili Permutazioni (abbiamo, infatti, 5 numeri in 5 posti), che sono in totale 5!
Possiamo, quindi, concludere che, rispetto alle Disposizioni senza ripetizione, l'insieme delle Combinazioni è 5!
volte meno numeroso.
90⋅89 ⋅88⋅87 ⋅86
90!
=
Il numero totale di vettori relativi alle Combinazioni sarà dunque:
5!
85 ! ⋅5 !
 
90
e si indica col simbolo: C 90, 5 =
5
(e in generale:
n!
C n , k  = n =
 n−k  !⋅ k !
k

nk prende anche il nome di Coefficiente binomiale, ed è utilizzato nella
Formula di Newton, per esplicitare il Binomio di Newton ab = ∑  n  a ⋅b .
k
NOTA BENE: il simbolo
n
n
k =0
n− k
k
)
9.2) Applicazioni
9.2.1) Super Enalotto (n = 90, k = 6)
Ci poniamo il problema di calcolare quante siano tutte le sestine possibili con 90 numeri. Non avendo il vincolo
dell'ordine, per il calcolo ci serviamo delle Combinazioni:
90 ⋅89⋅ 88⋅87⋅ 86⋅85 448,282,533 ,600
C 90, 6 = 90 =
=
= 622,614,630
6!
720
6
 
Da questo calcolo possiamo trarre le seguenti conclusioni:
- per avere la certezza di vittoria, dovremmo giocare 622,614,630 colonne per una spesa totale di
311,307,315€ ;
- giocando la schedina minima da 1€ (2 colonne), abbiamo 1 possibilità di vittoria su 311,307,315, il che
ci fa concludere che fintantoché il montepremi sarà più basso di 311,307,315€, non conviene giocare
(supponendo che venga premiato solo il 6);
- se giochiamo una colonna, annerendo 30 numeri, giochiamo C 30, 6 = 593,775 sestine, con una
spesa totale di 296,887.50€ e con una probabilità di vittoria pari a 1.7 su 1,000,000 (e non 1 su 3 come si
potrebbe pensare, solo per il fatto di aver scelto un terzo dei numeri a disposizione!!!!)
- la sestina {1, 2, 3, 4, 5, 6} ha la stessa probabilità di uscita di {5, 10, 21, 42, 76, 89}; il fatto che i
numeri siano consecutivi non costituisce un problema: l'ordinamento dei numeri è un significato
interpretativo dell'uomo, mentre il caso vede le palline tutte alla stessa maniera; aggiungo che con tutta
probabilità la prima sestina indicata non uscirà “mai”, così come la seconda: in 100 anni escono 15,600
sestine, quindi prima di vederle tutte devono trascorrere poco meno di 4 milioni di anni (al ritmo di 3
estrazioni settimanali e supponendo che non ci siano ripetizioni di sestine);
- se giochiamo 2 colonne con numeri distinti (sono 2 x C(6, 3) terzine), abbiamo 1 possibilità su 146.85
di fare 3, il che ci fa concludere che, nell'ipotesi in cui il 3 fosse l'unica combinazione per vincere
prevista dal gioco, l'equità si avrebbe con una vincita di 146.85€ e la convenienza per vincite superiori
(le terzine totali sono C(90, 3) e quelle estratte sono C(6, 3));
9.2.2) Lotto (n = 90, k = 5)
Il gioco del Lotto si sviluppa in maniera completamente diversa dal Super Enalotto, in quanto non ha un
montepremi da spartire tra i vincitori, ma le vincite sono calcolate attraverso moltiplicatori fissi.
Ci sono 11 ruote, ciascuna delle quali estrae 5 numeri, scelti fra i possibili 90 senza ripetizione e senza ordine.
I moltiplicatori di vincita sono:
estratto
(1) = 11.232
ambo
(2) = 250
terno
(3) = 4,500
quaterna
(4) = 120,000
cinquina
(5) = 6,000,000
(ai quali va ulteriormente tolto un 6% di ritenuta sulle vincite)
Supponiamo di giocare 2 numeri su una singola ruota (es. Nazionale) e di puntare 1€ sull'ambo.
Con 90 numeri esistono C(90, 2) = 4,005 ambi e su una ruota escono 5 numeri, per un totale di C(5, 2) = 10
ambi estratti: abbiamo, quindi 1 possibilità x 10 su 4,005 = 1 possibilità su 400.5.
Per avere gioco equo, dovremmo vincere 400.5€ a fronte di 1€ puntato; il fatto di vincere solo 250€, fa capire
come alla lunga sia il gestore del gioco a guadagnare per davvero.
Supponiamo adesso di giocare 5 numeri su una ruota e di puntare sempre 1€ sull'ambo.
Stiamo giocando 10 ambi contemporaneamente e quindi stiamo scommettendo solo 0.10€ su ognuno di essi.
Se indoviniamo 2 numeri, abbiamo preso 1 ambo e vinciamo 25€.
Se indoviniamo 3 numeri, abbiamo preso C(3, 2) = 3 ambi e vinciamo 75€.
Se indoviniamo 4 numeri, abbiamo preso C(4, 2) = 6 ambi e vinciamo 150€.
Se indoviniamo tutti e 5 i numeri, è meglio non pensarci...
Contiamo quante sono le cinquine: C(90, 5) = 43,949,268.
Se puntiamo 1€ sulla cinquina su una ruota, dovremmo vincere 43,949,268€ per avere gioco equo. In realtà ne
vinceremmo solo 6,000,000€.
9.2.3) Poker Texas Hold'em (n = 52, k = 2)
Nel Poker Texas Hold'em si utilizza un mazzo completo di 52 carte francesi (13 carte per 4 semi) e se ne
distribuiscono 2 coperte per ogni giocatore; poi, se le condizioni di gioco lo consentono, se ne scoprono 3 sul
tavolo, poi un'altra e poi un'altra ancora, per un totale di 5 carte scoperte sul tavolo.
Vediamo che probabilità abbiamo di cominciare la mano con 2 Assi.
Tutte le possibili combinazioni sono C(52, 2) = 1,326 e di queste quelle che ci interessano sono C(4, 2) = 6, per
un totale di 1 possibilità su 221 (0.45 %).
Notare come avremmo ottenuto la stessa probabilità anche se avessimo cercato una coppia di 2: una cosa sono
le combinazioni di carte, un'altra il valore della mano, stabilito dall'ordine di importanza che l'uomo assegna
alla singola carta.
Vediamo adesso che probabilità abbiamo di chiudere un tris, cominciando la mano con una coppia di Assi.
Avendo già due carte in mano, ne restano 50 nel mazzo, di cui 2 di nostro interesse (le altre carte date ai
giocatori non rientrano in questi conteggi, essendo coperte).
Dovendo scendere ancora 5 carte in tavola, ci sono C(50, 5) = 2,118,760 bords diversi.
Quelli di nostro interesse sono della forma Asso + 4 carte senza l'Asso, e quindi sono C (48, 4) per il primo
Asso mancante + C (48, 4) per il secondo Asso = 389,160. La possibilità di chiudere tris è allora 1 su 5.4
(18.5%).
Facciamo poker con 2 Assi e 3 carte qualsiasi: C(48, 3) = 17,296 cioè 1 possibilità su 122.5 (0.82%).
Calcoliamo la probabilità di chiudere colore se cominciamo la mano con 2 carte dello stesso seme (es. cuori).
Imponiamo che il bord sia composto da 3 cuori soli (e non anche da 4 o 5, in modo che possa chiudere colore
solo un altro avversario in possesso di 2 cuori).
Abbiamo 50 carte, delle quali 11 sono cuori e 39 no. I nostri bords favorevoli sono C(11, 3) x C(39, 2) = 165 x
741 = 122,265; segue che abbiamo 1 possibilità su 17.33 (5.8%).
9.2.4) Poker a 5 carte (n = 52, k = 5)
Per la versione internazionale, chiamata 5-Cards Draw, si utilizza un mazzo completo di 52 carte francesi, e il
gioco inizia distribuendone 5 a testa.
Tutte le combinazioni iniziali che si possono avere sono C(52, 5) = 2,598,960.
Vediamo quante combinazioni ci permettono di chiudere:
- Colore: dobbiamo pescare tutte le 5 carte dalle 13 disponibili dello stesso seme, e questo vale per
ciascuno dei 4 semi; totale: 4 x C(13, 5) = 5,148;
- Full: dobbiamo abbianare una coppia e un tris, e questo vale per le 13 coppie disponibile per i 12 tris
rimanenti; totale: 13 x 12 x C(4, 2) x C(4, 3) = 3,744;
- Poker: dobbiamo abbinare le 4 carte dello stesso valore, e questo vale per i 13 valori; la quinta carta
può essere una qualsiasi delle 48 rimanenti; totale: 13 x C(4, 4) x 48 = 624;
E da questi conti possiamo concludere che è più probabile chiudere Colore, quindi Full, e alla fine Poker (il
calcolo delle percentuali è lasciato al lettore).
La gerarchia di valori della mano sarà: Poker batte Full; Full batte Colore.
Per la versione italiana, invece, nel caso di gioco a 5 giocatori, si utilizzano le carte che vanno dal 6 al Kappa,
più gli Assi, per un totale di 9 valori per 4 semi = 36 carte. Il gioco inizia sempre distribuendo 5 carte ad ogni
giocatore.
Vediamo come cambiano le combinazioni, rispetto alla versione internazionale:
- Totali:
- Colore:
- Full:
- Poker:
C(36, 5)
4 x C(9, 5)
9 x 8 x C(4, 2) x C(4, 3)
9 x C(4, 4) x 32
= 376,992;
=
504;
= 1,728;
=
288;
E si vede subito la differenza rispetto a prima: chiudere Colore è più difficile rispetto al Full!!!
Pertanto, anche le gerarchie delle mani devono cambiare, ed infatti, in questa variante, il Colore batte il Full.
9.2.5) La memoria del computer (n = 2, k = 8)
Il mattone fondamentale della memoria del computer è il BYTE, che è un vettore ordinato da 8 posti, chiamati
BIT, ciascuno dei quali può assumere valori da un alfabeto binario {0, 1}.
I valori rappresentabili da un Byte sono 28 = 256 , perché siamo in presenza di disposizioni con ripetizione.
Il problema che ci poniamo ora è come poter utilizzare questi Byte in modo utile per l'uomo, visto che la
memorizzazione diretta di 0 e 1 non ha molta praticità.
La risposta è la crezione di una tabella che associa ad ogni vettore binario un corrispondente simbolo “umano”.
La prima tabella che hanno standardizzato è la Tabella ASCII, che ad esempio associa i vettori che vanno dal
97 al 122 ai simboli delle lettere che vanno dalla “a” alla “z” minuscole.
Una seconda tabella, attualmente in uso, è la UNICODE, che utilizza 2 Byte (o eventualmente 4), dando così a
disposizione 216 = 65,536 valori, che permettono di includere la maggior parte dei simboli degli alfabeti di
tutte le lingue del mondo. Per mantenere la retrocompatibilità, ai primi 256 valori sono associati gli stessi
simboli della tabella ASCII.
La soluzione appena proposta permette di risolvere l'utilizzo testuale del computer, ma per utilizzi numerici è
sicuramente poco efficiente. Per il contesto matematico, ci sono infatti altri codici di decodifica, ciascuno
ottimizzato per la particolare applicazione.
Per esempio, per fare somme con interi positivi, si può utilizzare una tabella che permetta ad un singolo Byte di
rappresentare i numeri dallo 0 al 255, mentre se dobbiamo fare anche differenze, occorre un'altra tabella, che
associ i valori dal -127 al +128, ottimizzando così la rappresentazione in funzione del contesto.
Per fare divisioni occorre un'altra tabella ancora, visto che bisogna tener conto dei decimali.
Nelle applicazioni informatiche reali, comunque, si utilizzano correntemente numeri da 4 o anche da 8 Byte (32
o 64 Bit): il problema dell'ottimizzazione degli spazi (molto importante negli anni '60) c'è ancora in settori
critici, ma è sostanzialmente assente in contesti normali, per via della notevole disponibilità di memoria a basso
costo.
La cosa importante da tenere a mente è che un dato memorizzato nel computer non ha alcun significato se non
si sa di che tipo di dato sia, cioè se non si sa quale tabella utilizzare per interpretarlo.
9.2.6) L'insieme dei sottoinsiemi
Nello studio della teoria dell'informatica, mi sono imbattuto molte volte nel concetto di insieme dei
sottoinsiemi (o famiglia di sottoinsiemi) e della sua cardinalità, cioè dato un insime finito di elementi (es. 5),
trovare quanti sono i sottoinsiemi distinti rappresentabili.
Possiamo approciare questo problema pensando di sommare le combinazioni dei sottoinsiemi che otteniamo
con 0 elementi, quindi quelli con 1 elemento, poi quelli con 2 elementi, ecc. fino a 5, ottenendo:
5
∑
i=0
5i  = 15101051 = 32
Se il numero di elementi fosse stato più grande (es. 100), questa strada sarebbe stata impraticabile.
Osserviamo, però, che possiamo associare all'insieme di partenza un vettore binario lungo tanti posti quanti
sono gli elementi (5), e che ciascun sottoinsieme è rappresentato da un vettore che ha una casella a 1 se il
corrispondente elemento è incluso, 0 se è escluso.
Con questa formalizzazione, si vede facilmente che ogni vettore distinto, individua univocamente un
sottoinsieme distinto e viceversa.
In questo modo è sufficiente contare i vettori per avere il numero dei sottoinsiemi, che sono facilmente 25 .
Nel caso dell'insieme con 100 elementi, il numero dei sottoinsiemi è 2100 .
n
Nel fare questi ragionamenti, abbiamo anche dimostrato che vale la relazione:
∑
i=0
ni = 2
n