Matematyka dyskretna 1/Wykład 6: Permutacje i podziały

Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania

Permutacje

Rozważając permutacje zbiorów n-elementowych, wystarczy ograniczyć się do permutacji zbioru n. Każdy inny taki zbiór różni się bowiem od n jedynie nazwami elementów.

Poznaliśmy już algorytm rozkładu permutacji na rozłączne cykle. Przystąpmy do klasyfikacji permutacji względem struktury takiego rozkładu. Przypomnijmy, że rozkład permutacji na cykle jest jednoznaczny z dokładnością do kolejności, tzn. jeśli σ1σk=π1πl są dwoma rozkładami tej samej permutacji na cykle to k=l i {σ1,,σk}={π1,,πk}.

Pierwszym ważnym niezmiennikiem dla permutacji πSn jest:

Liczba cykli permutacji πSn zdefiniowana jako liczba cykli w jamimkolwiek rozkładzie π na cykle.

Jednoznaczność rozkładu na cykle pozwala nam zdefiniować również drugi ważny niezmiennik.

Typ permutacji πSn to wektor (α1,,αn), gdzie αi jest liczbą i-elementowych cykli w rozkładzie π. Zazwyczaj typ permutacji zapisujemy jako [1α12α2nαn], przy czym często pomijamy te wartości, dla których αi=0.

Przykład

Dla permutacji πS7 zadanej przez


n0123456π(n)3624051


mamy:

  • π=(0,3,4)(1,6)(2)(4)=(0,3,4)(1,6),
  • π jest typu [122131].

Z samej definicji typu permutacji natychmiast wynika:

Obserwacja 6.1

Dla πSn typu (α1,,αn) zachodzi

  • α1++αn=c(π),
  • α1+2α2++nαn=n.

Obserwacja 6.2

Liczba permutacji w Sn typu (α1,,αn) to


n!1α12α2nαnα1!αn!.


Dowód

Potraktujmy permutację typu (α1,,αn), jako uzupełnienie elementami z n następującego wzorca:


()()α1 razy()()α2 razy()αn razy (αn1).


W miejsce k kropek możemy wstawić k-elementów na k! sposobów. Jednak w ten sposób otrzymamy wielokrotnie te same permutacje. Każdy cykl i-elementowy możemy zadać na i sposobów (rozpoczynając od różnych elementów). Dodatkowo, zwróćmy uwagę, że w naszym wzorcu dopuszczamy różną kolejność cykli o tej samej długości. αi takich samych cykli i-elementowych może być wybranych na αi! sposobów. Podsumowując, aby otrzymać liczbę permutacji typu α1,,αn) musimy, dla wszystkich i{1,,n}, podzielić n! przez długość każdego cyklu z osobna, tzn. dla każdego cyklu długości i podzielić przez i, oraz przez silnię liczby i-elementowych cykli. Zatem szukana liczba to n!1α12α2nαnα1!αn!.

Przykład

Lista typów wszystkich permutacji z S3:


n012rozkladnacykletypπ0012(0)(1)(2)[13]π1102(0,1)(2)[1121]π2021(0)(12)[1121]π3120(0,1,2)[31]π4201(0,2,1)[31]π5210(0,2)(1)[1121]


Liczba permutacji z S3 o kolejnych typach:


Parser nie mógł rozpoznać (nieznana funkcja „\begin{array}”): {\displaystyle \begin{array} {|c|l|} \hline \hbox{\rm typ}&\hbox{\rm liczba permutacji}\\ \hline 1^3&\frac{3!}{1^3\cdot3!}=1\\ 1^1 2^1&\frac{3!}{1^1\cdot2^1\cdot1!\cdot1!}=3\\ 3^1&\frac{3!}{3^1\cdot1!}=2\\ \hline \end{array} }


Jak zobaczymy za chwilę, typ permutacji jest zachowywany przez pewną bardzo ważną operację algebraiczną.

Permutacja sprzężona do permutacji π,ρSn to każda permutacja postaci σπσ1, gdzie σSn.

Oczywiście, jeśli σπσ1=ρ to π=σ1ρσ. Zatem dwuargumentowa relacja sprzężenia jest symetryczna. Łatwo udowodnić (jako ćwiczenie), że relacja ta jest również zwrotna i przechodnia oraz, że jedyną permutacją sprzeżoną do permutacji identycznościowej id jest ona sama.

Obserwacja 6.3

Permutacje π,ρSn mają ten sam typ wtedy i tylko wtedy, gdy są sprzężone.

<flash>file=MD1-5-1.swf|width=300|height=250</flash>

<div.thumbcaption>MD1-5-1.swf

Dowód

Załóżmy najpierw, że π i ρ są sprzężone, czyli że σπσ1=ρ dla pewnego σ. Rozważmy jakiś cykl (x0,,xk1) permutacji π. Wtedy (σ(x0),,σ(xk1)) jest cyklem permutacji ρ. Istotnie, dla i=0,,k1 mamy:


ρ(σ(xi))=σπσ1σ(xi)=σπ(xi)=σ(xi+1),


i podobnie:


