Algorytm chińskiego listonosza Katarzyna Ignaszewska SPI51. Temat: Problem chińskiego listonosza, czyli jak obejść miasto najmniejszym nakładem sił.

Podobne dokumenty
Grafy dla każdego. dr Krzysztof Bryś. Wydział Matematyki i Nauk Informacyjnych Politechnika Warszawska.

Suma dwóch grafów. Zespolenie dwóch grafów

Matematyczne Podstawy Informatyki

Teoria grafów dla małolatów. Andrzej Przemysław Urbański Instytut Informatyki Politechnika Poznańska

Elementy teorii grafów Elementy teorii grafów

Algorytmy i Struktury Danych.

TEORIA GRAFÓW I SIECI

Matematyczne Podstawy Informatyki

Konspekt zajęć z informatyki Wojciech Furgała ZPR-S Oława

Opracowanie prof. J. Domsta 1

MATEMATYKA DYSKRETNA - MATERIAŁY DO WYKŁADU GRAFY

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

Matematyka dyskretna

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

Algorytmy i Struktury Danych.

Wykład 4. Droga i cykl Eulera i Hamiltona

Wstęp do informatyki dr Adrian Horzyk, paw. H Wykład TEORIA GRAFÓW

Graf. Definicja marca / 1

Digraf. 13 maja 2017

Działanie algorytmu oparte jest na minimalizacji funkcji celu jako suma funkcji kosztu ( ) oraz funkcji heurystycznej ( ).

Przykłady grafów. Graf prosty, to graf bez pętli i bez krawędzi wielokrotnych.

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

Droga i cykl Eulera Przykłady zastosowania drogi i cyku Eulera Droga i cykl Hamiltona. Wykład 4. Droga i cykl Eulera i Hamiltona

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

6a. Grafy eulerowskie i hamiltonowskie

Minimalne drzewa rozpinające

MODELE SIECIOWE 1. Drzewo rozpinające 2. Najkrótsza droga 3. Zagadnienie maksymalnego przepływu źródłem ujściem

1) Grafy eulerowskie własnoci algorytmy. 2) Problem chiskiego listonosza

Algorytm Dijkstry znajdowania najkrótszej ścieżki w grafie

Programowanie sieciowe. Tadeusz Trzaskalik

Algorytmiczna teoria grafów

Algorytmika Problemów Trudnych

TEORETYCZNE PODSTAWY INFORMATYKI

Ogólne wiadomości o grafach

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

a) 7 b) 19 c) 21 d) 34

5c. Sieci i przepływy

Matematyczne Podstawy Informatyki

Wyznaczanie optymalnej trasy problem komiwojażera

Porównanie algorytmów wyszukiwania najkrótszych ścieżek międz. grafu. Daniel Golubiewski. 22 listopada Instytut Informatyki

Temat 9. Zabłocone miasto Minimalne drzewa rozpinające

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

Algorytmy grafowe. Wykład 1 Podstawy teorii grafów Reprezentacje grafów. Tomasz Tyksiński CDV

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

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

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

KURS MATEMATYKA DYSKRETNA

Grafy co o ich rysowaniu wiedzą przedszkolaki i co z tego wynika dla matematyków

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

Algorytmy Równoległe i Rozproszone Część V - Model PRAM II

Lista 4. Kamil Matuszewski 22 marca 2016

Problem skoczka szachowego i inne cykle Hamiltona na szachownicy n x n

Przykładowe rozwiązania

Temat: Czytamy mapę najbliższej okolicy.

ĆWICZENIE NR 1 WPROWADZENIE DO INFORMATYKI

Scenariusz lekcji. potrafi podać formułę obliczającą wartość wielomianu stopnia n w punkcie wg schemat Hornera;

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.

KURS MATEMATYKA DYSKRETNA

Algorytmy wyznaczania centralności w sieci Szymon Szylko

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

Graf to nie tylko tytuł szlachecki

Scenariusz lekcji. podać przykłady zalet użycia takiej instrukcji; opisać algorytm obliczania średniej n liczb;

Przykład planowania sieci publicznego transportu zbiorowego

Konspekt lekcji matematyki z wykorzystaniem multimedialnych podręczników EDU ROM przeprowadzonej w klasie VI SP

Krzyżówka oraz hasła do krzyżówki. Kalina R., Przewodnik po matematyce dla klas VII-VIII, część IV, SENS, Poznań 1997, s

Kolorowanie wierzchołków

2. Graficzna prezentacja algorytmów

MATEMATYKA DLA CIEKAWSKICH

Badania operacyjne: Wykład Zastosowanie kolorowania grafów w planowaniu produkcji typu no-idle

Zofia Kruczkiewicz, Algorytmu i struktury danych, Wykład 14, 1

