Klasa kombinatoryczna

Z testwiki
Przejdź do nawigacji Przejdź do wyszukiwania

Klasą kombinatoryczną nazywamy parę A = (A,|.|) taką, że A jest zbiorem niepustym zaś ||:A𝐍 jest funkcją ze zbioru A w zbiór liczb naturalnych taka, że dla każdej liczby naturalnej n zbiór {a ∈ A: |a| = n} jest skończony.

Liczbę |a| interpretujemy jako wagę lub rozmiar elementu a. Zbiór A nazywamy uniwersum klasy A. Klasy kombinatoryczne są podstawowymi obiektami Kombinatoryki Analitycznej.

Dwie klasy (A,|.|) i (B,[.]) są izomorficzne, jeśli istnieje bijekcja f:A → B taka, że dla każdego a ∈ A mamy |a| = [f(a)].

Podstawowe definicje

Niech A = (A,| . |) będzie klasą kombinatoryczną. Wprowadzamy oznaczenia:

  1. An = {a ∈ A:|a|=n}
  2. an = |An|
  3. A(z) = k=0akzk
  4. [zn]A(z) = an

Szereg potęgowy A(z) nazywamy funkcją tworzącą klasy kombinatorycznej A.

Jeśli klasy A i B są izomorficzne, to A(z) = B(z).

Podstawowe przykłady

1. Niech E = ({e},|.|), gdzie |e| = 0. Wtedy E(z) = 1.
2. Niech Z = ({a},|.|), gdzie |a| = 1. Wtedy Z(z) = z.
3. Niech N oznacza zbiór liczb naturalnych oraz niech N = (N,id), gdzie id oznacza identyczność na zbiorze liczb naturalnych. Wtedy

N(z)=k=0zk=11z.

4. Niech X będzie zbiorem mocy n oraz niech P(X) będzie zbiorem potęgowym zbioru X. Rozważamy klasę P = (P(X),|.|), gdzie |A| oznacza moc zbioru A. Wtedy

P(z)=k=0n(nk)zk=(1+z)n.

Podstawowe konstrukcje

Niech 𝒜=(A,||A), =(B,||B) będą klasami kombinatorycznymi.

Suma klas

Jeśli AB= to ich sumę definiujemy jako klasę 𝒜+=(AB,||A||B).

Twierdzenie: (𝒜+)(z)=𝒜(z)+(z)

Przykład: Rozważamy klasę A z uniwersum A = {ε, •, ♦, ♣, ♥} taką, że |ε| = 0, |•| = |♦|=1 i |♣| = |♥|=2.

Wtedy A(z) = {ε}(z) + {•}(z) + {♦}(z) + {♣}(z) + {♥}(z) = 1 + 2z + 2z².

Produkt klas

Produktem klas 𝒜 i nazywamy klasę 𝒜×=(A×B,||), gdzie |(a,b)| = |a|A+|b|B.

Twierdzenie: (𝒜×)(z)=𝒜(z)(z)

gdzie A(z)B(z) oznacza iloczyn Cauchy’ego szeregów.

Operacja ciągów klas

Załóżmy, że a0 = 0. Klasą ciągów skończonych elementów klasy A nazywamy klasę

SEQ(𝒜)=EA(A×A)(A×A×A)

Twierdzenie: SEQ(𝒜)(z)=11𝒜(z)

Operacja podzbiorów skończonych klasy

Załóżmy, że a0 = 0. Klasą podzbiorów skończonych elementów klasy A nazywamy klasę SET(𝒜)=(Pfin(A),||), gdzie Pfin(A) oznacza zbiór wszystkich skończonych podzbiorów zbioru A oraz |{a1,,an}|=|a1|A++|an|A.

Twierdzenie: SET(𝒜)(z)=n=1(1+zn)an

Operacja multizbiorów

Załóżmy, że a0 = 0. Klasą podzbiorów skończonych elementów klasy A nazywamy klasę MULT(𝒜)=(Mult(A),||), gdzie Mult(A) oznacza zbiór wszystkich multizbiorów elementów zbioru A oraz |m|=aAm(a)|a|A.

Twierdzenie: MULT(𝒜)(z)=n=11(1zn)an

Typowe zastosowanie

Przykład 1. Niech 𝒜=({1,,k},||) gdzie |1|==|k|=1. Niech =MULT(𝒜). Wtedy (z)=1(1z)k, więc

(z)=(1z)k=n0(kn)(1)nzn=n0(n+k1n)zn=n0(n+k1k1)zn

zatem [zn](z)=(n+k1k1). Otrzymaliśmy wzór na liczbę multizbiorów rozmiaru n podzbioru k-elementowego.

Przykład 2. Niech T oznacza klasę drzew planarnych. Niech • oznacza wierzchołek drzewa. Wtedy T ≈ {•} × SEQ(T), więc T(z) = z/(1-T(z)), z czego wnioskujemy, że

T(z)=12(114z).

Po kilkunastu algebraicznych przekształceniach otrzymujemy [zn]T(z)=1n(2(n1)n1), więc [zn]T(z) = Cn-1, gdzie Cn oznacza n-tą liczbę Catalana.

Bibliografia

Linki zewnętrzne