Zadanie 1. Pytania testowe dotyczące podstawowych własności grafów. Zadanie 2. Przy każdym z zadań może się pojawić polecenie krótkiej charakterystyki algorytmu. Zadanie 3. W zadanym grafie sprawdzenie istnienia, znalezienie cyklu, otwartej drogi Eulera/Hamiltona. Zadanie 4. Rozpoznanie grafów prostych, multigrafów, grafów pełnych, cykli w grafie, grafów spójnych, drzew. Zadanie 5. Własności drzew. Zadanie 6. Za pomocą odpowiedniej bijekcji uzasadnij, że podane grafy są izomorficzne. Zadanie 7. W których z podanych sieci przepływowych (G, s, t, c) o przepustowości c przepływ f został określony poprawnie (wartości funcji c i f są podane przy krawędziach w sposób prezentowany na wykładzie tzn. przepustowość / przepływ, ujemne wartości przepływu nie są oznaczane). a) b) Zadanie 8. Wyznacz wartości przepływu f w podanej sieci (G, s, t, c) o przepustowości c (wartości funcji c i f są podane przy krawędziach w sposób prezentowany na wykładzie tzn. przepustowość / przepływ, ujemne wartości przepływu nie są oznaczane). a) 7 b) 19 c) 21 d) 34 1
Zadanie 9. W podanej sieci przepływowej (G, s, t, c) o przepustowości c wyznacz przepływ maksymalny (wartości funkcji c i f napisz przy krawędziach w sposób prezentowany na wykładzie tzn. przepustowość / przepływ). Zadanie 10. Spośród grafów przedstawionych na rysunkach wybierz grafy dwukolorowalne. Zadanie 11. Spośród grafów przedstawionych na rysunkach wybierz grafy zawierające klikę o rozmiarze co najmniej 3. Zadanie 12. Narysuj graf o dziesięciu wierzchołkach, którego liczba chromatyczna jest równa 2 / 3 / 4 /... / 10. Zadanie 13. Graf nieskierowany / skierowany z przedstawiony na rysunku zapisz w postaci listy sąsiedztwa, macierzy sąsiedztwa, macierzy incydencji. 2
Zadanie 14. Narysuj graficzną reprezentację grafu skierowanego przedstawionego za pomocą macierzy incydencji / listy sąsiedztwa a b c d e f g h 1-1 1 0 1 0 0 0 0 2 0-1 1 0-1 -1 0 0 3 1 0-1 0 0 0 0 0 4 0 0 0-1 1 1-1 1 5 0 0 0 0 0 0 1-1 1 2 3 5 2 1 3 4 4 5 5 Zadanie 15. Narysuj graficzną reprezentację grafu nieskierowanego przedstawionego za pomocą macierzy incydencji / macierzy sąsiedztwa / listy sąsiedztwa a b c d e 1 2 3 4 5 1 2 3 5 1 1 1 1 0 0 1 0 1 1 0 1 2 1 2 0 1 0 0 0 2 1 0 0 0 0 3 1 4 3 1 0 0 1 0 3 1 0 0 1 0 4 3 5 4 0 0 0 1 1 4 0 0 1 0 1 5 1 4 5 0 0 1 0 1 5 1 0 0 1 0 Zadanie 16. Graf skierowany G jest przechowywany w komputerze za pomocą listy sąsiedztwa. Algorytm przeszukiwaniu w głąb (DFS) numeruje wierzchołki grafu rozpoczynając od wierzchołka w 3. Wpisz odpowiednie numery przy wierzchołkach wg kolejności odwiedzania. Które wierzchołki nie są osiągalne z wierzchołka w 3? Zadanie 17. Graf G jest przechowywany w komputerze za pomocą listy sąsiedztwa. Algorytm przeszukiwania w głąb (DFS) koloruje wierzchołki grafu G używając dwóch kolorów k 0 i k 1 rozpoczynając od wierzchołka w 3. Przy każdym z wierzchołków napisz przypisany mu kolor aż do momentu zatrzymania algorytmu ( pokolorowania całego grafu lub przypisania dwóch takich samych kolorów sąsiednim wierzchołkom grafu). Zadanie 18. Graf G jest przechowywany w komputerze za pomocą listy sąsiedztwa. Algorytm przeszukiwania w głąb (DFS) został użyty od sprawdzenia czy graf zawiera cykle. Algorytm rozpoczyna działanie od wierzchołka w 3. Przy każdym z wierzchołków napisz przypisany mu numer (wg kolejności odwiedzenia) aż do momentu zatrzymania algorytmu (ponumerowania wszystkich wierzchołków lub znalezienia cyklu). 3
Zadanie 19. Graf G jest przechowywany w komputerze za pomocą listy sąsiedztwa. Algorytm przeszukiwania w głąb (DFS) został użyty do wyznaczenia drzewa spinającego grafu rozpoczynając od wierzchołka w 3. Narysuj wyznaczone drzewo oraz przy każdym wierzchołku napisz numer odpowiadający kolejności w jakiej zostały one odwiedzone? Zadanie 20. Graf G jest przechowywany w komputerze za pomocą listy sąsiedztwa. W jakiej kolejności zostaną odwiedzone wierzchołki tego grafu przy przeszukiwaniu w szerz (BFS) jeżeli przeszukiwanie rozpoczniemy od wierzchołka w 3 (wpisz odpowiednie numery w wierzchołkach). Zadanie 21. Algorytm przeszukiwania w szerz (BFS) został użyty do określenia poziomów wierzchołków grafu (odległości krawędziowej od zadanego wierzchołka startowego). Jakie poziomy będą przypisane wierzchołkom grafu (wpisz odpowiednie numery w wierzchołkach)? Zadanie 22. Narysuj minimalne drzewo spinające (MST) podanego grafu. Zadanie 23. Do wyznaczenia minimalnego drzewa spinającego grafu G został użyty algorytm Prima rozpoczynając działanie do wierzchołka w 0. Na rysunku po prawej stronie przedstawione jest częściowo wyznaczone drzewo. Dorysuj trzy kolejne krawędzie (i wierzchołki) dołączone do drzewa. Zadanie 24. Do wyznaczenia minimalnego drzewa spinającego grafu G został użyty algorytm Kruskala. Na rysunku po lewej stronie przedstawione jest częściowo wyznaczone drzewo. Dorysuj kolejne krawędzie dołączone do drzewa (do momentu zatrzymania algorytmu). Przyjmij, że krawędzie dołączane są zgodnie z kolejnością z tabeli. Uzupełnij tabelę wg pokazanego schematu. 4
Zadanie 25. Narysuj drzewo najkrótszych ścieżek (SPT) z korzeniem w wierzchołku w 0 dla podanego grafu. Zadanie 26. Algorytm Dijksty wyznacza najkrótsze odległości od wierzchołka w 0 w Grafie G korzystając z listy priorytetowej L zawierającej wierzchołki o nieustalonej jeszcze odległości. Lista L jest posortowana wg tymczasowo wyznaczonych odległości (przy takich samych odległościach decyduje numeru wierzchołka). W każdym kroku algorytmu usuwany jest pierwszy wierzchołek z listy (jego odległości tymczasowa staje się ustaloną odległością od wierzchołka w 0 ) i aktualizowane są odległości tymczasowe jego następników. Algorytm zatrzymuje się gdy lista L jest pusta. Dla podanego grafu wyznacz kolejny krok działania algorytmu (uzupełnij tabelę L i Odleglosci). 5
Zadanie 27. Dla grafu G (zawierającego ujemne wagi) przedstawionego na rysunku, porównaj drzewo najkrótszych ścieżek (SPT) z drzewem wyznaczonym przez algorytm Dijkstry (narysuj oba drzewa). Za korzeń drzewa przyjmij wierzchołek w 0. Zadanie 28. Algorytm Belmana a Forda a wyznaczając najkrótsze odległości od wierzchołka w 0 w Grafie G w każdym kroku dla wszystkich wierzchołków aktualizuje tablicę D odległości poszczególnych wierzchołków od wierzchołka w 0. Jak będzie wyglądała tablica D po pierwszym i drugim kroku? Czy w drugim kroku tablica D będzie zawierała najkrótsze odległości od wierzchołka w 0? Przy jakiej liczbie kroków dla grafu o 15 wierzchołkach można mieć pewność, że tablica D zawiera najkrótsze odległości od zadanego wierzchołka? Jaki warunek musi spełniać graf prosty z wagami aby był sens poszukiwania najkrótszych ścieżek? Zadanie 29. Dla podanego grafu uzupełnij tabelę wartości początkowych dla algorytmu Floyd a Warshal a. 6
Zadanie 30. Algorytm Floyd a Warshal a został wywołany dla grafu przedstawionego na rysunku. Uzupełnij tabelę D zawierającą wynik działania algorytmu. Zadanie 31. Wyznacz minimalne odległości wierzchołków grafu G od wierzchołka w 0. Na tej podstawie wyznacz graf G o równoważnym obciążeniu (takim samym SPT) niezawierającym krawędzi o ujemnych wagach. Zadanie 32. Dla danej sieci przepływowej (G, s, t, c) o przepustowości c i przepływie f wyznacz sieć residualną, zaznacz na niej najkrótszą drogę pomiędzy wierzchołkami s i t (odległość krawędziowa). Korzystając z wyznaczonej drogi narysuj siec (G, s, t, c) ze zwiększonym przepływem f 1. Zadanie 33. Dla danej sieci przepływowej (G, s, t, c) o przepustowości c przedstaw poszczególne kroki algorytmu Edmondsa Karpa. Początkowy przepływ f 0. W każdym kroku narysuj sieć z poprawionym przepływem i sieć residualną z zaznaczoną drogą lub informacją, że taka droga już nie istnieje. Wykonaj powyższe kroki aż do otrzymania sieci residualnej w której nie ma drogi łączącej wierzchołki s i t. 7
Zadanie 34. Mając daną sieć przepływową (G, s, t, c) z wierzchołkiem źródłowym s i ujściem t oraz przepustowością c oznaczoną na rysunku, narysuj sieć odpowiadającą danej i uwzględniając dodatkowo przepustowość poszczególnych wierzchołków podaną poniżej. Wyznacz dowolny (niezerowy) przepływ w otrzymanej sieci (nie musi być maksymalny). Zadanie 35. Zadanie z wykorzystaniem sieci przepływowych i maksymalnego przepływu (podobne do zadań rozwiązywanych na wykładzie i ćwiczeniach). Zadanie 36. Pokoloruj wierzchołki grafu G algorytmem zachłannym wg podanej kolejności. Wynik kolorowania zapisz w tabeli K (dla określenia kolorów użyj symboli k 0, k 1, k 2,...). Zadanie 37. Napisz sekwencje kolorowania grafu G metodą: LF, SL, algorytmem saturacyjnym (jeżeli algorytm nie rozstrzyga kolejności, tworząc sekwencję wybierz najpierw wierzchołki o mniejszym numerze). Wynik kolorowania zapisz w tabeli (dla określenia kolorów użyj symboli k 0, k 1, k 2,...). Zadanie 38. Własności grafu Mycielskiego. Dla każdego z podanych grafów narysuj graf Mycielskiego. 8
9