Struktury etykietowane i EGF

by Jerry Sky

2020-11-30



1. Struktury etykietowane

Obiekt etykietowany to graf o nn wierzchołkach, w którym każdy elementy ma unikalną etykietę ze zbioru {1,,n}\{1,\dots,n\}.

Czyli jak wcześniej mieliśmy Z1×Z2\mathcal{Z}_1 \times \mathcal{Z}_2, która zawierała tylko jedną parę (,)(\circ, \circ) to tutaj zaczynamy rozróżniać te dwa elementy w parze — każdy element dostaje etykietę.


2. Klasa kombinatoryczna (etykietowana)

A={A,,β}\mathcal{A} = \left\{ A, |\cdot|, \beta \right\}
gdzie aAβ:a{1,,n}\forall a \in A \quad \beta: a \to \{1,\dots,n\}.

3. EGF

A(z)=αAzαα!=n=0Ann!znA(z) = \sum_{\alpha \in A} \frac{z^{|\alpha|}}{|\alpha|!} = \sum_{n=0} \frac{A_n}{n!} z^n
gdzie An=n![zn]A(z)A_n = n! \cdot [z^n] A(z).

4. Przykłady

4.1. Przykład

Zobaczmy SEQ(Z)P\operatorname{SEQ}(\mathcal{Z}) \cong P

mamy ϵ(1)(1,2);(2,1)(1,2,3);(1,3,2);(3,2,1)\epsilon \quad (1) \quad (1,2); (2,1) \quad (1,2,3); (1,3,2); \dots (3,2,1) (czyli faktycznie n!n!)

P(z)=n0n!n!zn=11zP(z) = \sum_{n\ge0} \frac{n!}{n!} z^n = \frac{1}{1-z}


4.2. Przykład (Urny)

Ile jest urn, które zawierają ii elementów?

  1. ϵ\epsilon
  2. (1)(1)
  3. (1),(2)(1),(2)
  4. (1),(2),(3)(1),(2),(3)
  5. \dots

zawsze jest tylko jedna taka urna, czyli ciąg un=(1,1,1,1,)u_n = (1,1,1,1,\dots).

EGF: n0unznn!=n0znn!=exp(z)\sum_{n\ge0} u_n \frac{z^n}{n!} = \sum_{n\ge0} \frac{z^n}{n!} = \exp(z).


4.3. Przykład

Ile jest cykli z etykietowanymi elementami?

  1. 1: (1)(1)
  2. 1: (1)(2)(1)(1) \to (2) \to (1)
  3. 2: (1)(2)(3)(1)(1)(3)(2)(1)(1) \to (2) \to (3) \to (1) \qquad (1) \to (3) \to (2) \to (1)
  4. 6: (1)(2)(3)(4)1(1) \to (2) \to (3) \to (4) \to 1 \dots

Możemy zauważyć, że permutujemy nn elementów. Jedyne co to jeszcze możemy dowolnie przesuwać otrzymane sekwencje, bo rozmawiamy o cyklach, czyli mamy ich n!n=(n1)!\frac{n!}{n} = (n-1)!.

Czyli EGF: C(z)=n0(n1)!n!zn=n0znn=ln11z C(z) = \sum_{n\ge0} \frac{(n-1)!}{n!} z^n = \sum_{n\ge0} \frac{z^n}{n} = \ln \frac{1}{1-z}


5. Produkt etykietowany (star product)

Mając dane dwie klasy etykietowane A\mathcal{A} oraz B\mathcal{B},
AB\mathcal{A} \star \mathcal{B} to klasa uporządkowanych par (a,b)(a,b) takich, że aAa \in A oraz bBb \in B, poetykietowanych tak, że został zachowany porządek względny.

5.1. Przykład

Mamy

Jeśli αA\alpha \in A, βB\beta \in B:

wówczas αβ:\alpha \star \beta:

Możemy to zrobić na (α+βα)\binom{|\alpha| + |\beta|}{|\alpha|} czyli tutaj (52)\binom{5}{2}.


Funkcję etykietowaną γ\gamma definiujemy w taki sposób, że

Czyli jeśli aA=n|a|_A = n oraz bB=m|b|_B = m wówczas ab=(n+mn)|a \star b| = \binom{n+m}{n}.

5.2. Definicja formalna

