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.