Matematyka dyskretna 2/Wykład 2: Porządki Częściowe i twierdzenie Dilworth'a

Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania
Diagram Hassego przykładowego porządku 𝐏0
Łańcuch (a) oraz antyłańcuch (b) w posecie 𝐏0
Antyłańcuch realizujący szerokość (a) oraz pokrycie łańcuchowe (b) posetu 𝐏0

Zbiór częściowo uporządkowany (poset) to para 𝐏=(X,), gdzie X jest zbiorem, zaś jest dwuargumentową relacją określoną na X, która dla dowolnie wybranych x,y,zX spełnia:

  • xx (zwrotność),
  • xy, yx implikuje x=y (antysymetria),
  • xy, yz implikuje xz (przechodniość).
Uwaga

Częściowy porządek wygodnie przedstawiać jest przy użyciu tzw. diagramu Hassego, który przedstawia się na płaszczyźnie 2 w następujący sposób:

  • Umieszczamy punkty obrazujące elementy zbioru X na płaszczyźnie,oznaczając je małymi kółkami.

Dla elementów x,yX, jeśli y<x, to punkt przypisany elementowi x jest powyżej punktu przypisanemu elementowi y.

  • Łączymy odcinkiem punkt xX z punktem yX, jeśli x jest następnikiem y, czyli y<x oraz nie istnieje zX, taki że y<z<x.

Łańcuch w zbiorze częściowo uporządkowanym 𝐏=(X,) to taki podzbiór C zbioru X, że dla dowolnych x,yX zachodzi:

  • xy oraz xy (liniowość).

Antyłańcuch w zbiorze częściowo uporządkowanym 𝐏=(X,) to taki podzbiór A zbioru X, że dla dowolnych x,yX zachodzi:

  • x≰y oraz x≰y (niezależność).

Szerokość posetu 𝐏=(X,) to maksymalny możliwy rozmiar antyłańcucha w 𝐏. Szerokość oznaczana będzie za pomocą width(𝐏).
W ogólności szerokość width(Y) można zdefiniować dla dowolnego podzbioru YX, jako największy możliwy rozmiar antyłańcucha zawartego w Y.

Pokrycie łańcuchowe posetu 𝐏=(X,) to taka rodzina łańcuchów C1,Ck, że


C1Ck=X


Twierdzenie 2.1 [R. P. Dilworth 1950]

Minimalna liczba łańcuchów pokrywających poset 𝐏 jest równa szerokości posetu 𝐏.

Dowód

Oczywiście liczba łańcuchów pokrywających poset nie może być mniejsza niż jego szerokość, bo każdy punkt w antyłańcuchu realizującym tę szerokość musi być pokryty innym łańcuchem.

Dowód implikacji odwrotnej przeprowadzimy indukcyjnie ze względu na liczność n posetu 𝐏=(P,). Niech w=width(𝐏). Rozważmy maksymalny, w sensie inkluzji, łańcuch C zawarty w 𝐏. Po usunięciu łańcucha C szerokość posetu może zmniejszyć się co najwyżej o jeden. Dowód podzielimy więc na dwa przypadki:

  • width(PC)=w1

Na mocy założenia indukcyjnego poset PC daje się pokryć w1 łańcuchami, które wobec tego wraz z C tworzą szukane pokrycie całego posetu 𝐏 za pomocą w.

  • width(PC)=w

Niech A bedzie antyłańcuchem realizującym szerokość zbioru PC, tzn. |A|=w. Połóżmy:


U={pP: istnieje aA takie ,że pa},D={pP: istnieje aA takie, że pa}.


Jeśli U=P, to łańcuch C całkowicie zawiera się w U. Z definicji zbioru U wynika, że istnieje element a0A, który jest mniejszy od najmniejszego elementu łańcucha C, a tym samym od wszystkich elementów w C. Skoro APC, to a0∉C i w konsekwencji {a0}C jest łańcuchem istotnie większym od maksymalnego w sensie inkluzji łańcucha C. To pokazuje, że |U|<|P|. Podobnie możemy uzasadnić, że również |D|<|P|. Do obu zbiorów U,D możemy więc zastosować założenie indukcyjne, dostając ich pokrycia łańcuchowe


U=C1Cw,D=C1Cw


Ponieważ ADU, to każdy element z A należy do jakiegoś łańcucha Ci i do jakiegoś łańcucha Cj. Z drugiej strony fakt, że A jest w-elementowym antyłańcuchem gwarantuje, że w każdym łańcuchu postaci Ci lub Cj jest jakiś element z A. Pozwala to na takie przenumerowanie łańcuchów Ci i Cj, by CiCj, tzn. że dla aA mamy aCi wtedy i tylko wtedy, gdy aCi. To z kolei oznacza, że każda suma CiCi jest łańcuchem. Oczywiście te nowe łańcuchy CiCi pokrywają zbiór DU. Zauważmy jednak, że DU=P, bo inaczej istniałby element pP nieporównywalny z żadnym elementem antyłańcucha A, czyli A{p} byłby antyłańcuchem istotnie większym niż maksymalny antyłańcuch A. W konsekwencji otrzymujemy pokrycie łańcuchowe


P=(C1C1)(CwCw)


całego zbioru P.

Pokrycie antyłańcuchowe posetu 𝐏=(X,) to taka rodzina antyłańcuchów A1,Ak, że


A1Ak=X


Twierdzenie 2.2 [Dualne Twierdzenie Dilworth'a]]

Minimalna liczba antyłańcuchów pokrywających poset 𝐏=(P,) jest równa maksymalnej liczności łańcucha zawartego w 𝐏.

Pokrycie antyłańcuchowe posetu 𝐏0

Dowód

Moc najdłuższego łańcucha oznaczmy przez h. Niech Ai będzie zbiorem elementów pP spełniających:

(*) w zbiorze p={xP:px}

najliczniejszy łańcuch jest mocy i.

Pokażemy, że każde Ai jest antyłańcuchem. Istotnie, gdyby dwa różne elementy p1,p2Ai były porównywalne, to możemy bez straty ogólności założyć, że p1<p2. Ponieważ p2Ai, to w zbiorze p2 jest łańcuch o liczności i.

Łańcuch ten jednak można by przedłużyć (od dołu) do liczniejszego łańcucha {p1}C2. To oczywiście przeczy temu, że p1Ai. Zatem istotnie każde Ai jest antyłańcuchem. Intuicyjnie antyłańcuchy Ai to kolejne piętra posetu 𝐏. Oczywiście każdy punkt pP musi być w którymś ze zbiorów A1,,Ah, bo p nie może zawierać łańcuchów liczniejszych niż h. Dostaliśmy więc następujące pokrycie antyłańcuchami:


P=A1Ah


Oczywiście pokrycie to jest najmniej liczne, bo w każdym pokryciu każdy spośród h punktów najdłuższego łańcucha musi leżeć w innym antyłańcuchu.

Wniosek 2.3

Każdy zbiór częściowo uporządkowany o rs+1 elementach zawiera łańcuch o liczności r+1 lub antyłańcuch o liczności s+1.

Dowód

Niech 𝐏=(P,) będzie posetem, w którym każdy łańcuch jest liczności co najwyżej r, a każdy antyłańcuch jest liczności co najwyżej s. Dualne Twierdzenie Dilworth'a 2.2 dostarcza pokrycie antyłańcuchami


P=A1Ar,


gdzie rr jest mocą łańcucha o maksymalnej liczności. Ponieważ |Ai|s, to


|P|=|A1|++|Ar|rsrs


Sprzeczność ta pokazuje, że jeśli 𝐏 ma co najmniej rs+1 elementów, to musi zawierać łańcuch o liczności r+1 lub antyłańcuch o liczności s+1.

Uwaga

Dowód wniosku 2.3 można równie dobrze przeprowadzić opierając się na Twierdzeniu Dilworth'a 2.1, co pozostawiamy jako ćwiczenie 3.

Jednym z ciekawszych wniosków z Twierdzenia Dilworth'a jest fakt, że każdy ciąg r2+1 liczb rzeczywistych zawiera podciąg monotoniczny o r+1 elementach. Pierwszy dowód tego twierdzenia przedstawili P. Erd{o}s oraz G. Szekres w 1939 roku. Poniżej przedstawione jest uogólnienie tego twierdzenia, którego uzasadnienie będzie korzystało z wniosku 2.3.

Twierdzenie 2.4

Każdy ciąg nrs+1 liczb rzeczywistych zawiera podciąg niemalejący o długości r+1 lub podciąg malejący o długości s+1.

Dowód

Niech A=(a1,,an) będzie ciągiem liczb rzeczywistych. Na parach postaci (i,ai), wprowadzamy relację częściowego porządku kładąc

(i,ai)(j,aj) wtedy i tylko wtedy, gdy ij oraz aiaj.

Łańcuchy w tym porządku, to nic innego jak podciągi niemalejące ciągu A, a antyłańcuchy to podciągi malejące ciągu A. Po tym utożsamieniu wystarczy powołać się na Wniosek 2.3.

Krata podzbiorów i twierdzenie Sperner'a.

Posety: 𝐏=(𝒫(),), 𝐏{a}=(𝒫({a}),), 𝐏{a,b}=(𝒫({a,b}),), 𝐏{a,b,c}=(𝒫({a,b,c}),)

Dla dowolnego zbioru X rodzina 𝒫(X) jego podzbiorów wraz z inkluzją tworzy zbiór częściowo uporządkowany (𝒫(X),).

Rodzina Sperner'a podzbiorów zbioru X to antyłańcuch w posecie (𝒫(X),).

Starano się oszacować liczność rodzin Spernera, czyli znaleźć szerokość posetu (𝒫(X),). Poniższe twierdzenie pomaga odpowiedzieć na to pytanie.

Twierdzenie 2.5 [K. Yamamoto 1954; L. D. Meshalkin 1963; D. Lubell 1966]

Niech {A1,,Am} będzie rodziną Spernera podzbiorów zbioru X. Wówczas


i=1m(|X||Ai|)11


Dowód [D. Lubell]

Niech n=|X|. W posecie (𝒫(X),) każdy maksymalny łańcuch


=C0C1Cn1Cn=X


musi spełniać |Cj|=j. Zbiór C1 może być wybrany na n sposobów, z kolei C2 na n1 sposobów. W ogólności Cj może być wybrany na nj+1 sposobów. Czyli łącznie jest n! różnych łańcuchów maksymalnych.

Z drugiej strony policzymy ile jest łańcuchów, w których występuje konkretny zbiór Ai z rodziny Spernera, tzn.


=C0C1C|Ai|=AiCn1Cn=X


Ponieważ singleton C1 musi zawierać się w Ai, może być wybrany na |Ai| sposobów. Tak więc C2 może być wybrane już jedynie na |Ai|1 sposobów i tak dalej. A zatem różnych łańcuchów postaci


=C0C1C|Ai|=Ai


jest |Ai|!. W analogiczny sposób otrzymujemy, że różnych łańcuchów postaci


Ai=C|Ai|C|Ai|+1Cn=X


jest (n|Ai|)!. Podsumowując, liczba maksymalnych łańcuchów, w których występuje Ai wynosi |Ai|!(n|Ai|)!.

Ponieważ {A1,,Am} jest antyłańcuchem, to dla ij w łańcuchu nie mogą wystąpić równocześnie Ai i Aj. Zliczając teraz maksymalne łańcuchy przechodzące przez któreś Ai, możemy pominąć jakiś łańcuch maksymalny. Nie mniej jednak mamy


i=1m|Ai|!(n|Ai|)!n!


To w konsekwencji daje


i=1m1(n|Ai|)=i=1m|Ai|!(n|Ai|)!n!1


Przykład

Oczywiście, dla ustalonego k rodzina k-elementowych podzbiorów jest rodziną Spernera. Ponieważ wartość (nk) jest maksymalna dla k=/nn/2, to n-elementowy podzbiór ma rodzinę Spernera o mocy (n/nn/2). Następne twierdzenie pokazuje, że jest to najliczniejsza rodzina Spernera.

Twierdzenie 2.6 [E. Sperner 1928]

Jeśli 𝒜 jest rodziną Spernera podzbiorów zbioru X, to


|𝒜|(|X||X|/2)


Dowód

Niech n=|X| oraz 𝒜={A1,,Am}. Wartość (nk) jest maksymalna dla k=n/2. Tak więc (n|Ai|)(nn/2). Na mocy Twierdzenia 2.5 otrzymujemy:


m1(nn/2)i=1m1(n|Ai|)1,


skąd natychmiast


m(nn/2)


Uwaga

W posecie (𝒫(X),) dowolne dwa jego elementy A,B𝒫(X) spełniają:

  • AB jest największym wspólnym ograniczeniem dolnym dla A i B,
  • AB jest największym wspólnym ograniczeniem górnym dla A i B.

W takim razie dowolne dwa elementy posetu (𝒫(X),) mają najmniejsze ograniczenie górne oraz największe ograniczenie dolne. Posety o tej własności nazywane są kratami.

Krata to częściowy porządek 𝐏=(P,), w którym dla dowolnych a,bP istnieją

  • kres dolny, czyli największe ograniczenie dolne wspólne dla a i b.

Kres dolny oznaczać bedziemy przez ab.

  • kres górny, czyli najmniejsze ograniczenie górne wspólne dla a i b.

Kres dolny oznaczać bedziemy przez ab.

Przykład

Rozważmy zbiór liczb naturalnych oraz relacje zdefiniowaną w następujący sposób


abwtedy i tylko wtedy, gdya dzieli bdla a,b


Relacja jest zwrotna, antysymetryczna, i przechodnia. Tak więc para (,) tworzy częściowy porządek. Jako ćwiczenie 6 pozostawiamy do udowodnienia, że (,) jest kratą, oraz że kres dolny dwu liczb naturalnych to ich największy wspólny dzielnik, a kres ich kres górny to najmniejsza wspólna wielokrotność.