Documente Academic
Documente Profesional
Documente Cultură
Principiul porumbeilor.
Principiul incluziunii si excluziunii
10 octombrie 2013
Generarea si ordonarea permutarilor. Principiul porumbeilor. Principiul incluziunii si excluziunii
Recapitulare din cursul trecut
Presupunem ca A este o mult ime cu n elemente.
Un aranjament de n luate cate r (sau r -permutare) a lui A
este o secvent a ordonata de elemente din A.
O permutare a lui A este o secvent a ordonata a tuturor
elementelor din A.
O combinare de n luate cate r a lui A este o submult ime cu r
elemente din A.
Exemplu (A = a
1
, a
2
, a
3
)
2-permutarile lui A sunt (ordinea conteaza!):
a
1
, a
2
, a
2
, a
1
, a
1
, a
3
, a
3
, a
1
, a
2
, a
3
, a
3
, a
1
2
Detemina j i astfel ncat p
j
este cel mai mic numar mai mare
decat p
i 1
.
3
Permuta p
j
cu p
i 1
, si apoi inverseaza suxul p
i
, . . . , p
n
.
Generarea si ordonarea permutarilor. Principiul porumbeilor. Principiul incluziunii si excluziunii
Enumerarea permutarilor n ordine lexicograca
Problema
Cum putem calcula permutarea lui N = 1, . . . , n care urmeaza
dupa permutarea p
1
, . . . , p
n
n ordine lexicograca?
Exemplu (N = 1, 2, 3, 4, 5)
permutare permutare urmatoare
5, 1, 3, 2, 4 5, 1, 3, 4, 2
5, 2, 4, 3, 1
5, 3, 1, 2, 4
5, 4, 3, 2, 1
nu exista
Permutarea care urmeaza dupa p
1
, . . . , p
n
se poate calcula astfel:
1
Determina i astfel ncat p
i
> . . . > p
n
este cel mai lung sux
descrescator al permutarii p
1
, . . . , p
n
2
Detemina j i astfel ncat p
j
este cel mai mic numar mai mare
decat p
i 1
.
3
Permuta p
j
cu p
i 1
, si apoi inverseaza suxul p
i
, . . . , p
n
.
Generarea si ordonarea permutarilor. Principiul porumbeilor. Principiul incluziunii si excluziunii
Enumerarea permutarilor n ordine lexicograca
Problema
Cum putem calcula permutarea lui N = 1, . . . , n care urmeaza
dupa permutarea p
1
, . . . , p
n
n ordine lexicograca?
Exemplu (N = 1, 2, 3, 4, 5)
permutare permutare urmatoare
5, 1, 3, 2, 4 5, 1, 3, 4, 2
5, 2, 4, 3, 1 5, 3, 1, 2, 4
5, 4, 3, 2, 1
nu exista
Permutarea care urmeaza dupa p
1
, . . . , p
n
se poate calcula astfel:
1
Determina i astfel ncat p
i
> . . . > p
n
este cel mai lung sux
descrescator al permutarii p
1
, . . . , p
n
2
Detemina j i astfel ncat p
j
este cel mai mic numar mai mare
decat p
i 1
.
3
Permuta p
j
cu p
i 1
, si apoi inverseaza suxul p
i
, . . . , p
n
.
Generarea si ordonarea permutarilor. Principiul porumbeilor. Principiul incluziunii si excluziunii
Enumerarea permutarilor n ordine lexicograca
Problema
Cum putem calcula permutarea lui N = 1, . . . , n care urmeaza
dupa permutarea p
1
, . . . , p
n
n ordine lexicograca?
Exemplu (N = 1, 2, 3, 4, 5)
permutare permutare urmatoare
5, 1, 3, 2, 4 5, 1, 3, 4, 2
5, 2, 4, 3, 1 5, 3, 1, 2, 4
5, 4, 3, 2, 1 nu exista
Permutarea care urmeaza dupa p
1
, . . . , p
n
se poate calcula astfel:
1
Determina i astfel ncat p
i
> . . . > p
n
este cel mai lung sux
descrescator al permutarii p
1
, . . . , p
n
2
Detemina j i astfel ncat p
j
este cel mai mic numar mai mare
decat p
i 1
.
3
Permuta p
j
cu p
i 1
, si apoi inverseaza suxul p
i
, . . . , p
n
.
Generarea si ordonarea permutarilor. Principiul porumbeilor. Principiul incluziunii si excluziunii
Enumerarea permutarilor n ordine lexicograca
Problema
Cum putem calcula permutarea lui N = 1, . . . , n care urmeaza
dupa permutarea p
1
, . . . , p
n
n ordine lexicograca?
Exemplu (N = 1, 2, 3, 4, 5)
permutare permutare urmatoare
5, 1, 3, 2, 4 5, 1, 3, 4, 2
5, 2, 4, 3, 1 5, 3, 1, 2, 4
5, 4, 3, 2, 1 nu exista
Permutarea care urmeaza dupa p
1
, . . . , p
n
se poate calcula astfel:
1
Determina i astfel ncat p
i
> . . . > p
n
este cel mai lung sux
descrescator al permutarii p
1
, . . . , p
n
2
Detemina j i astfel ncat p
j
este cel mai mic numar mai mare
decat p
i 1
.
3
Permuta p
j
cu p
i 1
, si apoi inverseaza suxul p
i
, . . . , p
n
.
Generarea si ordonarea permutarilor. Principiul porumbeilor. Principiul incluziunii si excluziunii
Enumerarea permutarilor n ordine lexicograca
Problema
Cum putem calcula permutarea lui N = 1, . . . , n care urmeaza
dupa permutarea p
1
, . . . , p
n
n ordine lexicograca?
Exemplu (N = 1, 2, 3, 4, 5)
permutare permutare urmatoare
5, 1, 3, 2, 4 5, 1, 3, 4, 2
5, 2, 4, 3, 1 5, 3, 1, 2, 4
5, 4, 3, 2, 1 nu exista
Permutarea care urmeaza dupa p
1
, . . . , p
n
se poate calcula astfel:
1
Determina i astfel ncat p
i
> . . . > p
n
este cel mai lung sux
descrescator al permutarii p
1
, . . . , p
n
2
Detemina j i astfel ncat p
j
este cel mai mic numar mai mare
decat p
i 1
.
3
Permuta p
j
cu p
i 1
, si apoi inverseaza suxul p
i
, . . . , p
n
.
Generarea si ordonarea permutarilor. Principiul porumbeilor. Principiul incluziunii si excluziunii
Enumerarea permutarilor n ordine lexicograca
Problema
Cum putem calcula permutarea lui N = 1, . . . , n care urmeaza
dupa permutarea p
1
, . . . , p
n
n ordine lexicograca?
Exemplu (N = 1, 2, 3, 4, 5)
permutare permutare urmatoare
5, 1, 3, 2, 4 5, 1, 3, 4, 2
5, 2, 4, 3, 1 5, 3, 1, 2, 4
5, 4, 3, 2, 1 nu exista
Permutarea care urmeaza dupa p
1
, . . . , p
n
se poate calcula astfel:
1
Determina i astfel ncat p
i
> . . . > p
n
este cel mai lung sux
descrescator al permutarii p
1
, . . . , p
n
2
Detemina j i astfel ncat p
j
este cel mai mic numar mai mare
decat p
i 1
.
3
Permuta p
j
cu p
i 1
, si apoi inverseaza suxul p
i
, . . . , p
n
.
Generarea si ordonarea permutarilor. Principiul porumbeilor. Principiul incluziunii si excluziunii
Enumerarea permutarilor n ordine lexicograca
Problema
Cum putem calcula permutarea lui N = 1, . . . , n care urmeaza
dupa permutarea p
1
, . . . , p
n
n ordine lexicograca?
Exemplu (N = 1, 2, 3, 4, 5)
permutare permutare urmatoare
5, 1, 3, 2, 4 5, 1, 3, 4, 2
5, 2, 4, 3, 1 5, 3, 1, 2, 4
5, 4, 3, 2, 1 nu exista
Permutarea care urmeaza dupa p
1
, . . . , p
n
se poate calcula astfel:
1
Determina i astfel ncat p
i
> . . . > p
n
este cel mai lung sux
descrescator al permutarii p
1
, . . . , p
n
2
Detemina j i astfel ncat p
j
este cel mai mic numar mai mare
decat p
i 1
.
3
Permuta p
j
cu p
i 1
, si apoi inverseaza suxul p
i
, . . . , p
n
.
Generarea si ordonarea permutarilor. Principiul porumbeilor. Principiul incluziunii si excluziunii
Operat ii cu permutari
Enumerarea permutarilor n ordine lexicograca
Exemplu
5, 2, 4, 3, 1 5, 3, 4, 2, 1
p
1
, p
2
, p
3
, p
4
, p
5
= 5, 2, 4, 3, 1
i = 3
j = 4
permuta p
i 1
= 2 cu p
j
= 3
inverseaza p
i
, . . . , p
n
= 4, 2, 1
5, 3, 1, 2, 4
= permutarea urmatoare
Generarea si ordonarea permutarilor. Principiul porumbeilor. Principiul incluziunii si excluziunii
Operat ii cu permutari
Enumerarea permutarilor n ordine lexicograca
Exemplu
5, 2, 4, 3, 1
5, 3, 4, 2, 1
p
1
, p
2
, p
3
, p
4
, p
5
= 5, 2, 4, 3, 1
i = 3
j = 4
permuta p
i 1
= 2 cu p
j
= 3
inverseaza p
i
, . . . , p
n
= 4, 2, 1
5, 3, 1, 2, 4
= permutarea urmatoare
Generarea si ordonarea permutarilor. Principiul porumbeilor. Principiul incluziunii si excluziunii
Operat ii cu permutari
Enumerarea permutarilor n ordine lexicograca
Exemplu
5, 2, 4, 3, 1
5, 3, 4, 2, 1
p
1
, p
2
, p
3
, p
4
, p
5
= 5, 2, 4, 3, 1
i = 3
j = 4
permuta p
i 1
= 2 cu p
j
= 3
inverseaza p
i
, . . . , p
n
= 4, 2, 1
5, 3, 1, 2, 4
= permutarea urmatoare
Generarea si ordonarea permutarilor. Principiul porumbeilor. Principiul incluziunii si excluziunii
Operat ii cu permutari
Enumerarea permutarilor n ordine lexicograca
Exemplu
5, 2, 4, 3, 1
5, 3, 4, 2, 1
p
1
, p
2
, p
3
, p
4
, p
5
= 5, 2, 4, 3, 1
i = 3
j = 4
permuta p
i 1
= 2 cu p
j
= 3
inverseaza p
i
, . . . , p
n
= 4, 2, 1
5, 3, 1, 2, 4
= permutarea urmatoare
Generarea si ordonarea permutarilor. Principiul porumbeilor. Principiul incluziunii si excluziunii
Operat ii cu permutari
Enumerarea permutarilor n ordine lexicograca
Exemplu
5, 2, 4, 3, 1 5, 3, 4, 2, 1
p
1
, p
2
, p
3
, p
4
, p
5
= 5, 2, 4, 3, 1
i = 3
j = 4
permuta p
i 1
= 2 cu p
j
= 3
inverseaza p
i
, . . . , p
n
= 4, 2, 1
5, 3, 1, 2, 4
= permutarea urmatoare
Generarea si ordonarea permutarilor. Principiul porumbeilor. Principiul incluziunii si excluziunii
Enumerarea permutarilor n ordine lexicograca
Pseudocod
PermutareUrmatoare(p: int[0 .. n 1])
i := n 2;
while (p[i ] > p[i + 1])
i --;
j := n 1;
while (p[j ] < p[i ])
j --;
// permuta valorile lui p[i ] si p[j ]
tmp := p[i ];
p[i ] := p[j ];
p[j ] := tmp;
// inverseaza (p[i+1], ..., p[n-1])
for (k := 0; k < (n i 1)/2|; k++)
// swap p[i + 1 + k] with p[n 1 k]
tmp := p[i + 1 + k];
p[i + 1 + k] := p[n 1 k];
p[n 1 k] := tmp;
return p;
Generarea si ordonarea permutarilor. Principiul porumbeilor. Principiul incluziunii si excluziunii
Operat ii cu permutari
Probleme
1
Cum putem calcula direct si ecient rangul unei permutari
p
1
, . . . , p
n
a lui N = 1, . . . , n ntr-o enumerare
lexicograca?
2
Cum putem calcula direct si ecient permutarea p
1
, . . . , p
n
In 1963, Heap a descoperit un algoritm care genereaza
permutarea urmatoare a unei permutari prin interschimbarea
valorilor a 2 elemente.
Algoritmul lui Heap este cel mai rapid algoritm de
generare a tuturor permutarilor.
Generarea si ordonarea permutarilor. Principiul porumbeilor. Principiul incluziunii si excluziunii
Algoritmi de generare rapida a tuturor permutarilor
Algoritmul lui Heap: pseudocod
for(i := 1; i n; i ++)
p[i ] := i
for(c := 1; c n; c++)
1. genereaza toate permutarile p[1], . . . , p[n 1] fara a-l modica pe p[n];
(la sfarsitul pasului 1, p cont ine ultima permutare generata)
2. permuta p[n] cu elementul p[f (n, c)]
unde f (n, c) =
p
q
cand 1 q Q?
Generarea si ordonarea permutarilor. Principiul porumbeilor. Principiul incluziunii si excluziunii
Principiul porumbeilor
Aplicat ia 2: Aproximarea cu numere rat ionale
Pentru ecare numar real x R denim:
x| := cel mai mare ntreg m astfel ncat m x.
,x| := cel mai mic ntreg m astfel ncat x m.
Partea fract ionara a lui x:
x := x x|
Un numar irat ional este un numar care nu este rezultatul
mpart irii a doi ntregi.
Exemple: = 3.14159265 . . ., e = 2.7182818 . . ., etc.
Daca este un numar irat ional si Q N 0, cat de bine
putem aproxima cu un numar rat ional
p
q
unde 1 q Q?
Cat de mic poate deveni
p
q
cand 1 q Q?
Generarea si ordonarea permutarilor. Principiul porumbeilor. Principiul incluziunii si excluziunii
Principiul porumbeilor
Aplicat ia 2: Aproximarea cu numere rat ionale
Pentru ecare numar real x R denim:
x| := cel mai mare ntreg m astfel ncat m x.
,x| := cel mai mic ntreg m astfel ncat x m.
Partea fract ionara a lui x:
x := x x|
Un numar irat ional este un numar care nu este rezultatul
mpart irii a doi ntregi.
Exemple: = 3.14159265 . . ., e = 2.7182818 . . ., etc.
Daca este un numar irat ional si Q N 0, cat de bine
putem aproxima cu un numar rat ional
p
q
unde 1 q Q?
Cat de mic poate deveni
p
q
cand 1 q Q?
Generarea si ordonarea permutarilor. Principiul porumbeilor. Principiul incluziunii si excluziunii
Principiul porumbeilor
Aplicat ia 2: Aproximarea cu numere rat ionale
Pentru ecare numar real x R denim:
x| := cel mai mare ntreg m astfel ncat m x.
,x| := cel mai mic ntreg m astfel ncat x m.
Partea fract ionara a lui x:
x := x x|
Un numar irat ional este un numar care nu este rezultatul
mpart irii a doi ntregi.
Exemple: = 3.14159265 . . ., e = 2.7182818 . . ., etc.
Daca este un numar irat ional si Q N 0, cat de bine
putem aproxima cu un numar rat ional
p
q
unde 1 q Q?
Cat de mic poate deveni
p
q
cand 1 q Q?
Generarea si ordonarea permutarilor. Principiul porumbeilor. Principiul incluziunii si excluziunii
Principiul porumbeilor
Aplicat ia 2: Aproximarea cu numere rat ionale
Pentru ecare numar real x R denim:
x| := cel mai mare ntreg m astfel ncat m x.
,x| := cel mai mic ntreg m astfel ncat x m.
Partea fract ionara a lui x:
x := x x|
Un numar irat ional este un numar care nu este rezultatul
mpart irii a doi ntregi.
Exemple: = 3.14159265 . . ., e = 2.7182818 . . ., etc.
Daca este un numar irat ional si Q N 0, cat de bine
putem aproxima cu un numar rat ional
p
q
unde 1 q Q?
Cat de mic poate deveni
p
q
cand 1 q Q?
Generarea si ordonarea permutarilor. Principiul porumbeilor. Principiul incluziunii si excluziunii
Principiul porumbeilor
Aplicat ia 2: Aproximarea cu numere rat ionale
Pentru ecare numar real x R denim:
x| := cel mai mare ntreg m astfel ncat m x.
,x| := cel mai mic ntreg m astfel ncat x m.
Partea fract ionara a lui x:
x := x x|
Un numar irat ional este un numar care nu este rezultatul
mpart irii a doi ntregi.
Exemple: = 3.14159265 . . ., e = 2.7182818 . . ., etc.
Daca este un numar irat ional si Q N 0, cat de bine
putem aproxima cu un numar rat ional
p
q
unde 1 q Q?
Cat de mic poate deveni
p
q
cand 1 q Q?
Generarea si ordonarea permutarilor. Principiul porumbeilor. Principiul incluziunii si excluziunii
Principiul porumbeilor
Aplicat ia 2: Aproximarea cu numere rat ionale
Pentru ecare numar real x R denim:
x| := cel mai mare ntreg m astfel ncat m x.
,x| := cel mai mic ntreg m astfel ncat x m.
Partea fract ionara a lui x:
x := x x|
Un numar irat ional este un numar care nu este rezultatul
mpart irii a doi ntregi.
Exemple: = 3.14159265 . . ., e = 2.7182818 . . ., etc.
Daca este un numar irat ional si Q N 0, cat de bine
putem aproxima cu un numar rat ional
p
q
unde 1 q Q?
Cat de mic poate deveni
p
q
cand 1 q Q?
Generarea si ordonarea permutarilor. Principiul porumbeilor. Principiul incluziunii si excluziunii
Principiul porumbeilor
Aplicat ia 2: Aproximarea cu numere rat ionale
Pentru ecare numar real x R denim:
x| := cel mai mare ntreg m astfel ncat m x.
,x| := cel mai mic ntreg m astfel ncat x m.
Partea fract ionara a lui x:
x := x x|
Un numar irat ional este un numar care nu este rezultatul
mpart irii a doi ntregi.
Exemple: = 3.14159265 . . ., e = 2.7182818 . . ., etc.
Daca este un numar irat ional si Q N 0, cat de bine
putem aproxima cu un numar rat ional
p
q
unde 1 q Q?
Cat de mic poate deveni
p
q
cand 1 q Q?
Generarea si ordonarea permutarilor. Principiul porumbeilor. Principiul incluziunii si excluziunii
Principiul porumbeilor
Aplicat ia 2: Aproximarea cu numere rat ionale (2)
Teorema (Teorema de aproximare a lui Dirichlet)
Daca este un numar irat ional si Q un ntreg pozitiv, atunci
exista un numar rat ional p/q cu 1 q Q astfel ncat
p
q
1
q (Q + 1)
.
Demonstratie.
Impart im intervalul [0, 1] n Q + 1 subintervale de
lungimi egale:
_
0,
1
Q + 1
_
,
_
1
Q + 1
,
2
Q + 1
_
, . . . ,
_
Q
Q + 1
, 1
_
si urmatoarele Q + 2 numere reale:
r
1
= 0, r
2
= , 2, . . . , r
Q+1
= Q, r
Q+2
= 1
Generarea si ordonarea permutarilor. Principiul porumbeilor. Principiul incluziunii si excluziunii
Principiul porumbeilor
Aplicat ia 2: Aproximarea numerelor rat ionale (2)
Avem Q + 2 numere n Q + 1 intervale
exista i < j cu r
i
, r
j
n acelasi interval
[r
i
r
j
[
1
Q+1
. Se observa ca (i , j ) ,= (1, Q + 2)
Deasemenea
r
1
= 0 0
r
i
= (i 1) (i 1)| daca 2 i Q + 1
r
Q+2
= 0 (1)
ecare r
i
este u
i
v
i
cu u
i
, v
i
Z, si
daca i < j atunci u
i
= u
j
numai daca (i , j ) = (1, Q + 2).
[r
i
r
j
[ = [(u
i
u
j
) (v
i
v
j
)[ = [u
i
u
j
[
. .
q[1,Q]
[
v
i
v
j
u
i
u
j
. .
p
q
[
1
Q+1
.
Deci
p
q
1
q (Q + 1)
.
Generarea si ordonarea permutarilor. Principiul porumbeilor. Principiul incluziunii si excluziunii
Principiul porumbeilor
Aplicat ia 2: Aproximarea numerelor rat ionale (2)
Avem Q + 2 numere n Q + 1 intervale
exista i < j cu r
i
, r
j
n acelasi interval
[r
i
r
j
[
1
Q+1
. Se observa ca (i , j ) ,= (1, Q + 2)
Deasemenea
r
1
= 0 0
r
i
= (i 1) (i 1)| daca 2 i Q + 1
r
Q+2
= 0 (1)
ecare r
i
este u
i
v
i
cu u
i
, v
i
Z, si
daca i < j atunci u
i
= u
j
numai daca (i , j ) = (1, Q + 2).
[r
i
r
j
[ = [(u
i
u
j
) (v
i
v
j
)[ = [u
i
u
j
[
. .
q[1,Q]
[
v
i
v
j
u
i
u
j
. .
p
q
[
1
Q+1
.
Deci
p
q
1
q (Q + 1)
.
Generarea si ordonarea permutarilor. Principiul porumbeilor. Principiul incluziunii si excluziunii
Principiul porumbeilor
Aplicat ia 2: Aproximarea numerelor rat ionale (2)
Avem Q + 2 numere n Q + 1 intervale
exista i < j cu r
i
, r
j
n acelasi interval
[r
i
r
j
[
1
Q+1
. Se observa ca (i , j ) ,= (1, Q + 2)
Deasemenea
r
1
= 0 0
r
i
= (i 1) (i 1)| daca 2 i Q + 1
r
Q+2
= 0 (1)
ecare r
i
este u
i
v
i
cu u
i
, v
i
Z, si
daca i < j atunci u
i
= u
j
numai daca (i , j ) = (1, Q + 2).
[r
i
r
j
[ = [(u
i
u
j
) (v
i
v
j
)[ = [u
i
u
j
[
. .
q[1,Q]
[
v
i
v
j
u
i
u
j
. .
p
q
[
1
Q+1
.
Deci
p
q
1
q (Q + 1)
.
Generarea si ordonarea permutarilor. Principiul porumbeilor. Principiul incluziunii si excluziunii
Principiul porumbeilor
Aplicat ia 2: Aproximarea numerelor rat ionale (2)
Avem Q + 2 numere n Q + 1 intervale
exista i < j cu r
i
, r
j
n acelasi interval
[r
i
r
j
[
1
Q+1
. Se observa ca (i , j ) ,= (1, Q + 2)
Deasemenea
r
1
= 0 0
r
i
= (i 1) (i 1)| daca 2 i Q + 1
r
Q+2
= 0 (1)
ecare r
i
este u
i
v
i
cu u
i
, v
i
Z, si
daca i < j atunci u
i
= u
j
numai daca (i , j ) = (1, Q + 2).
[r
i
r
j
[ = [(u
i
u
j
) (v
i
v
j
)[ = [u
i
u
j
[
. .
q[1,Q]
[
v
i
v
j
u
i
u
j
. .
p
q
[
1
Q+1
.
Deci
p
q
1
q (Q + 1)
.
Generarea si ordonarea permutarilor. Principiul porumbeilor. Principiul incluziunii si excluziunii
Principiul porumbeilor
Aplicat ia 2: Aproximarea numerelor rat ionale (2)
Avem Q + 2 numere n Q + 1 intervale
exista i < j cu r
i
, r
j
n acelasi interval
[r
i
r
j
[
1
Q+1
. Se observa ca (i , j ) ,= (1, Q + 2)
Deasemenea
r
1
= 0 0
r
i
= (i 1) (i 1)| daca 2 i Q + 1
r
Q+2
= 0 (1)
ecare r
i
este u
i
v
i
cu u
i
, v
i
Z, si
daca i < j atunci u
i
= u
j
numai daca (i , j ) = (1, Q + 2).
[r
i
r
j
[ = [(u
i
u
j
) (v
i
v
j
)[ = [u
i
u
j
[
. .
q[1,Q]
[
v
i
v
j
u
i
u
j
. .
p
q
[
1
Q+1
.
Deci
p
q
1
q (Q + 1)
.
Generarea si ordonarea permutarilor. Principiul porumbeilor. Principiul incluziunii si excluziunii
Principiul porumbeilor
Aplicat ia 2: Aproximarea numerelor rat ionale (2)
Avem Q + 2 numere n Q + 1 intervale
exista i < j cu r
i
, r
j
n acelasi interval
[r
i
r
j
[
1
Q+1
. Se observa ca (i , j ) ,= (1, Q + 2)
Deasemenea
r
1
= 0 0
r
i
= (i 1) (i 1)| daca 2 i Q + 1
r
Q+2
= 0 (1)
ecare r
i
este u
i
v
i
cu u
i
, v
i
Z, si
daca i < j atunci u
i
= u
j
numai daca (i , j ) = (1, Q + 2).
[r
i
r
j
[ = [(u
i
u
j
) (v
i
v
j
)[ = [u
i
u
j
[
. .
q[1,Q]
[
v
i
v
j
u
i
u
j
. .
p
q
[
1
Q+1
.
Deci
p
q
1
q (Q + 1)
.
Generarea si ordonarea permutarilor. Principiul porumbeilor. Principiul incluziunii si excluziunii
Principiul porumbeilor
Aplicat ia 2: Aproximarea numerelor rat ionale (2)
Avem Q + 2 numere n Q + 1 intervale
exista i < j cu r
i
, r
j
n acelasi interval
[r
i
r
j
[
1
Q+1
. Se observa ca (i , j ) ,= (1, Q + 2)
Deasemenea
r
1
= 0 0
r
i
= (i 1) (i 1)| daca 2 i Q + 1
r
Q+2
= 0 (1)
ecare r
i
este u
i
v
i
cu u
i
, v
i
Z, si
daca i < j atunci u
i
= u
j
numai daca (i , j ) = (1, Q + 2).
[r
i
r
j
[ = [(u
i
u
j
) (v
i
v
j
)[ = [u
i
u
j
[
. .
q[1,Q]
[
v
i
v
j
u
i
u
j
. .
p
q
[
1
Q+1
.
Deci
p
q
1
q (Q + 1)
.
Generarea si ordonarea permutarilor. Principiul porumbeilor. Principiul incluziunii si excluziunii
Principiul Incluziunii si Excluziunii
Exemple ilustrative
Presupunem ca un sertar cont ine 50 de margele: 25 sunt de sticla, 30
sunt rosii, 20 sunt sferice, 18 sunt de sticla rosie, 12 sunt sferice de sticla,
15 sunt sferice rosii, si 8 sunt sferice de sticla rosie. Cate margele exista
care nu sunt nici rosii, nici de sticla si nici sferice?
R
i
N(a
i
) +
i <j
N(a
i
a
j
)
i <j <k
N(a
i
a
j
a
k
) +. . .
+ (1)
m
i
1
<<i
m
N(a
i
1
. . . a
i
m
) +. . . + (1)
r
N(a
1
a
2
. . . a
r
).
Generarea si ordonarea permutarilor. Principiul porumbeilor. Principiul incluziunii si excluziunii
Principiul Incluziunii si Excluziunii
Aplicat ia 1: Funct ia a lui Euler
(n):= numarul ntregilor 1 m < n cu gcd(m, n) = 1.
Exemplu: (24) = 8 deoarece sunt 8 intregi ntre 1 si 23 care
nu au factor comun cu 24: 1,5,7,11,13,17,19,23.
(n) joaca un rol important n teoria numerelor.
(n) poate calculata cu Principiul Incluziunii si Excluziunii:
Presupunem ca n = p
n
1
1
. . . p
n
r
r
unde p
1
, . . . , p
r
sunt numere
prime distincte, si n
i
> 0 pentru 1 i r .
Fie a
i
proprietatea mai mic decat n si divizibil cu p
i
(1 i r )
(n) = N
0
=
n
i
N(a
i
) +
i <j
N(a
i
a
j
) +. . . + (1)
r
N(a
1
. . . a
r
).
N(a
i
1
. . . , a
i
m
) este numarul de elemente < n divizibile cu
p
i
1
. . . p
i
m
N(a
i
1
. . . a
i
m
) =
n
p
i
1
. . . p
i
m
.
Generarea si ordonarea permutarilor. Principiul porumbeilor. Principiul incluziunii si excluziunii
Principiul Incluziunii si Excluziunii
Aplicat ia 1: Funct ia a lui Euler
(n) = n
i
n
p
i
+
i <j
n
p
i
p
j
+. . . + (1)
n
n
p
1
p
2
. . . p
r
= n
r
i =1
_
1
1
p
i
_
.
Exemplu: (24) = (2
3
3) = 24
_
1
1
2
_
_
1
1
3
_
= 8.
Generarea si ordonarea permutarilor. Principiul porumbeilor. Principiul incluziunii si excluziunii
Principiul Incluziunii si Excluziunii
Aplicat ia 2: numararea numerelor prime
Cate numere prime sunt ntre 1 si 120?
Observatie: Daca n nu este prim atunci n = a b cu
1 < a b a
2
n, deci a
n si n trebuie sa e divizibil
cu un numar prim p
n.
Criteriu de numarare a numerelor prime < n:
120 este 7
Consideram mult imea universala N = n N [ 1 n 120 si
eliminam din N toate elementele divizible cu un numar prim
7. Altfel spus, eliminam din N toate elementele care au una
din proprietat ile urmatoare:
a
1
= este divizibil cu p
1
= 2
a
2
= este divizibil cu p
2
= 3
a
3
= este divizibil cu p
3
= 5
a
4
= este divizibil cu p
4
= 7
si obt inem o mult ime M cu N
0
elemente.
I: Este N
0
numarul pe care-l cautam?
R: Nu tocmai, indca:
M cont ine toate numerele prime ntre 1 si 120, cu except ia lui
p
1
= 2, p
2
= 3, p
3
= 5, p
4
= 7.
M cont ine 1, care nu este numar prim.
Numarul numerelor prime 120 este N
0
+ 4 1.
Generarea si ordonarea permutarilor. Principiul porumbeilor. Principiul incluziunii si excluziunii
Principiul Incluziunii si Excluziunii
Aplicat ia 2: numararea numerelor prime
Cate numere prime sunt ntre 1 si 120?
Cel mai mare numar prim
120 este 7
Consideram mult imea universala N = n N [ 1 n 120 si
eliminam din N toate elementele divizible cu un numar prim
7. Altfel spus, eliminam din N toate elementele care au una
din proprietat ile urmatoare:
a
1
= este divizibil cu p
1
= 2
a
2
= este divizibil cu p
2
= 3
a
3
= este divizibil cu p
3
= 5
a
4
= este divizibil cu p
4
= 7
si obt inem o mult ime M cu N
0
elemente.
I: Este N
0
numarul pe care-l cautam?
R: Nu tocmai, indca:
M cont ine toate numerele prime ntre 1 si 120, cu except ia lui
p
1
= 2, p
2
= 3, p
3
= 5, p
4
= 7.
M cont ine 1, care nu este numar prim.
Numarul numerelor prime 120 este N
0
+ 4 1.
Generarea si ordonarea permutarilor. Principiul porumbeilor. Principiul incluziunii si excluziunii
Principiul Incluziunii si Excluziunii
Aplicat ia 2: numararea numerelor prime
Cate numere prime sunt ntre 1 si 120?
Cel mai mare numar prim
120 este 7
Consideram mult imea universala N = n N [ 1 n 120 si
eliminam din N toate elementele divizible cu un numar prim
7. Altfel spus, eliminam din N toate elementele care au una
din proprietat ile urmatoare:
a
1
= este divizibil cu p
1
= 2
a
2
= este divizibil cu p
2
= 3
a
3
= este divizibil cu p
3
= 5
a
4
= este divizibil cu p
4
= 7
si obt inem o mult ime M cu N
0
elemente.
I: Este N
0
numarul pe care-l cautam?
R: Nu tocmai, indca:
M cont ine toate numerele prime ntre 1 si 120, cu except ia lui
p
1
= 2, p
2
= 3, p
3
= 5, p
4
= 7.
M cont ine 1, care nu este numar prim.
Numarul numerelor prime 120 este N
0
+ 4 1.
Generarea si ordonarea permutarilor. Principiul porumbeilor. Principiul incluziunii si excluziunii
Principiul Incluziunii si Excluziunii
Aplicat ia 2: numararea numerelor prime
Cate numere prime sunt ntre 1 si 120?
Cel mai mare numar prim
120 este 7
Consideram mult imea universala N = n N [ 1 n 120 si
eliminam din N toate elementele divizible cu un numar prim
7. Altfel spus, eliminam din N toate elementele care au una
din proprietat ile urmatoare:
a
1
= este divizibil cu p
1
= 2
a
2
= este divizibil cu p
2
= 3
a
3
= este divizibil cu p
3
= 5
a
4
= este divizibil cu p
4
= 7
si obt inem o mult ime M cu N
0
elemente.
I: Este N
0
numarul pe care-l cautam?
R: Nu tocmai, indca:
M cont ine toate numerele prime ntre 1 si 120, cu except ia lui
p
1
= 2, p
2
= 3, p
3
= 5, p
4
= 7.
M cont ine 1, care nu este numar prim.
Numarul numerelor prime 120 este N
0
+ 4 1.
Generarea si ordonarea permutarilor. Principiul porumbeilor. Principiul incluziunii si excluziunii
Principiul Incluziunii si Excluziunii
Aplicat ia 2: numararea numerelor prime
Cate numere prime sunt ntre 1 si 120?
Cel mai mare numar prim
120 este 7
Consideram mult imea universala N = n N [ 1 n 120 si
eliminam din N toate elementele divizible cu un numar prim
7. Altfel spus, eliminam din N toate elementele care au una
din proprietat ile urmatoare:
a
1
= este divizibil cu p
1
= 2
a
2
= este divizibil cu p
2
= 3
a
3
= este divizibil cu p
3
= 5
a
4
= este divizibil cu p
4
= 7
si obt inem o mult ime M cu N
0
elemente.
I: Este N
0
numarul pe care-l cautam?
R: Nu tocmai, indca:
M cont ine toate numerele prime ntre 1 si 120, cu except ia lui
p
1
= 2, p
2
= 3, p
3
= 5, p
4
= 7.
M cont ine 1, care nu este numar prim.
Numarul numerelor prime 120 este N
0
+ 4 1.
Generarea si ordonarea permutarilor. Principiul porumbeilor. Principiul incluziunii si excluziunii
Principiul Incluziunii si Excluziunii
Aplicat ia 2: numararea numerelor prime
Cate numere prime sunt ntre 1 si 120?
Cel mai mare numar prim
120 este 7
Consideram mult imea universala N = n N [ 1 n 120 si
eliminam din N toate elementele divizible cu un numar prim
7. Altfel spus, eliminam din N toate elementele care au una
din proprietat ile urmatoare:
a
1
= este divizibil cu p
1
= 2
a
2
= este divizibil cu p
2
= 3
a
3
= este divizibil cu p
3
= 5
a
4
= este divizibil cu p
4
= 7
si obt inem o mult ime M cu N
0
elemente.
I: Este N
0
numarul pe care-l cautam?
R: Nu tocmai, indca:
M cont ine toate numerele prime ntre 1 si 120, cu except ia lui
p
1
= 2, p
2
= 3, p
3
= 5, p
4
= 7.
M cont ine 1, care nu este numar prim.
Numarul numerelor prime 120 este N
0
+ 4 1.
Generarea si ordonarea permutarilor. Principiul porumbeilor. Principiul incluziunii si excluziunii
Principiul Incluziunii si Excluziunii
Aplicat ia 2: numararea numerelor prime (continuare)
Cate numere prime sunt ntre 1 si 120?
N
0
= 120
4
i =1
N(a
i
) +
i <j
N(a
i
a
j
)
i <j <k
N(a
i
a
j
a
k
) +N(a
1
a
2
a
3
a
4
)
Observam ca N(a
i
1
. . . a
i
m
) =
_
120
p
i
1
...p
i
m
_
(de ce?)
De exemplu:
N(a
1
) = 120/2| = 60, N(a
2
) = 120/3| = 40,
N(a
3
) = 120/5| = 24, N(a
4
) = 120/7| = 17
N(a
1
a
2
) = 120/(2 3)| = 20, N(a
1
a
3
) = 120/(2 5)| = 12,
. . .
N(a
1
a
2
a
3
a
4
) = 120/(2 3 5 7)| = 120/210| = 0
N
0
= 120 (60 + 40 + 24 + 17) + (20 + 12 + 8 + 8 + 5 + 3)
(4 + 2 + 1 + 1) + 0 = 27.
Numarul pe care-l cautam este 27 + 4 1 = 30
Generarea si ordonarea permutarilor. Principiul porumbeilor. Principiul incluziunii si excluziunii
Principiul Incluziunii si Excluziunii
Aplicat ia 2: numararea numerelor prime (continuare)
Cate numere prime sunt ntre 1 si 120?
N
0
= 120
4
i =1
N(a
i
) +
i <j
N(a
i
a
j
)
i <j <k
N(a
i
a
j
a
k
) +N(a
1
a
2
a
3
a
4
)
Observam ca N(a
i
1
. . . a
i
m
) =
_
120
p
i
1
...p
i
m
_
(de ce?)
De exemplu:
N(a
1
) = 120/2| = 60, N(a
2
) = 120/3| = 40,
N(a
3
) = 120/5| = 24, N(a
4
) = 120/7| = 17
N(a
1
a
2
) = 120/(2 3)| = 20, N(a
1
a
3
) = 120/(2 5)| = 12,
. . .
N(a
1
a
2
a
3
a
4
) = 120/(2 3 5 7)| = 120/210| = 0
N
0
= 120 (60 + 40 + 24 + 17) + (20 + 12 + 8 + 8 + 5 + 3)
(4 + 2 + 1 + 1) + 0 = 27.
Numarul pe care-l cautam este 27 + 4 1 = 30
Generarea si ordonarea permutarilor. Principiul porumbeilor. Principiul incluziunii si excluziunii
Principiul Incluziunii si Excluziunii
Aplicat ia 2: numararea numerelor prime (continuare)
Cate numere prime sunt ntre 1 si 120?
N
0
= 120
4
i =1
N(a
i
) +
i <j
N(a
i
a
j
)
i <j <k
N(a
i
a
j
a
k
) +N(a
1
a
2
a
3
a
4
)
Observam ca N(a
i
1
. . . a
i
m
) =
_
120
p
i
1
...p
i
m
_
(de ce?)
De exemplu:
N(a
1
) = 120/2| = 60, N(a
2
) = 120/3| = 40,
N(a
3
) = 120/5| = 24, N(a
4
) = 120/7| = 17
N(a
1
a
2
) = 120/(2 3)| = 20, N(a
1
a
3
) = 120/(2 5)| = 12,
. . .
N(a
1
a
2
a
3
a
4
) = 120/(2 3 5 7)| = 120/210| = 0
N
0
= 120 (60 + 40 + 24 + 17) + (20 + 12 + 8 + 8 + 5 + 3)
(4 + 2 + 1 + 1) + 0 = 27.
Numarul pe care-l cautam este 27 + 4 1 = 30
Generarea si ordonarea permutarilor. Principiul porumbeilor. Principiul incluziunii si excluziunii
Principiul Incluziunii si Excluziunii
Aplicat ia 2: numararea numerelor prime (continuare)
Cate numere prime sunt ntre 1 si 120?
N
0
= 120
4
i =1
N(a
i
) +
i <j
N(a
i
a
j
)
i <j <k
N(a
i
a
j
a
k
) +N(a
1
a
2
a
3
a
4
)
Observam ca N(a
i
1
. . . a
i
m
) =
_
120
p
i
1
...p
i
m
_
(de ce?)
De exemplu:
N(a
1
) = 120/2| = 60, N(a
2
) = 120/3| = 40,
N(a
3
) = 120/5| = 24, N(a
4
) = 120/7| = 17
N(a
1
a
2
) = 120/(2 3)| = 20, N(a
1
a
3
) = 120/(2 5)| = 12,
. . .
N(a
1
a
2
a
3
a
4
) = 120/(2 3 5 7)| = 120/210| = 0
N
0
= 120 (60 + 40 + 24 + 17) + (20 + 12 + 8 + 8 + 5 + 3)
(4 + 2 + 1 + 1) + 0 = 27.
Numarul pe care-l cautam este 27 + 4 1 = 30
Generarea si ordonarea permutarilor. Principiul porumbeilor. Principiul incluziunii si excluziunii
Principiul Incluziunii si Excluziunii
Aplicat ia 2: numararea numerelor prime (continuare)
Cate numere prime sunt ntre 1 si 120?
N
0
= 120
4
i =1
N(a
i
) +
i <j
N(a
i
a
j
)
i <j <k
N(a
i
a
j
a
k
) +N(a
1
a
2
a
3
a
4
)
Observam ca N(a
i
1
. . . a
i
m
) =
_
120
p
i
1
...p
i
m
_
(de ce?)
De exemplu:
N(a
1
) = 120/2| = 60, N(a
2
) = 120/3| = 40,
N(a
3
) = 120/5| = 24, N(a
4
) = 120/7| = 17
N(a
1
a
2
) = 120/(2 3)| = 20, N(a
1
a
3
) = 120/(2 5)| = 12,
. . .
N(a
1
a
2
a
3
a
4
) = 120/(2 3 5 7)| = 120/210| = 0
N
0
= 120 (60 + 40 + 24 + 17) + (20 + 12 + 8 + 8 + 5 + 3)
(4 + 2 + 1 + 1) + 0 = 27.
Numarul pe care-l cautam este 27 + 4 1 = 30
Generarea si ordonarea permutarilor. Principiul porumbeilor. Principiul incluziunii si excluziunii
Bibliograe
1
Capitolul 2, Sect iunea 2.1: Generating Permutations of
S. Pemmaraju, S. Skiena. Combinatorics and Graph Theory
with Mathematica. Cambridge University Press 2003.
2
Capitolul 2, Sect iunile 2.4 si 2.5 din
J. M. Harris, J. L. Hirst, M.J. Mossingho. Combinatorics and
Graph Theory. Second Edition. Springer 2008.
3
Capitolul 5 din
K. H. Rosen. Discrete Mathematics and Its Aplications. Sixth
Edition. McGraw Hill Higher Education. 2007.
Generarea si ordonarea permutarilor. Principiul porumbeilor. Principiul incluziunii si excluziunii
Generarea si ordonarea permutarilor. Principiul porumbeilor. Principiul incluziunii si excluziunii