• Nie Znaleziono Wyników

Pytanie: Ile jest drzew na zbiorze wierzchołków V ? Def

N/A
N/A
Protected

Academic year: 2021

Share "Pytanie: Ile jest drzew na zbiorze wierzchołków V ? Def"

Copied!
2
0
0

Pełen tekst

(1)

WYBRANE ZAGADNIENIA TEORII GRAFÓW wykład 6

Zliczanie drzew Problem:

Dane: V = {v1, . . . vn} zbiór skończony.

Pytanie: Ile jest drzew na zbiorze wierzchołków V ?

Def. Drzewem na zbiorze V nazywamy dowolne drzewo T = (V, E), gdzie E ⊆P2(V ).

Przykład. Niech |V | = n = 3. Łatwo sprawdzić, że są 3 drzewa na zbiorze V , każde izomorficzne z P3. Tw. Cayleya Dla każdego n ­ 2 liczba drzew na zbiorze wierzchołkow V = [n] wynosi nn−2,

Wpierw udowodnimy twierdzenie pomocnicze:

Tw. Niech n ­ 2 i d1, . . . , dn będą dodatnimi liczbami całkowitymi takimi, że Pni=1di = 2(n − 1).

Wówczas liczba drzew na zbiorze wierzchołków V = [n], o stopniach deg(i) = di dla i = 1, . . . , n wynosi:

(n − 2)!

(d1− 1)! · (d2− 1)! · . . . · (dn− 1)! = n − 2

d1− 1, d2− 1, . . . , dn− 1

!

.

Dowód: Oznaczmy tą liczbe drzew występującą w tezie twierdzenia przez t(d1, . . . , dn). Indukcja po n:

1. dla n = 2 d1 = d2 = 1 Jest 1 takie drzewo. 0,00= 1. Czyli zgadza się.

2. Załóżmy, że prawda dla liczb wierzchołków mniejszych od n. NiechPni=1di = 2n − 2. Wtexdy jedna (co najmniej) z tych liczb jest równa 1. Przyjmijmy, bez straty ogólności, że dn= 1 oraz wierzchołek n połaczony jest tylko z wierzhołkiem k. Usuńmy wierzchołek n (i krawędź nk). Otrzymane drzewo ma n − 1 wierzchołków oraz definiując:

d0j = dj dla j 6= k i j = 1, . . . , n − 1 oraz d0k = dk− 1 mamy

n−1

X

i=1

d0i = 2(n − 1) − 2.

Ponieważ k = 1, . . . , n − 1, to t(d1, . . . , dn) =

n−1

X

k=1

t(d01, . . . , d0n−1) = (z zał. ind.) =

n−1

X

k=1

(n − 1) − 2

d1− 1, . . . , dk−1− 1, dk− 2, dk+1− 1, . . . dn−1− 1

!

= n − 2

d1− 1, . . . , dn− 1

!

(ostatnia równość wynika z faktu, że d n

1,...dr

 = Pri=1d n−1

1,...,di−1,di−1,di+1,...dr

, gdzie i ∈ {1, . . . r} numer typu pierwszego obiektu w n-elementowej permutacji z powtórzeniami).

Dowód Tw. Cayleya

(a1+ . . . + an)n−2= X

d1,...,dn­1, (d1−1)+...(dn−1)=n−2

n − 2 d1− 1, . . . , dn− 1

!

· ad11−1· . . . · adnn−1.

Dla a1 = . . . = an= 1 otrzymujemy:

nn−2= (1 + . . . + 1)n−2 = X

d1,...,dn­1, (d1−1)+...(dn−1)=n−2

n − 2 d1− 1, . . . , dn− 1

!

.

Praca domowa:

1. Wykaż, że grafów na zbiorze wierzchołków V = [n] jest 2(n2) (1 pkt).

2. Wykaż, że grafów na zbiorze wierzchołków V = [n] i dokładnie m krawędziach jest(n2)

m

 (1 pkt).

(2)

Kod Pr¨ufera

Służy do zakodowania drzew na zbiorze wierzchołków [n] jako ciągów długości n − 2 o elementach ze bioru [n].

Algorytm kodowania:

Dane: drzewo T o zbiorze wierzchołków [n].

1. Znajdź najmniejszy wierzchołek o stopniu 1, powiedzmy u. Niech w będzie jedynym wierzchołkiem połączonym z u

2. Zapisz w oraz usuń u (wraz z krawędzią uw).

3. Jeżeli w drzewie pozostało więcej niż jedna krawędź, to IDŻ do 1. W przeciwnym przypadku STOP.

Uwaga: Każdy wierzchołek v występuje w kodzie Pr¨ufera deg(v) − 1 razy.

Przykład:

V = {1, 2, 3, 4, 5, 6}, E = {12, 26, 23, 34, 35}.

1. Usuwamy 1, zapisujemy 2.

2. Usuwamy 4, zapisujemy 3.

3. Usuwamy 5, zapisujemy 3.

4. Usuwamy 3, zapisujemy 2.

Otrzymujemy ciąg (2, 3, 3, 2).

Tw. Każdy ciąg n − 2 liczb wybranych w dowolny sposób ze zbioru [n] jest kodem Pr¨ufera jednego drzewa na zbiorze wierzchołków [n].

Algorytm rekonstrukcji drzewa o danym kodzie Pr¨ufera:

Dane: ciąg (a1, . . . , an−2) o elementach ze zbioru [n].

1. Zapisz listy:

L := (a1, . . . , an−2), N := (1, 2, . . . , n).

Niech V := [n], E := ∅.

2. Wyznacz z listy N najmniejszą liczbę (powiedzmy i), której nie ma na liście L. Usuń pierwszy element z listy L (powiedzmy j). Usuń i z listy N . E = E ∪ {ij}.

3. Czy L 6= ∅ ?

Jeśli TAK, to idź do 1.

Jeśli NIE, to jeśli N = (k, l), to E = E ∪ {kl} i STOP.

Przykład:

Znajdź drzewo o kodzie Pr¨ufera (2, 3, 3, 2).

1. L = (2, 3, 3, 2), N = (1, 2, 3, 4, 5, 6). Dodajemy krawędź 12. Usuwamy 2 z L i 1 z N . 2. L = (3, 3, 2), N = (2, 3, 4, 5, 6). Dodajemy krawędź 34.

3. L = (3, 2), N = (2, 3, 5, 6). Dodajemy krawędź 35.

4. L = (2), N = (2, 3, 6). Dodajemy krawędż 23.

5. L = ∅, N = (2, 6). Doddajemy krawędź 26.

Otrzymaliśmy drzewo z poprzedniego przykładu.

Cytaty

Powiązane dokumenty

przykładem jest relacja koloru zdefiniowana na zbiorze wszystkich samochodów, gdzie dwa samochody są w tej relacji, jeśli są tego samego koloru.. Jeszcze inny przykład to

nierozsądnie jest ustawić się dziobem żaglówki w stronę wiatru – wtedy na pewno nie popłyniemy we właściwą stronę – ale jak pokazuje teoria (i praktyka), rozwiązaniem

Spoglądając z różnych stron na przykład na boisko piłkarskie, możemy stwierdzić, że raz wydaje nam się bliżej nieokreślonym czworokątem, raz trapezem, a z lotu ptaka

Następujące przestrzenie metryczne z metryką prostej euklidesowej są spójne dla dowolnych a, b ∈ R: odcinek otwarty (a, b), odcinek domknięty [a, b], domknięty jednostronnie [a,

nierozsądnie jest ustawić się dziobem żaglówki w stronę wiatru – wtedy na pewno nie popłyniemy we właściwą stronę – ale jak pokazuje teoria (i praktyka), rozwiązaniem

W przestrzeni dyskretnej w szczególności każdy jednopunktowy podzbiór jest otwarty – dla każdego punktu możemy więc znaleźć taką kulę, że nie ma w niej punktów innych niż

Zbiór liczb niewymiernych (ze zwykłą metryką %(x, y) = |x − y|) i zbiór wszystkich.. Formalnie:

też inne parametry algorytmu, często zamiast liczby wykonywanych operacji rozważa się rozmiar pamięci, której używa dany algorytm. Wówczas mówimy o złożoności pamięciowej;