ĆWICZENIE 1: Przeszukiwanie grafów cz. 1 strategie ślepe



Podobne dokumenty
ĆWICZENIE 1: Przeszukiwanie grafów strategie heurystyczne

LABORATORIUM 2: Przeszukiwanie grafów cz. 2 strategie heurystyczne

LABORATORIUM 7: Problem komiwojażera (TSP) cz. 2

Heurystyki. Strategie poszukiwań

Uniwersytet Zielonogórski Wydział Elektrotechniki, Informatyki i Telekomunikacji Instytut Sterowania i Systemów Informatycznych

Marcel Stankowski Wrocław, 23 czerwca 2009 INFORMATYKA SYSTEMÓW AUTONOMICZNYCH

Rozwiązywanie problemów metodą przeszukiwania

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

Metody przeszukiwania

Wstęp do Sztucznej Inteligencji

Sztuczna Inteligencja i Systemy Doradcze

Heurystyczne metody przeszukiwania

Podstawy sztucznej inteligencji

SZTUCZNA INTELIGENCJA

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

Wykład2,24II2010,str.1 Przeszukiwanie przestrzeni stanów powtórka

Ogólne wiadomości o grafach

LABORATORIUM 4: Algorytmy ewolucyjne cz. 2 wpływ operatorów krzyżowania i mutacji na skuteczność poszukiwań AE

Zadanie 1: Piętnastka

Planowanie drogi robota, algorytm A*

SZTUCZNA INTELIGENCJA

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

Wprowadzenie do Sztucznej Inteligencji

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

1. Algorytmy przeszukiwania. Przeszukiwanie wszerz i w głąb.

Złożoność obliczeniowa klasycznych problemów grafowych

Wprowadzenie do Sztucznej Inteligencji

Elementy kognitywistyki II: Sztuczna inteligencja. WYKŁAD V: Agent wciąż szuka rozwiązania (choć już nie na ślepo)

Algorytmiczna teoria grafów

Elementy kognitywistyki II:

Ćwiczenie 1 Planowanie trasy robota mobilnego w siatce kwadratów pól - Algorytm A

Algorytmy i str ruktury danych. Metody algorytmiczne. Bartman Jacek

Algorytmy grafowe. Wykład 2 Przeszukiwanie grafów. Tomasz Tyksiński CDV

Kilka zagadnień dotyczących Sztucznej inteligencji.

etrader Pekao Podręcznik użytkownika Strumieniowanie Excel

Sztuczna Inteligencja i Systemy Doradcze

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

Wprowadzenie do Sztucznej Inteligencji

Metoda tabel semantycznych. Dedukcja drogi Watsonie, dedukcja... Definicja logicznej konsekwencji. Logika obliczeniowa.

Programowanie obiektowe

WPROWADZENIE DO SZTUCZNEJ INTELIGENCJI

Lista 0. Kamil Matuszewski 1 marca 2016

Matematyczne Podstawy Informatyki

Instytut Mechaniki i Inżynierii Obliczeniowej Wydział Mechaniczny Technologiczny Politechnika Śląska

LABORATORIUM 3: Wpływ operatorów krzyżowania na skuteczność poszukiwań AE

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

prowadzący dr ADRIAN HORZYK /~horzyk tel.: Konsultacje paw. D-13/325

Podstawy technologii cyfrowej i komputerów

Programowanie obiektowe

Podstawy Sztucznej Inteligencji (PSZT)

Instytut Mechaniki i Inżynierii Obliczeniowej Wydział Mechaniczny Technologiczny Politechnika Śląska

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

. Podstawy Programowania 2. Algorytmy dfs i bfs. Arkadiusz Chrobot. 2 czerwca 2019

Tematy lekcji informatyki klasa 4a wrzesień 2012

INSTRUKCJA UŻYTKOWNIKA PORTALU SIDGG

Algorytmy i struktury danych

Algorytm DFS Wprowadzenie teoretyczne. Algorytm DFS Wprowadzenie teoretyczne. Algorytm DFS Animacja. Algorytm DFS Animacja. Notatki. Notatki.

Zaawansowane programowanie

Wstęp do programowania

5.5. Wybieranie informacji z bazy

Wstęp do Programowania potok funkcyjny

Przeszukiwanie przestrzeni rozwiązań, szukanie na ślepo, wszerz, wgłąb

AiSD zadanie trzecie

