Podstawy sztucznej inteligencji

Podobne dokumenty
Sztuczna Inteligencja i Systemy Doradcze

Sztuczna Inteligencja i Systemy Doradcze

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

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

Rozwiązywanie problemów metodą przeszukiwania

Metody przeszukiwania

Wykład 7 i 8. Przeszukiwanie z adwersarzem. w oparciu o: S. Russel, P. Norvig. Artificial Intelligence. A Modern Approach

SZTUCZNA INTELIGENCJA

Rozwiązywanie problemów przez przeszukiwanie. w oparciu o: S. Russel, P. Norvig. Artificial Intelligence. A Modern Approach

Elementy kognitywistyki II:

WPROWADZENIE DO SZTUCZNEJ INTELIGENCJI

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

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

Heurystyki. Strategie poszukiwań

Heurystyczne metody przeszukiwania

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

Podstawy sztucznej inteligencji

Planowanie drogi robota, algorytm A*

Wprowadzenie do Sztucznej Inteligencji

Wprowadzenie do Sztucznej Inteligencji

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

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

Ogólne wiadomości o grafach

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

Data Mining Wykład 5. Indukcja drzew decyzyjnych - Indeks Gini & Zysk informacyjny. Indeks Gini. Indeks Gini - Przykład

Wprowadzenie do Sztucznej Inteligencji

Algorytmy dla gier dwuosobowych

Sztuczna Inteligencja i Systemy Doradcze

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

WYKŁAD 11 Uczenie maszynowe drzewa decyzyjne

Podstawy Sztucznej Inteligencji (PSZT)

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

Metoda podziału i ograniczeń

SID Wykład 4 Gry Wydział Matematyki, Informatyki i Mechaniki UW

Matematyczne Podstawy Informatyki

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

SZTUCZNA INTELIGENCJA

Algorytmy i str ruktury danych. Metody algorytmiczne. Bartman Jacek

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

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

Wstęp do Sztucznej Inteligencji

Algorytmiczna teoria grafów

Algorytmy i struktury danych. Drzewa: BST, kopce. Letnie Warsztaty Matematyczno-Informatyczne

Algorytmy z powrotami. Algorytm minimax

Problem 1 prec f max. Algorytm Lawlera dla problemu 1 prec f max. 1 procesor. n zadań T 1,..., T n (ich zbiór oznaczamy przez T )

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

Wykład 10 Grafy, algorytmy grafowe

Minimalne drzewa rozpinające

SID Wykład 1 Wprowadzenie

Podstawy sztucznej inteligencji

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

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

Wykład 6. Drzewa poszukiwań binarnych (BST)

Wykład 3. Złożoność i realizowalność algorytmów Elementarne struktury danych: stosy, kolejki, listy

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

SID Wykład 2 Przeszukiwanie

3. MINIMAX. Rysunek 1: Drzewo obrazujące przebieg gry.

wykład 2 Inteligentny agent i jego otoczenie Przeszukiwanie dla problem-solving dr inż. Joanna Kołodziejczyk Zakład Sztucznej Inteligencji ISZiMM

Konspekt. 15 października Wykład III (16 października 2014 r.): optymalizacja kombinatoryczna na grafach (metody sieciowe)

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

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

Algorytmika Problemów Trudnych

Informatyka 1. Wyrażenia i instrukcje, złożoność obliczeniowa

ĆWICZENIE 1: Przeszukiwanie grafów strategie heurystyczne

Filogeneza: problem konstrukcji grafu (drzewa) zależności pomiędzy gatunkami.

Drzewa binarne. Drzewo binarne to dowolny obiekt powstały zgodnie z regułami: jest drzewem binarnym Jeśli T 0. jest drzewem binarnym Np.

Wykorzystanie algorytmów mrówkowych w dynamicznym problem

Drzewa czerwono-czarne.

Porządek symetryczny: right(x)

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

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

Algorytmy i struktury danych

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

Wykład 2. Drzewa poszukiwań binarnych (BST)

Podstawy programowania 2. Temat: Drzewa binarne. Przygotował: mgr inż. Tomasz Michno

Wykład X. Programowanie. dr inż. Janusz Słupik. Gliwice, Wydział Matematyki Stosowanej Politechniki Śląskiej. c Copyright 2016 Janusz Słupik

Teoria obliczeń i złożoność obliczeniowa

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

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

Archipelag Sztucznej Inteligencji

Programowanie dynamiczne i algorytmy zachłanne

Algorytmy i struktury danych. Co dziś? Tytułem przypomnienia metoda dziel i zwyciężaj. Wykład VIII Elementarne techniki algorytmiczne

dodatkowe operacje dla kopca binarnego: typu min oraz typu max:

Analiza konstrukcji zawierających wskaźniki. Piotr Błaszyński

Algorytmy genetyczne

Data Warehouse Physical Design: Part III

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

Sieć (graf skierowany)

PRZESZUKIWANIE W GŁĄB ALGORYTM PRZYKŁAD - C.D. PRZYKŁAD PRZESZUKIWANIE W GŁĄB (DFS) PROJEKTOWANIE ALGORYTMÓW I METODY SZTUCZNEJ INTELIGENCJI

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

