ALHE Jarosław Arabas. Przeszukiwanie przestrzeni ścieżek w grafie. Algorytm A*

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

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

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

Matematyczne Podstawy Informatyki

WAE Jarosław Arabas Pełny schemat algorytmu ewolucyjnego

Metody przeszukiwania

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

Metoda podziału i ograniczeń

Algorytmika Problemów Trudnych

Rozwiązywanie problemów metodą przeszukiwania

Podstawy sztucznej inteligencji

Wprowadzenie do Sztucznej Inteligencji

Digraf. 13 maja 2017

Wybrane podstawowe rodzaje algorytmów

Wprowadzenie do Sztucznej Inteligencji

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

Wstęp do Sztucznej Inteligencji

SZTUCZNA INTELIGENCJA

Heurystyki. Strategie poszukiwań

Wprowadzenie do Sztucznej Inteligencji

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

Programowanie dynamiczne i algorytmy zachłanne

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

TEORIA GRAFÓW I SIECI

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

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

Zaawansowane programowanie

Wykład 7. Algorytmy grafowe

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

Sztuczna Inteligencja i Systemy Doradcze

ĆWICZENIE 1: Przeszukiwanie grafów strategie heurystyczne

Wyznaczanie optymalnej trasy problem komiwojażera

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

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

Sztuczna Inteligencja i Systemy Doradcze

Algorytmiczna teoria grafów

Jak poprawnie wype ni RZ-3?

Ogólne wiadomości o grafach

Algorytmy i str ruktury danych. Metody algorytmiczne. Bartman Jacek

Heurystyczne metody przeszukiwania

Planowanie przedsięwzięć

Instrukcja obiegu i kontroli dokumentów powodujących skutki finansowo-gospodarcze w ZHP Spis treści

Algorytmy stochastyczne laboratorium 03

Wstęp do programowania

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

Zadania laboratoryjne i projektowe - wersja β

Algorytmy dla gier dwuosobowych

Podstawy sztucznej inteligencji

CZYM JEST SZTUCZNA INTELIGENCJA? REPREZENTACJA WIEDZY SZTUCZNA INTELIGENCJA PROJEKTOWANIE ALGORYTMÓW I METODY SZTUCZNEJ INTELIGENCJI

Algorytmy mrówkowe (optymalizacja kolonii mrówek, Ant Colony optimisation)




MATEMATYKA DYSKRETNA - MATERIAŁY DO WYKŁADU GRAFY

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

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

Egzaminy i inne zadania. Semestr II.

Egzamin z Metod Numerycznych ZSI, Egzamin, Gr. A

A Zadanie

Algorytmy wyznaczania centralności w sieci Szymon Szylko

Wstęp do Programowania potok funkcyjny

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

5c. Sieci i przepływy

Harmonogramowanie przedsięwzięć

ALGORYTM KLASTERYZACJI W ZASTOSOWANIU DO PROBLEMU TRASOWANIA POJAZDÓW

Modele całkowitoliczbowe zagadnienia komiwojażera (TSP)

Przykłady problemów optymalizacyjnych

Algorytmy i Struktury Danych.

Wykład 8. Drzewo rozpinające (minimum spanning tree)

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

E: Rekonstrukcja ewolucji. Algorytmy filogenetyczne

Obliczenia inspirowane Naturą

Programowanie obiektowe

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

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

Matematyka dyskretna. Andrzej Łachwa, UJ, /14

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

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.

xx + x = 1, to y = Jeśli x = 0, to y = 0 Przykładowy układ Funkcja przykładowego układu Metody poszukiwania testów Porównanie tabel prawdy

Wykłady z Matematyki Dyskretnej

OPTYMALIZACJA W LOGISTYCE

Wstęp do Programowania potok funkcyjny

Algorytmy i Struktury Danych.

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

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

Techniki optymalizacji

Problemy z ograniczeniami

WABOT CZYM JEST SZTUCZNA INTELIGENCJA? SZTUCZNA INTELIGENCJA REPREZENTACJA WIEDZY KNOWLEDGE SOUP PROBLEM

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

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

Algorytmy i Struktury Danych.

9. Schematy aproksymacyjne

Wykład 10 Grafy, algorytmy grafowe

Literatura. 1) Pojęcia: złożoność czasowa, rząd funkcji. Aby wyznaczyć pesymistyczną złożoność czasową algorytmu należy:

Algorytm genetyczny (genetic algorithm)-


Algorytmy i struktury danych

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

Gdyńskim Ośrodkiem Sportu i Rekreacji jednostka budżetowa