Grafem nazywamy strukturę G = (V, E): V zbiór węzłów lub wierzchołków, Grafy dzielimy na grafy skierowane i nieskierowane:

Kombinowanie o nieskończoności. 2. Wyspy, mosty, mapy i kredki materiały do ćwiczeń

Autostopem przez galaiktykę: Intuicyjne omówienie zagadnień. Tom I: Optymalizacja. Nie panikuj!

Scenariusz lekcji. podać definicję metody zachłannej stosowanej w algorytmie; wymienić cechy algorytmów zachłannych;

Wykłady z Matematyki Dyskretnej

Algorytmy mrówkowe. H. Bednarz. Wydział Informatyki Zachodniopomorski Uniwersytet Technologiczny w Szczecinie Inteligentne systemy informatyczne

Wprowadzenie Podstawy Fundamentalne twierdzenie Kolorowanie. Grafy planarne. Przemysław Gordinowicz. Instytut Matematyki, Politechnika Łódzka

Matematyka dyskretna. Andrzej Łachwa, UJ, /14

Modele i narzędzia optymalizacji w systemach informatycznych zarządzania

MATEMATYKA DYSKRETNA - KOLOKWIUM 2

SKOJARZENIA i ZBIORY WEWN. STABILNE WIERZCH. Skojarzeniem w grafie G nazywamy dowolny podzbiór krawędzi parami niezależnych.

Wojewódzki Konkurs Przedmiotowy z Matematyki dla uczniów gimnazjów województwa śląskiego w roku szkolnym 2012/2013

Scenariusz lekcji. opisać działanie poczty elektronicznej; opisać podobieństwa i różnice między pocztą elektroniczną i tradycyjną;

Matematyka Dyskretna - zadania

Scenariusz 14. Miejscowość turystyczna

OPTYMALIZACJA W LOGISTYCE

Środki dydaktyczne: komputer, projektor multimedialny, tablica, liniał, kolorowa kreda.

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

Scenariusz lekcji. wymienić różnice pomiędzy kryptologią, kryptografią i kryptoanalizą;

Przykładowe zadania z teorii liczb

Informatyka w szkole - algorytm Dijkstry dla każdego. Krzysztof Diks Instytut Informatyki, Uniwersytet Warszawski

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

1 TEMAT LEKCJI: 2 CELE LEKCJI: 3 METODY NAUCZANIA. Scenariusz lekcji. 2.1 Wiadomości: 2.2 Umiejętności: Scenariusz lekcji

1 Automaty niedeterministyczne

Scenariusz lekcji. rozpoznać prawidłową deklarację tablicy; podać odwołanie do określonego elementu tablicy.

Rzut oka na współczesną matematykę spotkanie 9-10: Zagadnienie czterech barw i teoria grafów

Scenariusz lekcji Ozobot w klasie: Prezentacja liczb trójkątnych i kwadratowych

Po zapoznaniu się z funkcją liniową możemy przyjśd do badania funkcji kwadratowej.

G. Wybrane elementy teorii grafów

Transkrypt:

Scenariusz lekcji Temat: Problem chińskiego listonosza, czyli jak obejść miasto najmniejszym nakładem sił. W roku 1962 chioski matematyk Mei-Ko Kwan zaproponował następujący problem: Listonosz roznosząc listy musi przejśd przez wszystkie ulice w swojej dzielnicy co najmniej jeden raz i wrócid na pocztę. Ponieważ jest człowiekiem leniwym (nie odnosi się to do pozostałych listonoszy, tylko do tego konkretnego), chciałby mied jak najkrótszą do przejścia trasę. Znalezienie takiej trasy jest problemem, który nazwano problemem chioskiego listonosza (ang. Chinese postman problem - CPP). Cele zajęć Uczeo: doskonali intuicyjne rozumienie pojęcia algorytmu zna pojęcie algorytmu optymalnego, czyli możliwie najlepszej metody rozwiązywania zauważa problemy w życiu codziennym, gdzie rozwiązanie jest algorytmem rozwija logiczne myślenie Adresaci lekcji Lekcja skierowana jest do uczniów ostatniej klasy gimnazjum lub do uczniów klas szkoły średniej. Uczniowie znają pojecie algorytmu, potrafią opisad krok po kroku algorytm zadanego problemu. Miejsce zajęć Zajęcia odbywają się w sali komputerowej wyposażonej w odpowiednią liczbę stanowisk komputerowych oraz w rzutnik multimedialny i ekran. Przebieg zajęć Mini wykład teoretyczny : 1 Podstawowe pojęcia użyte w wykładzie Graf w uproszczeniu zbiór wierzchołków, które mogą byd połączone krawędziami, w taki sposób, że każda krawędź kooczy się i zaczyna w którymś z wierzchołków. Grafy to 1 Wykład zaczerpnięty z MINI Wykłady, Wydział Matematyki i Nauk Informacyjnych Politechniki Warszawskiej 2000 1

podstawowy obiekt rozważao teorii grafów. Za pierwszego teoretyka i badacza grafów uważa się Leonarda Eulera. Przykłady grafów możemy zobaczyd na Rysunku 1 graf z ponumerowanymi wierzchołkami i Rysunku 2 graf z ponumerowanymi wierzchołkami oraz wagami krawędzi. Rysunek 1 Przykład grafu Rysunek 2 Przykład grafu, z wagami krawędzi Cykl/ szlak Eulera: szlak, który zawiera każdą krawędź grafu G jest nazwany szlakiem/cyklem Eulera grafu G. Obchód grafu G to skooczony domknięty spacer przechodzący przez każdą krawędź G przynajmniej jeden raz. Obchód Eulera jest obchodem zawierającym każdą krawędź grafu G dokładnie jeden raz. Graf nazywamy eulerowskim (grafem Eulera) jeżeli zawiera obchód Eulera. Sformułowanie problemu. Rozważmy graf, którego krawędzie odpowiadają ulicom w rejonie, obsługiwanym przez listonosza. Wierzchołki to po prostu skrzyżowania ulic. Krawędziom nadajemy wagi, które oznaczają odległości między dwoma skrzyżowaniami. Znalezienie możliwie najkrótszej drogi, którą musi przejśd listonosz sprowadza sie do znalezienia w tym grafie drogi o minimalnej sumie wag krawędzi, która przechodzi przez każdą krawędź co najmniej raz. 2

Jeśli graf posiada cykl Eulera. Jeśli dany graf posiada cykl Eulera, to istnieje taka droga, która zaczyna i kooczy sie w tym samym punkcie i wymaga przejścia po każdej ulicy dokładnie raz. Zauważmy, że ponieważ każdy cykl Eulera przechodzi raz przez każdą krawędź to suma wag krawędzi (długośd drogi, którą musi przejśd listonosz) jest zawsze taka sama (nie zależy od wierzchołka, w którym cykl ten zaczyna się i kooczy). Rozwiązaniem jest więc dowolny cykl Eulera w tym grafie. Jeśli graf nie posiada cyklu Eulera. W takim przypadku listonosz będzie zmuszony przejśd niektórymi ulicami wielokrotnie. Rozwiązanie jest więc cyklem, w którym suma długości krawędzi wybranych więcej niż raz jest możliwie najmniejsza. Przykład Na rysunku pokazany jest układ ulic niedaleko Politechniki Warszawskiej. Załóżmy, że fragmenty tych pięciu ulic tworzą rejon listonosza. Rysunek 3 Fragment mapy w okolicy Politechniki Warszawskiej Obok nazw ulic umieszczone są odległości w metrach. Prostokąt oznaczony literą P oznacza miejsce, w którym umieściliśmy pocztę, na której pracuje 'nasz' listonosz. (Na marginesie: nazwy i układ ulic są prawdziwe, jednak podane odległości oraz umiejscowienie poczty nie odpowiadają rzeczywistości. Pocztę umieściliśmy w miejscu, gdzie w rzeczywistości znajduje się Gmach Główny, w którym ma swoją siedzibę Wydział MiNI. I niestety nie ma w tym budynku poczty.) Oto jak wygląda graf odpowiadający danemu układowi ulic. Zauważmy, że graf ten nie ma cyklu Eulera ponieważ posiada dwa wierzchołki, z których wychodzi nieparzysta liczba krawędzi. Na rysunku zaznaczono również rozwiązanie czyli optymalną trasę listonosza. 3