Przykłady problemów optymalizacyjnych

Systemy operacyjne. Laboratorium 8. Perl find

ZASADY PROGRAMOWANIA KOMPUTERÓW ZAP zima 2014/2015. Drzewa BST c.d., równoważenie drzew, kopce.

ALGORYTMY OPTYMALIZACJI TRAS PRZEJAZDU POJAZDÓW

Tworzenie gier na urządzenia mobilne

ALGORYTMY I STRUKTURY DANYCH

Algorytmy z powrotami

Schemat programowania dynamicznego (ang. dynamic programming)

ZŁOŻONOŚĆ OBLICZENIOWA ALGORYTMÓW

UNIWERSYTET GDAŃSKI MATERIAŁY DYDAKTYCZNE DO PRZEDMIOTU MATEMATYKA DYSKRETNA. pod redakcją: Hanna Furmańczyk Karol Horodecki Paweł Żyliński

Transkrypt:

wykład II Problem solving 03 październik 2012

Jakie problemy możemy rozwiązywać? Cel: Zbudować inteligentnego agenta planującego, rozwiązującego problem. Szachy Kostka rubika Krzyżówka Labirynt Wybór trasy

Przykład planowania trasy

Definiowanie problemu Stan początkowy initial state

Definiowanie problemu Stan początkowy initial state Operator(S) akcja/funkcja action(s) {a 1, a 2,..., a n }

Definiowanie problemu Stan początkowy initial state Operator(S) akcja/funkcja action(s) {a 1, a 2,..., a n } Wynik: result(s, a) S

Definiowanie problemu Stan początkowy initial state Operator(S) akcja/funkcja action(s) {a 1, a 2,..., a n } Wynik: result(s, a) S Czy wynik?: goaltest(s) True/False

Definiowanie problemu Stan początkowy initial state Operator(S) akcja/funkcja action(s) {a 1, a 2,..., a n } Wynik: result(s, a) S Czy wynik?: goaltest(s) True/False Koszt ścieżki (Funkcja addytywna): pathcost(s a i S a j S ) n stepcost(s, a i, S ) n

Definiowanie problemu na przykładzie planowania trasy

Przeszukiwanie drzewa - funkcja opisująca rodzinę algorytmów function TREE-SEARCH(problem) returns path Frontier = {path.initial state} loop: if frontier is empty then return FAIL path = remove_choice{frontier} S = path.end if goaltest(s) then return path for a Actions(S): add [path + a Result(S, a)] to frontier Ostatnia linijka opisuje procedurę rozwinięcia węzła (Stanu).

Przeszukiwanie wszerz dla drzew na przykładzie planowania trasy Wybiera ze stanów do rozwinięcia zawsze te stany, które są najbliżej.

Przeszukiwanie grafu - funkcja opisująca rodzinę algorytmów function GRAPH-SEARCH(problem) returns path Frontier = {path.initial state}, explored = {} loop: if frontier is empty then return FAIL path = remove_choice{frontier}, add S to explored S = path.end if goaltest(s) then return path for a Actions(S): add [path + a Result(S, a)] to frontier unless Result(S, a) is in frontier or explored Takie przeszukiwanie unika ponownego sprawdzania węzłów już odwiedzonych.

Przeszukiwanie wszerz dla grafu na przykładzie planowania trasy

Przeszukiwanie przy stałych kosztach dla grafu na przykładzie planowania trasy Wybiera ze stanów do rozwinięcia zawsze te ścieżki, które mają najmniejszy koszt.

Porównanie trzech strategii

Przewaga przeszukiwania w głąb (mało pamięci) Założenie: skończone/nieskończone drzewo do przeszukania.

A* Główne cechy algorytmu: Funkcja oceny dla A* gdzie: f (n) = g(n) + h(n) g(n) = koszt osiągnięcia bieżącego węzła n z węzła początkowego, koszt ścieżki h(n) = oszacowany koszt przejścia z węzła n do rozwiązania f (n) = oszacowany pełny koszt ścieżki przez węzeł n do rozwiązania

A* - przykład

A* - pytanie Czy zawsze znajduje ścieżkę o najmniejszym koszcie? tak, zawsze nie, zależy to od rozwiązywanego problemu nie, zależy od funkcji h

Przykład innej przestrzeni stanów Z ilu stanów składa się ten uproszczony świat?

Przykład innej przestrzeni stanów

A co jeżeli problem się komplikuje? Robot ma włącznik, który ma trzy stany {on, off, sleep} Czujnik brudu, który ma dwa stany {on, off } Ustawienie szczotek na 5 pozycji {1, 2, 3, 4, 5} Zamiast dwóch pól jest 10. Ile będzie stanów?

Kiedy przeszukiwanie/planowanie działa? Środowisko jest w pełni obserwowalne, musimy określić stan początkowy. Dziedzina musi być znana, by określić listę operatorów/akcji. Dziedzina musi być dyskretna Deterministyczna, musi być znany rezultat wykonania akcji. Statyczna, środowisko nie może się zmieniać.