Przypomnij sobie krótki wstęp do teorii grafów przedstawiony na początku semestru.

Transkrypt:

ALHE Jarosław Arabas Przeszukiwanie przestrzeni ścieżek w grafie Algorytm A*

Zbiór rozwiązań 2134 1234 1243 2143 2314 2413 1324 2341 1342 1423 2431 1432 3124 4123 3142 4132 3214 4213 3241 3412 4312 3421 4321 4231

Przestrzeń rozwiązań 2134 1234 1243 2143 1324 2413 2341 1342 2431 1432 2314 1423 3214 4123 3241 4132 3124 4213 3142 3412 4312 3421 4321 4231

Graf odległości Gd 362 Sz 170 Ol 165 377 235 By 217 152 Po 203 Zg 186 156 270 319 227 Bi 193 Wa 166 137 178 L 209 Wr 212 Ki 193 195 116 Ka 80 Kr Lu

Przeszukiwanie niepoinformowane Gd Sz Ol By Bi Wa Po Zg L Lu Ki Wr Ka Kr

Struktura przestrzeni przeszukiwań Rozwiązania dopuszczalne (spełniające ograniczenia)

Przestrzeń przeszukiwań GdWaLPo (fragment) GdWaLWr GdWaL GdWaLKa GdWaBy GdOl GdWaOl GdSz Gd GdWa GdWaBi GdWaLu GdBy GdWaKi GdByL GdByLPo GdByLWr GdByWa GdByLKa GdByLKaWr GdByLKaKr GdWaKiKr GdWaLKaWr GdWaLKaKr

Przeszukiwanie w głąb i wszerz algorytm wszerz A {s 0 } while A x popfifo ( A) Y sąsiedzi( x) A A Y algorytm w głąb A {s 0 } while A x poplifo ( A ) Y sąsiedzi( x) A A Y

Kolejne odwiedzone węzły (wszerz) GdWaLPo GdWaL GdWaLWr GdWaLKa GdWaBy GdOl GdWaOl GdSz Gd GdWa GdWaBi GdWaLu GdBy GdWaKi GdByL GdByLPo GdByLWr GdByWa GdByLKa GdByLKaWr GdByLKaKr GdWaKiKr GdWaLKaWr GdWaLKaKr

Kolejne odwiedzone węzły (w głąb) GdWaLPo GdWaL GdWaLWr GdWaLKa GdWaBy GdOl GdWaOl GdSz Gd GdWa GdWaBi GdWaLu GdBy GdWaKi GdByL GdByLPo GdByLWr GdByWa GdByLKa GdByLKaWr GdByLKaKr GdWaKiKr GdWaLKaWr GdWaLKaKr

Funkcja kosztu (celu, użyteczności) 2 3 2341 4 3 2 1 2134 0 1234 1 1243 2143 1 1324 2413 2 1342 2431 3 1432 2314 1423 3214 3 2 4123 3241 4 4132 3124 2 4213 3142 3 3412 4 4312 3421 4321 5 6 5 4231 5 4 4 3

Algorytm najpierw najlepszy algorytm najpierw najlepszy A init (s 0 ) while! stop x poppriorityqueue ( A) Y sąsiedzi( x) A A Y

Niech mi każdy powie szczerze, skąd się funkcja celu bierze?

Niech mi każdy powie szczerze, skąd się funkcja celu bierze? Definicja funkcji celu zależy od rozwiązywanego zadania Rolą funkcji celu jest informowanie o stopniu przybliżenia się do rozwiązania

Graf odległości Gd 362 Sz 170 Ol 165 377 235 By 217 152 Po 203 Zg 186 156 270 319 227 Bi 193 Wa 166 137 178 L 209 Wr 212 Ki 193 195 116 Ka 80 Kr Lu

Przestrzeń przeszukiwań GdWaLPo (fragment) GdWaLWr 514 GdWaL 170 GdOl 362 GdSz 377 GdWa Gd 0 GdBy 392 GdByL GdByLPo GdByLWr 165 GdByWa 435 GdWaLu 443 GdByLKa 585 780 GdByLKaWr GdWaLKa 717 GdWaByGdWaLKaKr 647 797 GdWaOl 589 GdWaBi 570 GdWaKi 555 GdByLKaKr 665 GdWaLKaWr GdWaKiKr 671

Ścieżka do celu w przestrzeni przeszukiwań cel start

Funkcja kosztu