Raporty dodatkowe nr 1 Ewidencja Wyposażenia PL+

Instytut Mechaniki i Inżynierii Obliczeniowej Wydział Mechaniczny technologiczny Politechnika Śląska

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

Projektowanie systemów zrobotyzowanych

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

Instytut Mechaniki i Inżynierii Obliczeniowej fb.com/groups/bazydanychmt/

GRAFIKA INŻYNIERSKA POLITECHNIKA ŚLĄSKA WYDZIAŁ ELEKTRYCZNY KATEDRA MECHATRONIKI. Instrukcja do ćwiczenia laboratoryjnego.

Archiwum DG 2016 PL-SOFT

Digraf o V wierzchołkach posiada V 2 krawędzi, zatem liczba różnych digrafów o V wierzchołkach wynosi 2 VxV

Instytut Mechaniki i Inżynierii Obliczeniowej Wydział Mechaniczny Technologiczny Politechnika Śląska

Podstawy tworzenia prezentacji w programie Microsoft PowerPoint 2007

DARMOWA PRZEGLĄDARKA MODELI IFC

Tworzenie nowego rysunku Bezpośrednio po uruchomieniu programu zostanie otwarte okno kreatora Nowego Rysunku.

Celem ćwiczenia jest zapoznanie się z podstawowymi funkcjami i pojęciami związanymi ze środowiskiem AutoCAD 2012 w polskiej wersji językowej.

Metoda Tablic Semantycznych

Zastosowanie CP-grafów do generacji siatek

Elementy kognitywistyki II: Sztuczna inteligencja. WYKŁAD III: Problemy agenta

OSTASZEWSKI Paweł (55566) PAWLICKI Piotr (55567) Algorytmy i Struktury Danych PIŁA

Obliczanie opłaty elektronicznej za przejazd wybraną trasą (krok po kroku)

Wybrane podstawowe rodzaje algorytmów

INSTRUKCJA obsługi certyfikatów

Laboratorium - Monitorowanie i zarządzanie zasobami systemu Windows 7

Konfiguracja programu CorelDRAW dla drukarki Ricoh z profilem ICC

Programowanie sieciowe. Tadeusz Trzaskalik

Podstawy sztucznej inteligencji

Instalacja programu:

INSTALACJA SYSTEMU CMS JOOMLA!

Wstęp do programowania. Drzewa. Piotr Chrząstowski-Wachtel

Instytut Mechaniki i Inżynierii Obliczeniowej Wydział Mechaniczny technologiczny Politechnika Śląska

INSTRUKCJA. rejestrowania się na szkolenie/cykl szkoleniowy oraz uzupełniania niezbędnej unijnej dokumentacji uczestnictwa w projekcie (PEFS)

KONFIGURACJA SIECIOWA SYSTEMU WINDOWS

Tworzenie gier na urządzenia mobilne

Zadanie 10. Stosowanie dokumentu głównego do organizowania dużych projektów

Instrukcja wgrywania aktualizacji oprogramowania dla routera Edimax LT-6408n

PRZEWODNIK PO PRZEDMIOCIE

Metoda Elementów Skończonych - Laboratorium

Transkrypt:

Instytut Mechaniki i Inżynierii Obliczeniowej Wydział Mechaniczny Technologiczny, Politechnika Śląska www.imio.polsl.pl METODY HEURYSTYCZNE ĆWICZENIE 1: Przeszukiwanie grafów cz. 1 strategie ślepe opracował: dr inż. Witold Beluch witold.beluch@polsl.pl Gliwice 2012

