Permutacje
Rozważając permutacje zbiorów
-elementowych wystarczy ograniczyć się do
permutacji zbioru
.
Każdy inny taki zbiór różni się bowiem od
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
są dwoma rozkładami tej samej permutacji na cykle to
i
.
Pierwszym ważnym niezmiennikiem dla permutacji
jest:
Liczba cykli permutacji
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
to wektor
,
gdzie
jest liczbą
-elementowych cykli w rozkładzie
.
Zazwyczaj typ permutacji zapisujemy jako
,
przy czym często pomijamy te wartości, dla których
.
Przykład
Dla permutacji
zadanej przez
mamy:
,
jest typu
.
Z samej definicji typu permutacji natychmiast wynika:
Obserwacja
Obserwacja
Dowód
Potraktujmy permutację typu
,
jako uzupełnienie elementami z
następującego wzorca:
W miejsce
kropek możemy wstawić
-elementów na
sposobów.
Jednak w ten sposób otrzymamy wielokrotnie te same permutacje.
Każdy cykl
-elementowy możemy zadać na
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.
takich samych cykli
-elementowych
może być wybranych na
sposobów.
Podsumowując, aby otrzymać liczbę permutacji typu
musimy, dla wszystkich
,
podzielić
przez długość każdego cyklu z osobna,
tzn. dla każdego cyklu długości
podzielić przez
,
oraz przez silnię liczby
-elementowych cykli.
Zatem szukana liczba to
.

Przykład
Lista typów wszystkich permutacji z
:
Liczba permutacji z
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
to każda permutacja postaci
, gdzie
.
Oczywiście, jeśli
to
.
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
jest ona sama.
Obserwacja
Permutacje
mają ten sam typ wtedy i tylko wtedy, gdy są sprzężone.
Dowód
Załóżmy najpierw, że
i
są sprzężone,
czyli że
dla pewnego
.
Rozważmy jakiś cykl
permutacji
.
Wtedy
jest cyklem permutacji
.
Istotnie, dla
mamy:
i podobnie:
Każdy zatem cykl permutacji
wyznacza jednoznacznie cykl permutacji
o tej samej liczności.
Tym samym
i
są tego samego typu.
Rysunek: 5.1 Szkic na kartce.
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
cykl
,
definiujemy
kładąc
.
Łatwo sprawdzić, że wtedy
.

Transpozycja to permutacja w
(dla
) typu
.
Innymi słowy, transpozycja dokonuje tylko
jednego przestawienia dwóch elementów ze zbioru
-elementowego.
Przykład
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
Dowolny cykl z
jest złożeniem
transpozycji.
Dowód
Cykl
można przedstawić tabelką:
Zauważmy, że
jest następującym złożeniem transpozycji
Rzeczywiście
przejdzie:
- w pierwszej transpozycji
w
,
- a następne transpozycje już go nie przesuną.
Podobnie
przejdzie
- pierwszą transpozycją
w
,
- drugą
w
,
- a następne transpozycje już go nie przesuną.
Ogólnie,
(dla
)
- pozostanie na swoim miejscu przez pierwsze
transpozycji
,
- przejdzie
-tą transpozycją w
,
- przejdzie
-szą transpozycją w
,
- po czym zostanie już nienaruszone.
Natomiast
zostanie przesunięte dopiero ostatnią transpozycją i
przyjmie wartość
.

Wniosek
Dowolna permutacja jest złożeniem transpozycji.
W szczególności każda permutacja typu
ma rozkład na co najwyżej
transpozycji.
Przykład
Dla permutacji
zadanej przez
mamy
,
,
,
.
Rysunek: 5.2 Szkic na kartce.
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ż
.
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
Dowód
Udowodnimy tylko pierwszą równość.
Załóżmy, że
tzn.,
,
i
dla wszystkich pozostałych elementów
.
Rozumowanie dzielimy na dwa przypadki:
i
są w tym samym cyklu
permutacji
.
Rysunek: 5.3 Szkic na kartce.
Wtedy
,
gdzie ostatni wielokropek oznacza pozostałe cykle permutacji
.
Zatem w tym przypadku mamy
.
i
są w różnych cyklach permutacji
.
Wtedy
. Mamy więc
.

Obserwacja
Dowód
Obserwacja Uzupelnic obserwacja - jednoznaczna parzystosc permutacji|
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
jest liczbą transpozycji, na które można rozłożyć
.
Obserwacja
Dla dowolnych
- 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
Uzupelnic obserwacja - zachowanie c po zlozeniu z transpozycja|.
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}
.