Graf odległości i oszacowań Gd 546 170 362 600 Sz Ol 165 377 235 217 152 Zg 409 L 178 254 195 Odległości do Krakowa 193 75 Ka 80 Ki 116 Kr Bi Lu 259 217 209 Wr 212 By 408 270 282 193 378 319 Wa Po 227 166 203 137 186 156 468 115 470

Przestrzeń przeszukiwań GdWaLPo (fragment) GdWaLWr 514 217 170 GdOl 362 GdSz 282 377 GdWa Gd GdWaL GdWaLKa GdWaBy 647 717 75 GdWaOl 589 GdWaBi 570 0 546 GdBy 165 408 217 392 GdByL GdByLPo GdByLWr GdByWa 435 GdWaLu 443 GdWaKi 555 115 GdByLKa 585 75 780 GdByLKaWr GdByLKaKr 665 GdWaKiKr 671 GdWaLKaWr GdWaLKaKr 797

Przestrzeń przeszukiwań GdWaLPo (fragment) GdWaLWr 170 GdOl 362 GdSz 514 731 217 282 377 GdWa 659 Gd GdWaL GdWaLKa GdWaBy 647 717 75 792 GdWaOl 589 GdWaBi 570 0 546546 GdBy 165 408 609 573 217 392 GdByL GdByWa 435 GdByLPo GdByLWr GdWaLu 443 GdWaKi 555 115 670 GdByLKa 585 75 660 780 GdByLKaWr GdByLKaKr 665 GdWaKiKr 671 GdWaLKaWr GdWaLKaKr 797

Kiedy można mówić o funkcji heurystycznej Zadanie jest złożeniem składników Da się ocenić rozwiązanie cząstkowe Przestrzeń przeszukiwań obejmuje rozwiązania cząstkowe Algorytmy wszerz, w głąb, najpierw najlepszy są stosowalne w przestrzeniach rozwiązań cząstkowych Pożądana jest drzewiasta struktura przestrzeni A* jest odmianą najpierw najlepszy, która korzysta z sumy f. kosztu i f. heurystycznej

Idealna funkcja heurystyczna

Idealna funkcja heurystyczna

WANTED an oracle

Nieidealna funkcja heurystyczna

Funkcja heurystyczna (dla problemu minimalizacji) g(xi) h(xi) g(xj) h(xj) g(xs)=0 h(xs) g(xt) h(xt)=0 Nadmierny optymizm dopuszczalność: g(x)+h(x)<=g(xt) Błąd oszacowania malejący wraz ze zbliżaniem się do rozwiązania monotoniczność: g(xj)+h(xj)>=g(xi)+h(xi)

Funkcja kosztu i heurystyczna GdWaLPo Funkcja kosztu Funkcja heurystyczna Funkcja oceny 362 GdSz 170 GdOl 514 731 217 282 377 GdWa 659 Gd GdWaL GdWaLWr GdWaLKa GdWaBy 647 717 75 792 GdWaOl 589 GdWaBi 570 0 546546 GdBy 165 408 609 573 217 392 GdByL GdByWa 435 GdByLPo GdByLWr GdWaLu 443 GdWaKi 555 115 670 GdByLKa 585 75 660 780 GdByLKaWr GdByLKaKr 665 GdWaKiKr 671 GdWaLKaWr GdWaLKaKr 797

Funkcja kosztu Funkcja kosztu Funkcja heurystyczna Funkcja oceny 362 GdSz 170 GdOl 514 731 217 282 377 GdWa 659 Gd GdWaL GdWaLPo GdWaLWr GdWaLKa GdWaBy 647 717 75 792 GdWaOl 589 GdWaBi 570 0 546546 GdBy 165 408 609 573 217 392 GdByL GdByWa 435 GdByLPo GdByLWr GdWaLu 443 GdWaKi 555 115 670 GdByLKa 585 75 660 780 GdByLKaWr GdByLKaKr 665 GdWaKiKr 671 GdWaLKaWr GdWaLKaKr 797

Funkcja kosztu+heurystyczna GdWaLPo Funkcja kosztu Funkcja heurystyczna Funkcja oceny 362 GdSz 170 GdOl 514 731 217 282 377 GdWa 659 Gd GdWaL GdWaLWr GdWaLKa GdWaBy 647 717 75 792 GdWaOl 589 GdWaBi 570 0 546546 GdBy 165 408 609 573 217 392 GdByL GdByWa 435 GdByLPo GdByLWr GdWaLu 443 GdWaKi 555 115 670 GdByLKa 585 75 660 780 GdByLKaWr GdByLKaKr 665 GdWaKiKr 671 GdWaLKaWr GdWaLKaKr 797