Cel ćwiczenia Wykonując ćwiczenie zapoznasz się z jednym z dostępnych programów do tworzenia i przeszukiwania grafów i zastosujesz do wybranych problemów następujące strategie przeszukiwania: przeszukiwanie wszerz, przeszukiwanie w głąb i strategię jednolitego kosztu. Celem jest znalezienie najkrótszej drogi do celu. Celem dodatkowym jest zminimalizowanie liczby odwiedzonych węzłów. Trochę teorii... Szukanie (np. najkrótszej drogi) jest jedną z najważniejszych metod sztucznej inteligencji. Wiele praktycznych problemów może być przedstawionych w postaci zadania przeszukiwania grafu. Przeszukiwanie grafu (lub inaczej przechodzenie grafu) jest działaniem polegającym na odwiedzeniu w pewien usystematyzowany sposób wszystkich wierzchołków grafu w celu zebrania potrzebnych informacji. Do najprostszych strategii przeszukiwania należą tzw. strategie ślepe, do których zaliczają się: przeszukiwanie wszerz; przeszukiwanie w głąb; strategia jednolitego kosztu; przeszukiwanie ograniczone w głąb; przeszukiwanie iteracyjnie pogłębiane; przeszukiwanie dwukierunkowe. W ramach niniejszej instrukcji ograniczymy się do pierwszych trzech metod. Przeszukiwanie wszerz Strategia przeszukiwania wszerz (ang. Breadth-first search, BFS) polega na odwiedzaniu wszystkich nieodwiedzonych sąsiadów danego wierzchołka. Innymi słowy strategia wykonuje ekspansję najpłytszego węzła spośród tych, które nie były jeszcze rozszerzone. Kolejność przeszukiwania węzłów dla przykładowego grafu przedstawia Rys. 1. Rys. 1. Algorytm przeszukiwania wszerz kolejność przeszukiwania węzłów Lista węzłów, które się już odwiedziło, musi być pamiętana, zatem złożoność pamięciowa strategii przeszukiwania wszerz wynosi O(V+ E), gdzie V jest liczbą węzłów a E liczbą krawędzi w grafie. Przeszukiwanie wszerz jest niepraktyczne dla dużych grafów właśnie ze względu na wymogi pamięciowe. Złożoność czasowa to również O(V+E), gdyż w najgorszym przypadku strategia musi przejść przez wszystkie krawędzie prowadzące do wszystkich węzłów. Gdy rozwiązanie istnieje, to strategia przeszukiwania wszerz odnajdzie je niezależnie od grafu. 2

Przeszukiwanie w głąb Algorytm przeszukiwania w głąb (ang. Depth-first search, DFS) rozpoczyna przeszukiwanie się od korzenia i porusza się w dół do samego końca krawędzi, po czym wraca o jeden poziom i sprawdza kolejne krawędzie. Zatem metoda ta wykonuje rozwinięcie najgłębszego węzła spośród tych, które nie były jeszcze rozszerzone. Kolejność przeszukiwania węzłów dla przykładowego grafu przedstawia Rys. 2. Rys. 2. Algorytm przeszukiwania w głąb kolejność przeszukiwania węzłów Złożoność pamięciowa algorytmu w przypadku drzewa jest o wiele mniejsza, niż przeszukiwania wszerz, jako że algorytm w każdym momencie wymaga zapamiętania tylko ścieżki od korzenia do bieżącego węzła. Złożoność czasowa jest taka sama jest w przypadku BFS, czyli O(V+E). Algorytm przeszukiwania w głąb dla drzew skończonych jest zupełny (zatem znajduje rozwiązanie lub informuje, że ono nie istnieje). Strategia jednolitego kosztu Strategia jednolitego kosztu (ang. uniform-cost search, UCS) wykonuje ekspansję węzła o najmniejszym koszcie spośród tych, które nie były jeszcze rozszerzone. Przeszukiwanie rozpoczyna się od węzła początkowego i jest prowadzone poprzez odwiedzanie węzłów, dla których koszt (liczony od korzenia) jest najmniejszy. Przykładowy graf wraz z zaznaczonymi kosztami dla poszczególnych krawędzi jest przedstawiony na Rys. 3. W tym przypadku kolejność działań algorytmu będzie następująca (w nawiasach podano koszt): A (0) -> D (3) A (0) -> B (5) A (0) -> D -> F (5) A (0) -> D -> E (5) A (0) -> B -> C (6) A (0) -> D -> F-> G (8) Rys. 3. Strategia jednolitego kosztu: A start, G- cel Strategia znajduje optymalne rozwiązanie, o ile koszt każdej dopuszczalnej akcji przewyższa pewną dodatnią wartość ε. Złożoność pamięciowa jak i obliczeniowa strategii to O(b 1+C*/ε ), gdzie C* jest kosztem rozwiązania optymalnego. 3

