TEORIA GRAFÓW I SIECI - ROZDZIAŁIV. Drzewa. Drzewa

Podobne dokumenty
Ścieżki w grafach. Grafy acykliczne i spójne

Graf. Definicja marca / 1

Matematyka dyskretna

WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA

Matematyczne Podstawy Informatyki

SPÓJNOŚĆ. ,...v k. }, E={v 1. v k. i v k. ,...,v k-1. }. Wierzchołki v 1. v 2. to końce ścieżki.

WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA

Indukcja. Materiały pomocnicze do wykładu. wykładowca: dr Magdalena Kacprzak

Algebrą nazywamy strukturę A = (A, {F i : i I }), gdzie A jest zbiorem zwanym uniwersum algebry, zaś F i : A F i

Drzewa. Jeżeli graf G jest lasem, który ma n wierzchołków i k składowych, to G ma n k krawędzi. Własności drzew

Algorytmiczna teoria grafów

(4) x (y z) = (x y) (x z), x (y z) = (x y) (x z), (3) x (x y) = x, x (x y) = x, (2) x 0 = x, x 1 = x

Sortowanie topologiczne skierowanych grafów acyklicznych

Podstawowe własności grafów. Wykład 3. Własności grafów

MATEMATYKA DYSKRETNA - MATERIAŁY DO WYKŁADU GRAFY

System BCD z κ. Adam Slaski na podstawie wykładów, notatek i uwag Pawła Urzyczyna. Semestr letni 2009/10

Matematyka dyskretna. Andrzej Łachwa, UJ, /15

Matematyka dyskretna. Andrzej Łachwa, UJ, /14

Przeszukiwanie grafów

domykanie relacji, relacja równoważności, rozkłady zbiorów

Matematyczne Podstawy Informatyki

LX Olimpiada Matematyczna

Grafy (3): drzewa. Wykłady z matematyki dyskretnej dla informatyków i teleinformatyków. UTP Bydgoszcz

Korzystając z własności metryki łatwo wykazać, że dla dowolnych x, y, z X zachodzi

Zad. 1 Zad. 2 Zad. 3 Zad. 4 Zad. 5 SUMA

ZALICZENIE WYKŁADU: 30.I.2019

Rozdział 6. Ciągłość. 6.1 Granica funkcji

Kolorowanie wierzchołków Kolorowanie krawędzi Kolorowanie regionów i map. Wykład 8. Kolorowanie

Indukcja matematyczna, zasada minimum i maksimum. 17 lutego 2017

ALGEBRA Z GEOMETRIĄ BAZY PRZESTRZENI WEKTOROWYCH

Struktury danych i złożoność obliczeniowa Wykład 7. Prof. dr hab. inż. Jan Magott

Digraf. 13 maja 2017

TEORETYCZNE PODSTAWY INFORMATYKI

2 Rodziny zbiorów. 2.1 Algebry i σ - algebry zbiorów. M. Beśka, Wstęp do teorii miary, rozdz. 2 11

Minimalne drzewa rozpinające

Wyk lad 7 Baza i wymiar przestrzeni liniowej

1 Działania na zbiorach

Drzewa spinające MST dla grafów ważonych Maksymalne drzewo spinające Drzewo Steinera. Wykład 6. Drzewa cz. II

E: Rekonstrukcja ewolucji. Algorytmy filogenetyczne

KURS MATEMATYKA DYSKRETNA

Zadanie 2. Obliczyć rangę dowolnego elementu zbioru uporządkowanego N 0 N 0, gdy porządek jest zdefiniowany następująco: (a, b) (c, d) (a c b d)

A i. i=1. i=1. i=1. i=1. W dalszej części skryptu będziemy mieli najczęściej do czynienia z miarami określonymi na rodzinach, które są σ - algebrami.

Wykład 4. Określimy teraz pewną ważną klasę pierścieni.

Matematyka dyskretna. Andrzej Łachwa, UJ, B/14

Czy istnieje zamknięta droga spaceru przechodząca przez wszystkie mosty w Królewcu dokładnie jeden raz?

Matematyka dyskretna. Andrzej Łachwa, UJ, /14

6. Wstępne pojęcia teorii grafów

Logika Stosowana. Wykład 1 - Logika zdaniowa. Marcin Szczuka. Instytut Informatyki UW. Wykład monograficzny, semestr letni 2016/2017