Zagadnienie komiwojażera Gd 362 Sz 170 Ol 165 377 235 By 217 152 Po 203 Zg 186 156 270 319 227 Wa 137 178 L 209 Wr 212 Ki 193 195 116 Ka 80 Kr

Zagadnienie komiwojażera GdWaLPo 514 170 GdOl GdWaL GdWaLWr GdWaLKa GdWaBy 647 717 GdWaOl 589 362 GdSz 377 GdWa Gd GdWaBi 570 0 GdBy 165 392 GdByL GdByLPo GdByLWr GdByWa 435 GdWaLu 443 GdWaKi 555 GdByLKa 585 780 GdByLKaWr GdByLKaKr 665 GdWaKiKr 671 GdWaLKaWr GdWaLKaKr 797

Zagadnienie komiwojażera GdOlWaKiKrKaWrZgSzPoLByGd 2154 GdWaLPo 170 GdOl 362 GdSz 514 Gd GdWa 0 377 GdBy 165 392 GdByL GdByLPo GdByLWr GdWaL GdWaLKa GdWaBy 647 717 GdWaOl 589 GdWaKi 555 GdByWa 435 GdByLKa 585 780 GdByLKaWr GdWaLWr GdByLKaKr 665 GdWaKiKr 671 GdWaLKaWr GdWaLKaKr 797

Zagadnienie komiwojażera GdOlWaKiKrKaWrZgSzPoLByGd 2154 GdWaLPo 170 GdOl 362 GdSz Gd 514 GdWa 0 377 GdBy 165 392 GdByL GdByLPo GdByLWr GdWaL GdWaLKa GdWaBy 647 717 GdWaOl 589 GdWaKi 555 GdByWa 435 GdByLKa 585 780 GdByLKaWr GdByLPoSzZgWrKaKrKiWaOlGd 2154 GdWaLWr GdByLKaKr 665 GdWaKiKr 671 GdWaLKaWr GdWaLKaKr 797

Zagadnienie komiwojażera Gd 362 Sz 170 Ol 165 377 235 By 217 152 Po 203 Zg 186 156 270 319 227 Wa 137 178 L 209 Wr 212 Ki 193 195 116 Ka 80 Kr

Zagadnienie komiwojażera GdOlWaKiKrKaWrZgSzPoLByGd 2154 GdWaLPo 170 GdOl 362 GdSz 1315 720 595 GdByLPo 514 960 Gd 0 1192 800 392 GdByL GdByLWr GdWa GdWaL GdWaLKa GdWaBy 647 717 GdWaOl 589 377 1045 GdWaKi GdBy 165 555 880 GdByWa 435 GdByLKa 585 780 GdByLKaWr GdByLPoSzZgWrKaKrKiWaOlGd 2154 GdWaLWr GdByLKaKr 665 GdWaKiKr 671 GdWaLKaWr GdWaLKaKr 797

Zagadnienie komiwojażera Gd 362 Sz 170 Ol 165 377 235 By 217 152 Po 203 Zg 186 156 270 319 227 Wa 137 178 L 209 Wr 212 Ki 193 195 116 Ka 80 Kr 80 116 137 152 156 165 170 178 186 193 195 203

Funkcja heurystyczna Gd 362 Sz 170 Ol 165 377 235 By 217 152 Po 203 Zg 186 156 270 319 227 Wa 137 178 L 209 Wr 212 Ki 193 195 116 Ka 80 Kr Posortowana lista wag krawędzi 80 116 137 152 156 165 170 178 186 193 195 203 1931

Koszt ścieżki a funkcja heurystyczna Gd 362 Sz 170 Ol 165 377 235 By 217 152 Po 203 Zg 186 156 270 319 227 Wa 137 178 L 209 Wr 212 Ki 193 195 116 Ka 80 Kr 80 116 137 152 156 165 170 178 186 193 195 203 1761 170 1931

Koszt ścieżki a funkcja heurystyczna Gd 362 Sz 170 Ol 165 377 235 By 217 152 Po 203 Zg 186 156 270 319 227 Wa 137 178 L 209 Wr 212 Ki 193 195 116 Ka 80 Kr 80 116 137 152 156 165 170 178 186 193 195 203 1558 382 1940

Koszt ścieżki a funkcja heurystyczna Gd 362 Sz 170 Ol 165 377 235 By 217 152 Po 203 Zg 186 156 270 319 227 Wa 137 178 L 209 Wr 212 Ki 193 195 116 Ka 80 Kr 80 116 137 152 156 165 170 178 186 193 195 203 1380 560 1940