Do wykonania Strona internetowa http://aispace.org reklamuje się jako Narzędzia do nauki sztucznej inteligencji. W dziale Downloads możesz znaleźć m.in. narzędzie służące do tworzenia i przeszukiwania grafów (Graph Searching) z zastosowaniem różnych metod przeszukiwania grafu. Poszukujemy najkrótszej z Rybnika (Rondo Gliwickie) na wydział MT. Korzystając z programu Search Applet spróbujemy taką drogę znaleźć korzystając z ślepych strategii przeszukiwania. Uruchom program Search Applet. Zapoznaj się z pomocą do programu. Korzystając z zakładki Create wygeneruj graf jak na Rys. 4. Wskazówki: w celu wygenerowania węzłów skorzystaj z ikony Create Node; do generowania krawędzi służy ikona Create Edge; w celu wyświetlenia kosztów poszczególnych krawędzi (odległości) włącz View->Show Edge Costs; jeśli podczas pracy koszty krawędzi przestaną być widoczne wyłącz wspomnianą opcję i włącz ją z powrotem. Pamiętaj o zapisaniu wszystkich utworzonych na zajęciach grafów (w osobnych plikach). Mogą się jeszcze przydać... Rys. 4. Wybrane węzły i krawędzie na trasie Rybnik-MT Przejdź do zakładki Solve. Wybierz metodę przeszukiwania w głąb (Search Options-> Search Algorithms->Depth First). Klikaj ikonę Step zwracając uwagę na zmieniające się kolory węzłów i informacje w dolnej części okna aplikacji. Gdy algorytm zakończy pracę zanotuj w protokole (Tabela 4

1) znalezioną ścieżkę, koszt znalezionego rozwiązania (odległość w kilometrach) oraz liczbę odwiedzonych węzłów. Wciśnij OK. Zauważ, że ponownie wciskając Step będzie rozwijana kolejna gałąź. W celu rozpoczęcia poszukiwań od początku użyj ikony Reset Search. Powtórz powyższe dla metody przeszukiwania wszerz (Breadth First) oraz strategii jednolitego kosztu (Lower Cost First). Wyniki również umieść w protokole. Utwórz lustrzane odbicie (względem osi pionowej) grafu, przeciągając poszczególne węzły. Sprawdź, jak skuteczne okażą się poszczególne strategie w tym przypadku. Wyniki zamieść w tabeli 2 protokołu. Sprawozdanie Sprawozdanie ma być dostarczone wyłącznie w formie elektronicznej. Nazwa pliku wg wzorca: MH_cw1_Jan_Kowalski.doc/pdf. Strona pierwsza to strona tytułowa. W sprawozdaniu należy zamieścić: 1. Cel ćwiczenia. 2. Opis problemu (w tym wszystkie rozważane grafy). 3. Skan/fotografię protokołu. 4. Przemyślenia i wnioski z części przeprowadzonej na zajęciach. 5. Graf reprezentujący połączenie między miejscem Twego urodzenia a miejscem zamieszkania dowolnej bliskiej Ci osoby (np. kolega, koleżanka, członek rodziny), który mieszka w innej miejscowości, niż Twoje miejsce urodzenia. Graf ma zawierać co najmniej 14 węzłów (w tym start i koniec) oraz co najmniej 4 alternatywne trasy. Sprawdź działanie rozważanych strategii na stworzonym przez siebie grafie i zanotuj wyniki. 6. Wnioski wynikające z punktu 5. Literatura i źródła [1] http://wazniak.mimuw.edu.pl materiały dydaktyczne przygotowane w ramach projektu Opracowanie programów nauczania na odległość na kierunku studiów wyższych Informatyka. [2] http://www.aispace.org strona AIspace. [3] Włodzisław Duch Notatki do wykładów: Sztuczna Inteligencja i Systemy Ekspertowe (http://www.is.umk.pl/~duch/wyklady/ai_plan.html). [4] Wikipedia przeszukiwanie grafu (http://pl.wikipedia.org/wiki/przeszukiwanie_grafu). 5

METODY HEURYSTYCZNE Protokół do ćwiczenia 1 : Przeszukiwanie grafów cz. 1 strategie ślepe Imię i nazwisko Rok ak. Gr. Sem. Komp. Data Podpis prowadzącego 20 / MB4 II Tabela 1. Graf Rybnik-MT w wersji pierwotnej Metoda przeszukiwania Znaleziona trasa Koszt [km] Liczba odwiedzonych węzłów w głąb wszerz jednolitego kosztu Tabela 2. Graf Rybnik-MT w wersji lustrzanej Metoda przeszukiwania Znaleziona trasa Koszt [km] Liczba odwiedzonych węzłów w głąb wszerz jednolitego kosztu Notatki: