1. Suma
- A=B+C
- C,B mają zbiory C, B
- A=(B∪C,∣⋅∣)
1.1. OGF
A(z)=B(z)+C(z)
1.2. Przykład
Mamy A=({△,∣},∣⋅∣A) oraz B=({1,2},∣⋅∣B).
Suma C=A+B czyli C=({△,∣,1,2},∣⋅∣).
2. Produkt kartezjański
A×B=(A×B,∣⋅∣)∣(a,b)∣=∣a∣A+∣b∣B
2.1. OGF
- (A×B)(z)=∑n∣(A×B)n∣zn
- (A×B)n={(a,b)∈A×B:∣a∣A+∣b∣B=n}=⋃k=0n{(a,b)∈A×B:∣a∣A=k∧∣b∣B=n−k}=⋃k=0nAk×Bn−k=(∗); ∣(∗)∣=∑k=0n∣Ak∣⋅∣Bn−k∣=∣(A×B)n∣
- czyli wracając (A×B)(z)=∑n≥0(∑k=0nak⋅bn−k)zn=A(z)⋅B(z)
2.2. Przykład
{△,∣}×{1,2}→{(△,1),(△,2),(∣,1),(∣,2)}
2.3. Przykład
N=({0,1,2,3,…,},∣⋅∣:i→∣i∣)N(z)=1−z1
N×N∣(n1,n2)∣=n1+n2
dla przykładu n=3(N×N)3={(0,3),(1,2),(2,1),(3,0)}
OGF dla N×N: (N×N)(z)=(1−z)21
ile mamy takich par, że suma daje 3? — [z3](1−z)21=(∗)
korzystamy z faktu z wcześniejszego wykładu
(∗)=[z3]∑n≥0(1n+1)zn=[z3]∑n(n+1)zn=4 — zgadza się liczebność
3. SEQ
A=(A,∣⋅∣)A0=∅,(a0=0)
SEQ(A)==ϵA0+A+(A×A)+(A×A×A)+⋯
3.1. OGF
- α=(α1,α2,…,αk)
- ∣α∣=∣α1∣+∣α2∣+⋯+∣αk∣
- SEQ(A)↔1−A(z)1
3.2. Przykład
SEQ({1,2})→{ϵ,1,2,11,12,21,22}
3.3. Przykład
A=({∘},∣⋅∣),∣∘∣=1,A(z)=z
- SEQ(A)=A0+A+(A×A)+(A×A×A)+⋯
- ϵ,(∘),(∘,∘),(∘,∘,∘),…
- 0,1,2,3,…
- SEQ(A)(z)=1−A(z)1=1−z1=∑n≥0zn=N(z)∼N
- SEQ(A)(z)≅N(z)
3.4. Przykład
a=({←,→},∣⋅∣),∣←∣=∣→∣=1,A(z)=2z
- SEQ(A) ma zbiór {∅,←,→,→→,←←,←→,⋯}
- SEQ(A)(z)=1−2z1=∑n≥0(2n)n=∑n≥02nzn
3.5. Przykład
Z=({1,2},∣⋅∣),∣1∣=1, ∣2∣=2
- Z(z)=z+z2
- ∣(1,1,1,2,2,1)∣=8zł (rozróżniamy kolejność monet)
- SEQ(Z)(z)=1−z−z21
- [z8]1−z−z21
4. PSET
A=(A,∣⋅∣)∣A∣<∞
PSET(A)=∏α∈A({ϵ}+{α})
4.1. OGF
PSET(A)(z)=∏n(1+zn)an
Możemy OGF zapisać nieco inaczej.
Wykorzystamy: ln(1+u)=1u−2u2+3u3−⋯=n≥0∑nun⋅(−1)n+1
Wówczas: PSET(A)(z)=n∏(1+zn)an=exp(ln(n∏(1+zn)an))==exp(n≥1∑∞ank=1∑n(−1)k−1⋅kzn⋅k)=exp(1A(z)−2A(z2)+3A(z3)−⋯)
4.2. Przykład
PSET({1,2})→{∅,{1},{2},{1,2}}
4.3. Przykład
- A={♡,1,2}
- P(A)={∅,{♡},…,{♡,1,2}}
- ∣A∣=n∣P(A)∣=2n
- A′⊆A
- ∣{α1,α2,…,αn}∣=∣α1∣+∣α2∣+⋯+∣αn∣
- PSET(A)=∏α∈A({ϵ}+{α})
- PSET({♡,1,2})=({ϵ}+{♡})⋅({ϵ}+{1})⋅({ϵ}+{2})
- PSET(A)(z)=∏α∈A(1+z∣α∣)=∏n(1+zn)an
4.4. Przykład
Mamy:
- 50 banknotów po $1
- 10 banknotów po $2
- 10 banknotów po $5
- 10 banknotów po $20
które są rozróżnialne.
Na ile sposobów można wypłacić $202?
- A(z)=50z+10⋅z2+10⋅z5+10⋅z20
- PSET(A)(z)=(1+z)50⋅(1+z2)10⋅(1+z5)10⋅(1+z20)10
- [z202]PSET(A)(z)
5. MSET
A=(A,∣⋅∣)∣A∣<∞
MSET(A)≅SEQ(A)/R
gdzie R jest pewną relacją taką, że: (α1,α2,…,αk)R(α1′,α2′,…,αk′)⟺∃ permutacja σ∀i∈[1;k]αi=ασ(i)′
Inaczej: MSET(A)=∏α∈ASEQ({α})
5.1. OGF
MSET(A)(z)=∏α∈A1−z∣α∣1=∏n≥0(1−zn)−an
Alternatywnie:
MSET(A)(z)=exp(∑k=1∞kA(zk))
5.2. Przykład
MSET({1,2})→{∅,{1},{1,1},{1,1,1}…{1,2,2},{1,2,2,2}…}
Warto zauważyć, że zamiast zapisywać całej zawartości danego multizbioru (będącego elementem klasy komb.), można zapisać jako parę określającą liczebność każdego z elementów w tym multizbiorze.
Przykładowo, zamiast {1,1,1,2,2} można zapisać (3,2), jako że występują trzy jedynki oraz dwie dwójki.
Trzeba jedynie ustalić kolejność opisywania liczebności.
5.3. Przykład
Na ile sposobów można wydać 110zł monetami w nominałach 1, 2, 5?
- A(z)=z+z2+z5
- MSET(A)(z)=1−z1⋅1−z21⋅1−z51
- [z110]MSET(A)(z)
5.4. Przykład
A=({1,2},∣⋅∣),∣1∣=1,∣2∣=2
{1,2,2,1,1}={1,1,1,2,2}={1,2}
{1,2,2,1,1}∼(3,2) (trzy jedynki, dwie dwójki)
6. CYC
CYC(A)=(SEQ(A)∖{ϵ})/S
gdzie S jest relacją taką, że: (α1,α2,…,αr)S(α1′,α2′,…,αr′)⟺∃dαj′=α((j+d) mod r)+1
6.1. OGF
CYC(A)(z)=∑k=1∞kφ(k)ln1−A(zk)1
6.1.1. Funkcja Eulera
φ:N→N
φ(k)=∣{n:n<k∧GCD(n,k)=1}∣
6.2. Przykład
Ile jest cykli 3-elementowych zbudowanych z elementów ze zbioru {a,b}?
Grupujemy możliwe sekwencje czyniąc zadość relacji S.
- aaa
- abb, bab, bba
- aab, aba, baa
- bbb
Mamy 4 takie cykle.
6.3. Przykład
Il jest naszyjników 2-kolorowych rozmiaru n?
A=({a,b},∣⋅∣),∣a∣=∣b∣
- n=1 mamy 2:ab
- n=2 mamy 3:aaabbb
- n=3 mamy 4:aaabaabbabbb
- itd. (ale nie jest to 5,6,7…)
A(z)=2z
B=CYC(A)
B(z)=∑k≥1kφ(k)⋅ln1−2zk1=
korzystamy ze wzorku
=∑k≥1kφ(k)∑n≥1n(2zk)n=∑k≥1(kφ(k)∑n≥1n2nzk⋅n)=∑k≥1, n≥1kφ(k)n2n⋅zn⋅k
To sprawdźmy (powinno być 4):
[z3]B(z)=[z3]∑k≥1, n≥1kφ(k)n2n⋅zn⋅k =(n=1∧k=3)∨(n=3∧k=1) (3φ(3)⋅121+1φ(1)⋅323)=(3φ(3)⋅12+1φ(1)⋅38)=312=4 — gut