Teoria grafów podstawy. Materiały pomocnicze do wykładu. wykładowca: dr Magdalena Kacprzak

B jest liniowo niezależny V = lin (B) 1. Układ pusty jest bazą przestrzeni trywialnej {θ}. a i v i = i I. b i v i, (a i b i ) v i = θ.

Ilustracja S1 S2. S3 ściana zewnętrzna

Algebry skończonego typu i formy kwadratowe

Sieć (graf skierowany)

LI Olimpiada Matematyczna Rozwiązania zadań konkursowych zawodów stopnia trzeciego 3 kwietnia 2000 r. (pierwszy dzień zawodów)

Uzupełnienia dotyczące zbiorów uporządkowanych (3 lutego 2011).

Matematyka dyskretna. Andrzej Łachwa, UJ, /10

Rozwiązania, seria 5.

Problemy Decyzyjne dla Systemów Nieskończonych

Rozdział 4. Ciągi nieskończone. 4.1 Ciągi nieskończone

Wyk lad 2 Podgrupa grupy

Algorytmiczna teoria grafów

Uwaga 1.2. Niech (G, ) będzie grupą, H 1, H 2 < G. Następujące warunki są równoważne:

Przykład: Σ = {0, 1} Σ - zbiór wszystkich skończonych ciagów binarnych. L 1 = {0, 00, 000,...,1, 11, 111,... } L 2 = {01, 1010, 001, 11}

0 + 0 = 0, = 1, = 1, = 0.

Przestrzenie wektorowe

Matematyka dyskretna. Andrzej Łachwa, UJ, /15

Twierdzenie Halla o małżeństwach

Reprezentacje grafów nieskierowanych Reprezentacje grafów skierowanych. Wykład 2. Reprezentacja komputerowa grafów

KURS MATEMATYKA DYSKRETNA

Lista 4. Kamil Matuszewski 22 marca 2016

F t+ := s>t. F s = F t.

Matematyka dyskretna. Andrzej Łachwa, UJ, /15

Znajdowanie skojarzeń na maszynie równoległej

Konstrukcja liczb rzeczywistych przy pomocy ciągów Cauchy ego liczb wymiernych

Kompresja bezstratna. Entropia. Kod Huffmana

Kodowanie i kompresja Tomasz Jurdziński Studia Wieczorowe Wykład Kody liniowe - kodowanie w oparciu o macierz parzystości

Indukcja matematyczna. Zasada minimum. Zastosowania.

Grafy i grafy skierowane. Izomorfizmy grafów

7 Twierdzenie Fubiniego

Wykład 1. Na początku zajmować się będziemy zbiorem liczb całkowitych

Zbiory, relacje i funkcje

Wykład 8. Informatyka Stosowana. 26 listopada 2018 Magdalena Alama-Bućko. Informatyka Stosowana Wykład , M.A-B 1 / 31

Indukcja matematyczna

Schemat rekursji. 1 Schemat rekursji dla funkcji jednej zmiennej

Układy równań i nierówności liniowych

Nierówność Krafta-McMillana, Kodowanie Huffmana

Metody teorii gier. ALP520 - Wykład z Algorytmów Probabilistycznych p.2

Wyk lad 12. (ii) najstarszy wspó lczynnik wielomianu f jest elementem odwracalnym w P. Dowód. Niech st(f) = n i niech a bedzie

Wykład 8. Drzewo rozpinające (minimum spanning tree)

Kody blokowe Wykład 5a;

Wykład 3. Miara zewnętrzna. Definicja 3.1 (miary zewnętrznej) Funkcję µ przyporządkowującą każdemu podzbiorowi

Skończone rozszerzenia ciał

WYKŁAD 1. Witold Bednorz, Paweł Wolff. Rachunek Prawdopodobieństwa, WNE, Instytut Matematyki Uniwersytet Warszawski

Granica funkcji. 27 grudnia Granica funkcji

Matematyka dyskretna. Andrzej Łachwa, UJ, A/14

Granica funkcji. 8 listopada Wykład 4

Matematyczne Podstawy Informatyki

Matematyka dyskretna - 7.Drzewa

Wyk lad 14 Cia la i ich w lasności

Transkrypt:

TEORIA GRAFÓW I SIECI - ROZDZIAŁIV Drzewa Drzewem lub drzewem wolnym nazywamy dowolny graf spójny i acykliczny. Drzewa Ćwiczenie 1. Narysować wszystkie, z dokłado sci a do izomorfizmu, drzewa o 1, 2, 3, 4 i 5 wierzchołkach. Ćwiczenie 2. Narysować wszystkie, z dokłado sci a do izomorfizmu, drzewa o 6 i 7 wierzchołkach. Drzewem spinajacym (lub rozpinajacym) grafu G nazywamy dowolny podgraf będacy drzewem i zawierajacy wszystkie wierzchołki grafu. G Drzewa spinajace grafu G Twierdzenie 1. Każdy graf spójny ma drzewo spinajace. Dowód. Niech T będzie podgrafem spójnym zawierajacym wszystkie wierzchołki i majacym minimalna liczbę krawędzi. Pokażemy, że T jest acykliczny. Przypuśćmy nie wprost, że T zawiera cykl oraz wybierzmy dowolna krawędzi a k tego cyklu. Z twierdzenia?? wynika, że graf T \ {k} jest spójny. Graf ten ma te same wierzchołki co T i mniej krawędzi. Przeczy to minimalności T. Otrzymana sprzeczność dowodzi, że graf T jest acykliczny, czyli jest drzewem spinajacym. Przedstawiony dowód istnienia drzewa spinajacego grafu spójnego jest nieefektywny, tzn. nie podaje metody szukania tego drzewa. W dalszej części wykładu będziemy omawiać algorytmy znajdowania drzewa spinajacego. Twierdzenie 2. Dla dowolnego grafu G następujace warunki sa równoważne. (1) Graf G jest drzewem. 1

TEORIA GRAFÓW I SIECI - ROZDZIAŁIV 2 (2) Dowolne dwa wierzchołki w G można poł aczyć dokładnie jedna scieżk a prosta. (3) Graf G jest spójny i każda jego krawęd z jest mostem. (4) Graf G jest acykliczny, ale przestaje być acykliczny po dodaniu jakiejkolwiek krawędzi. (5) Graf G jest spójny oraz E G = V G 1. (6) Graf G jest acykliczny oraz E G = V G 1. Dowód. (1) (2) Teza wynika z twierdzeń?? i??. (2) (3) Spójność G jest oczywista. Pokażemy, że dowolna krawędź k jest mostem. Zauważmy najpierw, że k nie jest pętla. Rzeczywiście, gdyby krawędź k była pętla o końcu a, to wierzchołek a można by poł aczyć z samym soba dwoma ścieżkami prostymi: ścieżka trywialna a i ścieżka aka. Tak więc krawędź k ł aczy różne wierzchołki a, b. Ponieważ akb jest jedyna ścieżka prosta ł aczac a a z b, więc w G \ {k} nie ma ścieżki prostej ł aczacej te wierzchołki. Nie ma więc żadnej ścieżki je ł aczacej (twierdzenie??). Oznacza to, że graf G \ {k} jest niespójny, czyli k jest mostem. (3) (4) Ponieważ każda krawędź jest mostem, więc acykliczność wynika z twierdzenia??. Dodajmy do grafu G krawędź k. Jeżeli k jest pętla o końcu a, to tworzy ona cykl aka w G {k}. Możemy zatem założyć, że k ł aczy różne wierzchołki a, b. Ze spójności wynika, że istnieje w G ścieżka prosta bez powtarzajacych się wierzchołków ł aczaca a z b. Dodajac do niej krawędź k dostajemy cykl w G {k}. (4) (1) Wystarczy sprawdzić, że graf G jest spójny. Niech a, b będa różnymi wierzchołkami. Dodajmy do G krawędź k ł aczac a a i b. Z założenia graf G {k} zawiera pewien cykl d. Oczywiście k należy do tego cyklu. Usuwajac k z d dostajemy ścieżkę ł aczac a a z b w G. (1) (5) i (1) (6) Wystarczy pokazać, że (0.1) E G = V G 1. Dowód przeprowadzimy przez indukcję ze względu na liczbę wierzchołków n = V G. Dla n = 1 równość (0.1) jest oczywista, bo drzewo o jednym wierzchołku nie może mieć krawędzi. Niech n będzie dowolna liczba naturalna. Załóżmy, że równość (0.1) zachodzi dla dowolnego drzewa o n wierzchołkach (założenie indukcyjne). Pokażemy, że równość ta zachodzi dla każdego drzewa o n + 1 wierzchołkach (teza indukcyjna). Niech G = (V, E) będzie drzewem o n + 1 wierzchołkach. Z własności?? wynika, że G posiada liść a. Niech k = ab będzie jedyna krawędzi a incydentna z a. Pokażemy, że graf G 0 = G \ {a} = (V \ {a}, E \ {k}) jest drzewem. Acykliczność G 0 wynika z acykliczności G. Weźmy dowolne wierzchołki u, v G 0. Ze spójności oraz twierdzenia?? wynika, że w G istnieje ścieżka prosta d ł aczaca te wierzchołki.