ρ(σ(xk1)=σπσ1σ(xk1)=σπ(xk1)=σ(x0).


Każdy zatem cykl permutacji π wyznacza jednoznacznie cykl permutacji ρ o tej samej liczności. Tym samym π i ρ są tego samego typu.

Dla dowodu w drugą stronę załóżmy, że π i ρ mają ten sam typ. Wtedy możemy określić bijekcję przyporządkowującą każdemu cyklowi permutacji π pewien cykl ρ o tej samej długości. Po rozkładzie obu permutacji π,ρ na rozłączne cykle i nasza bijekcja między cyklami przyporzadkowuje cyklowi (x0,,xk1) cykl (y0,,yk1), definiujemy σSn kładąc σ(xi)=yi. Łatwo sprawdzić, że wtedy σπσ1=ρ.

Transpozycja to permutacja w Sn (dla n2) typu [1n221]. Innymi słowy, transpozycja dokonuje tylko jednego przestawienia dwóch elementów ze zbioru n-elementowego.

Przykład

Dla permutacji πS7 zadanej przez


n0123456π(n)0153426


mamy:

  • π=(0)(1)(25)(3)(4)(6)=(25),
  • π ma typ [1521],
  • π jest transpozycją.

Waga transpozycji wynika z faktu, że dowolna permutacja jest złożeniem transpozycji. Ponieważ, dowolna permutacja jest rozkładalna na cykle wystarczy pokazać, że każdy cykl jest złożeniem transpozycji.

Obserwacja 6.4

Dowolny cykl z Sn jest złożeniem n1 transpozycji.

Dowód

Cykl π=(x0,,xn1) można przedstawić tabelką:


nx0x1x2xn2xn1π(n)x1x2x3xn1x0


Zauważmy, że π jest następującym złożeniem transpozycji


(x0,xn1)(x0,xn2)(x0,x2)(x0,x1).


Rzeczywiście x0 przejdzie:

  • w pierwszej transpozycji (x0,x1) w x1,
  • a następne transpozycje już go nie przesuną.

Podobnie x1 przejdzie

  • pierwszą transpozycją (x0,x1) w x0,
  • drugą (x0,x2) w x2,
  • a następne transpozycje już go nie przesuną.

Ogólnie, xi (dla i{1,,n2})

  • pozostanie na swoim miejscu przez pierwsze i1 transpozycji

(x0,x1),(x0,x2),,(x0,xi1),

  • przejdzie i-tą transpozycją w x0,
  • przejdzie (i+1)-szą transpozycją w xi+1,
  • po czym zostanie już nienaruszone.

Natomiast xn1 zostanie przesunięte dopiero ostatnią transpozycją i przyjmie wartość x0.

Wniosek 6.5

Dowolna permutacja jest złożeniem transpozycji. W szczególności każda permutacja typu [1α12α2nαn] ma rozkład na co najwyżej α2+2α3+(n1)αn transpozycji.

<flash>file=MD1-5-2.swf|width=250|height=250</flash>

<div.thumbcaption>MD1-5-2.swf

Przykład

Dla permutacji πS7 zadanej przez


n0123456π(n)2354601


mamy

  • π=(0,2,5)(1,3,4,6),
  • (1,3,4,6)=(1,6)(1,4)(1,3),
  • (0,2,5)=(0,5)(0,2),
  • π=(0,5)(0,2)(1,6)(1,4)(1,3)=(1,6)(1,4)(1,3)(0,5)(0,2).

Zauważmy, że składanie transpozycji na rozłącznych zbiorach dwuelementowych jest przemienne. Na ogół jednak, ponieważ transpozycje nie działają na zbiorach rozłącznych, to nie możemy ich dowolnie przestawiać. W naszym przykładzie transpozycje generujące dwa różne cykle są parami rozłączne, więc ich kolejność jest bez znaczenia. Między innymi dlatego istnieje wiele rozkładów na transpozycje. Ale nie tylko dlatego - mamy bowiem również π=(1,6)(2,5)(0,2)(3,6)(0,5)(4,6)(2,5).

Nie mamy zatem jednoznaczności rozkładu na transpozycje, tak jak to miało miejsce przy rozkładzie na cykle. Nawet liczba transpozycji nie musi być ta sama w różnych rozkładach na transpozycje. Zobaczymy jednak, że nie zmienia się parzystość liczby transpozycji w rozkładzie.

Obserwacja 6.6

Jeśli π,τSn i τ jest transpozycją, to


c(τπ)=c(π)±1=c(πτ).


<flash>file=MD1-5-3.swf|width=250|height=250</flash>

<div.thumbcaption>MD1-5-3.swf

Dowód

Udowodnimy tylko pierwszą równość. Załóżmy, że τ=(a,b) tzn., τ(a)=b, τ(b)=a i τ(x)=x dla wszystkich pozostałych elementów xn. Rozumowanie dzielimy na dwa przypadki:

  • a i b są w tym samym cyklu (a,x,,y,b,w,,z) permutacji π.

Wtedy τπ=(a,x,,y)(b,w,,z), gdzie ostatni wielokropek oznacza pozostałe cykle permutacji π. Zatem w tym przypadku mamy c(τπ)=c(π)+1.

  • a i b są w różnych cyklach permutacji π=(a,x,y)(b,,z).

Wtedy τπ=(a,x,,y,b,,z). Mamy więc c(τπ)=c(π)1.

Obserwacja 6.7

Jeśli permutacja jest przedstawialna jako złożenia r i r transpozycji, to liczby r i r albo są obie parzyste albo obie nieparzyste.

Dowód

Niech τr1τ0=τr1τ0 będą dwoma rozkładami tej samej permutacji πSn na transpozycje. Na mocy Obserwacji 6.6 mamy:


c(τr1τ0)=c(τr2τ0)±1=c(τr3τ0)±1±1==c(τ0)±1±1±1r1 razy


Niech t opisuje iloć dodawań jedynki w powyższej formule. Wtedy r1t to liczba odejmowań jedynki. Transpozycja τ0 ma 1 cykl 2-elementowy i n2 cykli 1-elementowych, czyli c(τ0)=1+(n2)=n1. Zatem


c(π)=c(τr1τ0)=n1+t(r1t)=nr+2t


dla pewnego t. Analogicznie


c(π)=c(τ'r1τ'0)=n1+t(r1t)=nr+2t


dla pewnego t. Porównując obydwa wyniki otrzymujemy


rr=2a2a,


czyli różnica rr jest zawsze parzysta.

Obserwacja 6.7 pozwala zdefiniować parzystość permutacji.

Permutacja parzysta to permutacja będąca złożeniem parzystej liczby transpozycji.

Permutacja nieparzysta to permutacja będąca złożeniem nieparzystej liczby transpozycji.

Znak permutacji π to Parser nie mógł rozpoznać (błąd składni): {\displaystyle \mbox{\sf sgn}(\pi)=(-1)^r} , gdzie r jest liczbą transpozycji, na które można rozłożyć π.

Obserwacja 6.8

Dla dowolnych π,σSn

  • Parser nie mógł rozpoznać (błąd składni): {\displaystyle \mbox{\sf sgn}(id_{\mathbb{Z}_n})=1} ,
  • Parser nie mógł rozpoznać (błąd składni): {\displaystyle \mbox{\sf sgn}(\sigma\pi)=\mbox{\sf sgn}(\pi)\cdot\mbox{\sf sgn}(\sigma)} ,
  • Parser nie mógł rozpoznać (błąd składni): {\displaystyle \mbox{\sf sgn}(\pi)=\mbox{\sf sgn}(\pi^{-1})} ,

Dowód

Identyczność jest złożeniem zera transpozycji. Drugi punkt wynika natychmiast z Obserwacji 6.6. Dla dowodu trzeciego odnotujmy tylko, że Parser nie mógł rozpoznać (błąd składni): {\displaystyle \mbox{\sf sgn}(\pi)\cdot\mbox{\sf sgn}(\pi^{-1}) =\mbox{\sf sgn}(\pi\pi^{-1})=\mbox{\sf sgn}(id_{\mathbb{Z}_n})=1} .

<flashwrap>file=5-4.swf|size=small</flashwrap>

Przykład

Dla relaksu rozważmy łamigłówkę logiczną rozgrywaną na kwadracie 3×3. Wszystkie pola, poza prawym dolnym, wypełnione są kwadratowymi klockami z różnymi literami B,O,R,L,Y,M,E,P. Prawe dolne pole jest puste - oznaczamy go przez "". Celem gry jest ułożenie napisu "PROBLEMY_". Dopuszczalnym ruchem jest przesunięcie klocka sąsiadującego z pustym polem na to właśnie pole. Czy z pozycji "BORLYMEP_" można ułożyć napis "PROBLEMY_"?

Zauważmy, że pozycja startowa i końcowa mają puste pole "-" w tym samym miejscu. To oznacza, że wykonując roszadę bloków musimy wykonać tyle samo przesunięć do góry co w dół i tyle samo przesunięć w prawo co w lewo. To z kolei oznacza, że potencjalna ilość ruchów wiodących do rozwiązania musi być parzysta. Tłumacząc nasz problem na język permutacji odnotujmy, że:

  • mamy dokonać permutacji πS9:

BORLYMEP_PROBLEMY_

  • każdy ruch zgodny z regułami gry to jakaś transpozycja wybranych klocków,

przy czym nie wszystkie transpozycje są dopuszczalne.

Zauważmy, że

  • rozwiązanie musi być wykonane przy pomocy parzystej liczby ruchów, zatem każda permutacja dokonująca żądanej rearanżacji klocków jest parzysta
  • π=(B,P,Y,L)(O,R)(M,E)(_),
  • Wniosek 6.5 daje wtedy jednak, że π jest złożeniem 3+1+1=5 transpozycji, czyli π jest permutacją nieparzystą.

Ponieważ nie można złożyć nieparzystej permutacji z parzystej liczby transpozycji, nasza łamigłówka nie jest możliwa do rozwiązania.

Obserwacja 6.9

Dla n2 w Sn jest dokładnie tyle samo permutacji parzystych co nieparzystych.

Dowód

Niech n2 i π0,,πk1 będzie listą wszystkich parzystych permutacji w Sn. Ponadto, rozważmy transpozycję τ=(01)(2)(n). Wtedy oczywiście permutacje τπ0,τπ1,,τπk1 są parami różne, gdyż jeśli τπi=τπj to πi=τ1τπ=τ1τπj=πj. Ponadto dowolna τπ jest nieparzysta, bo Parser nie mógł rozpoznać (błąd składni): {\displaystyle \mbox{\sf sgn}(\tau\pi)=\mbox{\sf sgn}(\tau)\mbox{\sf sgn}(\pi)=(-1)\cdot1=-1.} Pozostaje pokazać, że dowolna nieparzysta permutacja ρ jest na liście τπ0,τπ1,,τπk1. Ponieważ Parser nie mógł rozpoznać (błąd składni): {\displaystyle \mbox{\sf sgn}(\tau^{-1}\rho)=\mbox{\sf sgn}(\tau^{-1})\mbox{\sf sgn}(\rho)=(-1)\cdot(-1)=1,} to τ1ρ jest permutacją parzystą, a zatem jest postaci πi dla pewnego i. To zaś oznacza, że


ρ=ττ1ρ=τπi,


czyli ρ jest na liście τπ0,τπ1,,τπk1. Uzyskana bijekcja πiτπi dowodzi naszej obserwacji.

Podziały

Liczby Stirlinga

Liczba Stirlinga dla cykli [nk] (często nazywana liczbą Stirlinga pierwszego rodzaju) to liczba permutacji zbioru n-elementowego złożonych z dokładnie k cykli, czyli takich permutacji πSn, że c(π)=k. Przyjmujemy, że [00]=1, a więc że jest jedna permutacja zbioru pustego bez cykli (funkcja pusta). Z powodów technicznych, w przekształceniach rachunkowych wygodnie jest mieć zdefiniowaną wartość [nk] dla wszystkich k. Przyjmujemy, że [nk]=0 dla k<0.

<flash>file=MD1-5-5.swf|width=250|height=250</flash>

<div.thumbcaption>MD1-5-5.swf

Przykład

Lista permutacji 4 złożonych z 2 cykli:

(0,1,2)(3)(0,2,3)(1)(0,1)(2,3)(0,2,1)(3)(0,3,2)(1)(0,2)(1,3)(0,1,3)(2)(1,2,3)(0)(0,3)(1,2)(0,3,1)(2)(1,3,2)(0)

  • Mamy 11 permutacji 4 złożonych z dwóch cykli, zatem [42]=11.

Obserwacja 6.10

Dla n

  • [n0]=0, dla n>0
  • [n1]=(n1)!,
  • [nn1]=(n2),
  • [nn]=1,
  • [nk]=0, dla k>n

Dowód

Pierwszy punkt jest natychmiastowa konsekwencją faktu, że nie można podzielić niepustego zbioru na 0 części (cykli).

Liczba [n1] opisuje permutacje o jednym cyklu. Każda taka permutacja jest zadana wzorcem (,,n pozycji). Wzorzec taki może być wypełniony n-elementami na n! sposobów. Ale ten sam cykl ma wiele opisów różniących się jedynie przesunięciem. Zatem każdy n-elementowy cykl może być zapisany według takiego wzorca na n sposobów, czyli liczba cykli na zbiorze n-elementowym to n!n=(n1)!, co dowodzi punktu drugiego.

Liczba [nn1] opisuje permutacje o n1 cyklach. Permutacja taka musi wiec być typu [1n221], czyli jest transpozycją. Każda transpozycja jest jednoznacznie wyznaczona przez dwuelementowy zbiór elementów, które ze sobą zamienia. Zatem transpozycji jest dokładnie tyle co podzbiorów 2-elementowych, czyli (n2), co dowodzi punktu trzeciego.

Dla dowodu punktu czwartego zauważmy jedynie, że jedyną permutacją o n cyklach na zbiorze n-elementowym jest identyczność.

Równie łatwo jest stwierdzić, że zbiór n-elementowy nie może być podzielony na więcej niż n niepustych części (mających stanowić cykle).

Liczby Stirlinga dla cykli, podobnie jak współczynniki dwumianowe, można generować używając zależności rekurencyjnej. Na jej podstawie można zbudować Trójkąt Stirlinga dla cykli.

Obserwacja 6.11

Dla 0<kn


[nk]=(n1)[n1k]+[n1k1].


Dowód

Niech x będzie wyróżnionym i ustalonym elementem n-elementowego zbioru X. Permutacje zbioru X o k cyklach można podzielić na dwa typy, w których:

  • x stanowi jednoelementowy cykl,
  • x jest w cyklu co najmniej 2-elementowym.

W pierwszym przypadku pozostałe n1 elementów zbioru X muszą uformować k1 cykli, co jest możliwe na [n1k1] sposobów. W drugim przypadku, po usunięciu elementu x permutacje badanego typu wciąż będą mieć k cykli. Jest ich zatem tyle, co permutacji (n1)-elementowego zbioru o k cyklach, czyli [n1k]. Element x może rozbudować każdą permutację zbioru X{x}n1 sposobów (wchodząc do cyklu jako następnik jednego z n1 elementów). Zatem permutacji drugiego typu jest dokładnie (n1)[n1k].

<flash>file=MD1-5-6.swf|width=350|height=300</flash>

<div.thumbcaption>MD1-5-6.swf

W Trójkącie Stirlinga dla cykli, n-ty wiersz zawiera liczby permutacji zbioru n-elementowego o kolejno 0,1,,n cyklach. Zatem suma wszystkich tych wartości to liczba wszystkich permutacji zbioru n-elementowego, czyli n!. Dostajemy stąd natychmiast:

Obserwacja 6.12

Dla n


i=0n[ni]=n!


Ciekawy jest nastepujacy związek liczb Stirlinga dla cykli z liczbami harmonicznymi Hn.

Obserwacja 6.13

Dla n


i=0ni[ni]=n!Hn.


Dowód

Dla n=0 tożsamość jest oczywista, a dla n>0 przybiera postać i=1ni[ni]=n!Hn Pokażemy że obydwie liczby z naszej obserwacji to sumaryczna liczba cykli we wszystkich permutacjach zbioru n-elementowego, tzn. σSnc(σ).

  • Permutacji o i cyklach jest dokładnie [ni]. W sumie permutacje o i cyklach mają więc i[ni] cykli, czyli σSnc(σ)=i=1ni[ni].
  • Zliczymy najpierw i-elementowe cykle zbudowane z elementów zbioru n-elementowego. Każdy taki cykl jest wyznaczony przez wypełnienie wzorca (,,i pozycji), ale z dokładnością do przesunięcia. Wypełnień jest oczywiście tyle, ile injekcji postaci in,

czyli n(n1(ni+1))=ni_. Zatem zliczanych cykli i-elementowych jest dokładnie ni_i .

Każdy cykl i-elementowy występuje w dokładnie (ni)! permutacjach zbioru n-elementowego, gdyż tyle jest permutacji pozostałych ni elementów. Zatem sumaryczna liczba cykli we wszystkich permutacjach zbioru n-elementowego wynosi:


σSnc(σ)=i=1nni_i(ni)!=i=1nn!i=n!Hn.


W liczbach Stirlinga [nk] dla cykli wypełnialiśmy wzorce postaci:


(,,)(,,)(,,)k cykli, w sumie o n miejscach


w sposób injektywny i z dokładnością do:

  • kolejności cykli,
  • przesunięć cyklicznych w każdym z k cykli.

Jeśli zupełnie zaniedbamy kolejność elementów w cyklach, dostaniemy wzorzec:


Parser nie mógł rozpoznać (błąd składni): {\displaystyle \underbrace{{\left\{ {\bullet,\ldots,\bullet} \right\} }{\left\{ {\bullet,\ldots,\bullet} \right\} } \ldots {\left\{ {\bullet,\ldots,\bullet} \right\} }}_{k \ zbiorów, \ w \ sumie \ o \ n \ miejscach}, }


czyli podział zbioru n-elementowego na k parami rozłącznych podzbiorów. W podziale, podzbiory takie nazywamy blokami. Przypomnijmy, że podział zbioru X na k bloków wyznacza relację równoważności na zbiorze X o k klasach równoważności.

Liczba Stirlinga dla podziałów{nk} (często nazywana liczbą Stirlinga drugiego rodzaju) to liczba podziałów zbioru n-elementowego na dokładnie k bloki. Znów przyjmujemy, że {00}=1 oraz {nk}=0 dla k<0.

<flash>file=MD1-5-7.swf|width=250|height=250</flash>

<div.thumbcaption>MD1-5-7.swf

Przykład

Lista podziałów 4 na dwa bloki:

{0,1,2}{3}{0,1}{2,3}{0,1,3}{2}{0,2}{1,3}{0,2,3}{1}{0,3}{1,2}{1,2,3}{0}

  • Mamy 7 podziałów zbioru 4 na dwa bloki,

zatem {42}=7.

Obserwacja 6.14

Dla n,k

  • {nk}[nk],
  • {n0}=0, dla n>0,
  • {n1}=1, dla n>0,
  • {n2}=2n11, dla n>0,
  • {nn1}=(n2),
  • {nn}=1,
  • {nk}=0, dla k>n.

Dowód

Pierwszy punkt jest oczywisty po zauważeniu, że w liczbach Stirlinga dla podziałów zliczamy te same obiekty co w liczbach Stirlinga dla cykli, ale po zaniedbaniu kolejności elementów.

Drugi punkt to stwierdzenie, że niepusty zbiór nie może zostać podzielony na 0 bloków.

Trzeci punkt orzeka, że jest tylko jeden podział niepustego zbioru na jeden blok - blok ten musi być całym dzielonym zbiorem.

Dla dowodu czwartego załóżmy, że |X|=n i niech xX. Zauważmy, że podział na dwa bloki jest zdeterminowany jednym z tych bloków - drugi to po prostu dopełnienie pierwszego. Niech więc blokiem determinującym podział, będzie blok zawierający x. Element x może stanowić blok z dowolnym podzbiorem pozostałego (n1)-elementowego zbioru X{x} poza podzbiorem pełnym, gdyż wtedy drugi blok byłby pusty. Zatem jest dokładnie 2n11 możliwości wyboru bloku dla x, i tym samym tyleż jest podziałów X.

Dowody pozostałych trzech własności można przeprowadzić jak dla liczb Stirlinga dla cykli.

Liczby Stirlinga dla podziałów, podobnie jak współczynniki dwumianowe, czy liczby Stirlinga dla cykli można generować używając zależności rekurencyjnej. Na jej podstawie można zbudować Trójkąt Stirlinga dla podziałów.

Obserwacja 6.15

Dla 0<kn


{nk}=k{n1k}+{n1k1}.


<flash>file=MD1-5-8.swf|width=350|height=300</flash>

<div.thumbcaption>MD1-5-8.swf

Dowód

Niech, jak zwykle, |X|=n i niech xX będzie ustalonym elementem. Znów, podziały zbioru X na k bloków można podzielić na dwa typy:

  • {x} stanowi blok jednoelementowy,
  • x jest w bloku co najmniej dwuelementowym.

Każdy podział pierwszego typu jest jednoznacznie wyznaczony przez (n1)-elementowego zbioru X{x} na k1 bloków. Jest ich więc dokładnie {n1k1}. W drugim przypadku pozostałe elementy dzielone są wciąż na k bloków. Można taki podział wykonać na {n1k} sposobów. Element x może rozszerzyć każdy taki podział zbioru math>X</math> do podziału zbioru X na k sposobów wchodząc do któregoś z k bloków. Zatem jest dokładnie k{n1k} podziałów drugiego typu.

Obserwacja 6.15 pozwala na szybką konstrukcję Trójkąta Stirlinga dla podziałów.

Kilka wykładów wcześniej wskazaliśmy liczbę funkcji, liczbę injekcji i liczbę bijekcji między zbiorami skończonymi. Przemilczeliśmy liczbę surjekcji, nie mając jeszcze wtedy wystarczających narzędzi do ich zliczenia. Zauważmy jednak, że każda surjekcja XY wyznacza podział zbioru X na |Y| bloków. Nie dziwi więc następujący związek z liczbami Stirlinga dla podziałów.

Obserwacja 6.16

Dla skończonych zbiorów X,Y liczba surjekcji XY wynosi |Y|!{|X||Y|}.

Dowód

Niech Y={y0,,ym1}. Jak już zauważyliśmy, surjekcja postaci f:XY wyznacza pewien podział zbioru X dodatkowo poetykietowany elementami zbioru X na m=|Y| bloków f1({y0}),,f1({ym1}). Nieetykietowanych podziałów jest oczywiście {|X||Y|}. Ponieważ każdy podział może być poetykietowany na |Y|! sposobów, możemy zakończyć dowód.

Obserwacja 6.17

Dla n,k


{nk+1}=1(k+1)!0<i0<<ik1<n(nik1)(ik1ik2)(i1i0).


Dowód

Niech |X|=n. Pojedynczy składnik (nik1)(ik1ik2)(i1i0) rozważanej sumy to liczba wyborów ciągu zbiorów XAk1A1A0, odpowiednio ik1>>i1>i0 elementowych. Rzeczywiście Aik1X możemy wybrać na (nik1) sposobów, Aik2Aik1 na (ik1ik2) sposobów itd. Każdy taki ciąg zbiorów odpowiada jednoznacznie ciągowi k+1 bloków B0,,Bk, gdzie B0=A0,B1=A1A0,,Bk1=Ak1Ak2,Bk=XAk1. W podziale nie jest jednak istotne uporządkowanie bloków B0,,Bk, co oznacza, że powinniśmy przejść od ciągu B0,,Bk do rodziny bloków {B0,,Bk}, wydzielając tym samym każdy składnik sumy przez (k+1)!. Tak wydzielona suma to nic innego jak liczba podziałów zbioru n-elementowego na k+1 bloków, czyli {nk+1}.

Przykład


Parser nie mógł rozpoznać (nieznana funkcja „\aligned”): {\displaystyle \aligned \left\{\begin{array} {c}n\\ 3\end{array} \right\} &=\frac{1}{3!}\sum_{0<j<i<n}{n\choose i}{i\choose j} =\frac{1}{6}\sum_{0<i<n}{n\choose i}\sum_{0<j<i}{i\choose j}\\ &=\frac{1}{6}\sum_{0<i<n}{n\choose i}(2^i-2) =\frac{1}{6}\sum_{0<i<n}{n\choose i}2^i-\frac{1}{3}\sum_{0<i<n}{n\choose i}\\ &=\frac{1}{6}(3^n-1-2^n)-\frac{1}{3}(2^n-2) =\frac{3^{n-1}+1}{2}-2^{n-1} \endaligned}


Liczby Bella

Eric Temple Bell (1883-1960)
Zobacz biografię

W Trójkącie Pascala

n

-ty wiersz sumuje się do

liczby podzbiorów zbioru n-elementowego, czyli do 2n. W Trójkąta Stirlinga dla cykli n-ty wiersz sumuje się do liczby permutacji zbioru n-elementowego, czyli do n!. Zajmiemy się teraz sumą n-tego wiersza Trójkąta Stirlinga dla podziałów. Oczywiście suma taka to liczba wszystkich podziałów zbioru n elementowego, lub inaczej liczby wszystkich relacji równoważności na zbiorze n-elementowym.


Liczba Bella Bn

to liczba podziałów zbioru n-elementowego, czyli


Bn=i=0n{ni}.


Lista kilku pierwszych liczb Bella:


n012345678910Bn11251552203877414021147115975


Liczby Bella spełniają piękną zależność rekurencyjną:

Obserwacja 6.18


Bn+1=i=0n(ni)Bi.


Dowód

Wybierzmy i ustalmy w (n+1)-elementowym zbiorze X pewien element xX. Policzmy teraz ile jest podziałów zbioru X takich, że blok zawierający x ma dokładnie i+1 elementów. Oczywiście pozostałe i elementów tego bloku może zostać wybranych ze zbioru Xx na (ni) sposobów. Każdy taki blok możemy rozbudować do podziału zbioru X poprzez podzielenie pozostałych ni na bloki. Podział taki jest oczywiście możliwy na Bni sposobów, skąd sumując po wszystkich możliwych wartościach i otrzymujemy


Bn+1=i=0n(ni)Bni=i=0n(ni)Bi.


Bazy przestrzeni wielomianów

Przestrzeń wektorowa [x] wszystkich wielomianów jednej zmiennej rzeczywistej x ma naturalną bazę złożoną z jednomianów


1,x,x2,x3,


W różnicowym odpowiedniku Twierdzenia Taylora widzieliśmy (bez dowodu), że każdy wielomian p(x) można przedstawić jako kombinację liniową p(x)=i=0k(Δip)(0)i!xi_ dolnych silni xi_. Pokażemy teraz, że rzeczywiście zarówno dolne silnie


1,x1_,x2_,x3_,


jak i górne silnie


1,x1,x2,x3,


stanowią bazy dla przestrzeni wielomianów [x], oraz że współczynniki przejścia między tymi trzeba bazami są ściśle powiązane z liczbami Stirlinga.

W dalszych rozważaniach rezygnujemy z ograniczeń na indeksy sumowania. Zakładamy jedynie, że przebiegają one liczby całkowite pamiętając, że [nk] i {nk} zerują się dla k<0 oraz k>n.

Obserwacja 6.19

Dla x oraz n


xn=i[ni]xi.


Dowód

Dla dowodu indukcyjnego zauważmy najpierw, że przy n=0 mamy x0=1=[00]. W kroku indukcyjnym korzystamy tym razem z faktu, że xn=xxn1+(n1)xn1, dostając


Parser nie mógł rozpoznać (nieznana funkcja „\aligned”): {\displaystyle \aligned x^{\overline{n}} &=x\sum_i\left[\begin{array} {c}n-1\\ i\end{array} \right]x^i+(n-1)\sum_i\left[\begin{array} {c}n-1\\ i\end{array} \right]x^i\\ &=\sum_i\left[\begin{array} {c}n-1\\ i-1\end{array} \right]x^i+\sum_i(n-1)\left[\begin{array} {c}n-1\\ i\end{array} \right]x^i\\ &=\sum_i \left(\left[\begin{array} {c}n-1\\ i-1\end{array} \right]+(n-1)\left[\begin{array} {c}n-1\\ i\end{array} \right]\right)x^i\\ &=\sum_i\left[\begin{array} {c}n\\ i\end{array} \right]x^i. \endaligned}


Obserwacja 6.20

Dla x oraz n


xn=i{ni}xi_.


Dowód

Zaprezentujemy dwa dowody. Pierwszy - indukcyjny - pracuje dla dowolnego x, a drugi - kombinatoryczny - w oczywisty sposób jedynie dla x.

Dla dowodu indukcyjnego zauważmy najpierw, że przy n=0 mamy x0=1={00}. W kroku indukcyjnym korzystamy z faktu, że xxi_=xi+1_+ixi_ dostając:


Parser nie mógł rozpoznać (nieznana funkcja „\aligned”): {\displaystyle \aligned x^n=x\cdot x^{n-1} &=x\sum_i \left\{\begin{array} {c}n-1\\ i\end{array} \right\}x^{\underline{i}}\\ &=\sum_i \left\{\begin{array} {c}n-1\\ i\end{array} \right\}(x^{\underline{i+1}}+ix^{\underline{i}})\\ &=\sum_i \left\{\begin{array} {c}n-1\\ i-1\end{array} \right\}x^{\underline{i}}+\sum_i \left\{\begin{array} {c}n-1\\ i\end{array} \right\}ix^{\underline{i}}\\ &=\sum_i \left(i\left\{\begin{array} {c}n-1\\ i\end{array} \right\}+\left\{\begin{array} {c}n-1\\ i-1\end{array} \right\}\right)x^{\underline{i}}. \endaligned}


Dla dowodu kombinatorycznego załóżmy, że x{0} i niech X będzie zbiorem x-elementowym. Oczywiście xn to liczba funkcji postaci nX. Każda taka funkcja przyjmuje i=1,2,,x wartości. Policzmy więc ile funkcji nX przyjmuje dokładnie i wartości. Ciąg i różnych wartości ze zbioru x-elementowego można wybrać na x(x1)(xi+1)=xi_ sposobów. Z każdym takim i-elementowym ciągiem możemy stowarzyszyć jakiś podział zbioru n na i bloków, tzn. kolejnym blokom tego podziału (uporządkowanym najpierw według najmniejszych elementów w blokach) przyporządkowujemy i-tą wartość wybranego ciągu. Tym sposobem mamy {ni}ni_ funkcji nX przyjmujących dokładnie i wartości. Sumując po wszystkich możliwych i otrzymujemy żądaną równość.

Wskazaliśmy współczynniki przejścia z bazy górnych silni w jednomiany oraz z jednomianów w dolne silnie. Nierówności


xn_<xn<xn


zachodzące dla x>n>1, sugerują, że niektóre współczynniki przejścia z górnych silni do jednomianów oraz z jednomianów do dolnych silni muszą być ujemne. Wskazując te współczynniki wykorzystamy prosty fakt:


Parser nie mógł rozpoznać (nieznana funkcja „\aligned”): {\displaystyle \aligned (-x)^{\overline{n}} &=(-x)(-x+1)\cdot\ldots\cdot(-x+n-1)\\ &=(-1)^nx(x-1)(x-2)\cdot\ldots\cdot(x-n+1)\\ &=(-1)^nx^{\underline{n}}. \endaligned}


Obserwacja 6.21

Dla x oraz n


Parser nie mógł rozpoznać (nieznana funkcja „\aligned”): {\displaystyle \aligned x^n&=\sum_i\left\{\begin{array} {c}n\\ i\end{array} \right\}(-1)^{n-i}x^{\overline{i}},\\ x^{\underline{n}}&=\sum_i\left[\begin{array} {c}n\\ i\end{array} \right](-1)^{n-i}x^i. \endaligned}


Dowód

Udowodnimy jedynie pierwszą równość, pozostawiając analogiczny dowód dla drugiej jako ćwiczenie.


Parser nie mógł rozpoznać (nieznana funkcja „\aligned”): {\displaystyle \aligned x^n=(-1)^n(-x)^n &=(-1)^n\sum_i\left\{\begin{array} {c}n\\ i\end{array} \right\}(-x)^{\underline{i}}\\ &=(-1)^n\sum_i\left\{\begin{array} {c}n\\ i\end{array} \right\}(-1)^ix^{\overline{i}}\\ &=\sum_i\left\{\begin{array} {c}n\\ i\end{array} \right\}(-1)^{n-i}x^{\overline{i}}. \endaligned}


Używając trzech powyższych obserwacji zauważmy, że przechodząc od jednomianów do górnych silni i z powrotem, a także niezależnie, od jednomianów do dolnych silni i z powrotem, otrzymujemy następujące zależności:

Obserwacja 6.22

Dla m,n


Parser nie mógł rozpoznać (nieznana funkcja „\aligned”): {\displaystyle \aligned \sum_i (-1)^{m-i}\left\{\begin{array} {c}m\\ i\end{array} \right\}\left[\begin{array} {c}i\\ n\end{array} \right] &= \left\{ \begin{array} {ll} 0,& \mbox{\rm dla \ } m\neq n, \\ 1,& \mbox{\rm dla \ } m=n, \end{array} \right. \\ \sum_i (-1)^{m-i}\left[\begin{array} {c}m\\ i\end{array} \right]\left\{\begin{array} {c}i\\ n\end{array} \right\} &= \left\{ \begin{array} {ll} 0,& \mbox{\rm dla \ } m\neq n, \\ 1,& \mbox{\rm dla \ } m= n. \end{array} \right. \endaligned}


Klasyfikacja podziałów

Rozważaliśmy wiele różnych sposobów podziału obiektów na różne kategorie. Czasem kolejność kategorii odgrywała rolę, a czasem nie. Czasem kolejność obiektów danej kategorii odgrywała rolę, a czasem nie. Interesowała nas zawsze liczba konfiguracji podziałowych powstałych w wyniku takich podziałów obiektów na kategorie. Liczba ta zależy oczywiście od tego czy obiekty, bądź kategorie, są rozróżnialne.

Obiekty są rozróżnialne jeśli zamiana miejscami dwu obiektów z różnych kategorii daje nową konfigurację.

Kategorie są rozróżnialne jeśli wzajemna wymiana wszystkich obiektów między dwiema kategoriami prowadzi do nowej konfiguracji.

Zobaczymy, że im mniej rozróżnialności, tym zliczanie staje się trudniejsze.

Często poza całkowitą liczbą konfiguracji istotna jest także liczba konfiguracji z wyłącznie niepustymi kategoriami. Gdy więc n obiektów klasyfikujemy w k kategorii pytamy o liczbę konfiguracji (klasyfikacji) o co najwyżej k kategoriach oraz o dokładnie k kategoriach.

Większość wariantów klasyfikacji n obiektów na k kategorii już przeanalizowaliśmy. Podsumujmy zatem:

  • obiekty rozróżnialne, kategorie rozróżnialne:

Klasyfikacja rozróżnialnych obiektów na rozróżnialne kategorie to po prostu funkcja ze zbioru obiektów w zbiór kategorii. Liczba funkcji ze zbioru n-elementowego w zbiór k-elementowy wynosi kn.

Klasyfikacja na dokładnie k kategorie to funkcja surjektywna. Zgodnie z Obserwacją 6.16, liczba takich klasyfikacji to, k!{nk}.

  • obiekty rozróżnialne, kategorie nierozróżnialne:

Nierozróżnialność kategorii oznacza, że nie jest ważna nazwa kategorii (tzn. wartość funkcji dla danego obiektu), a jedynie jej zawartość. Mamy więc do czynienia z podziałem zbioru obiektów na co najwyżej k bloków. Liczba takich konfiguracji to suma liczb Stirlinga dla podziałów i=1k{ni}.

Oczywiście gdy wszystkie kategorie są niepuste, to zbiór obiektów jest podzielony na dokładnie k bloków. Liczba takich konfiguracji to {nk}.

  • obiekty nierozróżnialne, kategorie rozróżnialne:

Nierozróżnialność obiektów skutkuje tym, że ważna jest jedynie ich liczba w danej kategorii. A zatem konfiguracja to podział liczby n na sumę n=x0++xk1 liczb naturalnych xi. Liczba rozwiązań takiego równania została policzona w jednym z przykładów wykładu o współczynnikach dwumianowych i wynosi (n+k1k1).

I znów, gdy kategorii, czyli składników w rozkładzie n=x0++xk1, ma być dokładnie k, zliczamy jedynie rozwiązania spełniające dodatkowo x0,,xk11. Zgodnie z innym przykładem analizowanym w wykładzie o współczynnikach dwumianowych liczba takich rozwiązań to (n1k1).

  • obiekty nierozróżnialne, kategorie nierozróżnialne:

To jedyny jeszcze nie analizowany przez nas przypadek. Załóżmy najpierw, że wszystkie kategorie są niepuste. Ponieważ są one nierozróżnialne, możemy dodatkowo założyć, że w rozkładzie liczby n na sumę n=x0++xk1 zachodzi x0x1xk1. Liczba P(n,k) takich rozkładów będzie przedmiotem ostatniej części wykładu. Jednak już teraz możemy powiedzieć, że nie jest znana żadna zwarta postać tych liczb. Co więcej, nawet aby otrzymać ciekawe zależności rekurencyjne dla liczb podziałów, potrzebne jest nowe, silne narzędzie: funkcje tworzące.

Oczywiście, gdy dopuszczamy puste kategorie liczba konfiguracji jest sumą i=1kP(n,k).

Podziały liczby

Podział liczby n na k składników to przedstawienie n w postaci sumy


a0++ak1=n,


gdzie a0a1ak11.

Liczbę podziałów n na k składników oznaczamy przez P(n,k).

Przykład

Lista podziałów 7 na 4 składniki:


1+1+1+4,1+1+2+3,1+2+2+2.


  • P(7,4)=3.

Obserwacja 6.23

Dla n,k{0}

  • P(n,1)=1,
  • P(n,2)=n2,
  • P(n,n)=1,
  • P(n,k)=0, dla n<k
  • 1k!(n1k1)P(n,k)(n1k1).

Dowód

Uzasadnimy jedynie ostatni punkt. Dla dowodu ograniczenia górnego liczby P(n,k) zauważmy, że interesujące nas podziały liczby n są rozwiązaniami równania n=x0++xk1, a tych, jak już wiemy, jest dokładnie (n1k1).

Z drugiej strony dowolny podział liczby n generuje co najwyżej k! rozwiązań równania n=x0++xk1 (generuje dokładnie k!, jeśli składniki podziału są parami różne) i wszystkie rozwiązania mogą zostać w ten sposób osiągnięte. To oczywiście daje ograniczenie dolne.

Ograniczenie górne dla P(n,k) można poprawić:

Obserwacja 6.24


P(n,k)1k!(n+(k2)1k1).


Dowód

Dla podziału n=a0++ak1 definiujemy


bi=ai+(k1i), dla 0ik1.


Zauważmy, że wszystkie liczby bi są różne oraz


b0++bk1=n+k(k1)2.


A zatem podziały liczby n na k składników stoją w bijektywnej odpowiedniości z podziałami liczby n+(k2) na k parami różnych składników. Każdy podział n+(k2) na k parami różnych składników generuje dokładnie k! rozwiązań równania


x0++xk1=n+(k2),


gdzie xi>0. Wiemy zaś, że to ostatnie równanie posiada co najwyżej (n+(k2)1k1) rozwiązań. A zatem ciągów bi, a tym samym podziałów n na k składników, jest co najwyżej 1k!(n+(k2)1k1).

Ostatnia obserwacja pozwala na opisanie granicznego zachowania liczb P(n,k) przy ustalonym k.

Wniosek 6.25

Dla dowolnego k


limnP(n,k)nk1=1k!(k1)!.


Dość skutecznym narzędziem do badania podziałów liczb naturalnych są tzw. diagramy Ferrersa.

Diagram Ferrersa dla podziału n=a0++ak1 składa się z k wierszy o odpowiednio ai1 elementach.

<flash>file=SW 6.3.swf|width=250|height=100</flash>

<div.thumbcaption>SW 6.3.swf

<flash>file=SW 6.4.swf|width=250|height=100</flash>

<div.thumbcaption>SW 6.4.swf

Przykład

2+5+6+6+9=28.

1+3+3+3=10.

Użyteczność diagramów Ferrersa ilustrują dowody kilku nastepnych obserwacji.

Obserwacja 6.26

Liczba P(n,k) jest równa liczbie podziałów liczby n (na dowolną liczbę składników) o największym składniku równym k.

<flashwrap>file=MD1-SW 6.5.swf|size=small</flashwrap>

<div.thumbcaption>MD1-SW 6.5.swf

<flashwrap>file=MD1-SW 6.6.swf|size=small</flashwrap>

<div.thumbcaption>MD1-SW 6.6.swf

Dowód

Odwracając o 90 stopni diagram podziału liczby n na k składników otrzymamy diagram podziału liczby n, którego największy składnik równy jest k. Oczywiście jest to odwzorowanie bijektywne, gdyż odwracając z powrotem o 90 stopni otrzymamy ten wyjściowy diagram.

Obserwacja 6.27

Liczba P(n+k,k) jest równa liczbie podziałów n na co najwyżej k składników.

Dowód

Wycinając ostatnią kolumnę w diagramie podziału liczby n+k na k składników otrzymamy podział liczby n na co najwyżej k składników. Łatwo zauważyc, że jest to odwzorowanie bijektywne.