1. DEF: Klasa kombinatoryczna
A(A,∣⋅∣)
- A=∅
- ∣⋅∣:A→N+
- {a∈A:∣a∣=n}=An
an=∣An∣<∞
2. OGF — ordinary generating function
A(z)=∑n≥0anzn
[zn]A(z)=an
3. Przykład łączenia dwóch klas
A=(A,∣⋅∣A)
B=(B,∣⋅∣B)
A∩B=∅
A+B=(A∪B,∣⋅∣)
∣⋅∣={∣x∣A∣x∣Bx∈Ax∈B
(A+B)(z)=∑x∈A∑Bz∣x∣=∑x∈Az∣x∣A+∑x∈Bz∣x∣B=A(z)+B(z)
4. Przykłady klas
4.1. Przykład
A=({ϵ},∣⋅∣)∣ϵ∣=0
A(z)=∑a∈Az∣a∣=z∣ϵ∣=z0=1
4.2. Przykład
A=({⊚,□,△},∣⋅∣={⊚→1,□→1,△→0}
A(z)=2z+1⋅z0=2z+1
N(N,∣⋅∣) ∣i∣=i
N(z)=z0+z1+⋯=1−z1
4.3. Przykład
N=({0,1,2,3,…},∣⋅∣)∣i∣=i
N(z)=∑i∈Nz∣i∣=∑i≥0zi=1−z1
4.4. Przykład
N+=({1,2,3,…},∣⋅∣)∣i∣=i
N+=1−zz
4.5. Przykład
N≥3=({3,4,5,6,…},∣⋅∣)
N≥3(z)=∑x∈N≥3z∣x∣=z3+z4+z5+⋯=z3(1+z+⋯)=z3⋅1−z1=1−zz3
4.6. Przykład
P={ϵ,1,1–2,2–1,1–2–3,1–3–2,3–2–1,…}
∣Pn∣=n!
P(z)=∑n≥0n!zn zbieżna tylko dla z=0
4.7. Przykład
NEven=({0,2,4,6,8,…},∣⋅∣)
NOdd=({1,3,5,7,…},∣⋅∣)
NEven(z)=z0+z2+z4+⋯=1+z2+z4+⋯=1−z21
NOdd(z)=⋯=z⋅NEven(z)=1−z21⋅z
A∼A(z) B∼B(z)
A+B∼A(z)+B(z)
NEven+NOdd∼N
NOdd(z)+NEven(z)=1−z21+1−z21=1−z21+z=1−z1=1+z+z2+z3+⋯=N(z)
4.8. Przykład
W=({ϵ,0,1,00,01,10,11,000,001,010,100,110,…},∣⋅∣)
∣w∣= długość ciągu
W(z)=∑n≥02nzn=∑n≥0(2z)n=1−2z1
[z1000]W(z)=21000
5. Izomorfizm
Dwie klasy kombinatoryczne A oraz B o OGF A(z) oraz B(z) są izomorficzne wtedy i tylko wtedy gdy A(z)=B(z). Wówczas piszemy A≅B