Mając C=AB\mathcal{C} = \mathcal{A} \star \mathcal{B} mamy Cn={ab:a+b=n}=k=0n{ab:a=kb=nk}C_n = \bigcup\left\{ a \star b: |a| + |b| = n \right\} = \bigcup_{k=0}^n \left\{ a\star b: |a| = k \land |b| = n-k \right\}.

Czyli cn=k=0nakbnk(nk)c_n = \sum_{k=0}^n a_k \cdot b_{n-k} \binom{n}{k}.

EGF: C(z)=n0znn!(k=0n(nk)akbnk)=(n0anznn!)(n0bnznn!)=A(z)B(z)C(z) = \sum_{n\ge0} \frac{z^n}{n!} \left( \sum_{k=0}^n \binom{n}{k} a_{k} b_{n-k} \right) = \left( \sum_{n\ge0}\frac{a_n z^n}{n!} \right) \cdot \left( \sum_{n\ge0}\frac{b_n z^n}{n!} \right) = A(z) \cdot B(z) co jest bardzo dobre!

Ważne: akbnkzk+(nk)k!(nk)!=(nk)akankznn! \frac{a_k \cdot b_{n-k} \cdot z^{k + (n-k)}}{k! (n-k)!} = \frac{\binom{n}{k} a_k a_{n-k} z^n}{n!}


6. EGF klas pochodnych

Niech

Wówczas

  1. A+B    A(z)+B(z)\mathcal{A} + \mathcal{B} \iff A(z) + B(z)
  2. AB    A(z)B(z)\mathcal{A} * \mathcal{B} \iff A(z) \cdot B(z)
  3. SEQ(A)    11A(z)\operatorname{SEQ}(\mathcal{A}) \iff \frac{1}{1 - A(z)}
  4. CYC(A)    ln11A(z)=n1An(z)n\operatorname{CYC}(\mathcal{A}) \iff \ln \frac{1}{1 - A(z)} = \sum_{n\ge1} \frac{A^n(z)}{n}
  5. MSET\operatorname{MSET} nie działa
  6. SET(A)(z)=1+A(z)+A2(z)2!+A3(z)3!+=exp(A(z))\operatorname{SET}(\mathcal{A})(z) = 1 + A(z) + \frac{A^2(z)}{2!} + \frac{A^3(z)}{3!} + \dots = \exp(A(z))

6.1. Przykład (permutacje)

Mamy permutację: 123456312654 \begin{aligned} 1 && 2 && 3 && 4 && 5 && 6\\ 3 && 1 && 2 && 6 && 5 && 4 \end{aligned} Można na nią spojrzeć na następujące sposoby:

  1. (3)(1)(2)(6)(5)(4)(3)–(1)–(2)–(6)–(5)–(4)
  2. (1)(3)(2)(1)(1)\to(3)\to(2)\to(1)
    (4)(6)(4)(4)\to(6)\to(4)
    (5)(5)(5)\to(5)

Permutacje określa klasa P=SEQ(Z)P(z)=11z \mathcal{P} = \operatorname{SEQ}(\mathcal{Z})\\ P(z) = \frac{1}{1-z}

A formę cykli określa klasa P=SET(CYC(Z)) \mathcal{P}' = \operatorname{SET}(\operatorname{CYC}(\mathcal{Z})) czyli OGF P(z)=exp(ln11z)P'(z) = \exp\left(\ln\frac{1}{1-z}\right), ale przecież exp(ln11z)=11z\exp\left( \ln \frac{1}{1-z} \right) = \frac{1}{1-z} — czyli obie sposoby „patrzenia” na permutacje są równoważne.


6.2. Przykład (nieporządki)

Nieporządki to permutacje bez punktów stałych — innymi słowy składają się z cykli o długości większej niż jeden.

Opisuje tę sytuację klasa D=SET(CYC>1(Z))\mathcal{D} = \operatorname{SET}(\operatorname{CYC}_{>1}(\mathcal{Z})) z OGF D(z)=exp(A(z))D(z) = \exp(A(z)) gdzie A(z)=ln11zzA(z) = \ln\frac{1}{1-z} - z, bo odejmujemy ten jeden cykl zwrotny.

Czyli D(z)=exp(ln11zz)=exp(z)1zD(z) = \exp\left( \ln\frac{1}{1-z} - z \right) = \frac{\exp(-z)}{1 - z}.


6.3. Przykład (suriekcje)

funkcje „na”

Mamy {1,,n}{1,,r}\{1,\dots,n\} \to \{1,\dots,r\} gdzie rnr \le n. Każdy przeciwobraz każdego elementu ze zbioru {1,,r}\{1,\dots,r\} jest niepusty.

Możemy suriekcje utożsamić z urnami, gdzie dla każdego elementu z {1,,r}\{1,\dots,r\} mamy urnę, gdzie jest przynajmniej jeden element z {1,,n}\{1,\dots,n\}.

Klasa kombinatoryczna: S=SEQ=r(SET0(Z))\mathcal{S} = \operatorname{SEQ}_{=r}\left( \operatorname{SET}_{\neq 0}(\mathcal{Z}) \right) z EGF S(z)=(ez1)rS(z) = (e^z - 1)^r.

Zapisujemy snr=n![zn](ez1)rs_n^r = n! [z^n] (e^z - 1)^r jako liczbę suriekcji ze zbioru nn-elementowego do zbioru rr-elementowego.


7. Drzewo etykietowane (non-ordered labelled tree)

Mamy drzewa gdzie każdy węzeł etykietujemy pewną liczbą naturalną, przy czym nie rozróżniamy w jakiej kolejności mamy uporządkowane gałęzie tego drzewa.
Czyli następujące drzewa są równoważne:

Wówczas taka struktura może być reprezentowana przez klasę T=Z×SET(T)\mathcal{T} = \mathcal{Z} \times \operatorname{SET}(\mathcal{T}) z EGF T(z)=zexp(T(z))T(z) = z \cdot \exp(T(z)).

Wówczas (z twierdzenia lagrange’a o inwersji) mamy Tn=n![zn]T(z)=n!(1n[xn1](ex)n)==n!n([xn1]k0(xn)kk!)=n!nnn1(n1)!=nn1, T_n = n! [z^n] T(z) = n! \left( \frac{1}{n} [x^{n-1}] \cdot \left( e^x \right)^n \right) =\\ = \frac{n!}{n} \cdot \left( [x^{n-1}] \sum_{k\ge0} \frac{(x\cdot n)^k}{k!} \right) = \frac{n!}{n} \cdot \frac{n^{n-1}}{(n-1)!} = n^{n-1}, czyli liczbę drzew o nn wierzchołkach.

Cayley’s formula


8. Mappings

Mamy {1,,n}{1,,r}\{1,\dots,n\} \to \{1,\dots,r\} gdzie rnr \le n. Takich funkcji mamy rnr^n, bo dla każdego elementu z {1,,n}\{1,\dots,n\} mamy zawsze do dyspozycji rr elementów.

Klasa kombinatoryczna: F=SEQ=r(SET(Z))\mathcal{F} = \operatorname{SEQ}_{=r}\left( \operatorname{SET}(\mathcal{Z}) \right) z EGF F(z)=(ez)r=ezrF(z) = \left( e^z \right)^r = e^{zr}.

Liczba mappings z {1,,n}\{1,\dots,n\} w {1,,r}\{1,\dots,r\} wynosi: Fn=n![zn]F(z)=n![zn]k0(zr)kk!==n!rnn!=rn F_n = n! [z^n] F(z) = n! [z^n] \sum_{k\ge0} \frac{(zr)^k}{k!} =\\ = n! \cdot \frac{r^n}{n!} = r^n


9. Metoda ρ\rho-Pollarda

Szukamy konfliktów danej funkcji hashującej ff, czyli dla x0x1x_0 \neq x_1 mamy f(x0)=f(x1)f(x_0) = f(x_1).

Zamysł: bierzemy losowy x0x_0 i tworzymy ciąg xn=f(xn1)x_n = f(x_{n_1}).
Szukamy kolejnych wyrazów ciągu aż nie znajdziemy powtórki — wówczas mamy takie graficzne ρ\rho:

Okazuje się, że klasę takich funkcji możemy określić przez F=SET(CYC(T))\mathcal{F} = \operatorname{SET}\left( \operatorname{CYC}(\mathcal{T}) \right), gdzie T=Z×SET(T)\mathcal{T} = \mathcal{Z} \times \operatorname{SET}(\mathcal{T}) (drzewa etykietowane).

Czyli mamy F(z)=exp(ln11T(z))=11T(z)==k0Tk(z)k! F(z) = \exp\left( \ln \frac{1}{1-T(z)} \right) = \frac{1}{1 - T(z)}=\\ = \sum_{k\ge0} \frac{T^k(z)}{k!} i znowu stosując twierdzenia Lagrange’a o inwersji (tym razem drugi punkt) możemy wyjść z rekursji w funkcji T(z)T(z).