TEORIA GRAFÓW I SIECI - ROZDZIAŁIV 3 Gdyby ścieżka d zawierała wierzchołek a, to musiałaby powtarzać się w niej krawędź k, co jest sprzeczne z definicj a ścieżki prostej. Wynika stad, że d nie zawiera a i w konsekwencji jest ścieżka w G 0. Oznacza to, że graf G 0 jest spójny, czyli jest drzewem o n wierzchołkach. Z założenia indukcyjnego dostajemy E G = E G0 + 1 = ( V G0 1) + 1 = V G0 = V G 1. Równość (0.1) zachodzi więc dla drzewa G i na mocy zasady indukcji, równość ta zachodzi dla dowolnego drzewa. (5) (1) Niech T będzie drzewem spinajacym grafu G. Oznacza to, że V G = V T. Z założenia oraz implikacji (1) (5) wnioskujemy, że E G = V G 1 = V T 1 = E T. E T jest skończonym podzbiorem E G o tej samej ilości elementów. Zatem E G = E T i w konsekwencji G = T, czyli G jest drzewem. (6) (1) Mamy pokazać, że graf G jest spójny. Niech n oznacza liczbę wierzchołków, t liczbę składowych oraz n 1,..., n t ilość wierzchołków w poszczególnych składowych tego grafu. Każda składowa grafu acyklicznego jest oczywiście drzewem. Korzystajac z założenia oraz implikacji (1) (5) stwierdzamy, że n 1 = E G = (n 1 1) +... + (n t 1) = (n 1 +... + n t ) t = n t. Stad t = 1, czyli graf G jest spójny. Wniosek 1. Niech G będzie grafem o n wierzchołkach. (1) Jeżeli G jest drzewem, to E G = n 1. (2) Jeżeli G jest grafem spójnym, to E G n 1. (3) Jeżeli G jest grafem acyklicznym, to E G = n t n 1, gdzie t oznacza liczbę składowych grafu G. Wniosek 2. Jeżeli a jest lísciem w drzewie T, to T \ {a} jest drzewem. Ćwiczenie 3. Udowodníc wniosek 2. Ćwiczenie 4. Czasteczka węglowodoru składa się z atomów węgla (warto sciowo sć 4) i atomów wodoru (warto sciowo sć 1). Traktuj ac atomy jako wierzchołki, można ja przedstawíc jako graf spójny. (1) Udowodníc, że każdy alkan, to jest węglowodór o wzorze C n H 2n+2 ma czasteczkę o strukturze drzewa. Narysować czasteczki metanu, etanu i propanu. (2) Pokazać, że istnieja dwa izomery (nieizomorficzne drzewa) alkanu C 4 H 10. [Izomery te to butan oraz izobutan (metylopropan)]. (3) Znale zć wszystkie teoretycznie możliwe izomery alkanu C 5 H 12 oraz węglowodoru C 4 H 8.

