Calcolo combinatorio Definizione

Calcolo combinatorio
Laboratorio di Bioinformatica
Corso A
aa 2005-2006
Definizione
Il Calcolo Combinatorio è l’insieme delle
tecniche che permettono di contare
efficientemente il numero di possibili
scelte, combinazioni, allineamenti etc. di
oggetti scelti da insiemi con un numero
finito di elementi.
Esempio: contare quante diverse colonne
del totocalcio si possono giocare.
1
Principi del conteggio
(regole del gioco)
1°Principio: Addizione
Se un oggetto può essere scelto in p modi da
un insieme A e in q modi da un insieme B,
B,
disgiunto da A, allora esso può essere scelto
in p+q modi diversi
In altre parole:
se A contiene p elementi e B ne contiene q e
A∩ B = ∅
Allora
A∪ B
contiene p+q elementi
2
Esempio
Sia A l’insieme delle vocali e B l’insieme
delle consonanti dell’alfabeto italiano.
A contiene 5 elementi e B ne contiene 16.
Se scelgo una qualunque lettera
dell’alfabeto ho 21 possibilità di scelta.
2°Principio: Moltiplicazione
(versione semplificata)
Se A è un insieme di p oggetti e B un
insieme di q oggetti, allora l’insieme delle
coppie ordinate (a,b), con a ∈ A e b∈ B,
contiene p x q elementi.
Esempio: Quante coppie ordinate di possono
formate dagli insiemi A=B={x,y,z}?
(x,x) (x,y) (x,z) (y,x) (y,y) (y,z) (z,x) (z,y) (z,z)
p = q = 3, p x q = 9
3
Complichiamo l’esempio
Problema: Quante parole di 3 lettere si
possono scrivere utilizzando solo le 4
lettere a, b, c, d?
Soluzione: scriviamole tutte e poi le
contiamo.
A
B
C
D
AA
AB
AC
AD
BA
BB
BC
BD
CA
CB
CC
CD
DA
DB
DC
DD
AAA AAB AAC AAD
ABA ABB ABC ABD
ACA ACB ACC ACD
ADA ADB ADC ADD
BAA BAB BAC BAD
BBA BBB BBC BBD
BCA BCB BCC BCD
BDA BDB BDC BDD
2
16=4x4=4
CAA CAB
CAC CAD
64=43
CBA CBB CBC CBD
CCA CCB CCC CCD
CDA CDB CDC CDD
DAA DAB DAC DAD
DBA DBB DBC DBD
DCA DCB DCC DCD
DDA DDB DDC DDD
4
Principio della Moltiplicazione
Se un oggetto si forma facendo una
successione di k scelte tali che ci siano n1
possibilità per la prima scelta, n2 per la
seconda, .., e nk per la k-esima scelta,
allora il numero complessivo di oggetti che
si possono formare è dato dal prodotto
n1 x n2 x … x nk
Esercizio 1
In un ristorante c’è un menu a prezzo fisso
composto da antipasto, primo, secondo
dolce.
Il menu propone al cliente la scelta tra 2
antipasti, 3 primi, 2 secondi e 4 dolci.
Quanti pranzi diversi si possono scegliere
con questo menu?
2x3x2x4
5
Esercizio 2
Quante parole di 4 lettere si possono
formare con le lettere dell’alfabeto italiano
in modo che la parola sia formata da
consonante-vocale-consonante-vocale?
16x5x16x5
E se non vogliamo che la stessa lettera
compaia due volte?
16x5x15x4
Esercizio 3
Calcolare quante colonne differenti si
possono giocare al totocalcio.
Per ognuna delle 13 partite possiamo
scegliere un risultato tra i 3 possibili {1,2,X}.
# colonne = 3 x 3 x … x 3 = 313 = 1594323
.
13 volte
6
Disposizioni con ripetizione
Sia S un insieme con n elementi (distinguibili).
Una disposizione con ripetizione di lunghezza
k di elementi di S è una scelta ordinata di k
elementi di S (non necessariamente distinti).
“k-uple ordinate da n elementi”
Esempio: una colonna del totocalcio è una
disposizione di lunghezza 13 di elementi
dell’insieme {1,2,X}
Disposizioni con ripetizione
Quante disposizioni di lunghezza k si
possono ottenere da un insieme di n
elementi?
DRnk= n x n x … x n = nk
k volte
7
Insieme delle parti
Vogliamo rispondere a questa domanda:
quanti sottoinsiemi ha un insieme con n
elementi?
Esempio: S = {1,2,X}
Sottoinsiemi: Ø, {1}, {2}, {X}, {1,2}, {1,X},
{2,X}, {1,2,X}
L’insieme delle parti di S ha 8 elementi
Rappresentazione di un
sottoinsieme (n=10)
1
2
3
4
5
6
7
8
9
10
Si
No
No
No
Si
No
No
Si
No
No
Rappresenta il sottoinsieme {1,5,8}
# sottoinsiemi di S = numero di disposizioni
con ripetizioni di lunghezza n dell’insieme
{Si, No} = 2n
8
Esercizio 2
Quante sono le parole di 7 lettere costruibili
utilizzando tutte le lettere dell'alfabeto
italiano, ma “senza ripetizione” cioè col
vincolo di non utilizzare più di una volta
una stessa lettera in una parola?
Es: aiuole OK aiuola NO
Risposta:
21 x 20 x 19 x 18 x 17 x 16 x15
Disposizione semplice
S è un insieme con n elementi (distinguibili).
Una disposizione semplice di lunghezza k,
(k≤n) di elementi di S è una scelta ordinata
di k elementi di S nella quale non si
possono avere ripetizioni di uno stesso
oggetto.
“disposizione semplice di n elementi su k
posti”
9
Disposizioni semplici
Il numero di disposizioni semplice di k
oggetti scelti tra n e’ dato da
Dnk = n x (n-1) x …x (n-k+1)
k volte
Esercizio 3
Quante cinquine si possono estrarre nel
gioco del lotto?
Sono disposizioni senza ripetizione:
# cinquine = 90 x 89 x 88 x 87 x 86 =
= 5.273.912.160
10
Permutazioni
Una permutazione di un insieme di oggetti è
un qualsiasi ordinamento dei suoi elementi
ognuno considerato una ed una sola volta.
Ad esempio le permutazioni degli elementi
dell'insieme {a,b,c}
abc, acb, bac, bca, cab, cba
In altre parole una permutazione è una
disposizione senza ripetizione di n tra n
oggetti.
Esempio
Supponiamo che 6 corridori gareggino sui
100 metri.
Quali sono i possibili ordini di arrivo?
S={Antonio, Bruno, Carlo, Davide, Enrico,
Filippo}
(A,B,C,D,E,F), (A,B,C,D,F,E), (D,E,F,C,B,A),
…
Sono tutte le permutazioni di 6 oggetti.
11
Permutazioni
Quante sono le permutazioni di un insieme
con n oggetti?
Pn = n x (n-1) x ….x 2 x 1
Questo numero si chiama fattoriale di n e si
indica con il simbolo n!
Fattoriale
Sia n ∈ {0,1,2,…} = ℕ U {0}.
Si definisce n fattoriale ( e si indica n!)
n!) il numero
0!=1
n! = n x (n(n-1) x ….x 2 x 1
Ad esempio:
esempio: 1! = 1, 2! = 2x1 = 2,
3! = 3 x 2 x 1 = 6
10! = 3628800, 20! = 2,433 x1047
12
Osservazioni sul fattoriale
• n! = n · (n-1)!
• (3!)2 ≠ (32)! ≠ (3!)!
Infatti (3!)2 = 36 , (32)!= 9! = 362880, (3!)!= 720
• Per n > k
n!
= n ⋅ (n − 1) ⋅ K ⋅ (k + 1)
k!
•
4⋅5⋅6⋅7 =
7!
3!
Osservazione importante
Il numero di disposizioni semplici si può scrivere:
Dnk = n ⋅ (n − 1) ⋅K ⋅ (n − k + 1) =
n!
(n − k )!
13
Combinazioni
Una combinazione semplice di classe k degli n
elementi di un insieme S è un qualunque
sottoinsieme di S formato da k elementi.
“n elementi presi k a k”
IDEA BASE:
Disposizioni: l’ordine è importante
Combinazioni: l’ordine non è importante
Esempio
• Sia S={1, 2, 3, 4, 5} e sia k=3.
• Le terne ordinate (1, 2, 3) e (2,1,3) sono
due disposizioni diverse, mentre i
sottoinsiemi {1,2,3} e {2,1,3} sono la
stessa combinazione.
14
Combinazioni
Il numero di combinazioni semplici di n
oggetti presi k a k (cioè le combinazioni di
classe k di n oggetti) è
Dnk n ⋅ (n − 1) ⋅ K ⋅ (n − k + 1)
n!
C =
=
=
k!
k!
k!(n − k )!
k
n
Questi numeri vengono detti “coefficienti binomiali”
indicati con il simbolo
n
n!
  =
 k  k!(n − k )!
Esercizio 4
Con i 90 numeri del lotto quanti terni posso
costruire?
Risposta:
 90  90! 90 ⋅ 89 ⋅ 88
C903 =   =
=
= 117480
3!
 3  3!⋅87!
15
Il coefficiente binomiale
• Proprietà
n n
n!
  =   =
=1
n
0
n
!
⋅
0
!
   
n  n 
n!
  = 
 =
 k   n − k  k! ⋅ (n − k )!
n  n 
n!
  = 
 =
=n
n
1
−
1
⋅
n
−
1
!
(
1
)!
  

Perché si chiama coefficiente
binomiale?
Vogliamo calcolare la potenza di un binomio:
(a + b )n
( a + b) n = ( a + b) ⋅ ( a + b) ⋅ K ⋅ ( a + b) =
= a n + Cn −1a n −1b + K + Ck a n − k b k + K + b n
Ck è il numero di modi nei quali posso scegliere k volte a
tra n fattori
n
Ck =  
k 
16
Formula finale
n
(a + b) = ∑  a n − k b k
k =0  k 
n
n
 0
(a + b) 0 =  a 0b 0 = 1
 0
1
 1
(a + b)1 =  a1b 0 +  a 0b1 = a + b
0
 1
Alcune
verifiche
 2
 2
 2
(a + b) 2 =  a 2b 0 +  a1b1 +  a 0b 2 = a 2 + 2ab + b 2
0
1
 2
Ancora sull’insieme delle parti
Per contare i sottoinsiemi di un insieme
composto da n elementi potremmo sommare
il numero di sottoinsieme con 0, 1, 2, …, n-1,
n elementi.
n
 n  n  n  n−k k
# sottoinsiemi =
  =  1 1 =
∑k  ∑k 
k =0
 
k =0
 
= (1 + 1) n = 2 n
17
Proprietà importante
 n   n   n + 1
  + 
 = 

k
k
+
1
k
+
1
  
 

Dim.
n  n 
n!
n!
  + 
 =
+
=
 k   k + 1 k! (n − k )! (k + 1)! (n − k − 1)!
=
=
(k + 1)! (n − k )!
 n + 1
(n + 1) ⋅ n!
(n + 1)!

=
= 
(k + 1)!(n − k )! (k + 1)!(n − k )!  k + 1
Triangolo di Tartaglia
0
 
0
1
 
0
 2
 
 0
[(k + 1) + (n − k )]⋅ n! =
1 
 
1 
 2
 
1
 n   n   n + 1
  + 
 = 

 k   k + 1  k + 1
 2
 
 2
n = 1, k = 0
 1   1  2 
  +   =  
 0   1  1 
 3  3  3   3
       
 0   1   2   3 
 4  4  4  4
       
 0 1   2  3
n = 2, k = 0
 2   2   3
  +   =  
 0   1  1
 4
 4 
 
5
 
0
6
 
0
18
Costruiamo il triangolo
n=0
1
n=1
1
1
n=2
1
2
1
n=3
1
3
3
1
n=4
1
4
6
4
n=5
1
5 10 10 5
n=6
1
6 15 20 15 6
n=7
1
7 21 35 35 21 7
1
1
1
1
Disposizioni con elementi uguali
Dati n elementi dei quali n1 uguali tra loro,
n2 uguali tra loro, …, nk uguali tra loro, gli
ordinamenti di questi n oggetti sono
n!
n1!n2 !K nk !
19
Esercizio 5
Quanti sono gli anagrammi della parola
MATEMATICA?
n = 10, n1= 2, n2= 3, n3= 2
Risposta
10!
= 151200
2! 3! 2!
Esercizio 6
Se lancio una moneta 7 volte in quanti modi
posso ottenere 5 croci e 2 teste?
Equivale a contare gli anagrammi della
parola TTCCCCC
Risposta
7!
2! 5!
20