Matematyka dyskretna 2/Wykład 5: Zastosowania teorii grup w zliczaniu

Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania

Kolorowanie zbioru X to funkcja


ω:XK,


gdzie K jest zbiorem kolorów.

Poly pieciokat.swf

Przykład

Rozważmy kolorowania naszyjnika złożonego z pięciu identycznych koralików k0,k1,k2,k3,k4. Koraliki te mają takie same kształty i nie można ich rozróżnić. Możemy zatem zauważyć, że z jednego kolorowania ω0 da się utworzyć inne kolorowanie, nieodróżnialne od pierwszego, np. przez cykliczną zmianę numeracji koralików: ω1(ki)=ω0(k(i1 mod 5)) jest nieodróżnialne od kolorowania ω0(ki). Przekształcenie indeksów i1 mod 5 jest równoważne z obrotem o 72.

W ten sposób dostajemy 5 kolorowań naszego naszyjnika. Ale, naszyjnik można też odwracać w rękach, lub - co na jedno wychodzi - spojrzeć na niego z drugiej strony. Mamy więc dodatkowe 5 kolorowań naszego naszyjnika.

Zauważmy, ze w istocie każde 10 z kolorowań możemy otrzymać z innego poprzez przekształcenie naszyjnika (pięciokąta) przez jakąś symetrię. Zbiór zmian ułożeń naszyjnika (permutacje jego koralików) wraz ze składaniem tych zmian (permutacji) tworzy więc grupę (w tym przypadku znaną nam już grupę dihedralną 𝐃5 symetrii pięciokąta. W wykładzie tym poznamy metody zliczania tych kolorowań, które są odróżnialne.

G-zbiór to para (𝐆,X), gdzie

  • X jest zbiorem skończonym,
  • 𝐆=(G,) jest grupą permutacji zbioru X, tzn. G jest zamkniętym na składanie

zbiorem permutacji zbioru X.

Czasem, dla G-zbioru (𝐆,X) mówimy, ze grupa 𝐆 działa na zbiorze X.

Przekształcenia odpowiadające permutacjom id,g1,g2,g3

Przykład

Rozważmy kwadrat o wierzchołkach v0,v1,v2,v3 oraz 4 permutacje jego wierzchołków powstałe przez: odbicia względem przekątnych i obrót o 180, tak jak zostało to pokazane na rysunku.

Każde przedstawione przekształcenie geometryczne wyznacza jednoznacznie permutację zbioru indeksów wierzchołków kwadratu X={0,1,2,3}. Tak więc zbiór permutacji odpowiadających przekształceniom to G={id,g1,g2,g3}. Przekształcenia gi można składać. Na przykład g1g2 tworzy obrót o 180 stopni, a więc g3. Para (G,) tworzy grupę, więc (G,X) jest przykładem G-zbioru, który jest opisany przez poniższe tabelki:


j1234HLINE TBDid(j)0123g1(j)0213g2(j)3120g3(j)3210gigjidg1g2g3HLINE TBDididg1g2g3g1g1idg3g2g2g2g3idg1g3g3g2g1id


Innymi słowy, grupa permutacji 𝐆 działa na zbiorze X.

Orbita Gx elementu xX w G-zbiorze (G,X) to zbiór tych elementów zbioru X, które są postaci g(x) dla pewnego gG, tzn.


Gx={g(x)X:gG}


Stabilizator Gx elementu xX w G-zbiorze (G,X) to zbiór tych permutacji z G, które nie ruszają x z miejsca, tzn.


Gx={gG: g(x)=x}


Ponadto zbiór permutacji przeprowadzających xX w yX oznaczamy przez


G(xy)={gG: g(x)=y}


Przykład

Dla grupy G permutacji kwadratu z rysunku, orbita oraz stabilizator elementu 0 mają postać


G0={0,3}G,0={id,g1}


Mnożąc liczności obu tych zbiorów otrzymujemy liczbę elementów grupy G, czyli innymi słowy |G0||G,0|=|G|

Jako ćwiczenie 3 pozostawiamy dowód następującej obserwacji.

Obserwacja 5.1

Dla G-zbioru (G,X) oraz x,yX zachodzi


|Gx|=|G(xy)|=|G(yx)|=|Gy|


Twierdzenie 5.2

Dla G-zbioru (G,X) oraz xX zachodzi


|Gx||Gx|=|G|


Dowód

Przy ustalonym xX policzmy, na dwa różne sposoby, pary w zbiorze


A={(g,y): g(x)=y}


Dowolna permutacja g wyznacza jednoznacznie element y=g(x), tak więc |A|=|G| Pogrupowanie par (g,y)A w zbiory Ay1,,Aym tak, by


Ayi={(g,yi): g(x)=yi}


daje podział


A=Ay1Aym


Zbiór {y1,y2,,ym} składa się z elementów, które można uzyskać jako g(x) za pomocą jakiejkolwiek permutacji gG, a zatem jest to orbita elementu x:


Gx={y1,y2,,ym}


Z kolei zaś Ayi jest zbiorem takich par (g,yi), że g(x)=yi. Permutacja g jednoznacznie wyznacza element yi=g(x), tak więc Ayi jest równoliczny z


G(xyi)={gG: g(x)=yi}


Tym samym Obserwacja 5.1 daje, że |Ayi|=|G(xyi)|=|Gx| dla dowolnego i=1,2,,m. W konsekwencji |A|=|Gx||Gx|.

Wniosek 5.3

W G-zbiorze (G,X) wszystkie orbity mają tę samą liczność, tzn.


|Gx|=|Gy|dla dowolnych x,yX


Zbiór punktów stałych permutacji gG to


Fix(g)={xX:g(x)=x}


Twierdzenie 5.4

Dla G-zbioru (G,X) oraz funkcji f stałej na każdej orbicie Gx zachodzi


xDf(x)=1|G|gGxFix(g)f(x),


gdzie DX jest zbiorem reprezentantów orbit, tzn. |DGx|=1 dla dowolnego xX.

Dowód

Policzymy, na dwa różne sposoby, sumę


(g,x)Bf(x)


gdzie B={(g,x):g(x)=x}. Pogrupowanie par (g,x)B w zbiory Bx1,Bx2,,Bxn, zdefiniowane przez


Bxi={(g,xi):g(xi)=xi},


daje podział


B=Bx1Bx2Bxn


Oczywiście id(x)=x, więc (id,x)Bx, czyli zbiór użytych w tym podziale indeksów {x1,x2,,xn} wyczerpuje całe X. Ponadto, z samej definicji Bx, otrzymujemy |Bx|=|Gx|. A zatem


(g,x)Bf(x)=xX(g,x)Bxf(x)=xX|Gx|f(x)=|Gx0|xXf(x),


gdzie x0 jest dowolnie wybranym elementem zbioru X. Niech teraz D={xi0,xi1,,xik} będzie zbiorem reprezentantów rodziny orbit, tzn. Gxij są parami rozłączne i X=Gxi0Gxi1Gxik. Ponieważ funkcja f jest stała na orbitach, to


|Gx0|xXf(x)=|Gx0|xijDyGxijf(y)=|Gx0|xijD|Gxij|f(xij)


Równoliczność orbit uzyskana we Wniosku 5.3 wraz z Twierdzeniem 5.2 daje więc


(g,x)Bf(x)=|Gx0||Gx0|xDf(x)=|G|xDf(x)


Z drugiej strony, pogrupowanie par (g,x)B w zbiory Bg1,Bg2,,Bgm zadane przez


Bgi={(gi,x):gi(x)=x}


daje podział


B=Bg1Bg2Bgm


Każdy zbiór postaci Bgi jest bijektywny ze zbiorem punktów stałych permutacji gi


Fix(gi)={xX:(gi,x)Bgi}


A zatem


(g,x)Bf(x)=gGxFix(g)f(x),


co daje ostatecznie


|G|xDf(x)=gGxFix(g)f(x)


Wniosek 5.5

Liczba orbit w G-zbiorze (G,X) wynosi


1|G|gG|Fix(g)|


Permutacje na zbiorze kolorowań. Niech (G,X) będzie G-zbiorem, a A zbiorem kolorowań zbioru X. Każda permutacja gG wyznacza permutację g^:AA kolorowań ze zbioru A poprzez


(g^(ω))(x)=ω(g(x))dla dowolnych ωA i xX


Obserwacja 5.6

Niech (G,X) będzie G-zbiorem, a A zbiorem kolorowań zbioru X. Dla G^={g^:gG} zachodzi:

  • Para (G^,) tworzy grupę, gdzie jest składaniem permutacji.
  • Funkcja ^:GG^ jest izomorfizmem grup (G,) oraz (G^,).
  • |G|=|G^|.
  • (G^,A) jest G-zbiorem.

Izomorficzne kolorowania. Kolorowania ω0 i ω1 zbioru X są izomorficzne względem działania grupy G na zbiorze X, gdy istnieje permutacja gG taka, że g^(ω0)=ω1, czyli


ω0(g(x))=ω1(x)dla dowolnego xX


Przykład

Kolorowania z rysunku są izomorficzne względem działania grupy 𝐃5 wszystkich zmian ustawień 5-elementowego naszyjnika.

Indeks permutacji g:XX to funkcja n zmiennych


ζg(x1,,xn)=x1α1x2α2xnαn,


gdzie

  • n to liczność zbioru X,
  • αi to liczba i-elementowych cykli permutacji g,

dla i=1,2,,n.

Indeks grupy G to funkcja n zmiennych


ζG(x1,,xn)=1|G|gGζg(x1,,xn)

Plik:Poly tetrahedron.svg
Czworościan v0v1v2v3

Plik:Poly tetrahedron 2.svg
Obrót o 120 czworościanu v0v1v2v3 względem prostej przechodzącej przez wierzchołek v0 oraz przez środek ściany v1v2v3

Plik:Poly tetrahedron 3.svg
Obrót o 180 czworościanu v0v1v2v3 względem prostej przechodzącej przez środki krawędzi v1v2 oraz v0v3

Przykład

Niech (Gt,) będzie grupą wszystkich obrotów czworościanu foremnego (przedstawionego na rysunku) w 3-wymiarowej przestrzeni.

Obroty czworościanu mają więc następujące indeksy ζg(x1,x2,,x8), w zależności od rozkładu na cykle:

  • x14 - jedyny taki obrót z jednoelementowymi cyklami to oczywiście id=(0)(1)(2)(3).
  • x1x3 - obroty o 120 względem prostej przechodzącej przez jeden z wierzchołków i środek przeciwległej ściany. W grupie Gt jest ich 8. Przykładem permutacji o indeksie x1x3 jest (0)(123), która odpowiada przekształceniu przedstawionym na rysunku.
  • x22 - obroty o 180 względem osi przechodzącej przez środki przeciwległych krawędzi.

W sumie są 3 takie obroty. Permutacją o indeksie x22 jest na przykład (03)(12) i odpowiada ona przekształceniu przedstawionym na rysunku.

Indeks całej grupy obrotów czworościanu to zatem:


ζGt(x1,x2,x3,x4)=112(x14+8x1x3+3x22)



Twierdzenie 5.7

Liczba nieizomorficznych kolorowań zbioru X za pomocą k barw wynosi


ζG(k,k,,k),


gdzie G jest grupą możliwych permutacji elementów X.

Dowód

Niech A będzie zbiorem wszystkich kolorowań k barwami zbioru X. Szukana liczba nieizomorficznych kolorowań jest równa liczbie orbit G-zbioru (G^,A) i, na mocy Wniosku 5.5 oraz Obserwacji 5.6, wynosi:


1|G^|g^G^|Fix(g^)|=1|G|gG|Fix(g)|


Pozostaje więc policzyć liczbę punktów stałych każdej z permutacji g^ . Jeśli ω jest punktem stałym permutacji g^, a (i1,i2,,il) jest cyklem tej permutacji, to


ω(ij+1)=ω(g(ij))=(g^(ω))(ij)=ω(ij)


A zatem wszystkie elementy ij tego cyklu są pokolorowane na ten sam kolor. Niech teraz permutacja g rozkłada się na m cykli. Ponieważ elementy każdego cyklu muszą być jednobarwne, a wszystkich możliwych do wykorzystania barw jest k, to liczba możliwych kolorowań elementów X wynosi |Fix(g)|=km. Z drugiej strony


ζg(k,k,,k)=kα1kα2kαs,


gdzie αi jest liczbą cykli i elementowych. Ale oczywiście α1+α2++αs=m, skąd |Fix(g)|=ζg(k,k,,k). Liczba nieizomorficznych kolorowań jest więc równa


1|G|gG|Fix(g)|=1|G|gGζg(k,k,,k)=ζG(k,k,,k)


Plik:Poly tetrahedron 4.svg
Nieizomorficzne kolorowania wierzchołków czworościanu foremnego

Przykład

Niech (Gt,) będzie grupą wszystkich obrotów czworościanu foremnego (przedstawionego na rysunku) w 3-wymiarowej przestrzeni. Wiemy już, że indeks grupy Gt wynosi


ζGt(x1,x2,x3,x4)=112(x14+8x1x3+3x22)


Aby zliczyć wszystkie, nieizomorficzne względem obrotów, kolorowania wierzchołków czworościanu na 2 kolory wystarczy, wobec Twierdzenia 5.7, policzyć wartość


ζGt(2,2,2,2)=5


Faktycznie. Jedynymi kolorowaniami nieizomorficznymi względem obrotów są te, przedstawione na rysunku.

Wskaźnik kolorowania ω:XK, dla zbioru kolorów K={1,2,,k} to


ind(ω)=x1n1x2n2xknk,


gdzie ni to liczba elementów ze zbioru X pokolorowanych przez ω na kolor i.
Ponadto dla zbioru kolorowań A definiuje się funkcję tworzącą postaci


UA(x1,x2,,xk)=ωAind(ω)=ωAx1n1(ω)x2n2(ω)xknk(ω)


Twierdzenie 5.8

Dla podziału zbioru X=Y1Y2Yl mamy


UD(x1,x2,,xk)=i=1l(x1|Yi|+x2|Yi|++xk|Yi|),


gdzie D jest zbiorem kolorowań stałych na zbiorach Yi.

Dowód

Niech |Yi|=mi. Iloczyn


i=1l(x1mi+x2mi++xkmi)


jest sumą jednomianów postaci βx1α1x2α2xkαk. Aby przeanalizować te jednomiany zauważmy, że mnożąc po jednym składniku xjmi z każdego czynnika iloczynu, otrzymamy jednomian postaci x1α1x2α2xkαk. Wartość β jest więc równa wszystkim możliwym iloczynom xj1m1 xj2m2xjlml dającym x1α1x2α2xkαk. Porządkując składniki xji otrzymujemy, że β jest liczbą wszystkich zestawów sum postaci


α1=mi1,1++mi1,s1α2=mi2,1+mi2,2++mi2,s2αk=mik,1++mik,sk.


Każdy taki zestaw sum można utożsamić z kolorowaniem, które przyporządkowuje elementom z Yi1,1Yi1,s1 pierwszą barwę, elementom z Yi2,1Yi2,2Yi2,s2 kolejną barwę, itd... Otrzymujemy w ten sposób, że β jest liczbą kolorowań stałych na każdym ze zbiorów Yi. Kolorowania te używają α1 razy pierwszej barwy, α2 razy drugiej barwy, itd..., czyli jednomian βx1α1x2α2xkαk jest składnikiem w sumie powstałej z iloczynu UD(x1,x2,,xk) przez wymnożenie wszystkich czynników.

Twierdzenie 5.9 [G. Pólya 1935]

Niech |X|=n a D będzie zbiorem wszystkich nieizomorficznych, ze względu na działanie grupy G na zbiorze X, kolorowań zbioru X za pomocą k barw. Wtedy funkcja tworząca UD jest postaci


UD(x1,x2,,xk)=ζG(σ1,σ2,,σn),


gdzie


σi=x1i+x2i++xki


Dowód

Zbiór D jest zbiorem reprezentantów orbit G-zbioru (G^,A), gdzie A jest zbiorem wszystkich możliwych kolorowań zbioru X. Podstawiając, w Twierdzeniu 5.4, za funkcję f wskaźnik kolorowania ind otrzymujemy


ωDind(ω)=1|G^|g^G^(ωFix(g^)ind(ω))


Korzystając z definicji wskaźnika kolorowania dostajemy


UD(x1,x2,,xk)=1|G^|g^G^UFix(g^)(x1,x2,,xk)


Zbiór Fix(g^) jest zbiorem kolorowań, przy których elementy z tego samego cyklu otrzymują tę samą barwę. A zatem, z Twierdzenia 5.8 wynika, że


UFix(g^)(x1,x2,,xk)=i=1l(x1mi+x2mi++xkmi)=i=1lσmi,


gdzie mi jest rozmiarem i-tego cyklu. Niech αi będzie liczbą cykli w g o długości i. Otrzymujemy więc


UFix(g^)(x1,x2,,xk)=σ1α1σ2α2σnαn=ζg(σ1,σ2,,σn).


Obserwacja 5.6 daje więc teraz


UD(x1,x2,,xk)=1|G^|g^G^UFix(g^)(x1,x2,,xk)=1|G|gGζg(σ1,σ2,,σn)=ζG(σ1,σ2,,σn).


Plik:Poly square 2.mp4
Przekształcenia geometryczne kwadratu

Przykład

Użyjemy opisanych twierdzeń do wyznaczenia liczby wszystkich nieizomorficznych pokolorowań wierzchołków kwadratu na dwa kolory. Rozważmy więc wszystkie osiem symetrii kwadratu, jak przedstawiono na animacji.


Grupa permutacji G wyznaczona przez te symetrie ma 8 następujących elementów:


id=(0)(1)(2)(3)g4=(0)(3)(12)g1=(0123)g5=(1)(2)(03)g2=(02)(13)g6=(02)(13)g3=(0321)g7=(01)(23)


Z podanego rozkładu na cykle dostajemy, że indeks grupy G to


ζG(x1,x2,x3,x4)=18(x14+2x12x2+3x22+2x4)


Aby znaleźć liczbę nieizomorficznych kolorowań takich, że i wierzchołków jest pokolorowanych na biało , a pozostałe 4i na czarno , wystarczy wyliczyć współczynnik przy i4i w funkcji tworzącej postaci


UD(,)=ζG(+, 2+2, 3+3, 4+4)=4+3+222+3+4.


Rysunek przedstawia wszystkie możliwe nieizomorficzne kolorowania.

Nieizomorficzne kolorowania wierzchołków kwadratu