Przykład
Dla relaksu rozważmy łamigłówkę logiczną rozgrywaną na kwadracie
.
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"?
Rysunek: 5.4 Szkic na kartce
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
:
- 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
,
daje wtedy jednak, że
jest złożeniem
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
Dla
w
jest dokładnie tyle samo permutacji parzystych co nieparzystych.
Dowód
Niech
i
będzie listą wszystkich parzystych permutacji w
.
Ponadto, rozważmy transpozycję
.
Wtedy oczywiście permutacje
są parami różne,
gdyż jeśli
to
.
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
. 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
jest permutacją parzystą,
a zatem jest postaci
dla pewnego
.
To zaś oznacza, że
czyli
jest na liście
.
Uzyskana bijekcja
dowodzi naszej obserwacji.

Podziały
Liczby Stirlinga
Liczba Stirlinga dla cykli
(często nazywana liczbą Stirlinga pierwszego rodzaju)
to liczba permutacji zbioru
-elementowego złożonych z dokładnie
cykli,
czyli takich permutacji
, że
.
Przyjmujemy, że
,
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ść
dla wszystkich
.
Przyjmujemy, że
dla
.
Przykład
Lista permutacji
złożonych z
cykli:
Rysunek: 5.5 Szkic na kartce.
- Mamy
permutacji
złożonych z dwóch cykli,
zatem
.
Obserwacja
Dowód
Pierwszy punkt jest natychmiastowa konsekwencją faktu,
że nie można podzielić niepustego zbioru na
części (cykli).
Liczba
opisuje permutacje o jednym cyklu.
Każda taka permutacja jest zadana wzorcem
.
Wzorzec taki może być wypełniony
-elementami na
sposobów.
Ale ten sam cykl ma wiele opisów różniących się jedynie przesunięciem.
Zatem każdy
-elementowy cykl może być zapisany według takiego wzorca
na
sposobów,
czyli liczba cykli na zbiorze
-elementowym to
,
co dowodzi punktu drugiego.
Liczba
opisuje permutacje o
cyklach.
Permutacja taka musi wiec być typu
, 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
-elementowych,
czyli
, co dowodzi punktu trzeciego.
Dla dowodu punktu czwartego zauważmy jedynie,
że jedyną permutacją o
cyklach na zbiorze
-elementowym jest identyczność.
Równie łatwo jest stwierdzić, że zbiór
-elementowy
nie może być podzielony na więcej niż
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
Dla
Dowód
Rysunek: 5.6 Szkic na kartce
W Trójkącie Stirlinga dla cykli,
-ty wiersz zawiera liczby permutacji zbioru
-elementowego o kolejno
cyklach.
Zatem suma wszystkich tych wartości
to liczba wszystkich permutacji zbioru
-elementowego, czyli
.
Dostajemy stąd natychmiast:
Obserwacja
Dla
Ciekawy jest nastepujacy związek liczb Stirlinga dla cykli
z liczbami harmonicznymi
.
Obserwacja
Dla
Dowód
Dla
tożsamość jest oczywista, a dla
przybiera postać
Pokażemy że obydwie liczby z naszej obserwacji to
sumaryczna liczba cykli we wszystkich permutacjach
zbioru
-elementowego, tzn.
.
- Permutacji o
cyklach jest dokładnie
.
W sumie permutacje o
cyklach mają więc
cykli,
czyli
.
- Zliczymy najpierw
-elementowe cykle
zbudowane z elementów zbioru
-elementowego.
Każdy taki cykl jest wyznaczony przez wypełnienie wzorca
,
ale z dokładnością do przesunięcia.
Wypełnień jest oczywiście tyle, ile injekcji postaci
,
czyli
.
Zatem zliczanych cykli
-elementowych jest dokładnie
.
Każdy cykl
-elementowy występuje w dokładnie
permutacjach zbioru
-elementowego, gdyż tyle jest permutacji pozostałych
elementów.
Zatem sumaryczna liczba cykli we wszystkich permutacjach zbioru
-elementowego
wynosi:

W liczbach Stirlinga
dla cykli wypełnialiśmy wzorce postaci:
w sposób injektywny i z dokładnością do:
- przesunięć cyklicznych w każdym z
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
-elementowego na
parami rozłącznych podzbiorów.
W podziale, podzbiory takie nazywamy blokami.
Przypomnijmy, że podział zbioru
na
bloków
wyznacza relację równoważności na zbiorze
o
klasach równoważności.
Liczba Stirlinga dla podziałów
(często nazywana liczbą Stirlinga drugiego rodzaju)
to liczba podziałów zbioru </math>nParser nie mógł rozpoznać (błąd składni): {\displaystyle -elementowego na dokładnie }
kParser nie mógł rozpoznać (błąd składni): {\displaystyle bloki. Znów przyjmujemy, że }
{c}0
0 1
{c}n
k 0
k<0Parser nie mógł rozpoznać (błąd składni): {\displaystyle . {{przyklad||| Lista podziałów }
{Z}_4
{cc}
{ {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} }
Parser nie mógł rozpoznać (nieznana funkcja „\medskip”): {\displaystyle \medskip\noindent\textit{Rysunek:} 5.7 Szkic na kartce.\medskip * Mamy }
7Parser nie mógł rozpoznać (błąd składni): {\displaystyle podziałów zbioru }
{Z}_4
{c}4
2 7Parser nie mógł rozpoznać (błąd składni): {\displaystyle . }} {{obserwacja||| Dla }
n,k{N}
{c}n
k [ {c}n
k ]
{c}n
0 0
n>0
{c}n
1 1
n>0
{c}n
2 2^{n-1}-1
n>0
{c}n
n-1 {n}
{c}n
n 1
{c}n
k 0
k>nParser nie mógł rozpoznać (błąd składni): {\displaystyle . }} {{dowod||| 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 }
0Parser nie mógł rozpoznać (błąd składni): {\displaystyle 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 }
=n
x XParser nie mógł rozpoznać (błąd składni): {\displaystyle . 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
xParser nie mógł rozpoznać (błąd składni): {\displaystyle może stanowić blok z dowolnym podzbiorem pozostałego }
(n-1)
X-{ {x} }Parser nie mógł rozpoznać (błąd składni): {\displaystyle poza podzbiorem pełnym, gdyż wtedy drugi blok byłby pusty. Zatem jest dokładnie }
2^{n-1}-1Parser nie mógł rozpoznać (błąd składni): {\displaystyle możliwości wyboru bloku dla }
xParser nie mógł rozpoznać (błąd składni): {\displaystyle , i tym samym tyleż jest podziałów }
XParser nie mógł rozpoznać (błąd składni): {\displaystyle . 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||| Dla }
0<k n {c}n
k
=k {c}n-1
k {c}n-1
k-1
Parser nie mógł rozpoznać (błąd składni): {\displaystyle }} {{dowod||| Niech, jak zwykle, }
=n
x XParser nie mógł rozpoznać (błąd składni): {\displaystyle będzie ustalonym elementem. Znów, podziały zbioru }
X
kParser nie mógł rozpoznać (błąd składni): {\displaystyle bloków można podzielić na dwa typy: * }
{ {x} }
xParser nie mógł rozpoznać (błąd składni): {\displaystyle jest w bloku co najmniej dwuelementowym. Każdy podział pierwszego typu jest jednoznacznie wyznaczony przez }
(n-1)
X-{ {x} }
k-1Parser nie mógł rozpoznać (błąd składni): {\displaystyle bloków. Jest ich więc dokładnie }
{c}n-1
k-1 .
W drugim przypadku pozostałe elementy dzielone są wciąż na
bloków.
Można taki podział wykonać na Parser nie mógł rozpoznać (błąd składni): {\displaystyle \left\{\begin{array} {c}n-1\\ k\end{array} \right\}\$ sposobów. Element }
xParser nie mógł rozpoznać (błąd składni): {\displaystyle może rozszerzyć każdy taki podział zbioru }
XParser nie mógł rozpoznać (błąd składni): {\displaystyle do podziału zbioru }
X
kParser nie mógł rozpoznać (błąd składni): {\displaystyle sposobów wchodząc do któregoś z }
kParser nie mógł rozpoznać (błąd składni): {\displaystyle bloków. Zatem jest dokładnie }
k {c}n-1
k podziałów drugiego typu.
}}
Obserwacja Uzupelnic obserwacja - rekursja Stirlinga dla podzialow|
pozwala na szybką konstrukcję Trójkąta Stirlinga dla podziałów.
Rysunek: Rys. 5.8 Szkic na kartce.
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
wyznacza podział zbioru
na Parser nie mógł rozpoznać (błąd składni): {\displaystyle \left\vertY\right\vert}
bloków.
Nie dziwi więc następujący związek z liczbami Stirlinga dla podziałów.
Obserwacja
Dla skończonych zbiorów
liczba surjekcji
wynosi
Parser nie mógł rozpoznać (błąd składni): {\displaystyle \left\vertY\right\vert!\cdot\left\{\begin{array} {c}\left\vertX\right\vert\\ \left\vertY\right\vert\end{array} \right\}\$. }} {{dowod||| Niech }
Y={ {y_0,...,y_{m-1
}Parser nie mógł rozpoznać (błąd składni): {\displaystyle . Jak już zauważyliśmy, surjekcja postaci }
f:X YParser nie mógł rozpoznać (błąd składni): {\displaystyle wyznacza pewien podział zbioru }
X
X
m=Parser nie mógł rozpoznać (błąd składni): {\displaystyle bloków }
f^{-1}({ {y_0} }), ..., f^{-1}({ {y_{m-1}} })Parser nie mógł rozpoznać (błąd składni): {\displaystyle . Nieetykietowanych podziałów jest oczywiście }
{c}
.
Ponieważ każdy podział może być poetykietowany na Parser nie mógł rozpoznać (błąd składni): {\displaystyle \left\vertY\right\vert!}
sposobów,
możemy zakończyć dowód.
}}
Obserwacja
Dla
Parser nie mógł rozpoznać (błąd składni): {\displaystyle \left\{\begin{array} {c}n\\ k+1\end{array} \right\}\=\frac{1}{(k+1)!}\sum_{0<i_0<\ldots<i_{k-1}<n}{n\choose i_{k-1}}{i_{k-1}\choose i_{k-2}}\ldots{i_1\choose i_0}. }
Dowód
Niech Parser nie mógł rozpoznać (błąd składni): {\displaystyle \left\vertX\right\vert=n}
.
Pojedynczy składnik
rozważanej sumy to liczba wyborów ciągu zbiorów
,
odpowiednio
elementowych.
Rzeczywiście
możemy wybrać na
sposobów,
na
sposobów itd.
Każdy taki ciąg zbiorów odpowiada jednoznacznie ciągowi
bloków
,
gdzie
.
W podziale nie jest jednak istotne uporządkowanie bloków
,
co oznacza, że powinniśmy przejść od ciągu
do rodziny bloków
,
wydzielając tym samym każdy składnik sumy przez
.
Tak wydzielona suma to nic innego jak
liczba podziałów zbioru
-elementowego na
bloków,
czyli
Parser nie mógł rozpoznać (błąd składni): {\displaystyle \left\{\begin{array} {c}n\\ k+1\end{array} \right\}\$. }} {{przyklad||| }
{c}n
3
&=&{1}{3!}_{0<j<i<n}{n i}{i j}
={1}{6}_{0<i<n}{n i}_{0<j<i}{i j}
&=&{1}{6}_{0<i<n}{n i}(2^i-2)
={1}{6}_{0<i<n}{n i}2^i-{1}{3}_{0<i<n}{n i}
&=&{1}{6}(3^n-1-2^n)-{1}{3}(2^n-2)
={3^{n-1}+1}{2}-2^{n-1}
Parser nie mógł rozpoznać (błąd składni): {\displaystyle }} ===Liczby Bella=== W Trójkącie Pascala }
nParser nie mógł rozpoznać (błąd składni): {\displaystyle -ty wiersz sumuje się do liczby podzbiorów zbioru }
n
2^nParser nie mógł rozpoznać (błąd składni): {\displaystyle . W Trójkąta Stirlinga dla cykli }
nParser nie mógł rozpoznać (błąd składni): {\displaystyle -ty wiersz sumuje się do liczby permutacji zbioru }
n
n!Parser nie mógł rozpoznać (błąd składni): {\displaystyle . Zajmiemy się teraz sumą }
nParser nie mógł rozpoznać (błąd składni): {\displaystyle -tego wiersza Trójkąta Stirlinga dla podziałów. Oczywiście suma taka to liczba wszystkich podziałów zbioru }
nParser nie mógł rozpoznać (błąd składni): {\displaystyle elementowego, lub inaczej liczby wszystkich relacji równoważności na zbiorze }
nParser nie mógł rozpoznać (nieznana funkcja „\noindent”): {\displaystyle -elementowym. \noindent \textbf{\underline{Liczba Bella}} }
B_nParser nie mógł rozpoznać (nieznana funkcja „\marginpar”): {\displaystyle \marginpar{{\scriptsize (nazwana na cześć Erica Temple Bella szkockiego matematyka i autora powieści science-fiction), notka, foto}\bigskip\hrule} to liczba podziałów zbioru }
n
B_n=_{i=0}^n {c}n
i

{|c||c|c|c|c|c|c|c|c|c|c|c|c}
n&0&1&2&3&4&5&6&7&8&9&10&...
B_n&1&1&2&5&15&52&203&877&4140&21147&115975&...
Parser nie mógł rozpoznać (błąd składni): {\displaystyle Liczby Bella spełniają piękną zależność rekurencyjną: {{obserwacja||| }
B_{n+1}=_{i=0}^n{n i}B_i.
Parser nie mógł rozpoznać (błąd składni): {\displaystyle }} {{dowod||| Wybierzmy i ustalmy w }
(n+1)
X
x XParser nie mógł rozpoznać (błąd składni): {\displaystyle . Policzmy teraz ile jest podziałów zbioru }
XParser nie mógł rozpoznać (błąd składni): {\displaystyle takich, że blok zawierający }
xParser nie mógł rozpoznać (błąd składni): {\displaystyle ma dokładnie }
i+1Parser nie mógł rozpoznać (błąd składni): {\displaystyle elementów. Oczywiście pozostałe }
iParser nie mógł rozpoznać (błąd składni): {\displaystyle elementów tego bloku może zostać wybranych ze zbioru }
X-{x}
{n i}Parser nie mógł rozpoznać (błąd składni): {\displaystyle sposobów. Każdy taki blok możemy rozbudować do podziału zbioru }
XParser nie mógł rozpoznać (błąd składni): {\displaystyle poprzez podzielenie pozostałych }
n-iParser nie mógł rozpoznać (błąd składni): {\displaystyle na bloki. Podział taki jest oczywiście możliwy na }
B_{n-i}Parser nie mógł rozpoznać (błąd składni): {\displaystyle sposobów, skąd sumując po wszystkich możliwych wartościach }
i
B_{n+1}=_{i=0}^n{n i}B_{n-i}=_{i=0}^n{n i}B_i.
Parser nie mógł rozpoznać (błąd składni): {\displaystyle }} ===Bazy przestrzeni wielomianów=== Przestrzeń wektorowa }
{R}[x]Parser nie mógł rozpoznać (błąd składni): {\displaystyle wszystkich wielomianów jednej zmiennej rzeczywistej }
xParser nie mógł rozpoznać (błąd składni): {\displaystyle ma naturalną bazę złożoną z jednomianów }
1,x,x^2,x^3,...
Parser nie mógł rozpoznać (błąd składni): {\displaystyle W \underline{różnicowym odpowiedniku Twierdzenia Taylora} widzieliśmy (bez dowodu), że każdy wielomian }
p(x)Parser nie mógł rozpoznać (błąd składni): {\displaystyle można przedstawić jako kombinację liniową }
p(x)=_{i=0}^k{(^i p)(0)}{i!}x^{i}
x^{i}Parser nie mógł rozpoznać (błąd składni): {\displaystyle . Pokażemy teraz, że rzeczywiście zarówno dolne silnie }
1,x^{1},x^{2},x^{3},...
Parser nie mógł rozpoznać (błąd składni): {\displaystyle jak i górne silnie }
1,x^Szablon:1,x^Szablon:2,x^Szablon:3,...
Parser nie mógł rozpoznać (błąd składni): {\displaystyle stanowią bazy dla przestrzeni wielomianów }
{R}[x]Parser nie mógł rozpoznać (błąd składni): {\displaystyle , 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 }
[ {c}n
k ]
{c}n
k
zerują się dla
oraz
.
Obserwacja
Dowód
Obserwacja
Dla
oraz
Parser nie mógł rozpoznać (nieznana funkcja „\x”): {\displaystyle x^n=\sum_i\left\{\begin{array} {c}n\\ i\end{array} \right\}\x^{\underline{i}}. }
Dowód
Zaprezentujemy dwa dowody.
Pierwszy -- indukcyjny -- pracuje dla dowolnego
,
a drugi -- kombinatoryczny -- w oczywisty sposób jedynie dla
.
Dla dowodu indukcyjnego zauważmy najpierw, że przy
mamy
Parser nie mógł rozpoznać (błąd składni): {\displaystyle x^0=1=\left\{\begin{array} {c}0\\ 0\end{array} \right\}\$. W kroku indukcyjnym korzystamy z faktu, że }
x x^{i}=x^{i+1}+ix^{i}
Parser nie mógł rozpoznać (błąd składni): {\displaystyle dostając: }
x^n=x x^{n-1}
&=&x_i {c}n-1
i ^{i}
&=&_i {c}n-1
i Parser nie mógł rozpoznać (błąd składni): {\displaystyle 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
i niech
będzie zbiorem
-elementowym.
Oczywiście
to liczba funkcji postaci
.
Każda taka funkcja przyjmuje
wartości.
Policzmy więc ile funkcji
przyjmuje dokładnie
wartości.
Ciąg
różnych wartości ze zbioru
-elementowego można wybrać na
sposobów.
Z każdym takim
-elementowym ciągiem możemy stowarzyszyć jakiś podział
zbioru
na
bloków, tzn. kolejnym blokom tego podziału
(uporządkowanym najpierw według najmniejszych elementów w blokach)
przyporządkowujemy
-tą wartość wybranego ciągu.
Tym sposobem mamy Parser nie mógł rozpoznać (nieznana funkcja „\n”): {\displaystyle \left\{\begin{array} {c}n\\ i\end{array} \right\}\n^{\underline{i}}}
funkcji
przyjmujących dokładnie
wartości.
Sumując po wszystkich możliwych
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
zachodzące dla
,
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
Dla
oraz
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^Szablon:I,
x^{n}&=&_i[ {c}n
i ](-1)^{n-i}x^i.
Parser nie mógł rozpoznać (błąd składni): {\displaystyle }} {{dowod||| Udowodnimy jedynie pierwszą równość, pozostawiając analogiczny dowód dla drugiej jako ćwiczenie. }
x^n=(-1)^n(-x)^n
&=&(-1)^n_i {c}n
i Parser nie mógł rozpoznać (błąd składni): {\displaystyle -x)^{\underline{i}}\\ &=&(-1)^n\sum_i\left\{\begin{array} {c}n\\ i\end{array} \right\}}
-1)^ix^Szablon:I
&=&_i {c}n
i Parser nie mógł rozpoznać (nieznana funkcja „\endaligned”): {\displaystyle -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
Dla
Parser nie mógł rozpoznać (nieznana funkcja „\aligned”): {\displaystyle \aligned \sum_i (-1)^{m-i}\left\{\begin{array} {c}m\\ i\end{array} \right\}\\fStirlingDlaCykli{i}{n} &=& \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
obiektów klasyfikujemy w
kategorii
pytamy o liczbę konfiguracji (klasyfikacji) o co najwyżej
kategoriach
oraz o dokładnie
kategoriach.
Większość wariantów klasyfikacji
obiektów na
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
-elementowego w zbiór
-elementowy wynosi
.
Klasyfikacja na dokładnie
kategorie to funkcja surjektywna.
Zgodnie z Obserwacją Uzupelnic obserwacja - liczba surjekcji|,
liczba takich klasyfikacji to,
Parser nie mógł rozpoznać (błąd składni): {\displaystyle k!\left\{\begin{array} {c}n\\ k\end{array} \right\}\$. * \textbf{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 }
kParser nie mógł rozpoznać (błąd składni): {\displaystyle bloków. Liczba takich konfiguracji to suma liczb Stirlinga dla podziałów }
_{i=1}^{k} {c}n
i .
Oczywiście gdy wszystkie kategorie są niepuste,
to zbiór obiektów jest podzielony na dokładnie
bloków.
Liczba takich konfiguracji to Parser nie mógł rozpoznać (błąd składni): {\displaystyle \left\{\begin{array} {c}n\\ k\end{array} \right\}\$. * \textbf{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 Parser nie mógł rozpoznać (błąd składni): {\displaystyle na sumę }
n=x_0+...+x_{k-1}
x_iParser nie mógł rozpoznać (błąd składni): {\displaystyle . Liczba rozwiązań takiego równania została policzona w jednym z przykładów wykładu o współczynnikach dwumianowych i wynosi }
{n+k-1 k-1}Parser nie mógł rozpoznać (błąd składni): {\displaystyle . I znów, gdy kategorii, czyli składników w rozkładzie }
n=x_0+...+x_{k-1}Parser nie mógł rozpoznać (błąd składni): {\displaystyle , ma być dokładnie }
kParser nie mógł rozpoznać (błąd składni): {\displaystyle , zliczamy jedynie rozwiązania spełniające dodatkowo }
x_0,...,x_{k-1} 1Parser nie mógł rozpoznać (błąd składni): {\displaystyle . Zgodnie z innym przykładem analizowanym w wykładzie o współczynnikach dwumianowych liczba takich rozwiązań to }
{n-1 k-1}Parser nie mógł rozpoznać (błąd składni): {\displaystyle . * \textbf{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 }
nParser nie mógł rozpoznać (błąd składni): {\displaystyle na sumę }
n=x_0+...+x_{k-1}
x_0 x_1 ... x_{k-1}
P(n,k)Parser nie mógł rozpoznać (błąd składni): {\displaystyle 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=1}^k P(n,k)Parser nie mógł rozpoznać (błąd składni): {\displaystyle . ==Podziały liczby== \textbf{\underline{Podział liczby}} }
n
kParser nie mógł rozpoznać (błąd składni): {\displaystyle składników to przedstawienie }
n
a_0+...+a_{k-1}=n,
a_0 a_1 ... a_{k-1} 1Parser nie mógł rozpoznać (nieznana funkcja „\noindent”): {\displaystyle . \noindent \textbf{\underline{Liczbę podziałów}} }
n
kParser nie mógł rozpoznać (błąd składni): {\displaystyle składników oznaczamy przez }
P(n,k)Parser nie mógł rozpoznać (błąd składni): {\displaystyle . {{przyklad||| Lista podziałów }
7
4Parser nie mógł rozpoznać (błąd składni): {\displaystyle składniki: }
1+1+1+4, 1+1+2+3, 1+2+2+2.
P(7,4)=3Parser nie mógł rozpoznać (błąd składni): {\displaystyle . }} {{obserwacja||| Dla }
n,k{N}-{ {0} }
P(n,1)=1
P(n,2)= {n}{2}
P(n,n)=1
P(n,k)=0
n<k
{1}{k!}{n-1 k-1} P(n,k){n-1 k-1}Parser nie mógł rozpoznać (błąd składni): {\displaystyle . }} {{dowod||| Uzasadnimy jedynie ostatni punkt. Dla dowodu ograniczenia górnego liczby }
P(n,k)Parser nie mógł rozpoznać (błąd składni): {\displaystyle zauważmy, że interesujące nas podziały liczby }
nParser nie mógł rozpoznać (błąd składni): {\displaystyle są rozwiązaniami równania }
n=x_0+...+x_{k-1}Parser nie mógł rozpoznać (błąd składni): {\displaystyle , a tych, jak już wiemy, jest dokładnie }
{n-1 k-1}Parser nie mógł rozpoznać (błąd składni): {\displaystyle . Z drugiej strony dowolny podział liczby }
nParser nie mógł rozpoznać (błąd składni): {\displaystyle generuje co najwyżej }
k!Parser nie mógł rozpoznać (błąd składni): {\displaystyle rozwiązań równania }
n=x_0+...+x_{k-1}Parser nie mógł rozpoznać (błąd składni): {\displaystyle (generuje dokładnie }
k!Parser nie mógł rozpoznać (błąd składni): {\displaystyle , 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)Parser nie mógł rozpoznać (błąd składni): {\displaystyle można poprawić: {{obserwacja||| }
P(n,k) {1}{k!}{n+{k}-1 k-1}.
Parser nie mógł rozpoznać (błąd składni): {\displaystyle }} {{dowod||| Dla podziału }
n=a_0+...+a_{k-1}
b_i=a_i+(k-1-i),dla
.
Parser nie mógł rozpoznać (błąd składni): {\displaystyle Zauważmy, że wszystkie liczby }
b_iParser nie mógł rozpoznać (błąd składni): {\displaystyle są różne oraz }
b_0+...+b_{k-1}=n+{k(k-1)}{2}.
Parser nie mógł rozpoznać (błąd składni): {\displaystyle A zatem podziały liczby }
n
kParser nie mógł rozpoznać (błąd składni): {\displaystyle składników stoją w bijektywnej odpowiedniości z podziałami liczby }
n+{k 2}
kParser nie mógł rozpoznać (błąd składni): {\displaystyle parami różnych składników. Każdy podział }
n+{k}
kParser nie mógł rozpoznać (błąd składni): {\displaystyle parami różnych składników generuje dokładnie }
k!Parser nie mógł rozpoznać (błąd składni): {\displaystyle rozwiązań równania }
x_0+...+x_{k-1}=n+{k 2},
x_i>0Parser nie mógł rozpoznać (błąd składni): {\displaystyle . Wiemy zaś, że to ostatnie równanie posiada co najwyżej }
{n+{k}-1 k-1}Parser nie mógł rozpoznać (błąd składni): {\displaystyle rozwiązań. A zatem ciągów }
b_i Parser nie mógł rozpoznać (błąd składni): {\displaystyle , a tym samym podziałów }
n
kParser nie mógł rozpoznać (błąd składni): {\displaystyle składników, jest co najwyżej }
{1}{k!}{n+{k}-1 k-1}Parser nie mógł rozpoznać (błąd składni): {\displaystyle . }} Ostatnia obserwacja pozwala na opisanie granicznego zachowania liczb }
P(n,k)
kParser nie mógł rozpoznać (błąd składni): {\displaystyle . {{wniosek||| Dla dowolnego }
k_{n}{P(n,k)}{n^{k-1
={1}{k!(k-1)!}.
Parser nie mógł rozpoznać (błąd składni): {\displaystyle }} Dość skutecznym narzędziem do badania podziałów liczb naturalnych są tzw. diagramy Ferrersa. \noindent \textbf{\underline{Diagram Ferrersa}} dla podziału }
n=a_0+...+a_{k-1}Parser nie mógł rozpoznać (błąd składni): {\displaystyle składa się z }
k
a_{i-1}Parser nie mógł rozpoznać (błąd składni): {\displaystyle elementach. {{przyklad||| }
2+5+6+6+9=28.
Parser nie mógł rozpoznać (nieznana funkcja „\medskip”): {\displaystyle \medskip\noindent\textit{Rysunek:} 6.3 Szkic na kartce.\medskip }
1+3+3+3=10.
Parser nie mógł rozpoznać (nieznana funkcja „\medskip”): {\displaystyle \medskip\noindent\textit{Rysunek:} 6.4 Szkic na kartce.\medskip }} Użyteczność diagramów Ferrersa ilustrują dowody kilku nastepnych obserwacji. {{obserwacja||| Liczba }
P(n,k)Parser nie mógł rozpoznać (błąd składni): {\displaystyle jest równa liczbie podziałów liczby }
nParser nie mógł rozpoznać (błąd składni): {\displaystyle (na dowolną liczbę składników) o największym składniku równym }
kParser nie mógł rozpoznać (błąd składni): {\displaystyle . }} {{dowod||| Odwracając o }
90Parser nie mógł rozpoznać (błąd składni): {\displaystyle stopni diagram podziału liczby }
n
kParser nie mógł rozpoznać (błąd składni): {\displaystyle składników otrzymamy diagram podziału liczby }
nParser nie mógł rozpoznać (błąd składni): {\displaystyle , którego największy składnik równy jest }
kParser nie mógł rozpoznać (błąd składni): {\displaystyle . Oczywiście jest to odwzorowanie bijektywne, gdyż odwracając z powrotem o }
90Parser nie mógł rozpoznać (błąd składni): {\displaystyle stopni otrzymamy ten wyjściowy diagram. \medskip\noindent\textit{Rysunek:} 6.5 Szkic na kartce.\medskip }} {{obserwacja||| Liczba }
P(n+k,k)Parser nie mógł rozpoznać (błąd składni): {\displaystyle jest równa liczbie podziałów }
nParser nie mógł rozpoznać (błąd składni): {\displaystyle na co najwyżej }
kParser nie mógł rozpoznać (błąd składni): {\displaystyle składników. }} {{dowod||| Wycinając ostatnią kolumnę w diagramie podziału liczby }
n+k
kParser nie mógł rozpoznać (błąd składni): {\displaystyle składników otrzymamy podział liczby }
nParser nie mógł rozpoznać (błąd składni): {\displaystyle na co najwyżej }
kParser nie mógł rozpoznać (błąd składni): {\displaystyle składników. Łatwo zauważyc, że jest to odwzorowanie bijektywne. \medskip\noindent\textit{Rysunek:} 6.6 Szkic na kartce.\medskip }}}