Zagadnienie komiwojażera GdOlWaKiKrKaWrZgSzPoLByGd 2154 GdWaLPo 170 GdOl 362 GdSz 1963 1368 595 GdByLPo 514 1931 Gd 0 1955 1563 392 GdByL GdByLWr GdWa GdWaL GdWaLKa GdWaBy 647 717 GdWaOl 589 377 1931 GdWaKi GdBy 165 1766 555 GdByWa 435 GdByLKa 585 780 GdByLKaWr GdByLPoSzZgWrKaKrKiWaOlGd 2154 GdWaLWr GdByLKaKr 665 GdWaKiKr 671 GdWaLKaWr GdWaLKaKr 797

Zagadnienie komiwojażera inaczej ABCDFE ABCDEF ABCDFE ABDCEF ABDCFE ADBCFE ADBCEF ABDECF ADBECF Funkcja kosztu suma wag pełnego cyklu Funkcja heurystyczna?

Zagadnienie komiwojażera inaczej 2134 1234 1243 2143 1324 2413 2341 1342 2431 1432 2314 1423 3214 4123 3241 4132 3124 4213 3142 3412 4312 3421 4231 4321 Funkcja kosztu suma wag pełnego cyklu. Funkcja heurystyczna?

Przykład - piętnastka 1 3 12 1 2 3 4 13 14 5 15 6 8 7 10 11 4 13 12 5 6 7 14 11 8 9 2 15 10 Jaka jest reprezentacja rozwiązania? Co jest funkcją kosztu? Czy jest tu miejsce na funkcję heurystyczną? 9

Piętnastka - przestrzeń przeszukiwań

Solving 15 puzzle attempt #1

Przykład - piętnastka 1 3 12 1 2 3 4 13 14 5 15 6 8 7 10 11 4 13 12 5 6 7 14 11 8 9 2 15 10 9 Reprezentacja rozwiązania stan planszy Funkcja kosztu Liczba elementów nieprawidłowo umiejcowionych Funkcja heurystyczna? 12

Piętnastka przestrzeń przeszukiwań - D L LD DL DD R DR RD RR

Przykład - piętnastka 1 3 12 1 2 3 4 13 14 5 15 6 8 7 10 11 4 13 12 5 6 7 14 11 8 9 2 15 10 9 Reprezentacja rozwiązania sekwencja ruchów Funkcja kosztu długość sekwencji Funkcja heurystyczna Liczba ruchów, którą trzebaby wykonać gdyby kafelki sobie nie przeszkadzały 30 2:4 4:2 5:4 6:2 7:2 8:2 10:2 11:2 12:4 13:2 14:2 15:2

Knapsack problem N items Each item has its weight wi>0 and profit pi>0 Choose items such that total profit is maximized and total weight does not exceed W n max i=1 x i pi n i=1 xi w i W x i {0,1}

Knapsack problem N items Each item has its weight wi>0 and profit pi>0 Choose items such that total profit is maximized and total weight does not exceed W n max i=1 x i pi n i=1 xi w i W x i {0,1}

Knapsack problem search space???? 0??? 1??? 00?? 000? 0000 0001 10?? 01?? 001? 0010 0011 010? 0100 0101 011? 0110 0111 100? 1000 1001 11?? 101? 1010 1011 110? 1100 1101 111? 1110 1111

Knapsack problem profit and heuristic function Profit function g( x)= i : x =1 pi i Heuristic function Items are sorted w.r.t. pi/wi (descending) h( x)= i : x =? y i pi i i : x =? y i w i=w i : x =1 xi w i i i y i [0,1]

Knapsack problem example profit and heuristic function Items i 1 2 3 4 5 6 pi 20 5 10 5 6 3 wi 6 2 5 3 4 3 pi/wi 3.33 2.5 2 1.66 1.5 1 W=13 Consider the solution Total profit: Total weight: Vector y: Heuristic function: x=? 0? 1? 1 g( x)= p 4 + p6 =5+3=8 w ( x )=w 4 +w 6 =3+3=6 y=[1,0,1/5,0,0,0] h( x)=20 1+10 1/5=22

Kiedy można mówić o funkcji heurystycznej Zadanie jest złożeniem składników Da się ocenić rozwiązanie cząstkowe Przestrzeń przeszukiwań obejmuje rozwiązania cząstkowe Algorytmy wszerz, w głąb, najpierw najlepszy są stosowalne w przestrzeniach rozwiązań cząstkowych Pożądana jest drzewiasta struktura przestrzeni A* jest odmianą najpierw najlepszy, która korzysta z sumy f. kosztu i f. heurystycznej