Rysunek 4 Graf na podstawie Rysunek 3 Zwródmy uwagę, że listonosz musi przejśd dwukrotnie tylko ulicę Nowakowskiego, zaś pozostałe ulice dokładnie raz. Powyższa droga jest najkrótszą z możliwych ponieważ odcinek, po którym przechodzi dwukrotnie liczy tylko 500 metrów i nie istnieje trasa spełniająca zadane warunki o krótszym odcinku, który listonosz musi pokonad więcej niż raz. Algorytm Fleury'ego Jest to algorytm znajdujący cykl Eulera w grafie. Jak już wiemy, jeśli graf posiada taki cykl, to jest on rozwiązaniem rozważanego problemu. Po wprowadzeniu pewnych modyfikacji może posłużyd również do rozwiązywania problemu chioskiego listonosza w przypadku grafów, które nie mają cyklu Eulera. Opis Algorytmu Fleury'ego Startujemy z dowolnego wierzchołka. Każda kolejna krawędź, po której przechodzimy, wybierana jest spośród krawędzi wychodzących z wierzchołka, w którym aktualnie się znajdujemy. Wybieramy oczywiście krawędź, po której jeszcze nie przeszliśmy. O ile jest to możliwe, usunięcie wybranej krawędzi nie powinno rozciąd grafu na dwa 'kawałki'. Jeśli uda nam się, postępując w ten sposób, dojśd do wierzchołka, z którego wyruszyliśmy i przejśd przez wszystkie krawędzie, to otrzymana droga jest cyklem Eulera. Podsumowując otrzymujemy następujący ogólny algorytm rozwiązujący problem chioskiego listonosza: K01: Sprawdź, czy graf jest spójny. Jeśli nie jest, to zakoocz algorytm z odpowiednim komunikatem K02: Wyszukaj w grafie wszystkie wierzchołki o nieparzystych stopniach K03: Jeśli liczba tych wierzchołków jest równa 0, przejdź do kroku K07 K04: Wyznacz najkrótsze ścieżki łączące ze sobą wszystkie znalezione wierzchołki o nieparzystych stopniach. K05: Wyszukaj skojarzenie tych wierzchołków w pary o najmniejszej sumie wag krawędzi 4

K06: Krawędzie wchodzące w skład wyznaczonych ścieżek skojarzenia zdubluj w grafie wejściowym K07: Wyznacz w grafie cykl Eulera i wyprowadź wynik K08: Zakoocz algorytm Zadanie dla uczniów Wyobraź sobie, że zostałeś zatrudniony jako listonosz na poczcie przy ulicy Nowowiejskiej 48. Poczta znajduje się u zbiegu ulic Nowowiejskiej i Barlickiego (w rzeczywistości jest tam placówka pocztowa). Twój rewir, po którym codziennie się poruszasz roznosząc przesyłki listowe przedstawia mapka na Rysunku 5. Zaplanuj swoją codzienną pracę, czyli trasę roznoszenia listów tak, aby Twoja droga była jak najkrótsza. Rysunek 5 Fragment mapy Wrocławia 2 2 Mapa wykonana za pomocą Google Maps 5

Uczniowie zanim zaczną szukad rozwiązania danego problemu, powinni sami określid długośd poszczególnych ulic, korzystając z podanej skali. Następnie uczniowie przerysowują mapę do postaci grafu. Rysunek 6 Graf na podstawie Rysunek 5 Uczniowie korzystając z przykładu powinni zauważyd, że w grafie nie ma szlaku Eulera, ponieważ są wierzchołki, z których wychodzi nieparzysta liczba krawędzi (dokładnie są 4 takie wierzchołki). Zatem niektóre z ulic należy przejśd dwukrotnie. Postępując zgodnie z algorytmem Fleury'ego, tzn. wychodząc z poczty i wybierając ulicę po której jeszcze nie szliśmy i starając się nie rozcinając grafu na dwie części, uczniowie powinni otrzymad rozwiązanie. 6

Rysunek 7 Rozwiązanie zadania Widad, że w każdym nieparzystym wierzchołku (czyli takim, z którego wychodzi nieparzysta liczba ulic), jedna z wychodzących krawędzi została podwojona. Ulice Kluczborska na odcinku od Żeromskiego do Barlickiego, Nowowiejska pomiędzy Stein a Barlickiego oraz Barlickiego pomiędzy Nowowiejską a Orzeszkowej zostaną pokonane dwukrotnie. Jest to rozwiązanie optymalne, czyli droga listonosza będzie najkrótsza z możliwych. Kontynuacja Wcześniejsze zadanie może mied ciekawą kontynuacją. Problem chioskiego listonosza można przenieśd na wędrówkę po szklakach górskich. W tym przypadku należy jednak problem zmodyfikowad, wędrówki po górach są zazwyczaj kilkudniowe zatem wymagają zaplanowania noclegów. Jak zaplanowad wycieczkę w Kotlinę Kłodzką, aby wędrowad wszystkimi szlakami przy najmniejszej liczbie przebytych kilometrów? 7

Rysunek 8 Plan szlaków w Kotlinie Kłodzkiej Literatura Gurbiel E., Hardt-Olejniczak G., Kołczyk E., Krupicka H., Sysło M. M., Informatyka Poradnik dla nauczyciel, WSiP, Warszawa 2004 Sysło M.M., Informatyka i technologia informacyjna w szkole, Instytut Informatyki UWr, Wrocław 2004 MINI Wykłady, Wydział Matematyki i Nauk Informacyjnych Politechniki Warszawskiej 2000 http://edu.i-lo.tarnow.pl/inf/utils/002_roz/ol026.php 8