Matematyka dyskretna – zadania na ćwiczenia 6

Transkrypt

Matematyka dyskretna – zadania na ćwiczenia 6
Matematyka dyskretna – zadania na ćwiczenia 6
Licencjat dzienny. Prowadzący: Maciej M. Sysło
1. Przekonaj się, że z dokładnością do izomorfizmu, istnieje 11 grafów z czterema wierzchołkami.
2. Niech Qk oznacza graf k-wymiarowej kostki, tzn. zbiór wierzchołków tego grafu tworzą wszystkie
k-elementowe ciągi zer i jedynek i dwa wierzchołki są sąsiednie wtedy i tylko wtedy, gdy odpowiadające im ciągi różnią się dokładnie jedną współrzędną. Oblicz, ile wierzchołków i krawędzi ma graf Qk.
Wykaż, że jest to graf dwudzielny.
3. Problem izomorfizmu dwóch grafów jest trudny. Załóżmy natomiast, że w komputerze są dane dwa
grafy G i H, określone na tym samym zbiorze wierzchołków V(G) = V(H) = {1, 2, 3, ..., n}. Podaj
algorytm sprawdzający w czasie O(m + n), czy te grafy są identyczne. Jaki jest związek tego problemu
z problemem izomorfizmu? Podaj algorytm sprawdzający, czy dwa grafy są izomorficzne, korzystający z algorytmu podanego w tym zadaniu. Jaka jest jego złożoność?
4. Udowodnij, że graf G jest spójny wtedy i tylko wtedy, gdy przynajmniej dwa grafy z rodziny {Gv:
v V} są spójne, gdzie Gv jest grafem powstałym z G przez usunięcie wierzchołka v i incydentnych z
nim krawędzi.
5. Udowodnij, że w grafie spójnym każde dwie najdłuższe co do długości drogi mają wspólny wierzchołek.
6. Wykaż, że przynajmniej jeden z grafów G i G ( G jest dopełnieniem grafu G) jest spójny.
7. Rozważ reprezentacje grafu G:
macierzową,
tablicową (w obu wersjach podanych na wykładzie),
listową.
Dla każdej z tych reprezentacji, określ złożoność wykonania na grafie G następujących operacji:
przeglądnij wszystkie wierzchołki sąsiednie z ustalonego wierzchołka,
przeglądnij wszystkie krawędzie grafu,
sprawdź, czy krawędź {i, j} należy do grafu G,
usuń z grafu G krawędź {i, j},
wstaw do grafu G krawędź {i, j}.
Przeprowadź podobne rozważania dla digrafów.
8. Niech d = (d1, d2, ..., dn) będzie ciągiem stopni wierzchołków grafu. Podaj algorytm porządkowania
ciągu d działający w czasie O(n).
9. Digraf D jest dany w postaci macierzy sąsiedztwa. Wykaż, że sprawdzenie, czy D zawiera źródło,
czyli wierzchołek, z którego wychodzą łuki do wszystkich pozostałych wierzchołków, ale nie wchodzi
do niego żaden łuk, może być wykonane w czasie liniowym względem liczby wierzchołków w D.
Zapisz swój algorytm w języku programowania i określ dokładnie jego złożoność obliczeniową, jako
funkcję zmiennej liczby wierzchołków w digrafie. (Patrz zadanie znajdowania idola w [2]).
10. Topologiczne porządkowanie wierzchołków acyklicznego digrafu. Niech D będzie digrafem
acyklicznym, tzn. D nie zawiera cykli skierowanych. Podaj algorytm, który w czasie O(m+n) porządkuje wierzchołki digrafu w taki sposób, że po uporządkowaniu, jeśli (i, j) jest łukiem w D, to i<j.
Jaki jest związek grafów acyklicznych i topologicznego porządkowania ich wierzchołków z posetami?
Zalecana literatura do wykładu i ćwiczeń:
1. K.A. Ross, C.R.B. Wright, Matematyka dyskretna, Wydawnictwo Naukowe PWN, Warszawa 1996.
2. M.M. Sysło, Algorytmy, WSiP, Warszawa 1998.
3. M.M. Sysło, N. Deo, J.S. Kowalik, Algorytmy optymalizacji dyskretnej z programami w języku Pascal, Wydawnictwo Naukowe PWN, Warszawa 1999 (wyd. 3).
4. R.J. Wilson, Wprowadzenie do teorii grafów, Wydawnictwo Naukowe PWN, Warszawa 1999.