TEORIA GRAFÓW I SIECI - ROZDZIAŁIV 4 Ćwiczenie 5. Znale zć (narysować) wszystkie drzewa spinajace poniższych grafów Ćwiczenie 6. Niech G będzie grafem spójnym. Wyznaczyć wszystkie krawędzie, które (1) należa do wszystkich drzew spinajacych grafu G, (2) nie należa do żadnego drzewa spinajacego grafu G. Zanim zajmiemy się problemem wyznaczania drzewa spinajacego grafu, zastanowimy się ile jest takich drzew. W ogólnym przypadku problem jest trudny do rozwiazania. Ograniczymy się więc do szczególnego, ale ważnego, przypadku grafu pełnego. Odpowiedź wynika ze słynnego twierdzenia Cayleya. Twierdzenie 3 (Cayleya). Graf pełny o n wierzchołkach ma n n 2 drzew spinajacych (n N). Dowód. Dla n = 1 i n = 2 teza jest oczywista. Załóżmy, że n 3. Niech G = K n będzie grafem pełnym o n wierzchołkach. Oznaczmy przez T rodzinę wszystkich drzew spinajacych grafu G. Ustalmy (dowolnie wybrany) wierzchołek a i przyjmijmy T p = {A T ; deg A a = p}, t p = T p dla p = 1,..., n 1. Oczywiście t n 1 = 1. Szukana liczba drzew spinajacych wynosi T = t 1 + t 2 +... + t n 1. Dla ustalonej liczby p {2,..., n 1}, znajdziemy zwiazek między t p i t p 1. Niech r p oznacza liczbę wszystkich par (A, B) drzew takich, że A T p 1, B T p oraz A, B powstaja z siebie przez zastapienie pewnej krawędzi inna krawędzi a z nia współkońcow a. n = 7 p = 3 A A \ {bc} B Aby z A otrzymać B należy zastapić pewna krawędź bc inna krawędzi a kończac a się w b lub c. Ponieważ stopień a ma się zwiększyć, więc a nie może być końcem usuwanej krawędzi, natomiast musi być końcem krawędzi dodawanej (czyli dodajemy krawędź ab lub ac). Po usunięciu krawędzi bc z drzewa A dostajemy graf o dwóch składowych. Aby po dodaniu nowej krawędzi dostać drzewo musimy poł aczyć wierzchołek a z tym z wierzchołków b lub c, który należy do drugiej składowej. Oznacza to, że dodawana krawędź jest jednoznacznie

TEORIA GRAFÓW I SIECI - ROZDZIAŁIV 5 wyznaczona przez usuwana krawędź bc. Drzewo A można wybrać na t p 1 sposobów, drzewo B jest jednoznacznie wyznaczone przez usuwana krawędź bc, która można wybrać na sposobów. Ilość par (A, B) wynosi więc E A deg A a = (n 1) (p 1) = n p (0.2) r p = (n p) t p 1. Rozważmy teraz drzewo B T p. Przez b 1,..., b p oznaczmy sasiadów wierzchołka a, przez B i składow a grafu B\{ab i } zawierajac a b i oraz przez n i liczbę wierzchołków w B i. Z acykliczności B wynika, że grafy B i nie maja wspólnych wierzchołków, a ze spójności B, wynika że każdy wierzchołek, z wyjatkiem a, należy do któregoś B i. Zatem n 1 +... + n p = n 1. Aby z drzewa B dostać drzewo A należace do T p 1, musimy jedna z krawędzi ab i zastapić krawędzi a b i c taka, że c a i c / B i. B B \ {ab 3 } A Drzewo B można wybrać na t p sposobów. Drzewo A jest wyznaczone przez wybór krawędzi ab i i krawędzi b i c. Krawędź b i c można wybrać na sposobów, czyli A można uzyskać z B na V B 1 V Bi = n 1 n i p (n 1 n i ) = (n 1) p p n i = (n 1) (p 1) i=1 sposobów. Stad ilość par (A, B) wynosi (0.3) r p = (n 1) (p 1) t p. Z (0.2) i (0.3) wnioskujemy, że i=1 t p 1 = (n 1) (p 1) t p dla p {2,..., n 1}. n p

TEORIA GRAFÓW I SIECI - ROZDZIAŁIV 6 Stad dla dowolnego i {1,..., n 1} t i = i w konsekwencji = (n 1) i (n 1) (i + 1) n i 1 n i 2 (n 1) i n i 1 t i+1 = (n 1) i (n 1) (i + 1)... n i 1 n i 2 = (n 1) n i 1 i (i + 1)... (n 2) 1 2... (n i 1) = = (n 1) n i 1 (n 2)! (i 1)! (n i 1)! T = n 1 i=1 = n 2 t i = n 1 i=1 ( n 2 i i=0 t i+2 =... = (n 1) (n 2) t n 1 = 1 = (n 1)n i 1 ( ) n 2 i 1 ( ) n 2 (n 1) n i 1 = i 1 ) (n 1) n i 2 1 i = (n 1 + 1) n 2 = n n 2. Twierdzenie Cayleya jest na ogółformułowane w trochę innej (ale równoważnej) postaci. Nie mówi się tam o liczbie drzew spinajacych grafu pełnego, ale o liczbie drzew oznakowanych, czyli drzew o ustalonym zbiorze wierzchołków. Jest to dla nas trochę kłopotliwe, bo przy naszej definicji grafu, każde drzewo o ustalonych wierzchołkach możemy zastapić formalnie innym drzewem zmieniajac nazwy krawędzi. Na szczęście możemy zaradzić tej niejednoznaczności traktujac drzewo jako parę (V, E) (porównaj komentarz po własności??). Przy takiej definicji drzewa, możemy jako wniosek podać wspomniana wersję twierdzenia. Wniosek 3 (Twierdzenie Cayleya). Istnieje n n 2 drzew oznakowanych o n wierzchołkach. Zaprezentowany na wykładzie dowód twierdzenia Cayleya pochodzi z ksiażki "Wprowadzenie do teorii grafów" R. Wilsona. W literaturze można znaleźć wiele różnych dowodów tego twierdzenia. Zainteresowani moga zajrzeć do ksiażki Wilsona (drugi dowód), "Aspektów kombinatoryki" V. Bryanta albo "Dowodów z Księgi" H. Aignera i G. Zieglera (cztery kolejne dowody). Nasze rozważania dotyczace zliczania drzew zakończymy krótka prezentacja metody etykietowania (numerowania) drzew oznakowanych. Pokażemy, że drzewa oznakowane o n wierzchołkach można odpowiednio "ponumerować" przy pomocy (n 2)-wyrazowych ciagów wierzchołków, zwanych kodami Prüfera. Aby uprościć zapis, będziemy przyjmować, że wierzchołkami sa liczby 1, 2,..., n. Takie samo rozumowanie jest poprawne dla dowolnych wierzchołków a 1, a 2,..., a n. Kody Prüfera zdefiniujemy indukcyjnie (skończona indukcja). Dla zwiększenia czytelności definicję zapiszemy w postaci algorytmu Prüfer. Niech n 3 oraz T = (V, E) będzie drzewem o wierzchołkach ze zbioru V = {1, 2,..., n}. Prüfer(T ) T 1 := T for i := 1 to n 2 do % T i - podgraf drzewa T

t i := min { a V Ti ; deg Ti a = 1 } p i := sasiad wierzchołka t i w T i T i+1 := T i \ {t i } p (T ) := (p 1, p 2,..., p n 2 ) TEORIA GRAFÓW I SIECI - ROZDZIAŁIV 7 % t i - najmniejszy liść w T i % Usuwamy z T i liść t i wraz z krawędzi a t i p i Ciag p (T ) = (p 1, p 2,..., p n 2 ) nazywamy kodem Prüfera drzewa T. p (T ) = (p 1, p 2, p 3, p 4 ) = 4344 Własność 1. Definicja kodu Prüfera jest poprawna (wszystkie operacje w algorytmie Prüfer sa wykonalne). Dowód. Z założenia T 1 = T jest nietrywialnym drzewem. Weźmy dowolne i n 2 i załóżmy, że graf T i jest nietrywialnym drzewem. Musimy pokazać, że definicje t i, p i sa poprawne oraz że graf T i+1 jest nietrywialnym drzewem. Ponieważ T i jest nietrywialnym drzewem, więc posiada przynajmniej dwa liście. Zatem zbiór { a VTi ; deg Ti a = 1 } jest niepusty i można z niego wybrać element najmniejszy t i. Ponieważ t i jest liściem, więc ma dokładnie jednego sasiada. Definicja p i jest więc również poprawna. Z wniosku 2 wynika z kolei, że T i+1 jest drzewem. Ponieważ drzewo T i+1 ma o jeden wierzchołek mniej niż drzewo T i, więc dla każdego i n 1 zachodzi V Ti = V T1 (i 1) = n i + 1 2, czyli wszystkie drzewa T i sa nietrywialne. Natychmiast z definicji wynika, że przy oznaczeniach z algorytmu Prüfera mamy Własność 2. E = {t 1 p 1,..., t n 2 p n 2 } {ab}, gdzie a, b sa jedynymi wierzchołkami drzewa T n 1. Liczbę wystapień wierzchołka a w kodzie Prüfera będziemy oznaczać symbolem δ (a). Dla drzewa z ostatniego przykładu mamy δ (1) = 0, δ (2) = 0, δ (3) = 1, δ (4) = 3, δ (5) = 0, δ (6) = 0. Własność 3. Liczba wystapień dowolnego wierzchołka a w kodzie Prüfera wynosi deg a 1. Dowód. Pokażemy najpierw, że dla dowolnego wierzchołka zachodzi nierówność (0.4) δ (a) deg a 1.

Z definicji kodu Prüfera wynika, że TEORIA GRAFÓW I SIECI - ROZDZIAŁIV 8 deg Ti+1 p i = deg Ti p i 1. Gdyby wierzchołek a wystapiłw kodzie Prüfera deg a razy, to miałby stopień 0 w którymś z grafów T i, co jest sprzeczne ze spójnościa tego grafu. Dowodzi to nierówności (0.4). Pokażemy teraz, że dla wszystkich wierzchołków zachodzi δ (a) deg a 1. Przypuśćmy nie wprost, że istnieje wierzchołek b taki, że δ (b) < deg b 1. Stad oraz z nierówności (0.4) zastosowanej do wierzchołków a b dostajemy n 2 = a V δ (a) = δ (b) + a b δ (a) < a V (deg a 1) = a V deg a a V 1 = = 2 E n = 2 (n 1) n = n 2. Otrzymana sprzeczność kończy dowód. Własność 4. Różnym drzewom oznakowanym odpowiadaj a różne kody Prüfera. Dowód. Niech T, S będa drzewami oznakowanymi o wierzchołkach 1,..., n takimi, że p (T ) = p (S) = (p 1,..., p n 2 ). Pokażemy, że T = S. Oznaczmy przez t i oraz s i ciagi liści definiowanych w algorytmie Prüfer dla drzew T oraz S. Udowodnimy, że (0.5) t i = s i dla i = 1,..., n 2. Przypuśćmy nie wprost, że tak nie jest. Niech j będzie najmniejszym indeksem, dla którego t j s j. Możemy przyjać, że t j < s j (jeśli t j > s j, to dowód jest podobny). Mamy więc t 1 = s 1,..., t j 1 = s j 1 oraz t j < s j. Z własności 3 oraz równości kodów Prüfera wynika, że deg T t j = δ (t j ) + 1 = deg S t j Ponieważ T j oraz S j powstaja przez usunięcie z T oraz S tych samych wierzchołków t 1,..., t j 1 oraz tych samych krawędzi t 1 p 1,..., t j 1 p j 1, więc (0.6) deg Tj t j = deg Sj t j. Wierzchołek t j jest najmniejszym liściem w T j, zaś wierzchołek s j jest najmniejszym liściem w S j. Z nierówności t j < s j wynika więc, że t j nie jest liściem w S j, co przeczy równości (0.6). Otrzymana sprzeczność dowodzi równości (0.5). Z (0.5) wynika, że V Tn 1 = V \ {t 1,..., t n 2 } = V \ {s 1,..., s n 2 } = V Sn 1.

TEORIA GRAFÓW I SIECI - ROZDZIAŁIV 9 Zatem T n 1 i S n 1 składaj a się z tych samych wierzchołków a, b. Z własności 2 dostajemy ostatecznie, że E T = {t 1 p 1,..., t n 2 p n 2 } {ab} = {s 1 p 1,..., s n 2 p n 2 } {ab} = E S, czyli T = S. Pokazaliśmy, że funkcja p : T p (T ) przyporzadkowuj ac a drzewu oznakowanemu T jego kod Prüfera p (T ) jest różnowartościowa. Wartości funkcji należa do zbioru Vn n 2 wszystkich (n 2)-wyrazowych ciagów wierzchołków (czyli wszystkich (n 2)-wyrazowych wariacji z powtórzeniami zbioru n-elementowego). Ponieważ ilość drzew oznakowanych i liczba elementów zbioru Vn n 2 jest taka sama (i wynosi n n 2 ), więc funkcja p jest bijekcja. Mamy zatem Twierdzenie 4. Funkcja p zdefiniowana w algorytmie Prüfer jest bijekcja zbioru wszystkich drzew oznakowanych o n 3 wierzchołkach na Vn n 2. Uwaga 1. Zaprezentowany wyżej algorytm szukania kodu Prüfera jest napisany z użyciem zmiennych, które moga być pominięte. Tablice [t i ] oraz [T i ] moga być zastapione pojedynczymi zmiennymi. Tablice zostały użyte w celu zwiększenia czytelno sci dowodów. Prostsza wersja algorytmu mogłaby wygladać następujaco: Prüfer(T ) S := T for i := 1 to n 2 do t := min {a V S ; deg S a = 1} p i := sasiad wierzchołka t w S S = S \ {t} p (T ) := (p 1, p 2,..., p n 2 ) Ćwiczenie 7. Znale zć kody Prüfera następujacych drzew oznakowanych Pokażemy jeszcze jak dla ustalonego ciagu (p 1,..., p n 2 ) Vn n 2 znaleźć drzewo oznakowane T o wierzchołkach 1,..., n takie, że p (T ) = (p 1,..., p n 2 ). W tym celu zdefiniujemy algorytm, który dla ciagu (p 1,..., p n 2 ) wyznacza krawędzie drzewa T. Inaczej mówiac pokażemy jak z kodu Prüfera odtworzyć odpowiadajace mu drzewo. Niech (p 1,..., p n 2 ) będzie dowolnym ciagiem liczb ze zbioru V = {1,..., n}, n 3. Dekodowanie (p 1,..., p n 2 ) A 1 := V % A i - zbiór niewykorzystanych wierzchołków

TEORIA GRAFÓW I SIECI - ROZDZIAŁIV 10 for i := 1 to n 2 do t i := min (A i \ {p i,..., p n 2 }) % Definiujemy krawędź t i p i A i+1 := A i \ {t i } E := {t i p i ; i = 1,..., n 2} {ab}, gdzie A n 1 = {a, b}, a < b Własność 5. Wszystkie operacje w algorytmie Dekodowanie sa wykonalne, graf T = (V, E) jest drzewem oraz p (T ) = (p 1,..., p n 2 ). Dowód powyższej własności pominiemy. Pokażemy jedynie działanie algorytmu Dekodowanie dla ciagu otrzymanego w poprzednim przykładzie. Rozważmy ciag (4, 3, 4, 4) V6 4. Znajdziemy drzewo oznakowane o wierzchołkach 1, 2,..., 6 takie, że p (T ) = (4, 3, 4, 4). Mamy p 1 = 4, p 2 = 3, p 3 = 4, p 4 = 4, A 1 = {1, 2, 3, 4, 5, 6}, t 1 = min ({1, 2, 3, 4, 5, 6} \ {4, 3, 4, 4}) = 1, A 2 = {2, 3, 4, 5, 6}, p 1 t 1 = 41, t 2 = min ({2, 3, 4, 5, 6} \ {3, 4, 4}) = 2, A 3 = {3, 4, 5, 6}, p 2 t 2 = 32, t 3 = min ({3, 4, 5, 6} \ {4, 4}) = 3, A 4 = {4, 5, 6}, p 3 t 3 = 43, t 4 = min ({4, 5, 6} \ {4}) = 5, A 5 = {4, 6}, p 4 t 4 = 45, a = 4, b = 6, ab = 46, E = {41, 32, 43, 45, 46} Z poprzedniego przykładu wynika, że p (T ) = (4, 3, 4, 4). Ćwiczenie 8. Narysowć drzewa oznakowane o wierzchołkach 1, 2, 3, 4, 5, 6, których kody Prüfera sa równe (1) 2222 (2) 5432 (3) 5252 (4) 2255 (5) 1335 Ćwiczenie 9. Narysować wszystkie drzewa oznakowane na zbiorze {1, 2, 3, 4} i wyznaczyć ich kody Prüfera. (Porównaj ćwiczenie 5).

TEORIA GRAFÓW I SIECI - ROZDZIAŁIV 11 Ćwiczenie 10. Znale zć liczbę drzew spinajacych następujacych grafów. Ćwiczenie 11. Obliczyć liczbę drzew spinjacych grafu pełnego K n (1) posiadajacych wierzchołek stopnia n 1, (2) posiadajacych wierzchołek stopnia n 2, (3) których wszystkie wierzchołki maja stopień 1 lub 2. Ćwiczenie 12. Niech t (n) oznacza liczbę drzew oznakowanych na zbiorze {1,..., n}, za s t t 1 (n) liczbę takich drzew spełniaj acych warunek deg 1 = 1. Obliczyć t 1 (n) oraz lim 1 (n) n t(n).