SID Wykład 1 Wprowadzenie

Podobne dokumenty
Sztuczna Inteligencja i Systemy Doradcze

Sztuczna Inteligencja i Systemy Doradcze

Sztuczna Inteligencja i Systemy Doradcze

SID Wykład 2 Przeszukiwanie

Heurystyki. Strategie poszukiwań

Heurystyczne metody przeszukiwania

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

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

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

Elementy kognitywistyki II:

Stefan Sokołowski SZTUCZNAINTELIGENCJA. Inst. Informatyki UG, Gdańsk, 2009/2010

SZTUCZNA INTELIGENCJA

Podstawy sztucznej inteligencji

Podstawy sztucznej inteligencji

WPROWADZENIE DO SZTUCZNEJ INTELIGENCJI

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

Wstęp do Sztucznej Inteligencji

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

O badaniach nad SZTUCZNĄ INTELIGENCJĄ

Wprowadzenie do teorii systemów ekspertowych

wykład 1 Inteligentny agent i jego otoczenie Szukanie jako metoda rozwiązywania problemów dr inż. Joanna Kołodziejczyk

Elementy kognitywistyki II: Sztuczna inteligencja

O badaniach nad SZTUCZNĄ INTELIGENCJĄ

O badaniach nad SZTUCZNĄ INTELIGENCJĄ

Metody przeszukiwania

Wprowadzenie do Sztucznej Inteligencji

Wprowadzenie do Sztucznej Inteligencji

PRZEWODNIK PO PRZEDMIOCIE

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

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

Sztuczna inteligencja stan wiedzy, perspektywy rozwoju i problemy etyczne. Piotr Bilski Instytut Radioelektroniki i Technik Multimedialnych

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

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

Podstawy sztucznej inteligencji

METODY HEURYSTYCZNE wykład 2

Wprowadzenie do Sztucznej Inteligencji

METODY HEURYSTYCZNE wykład 1

METODY HEURYSTYCZNE wykład 1

Podstawy Sztucznej Inteligencji (PSZT)

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

SID Wykład 3 Przeszukiwanie iteracyjne

Sztuczna inteligencja - wprowadzenie

Elementy sztucznej inteligencji. Materiał udostępniony na prawach rękopisu

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

METODY HEURYSTYCZNE wykład 2

Historia sztucznej inteligencji. Przygotował: Konrad Słoniewski

Sztuczna Inteligencja (SI)

Rozwiązywanie problemów metodą przeszukiwania

Sztuczna inteligencja

SZTUCZNA INTELIGENCJA

Strategie przeszukiwania ślepe i heurystyczne

Wstęp do kognitywistyki. Wykład 3: Logiczny neuron. Rachunek sieci neuronowych

STRATEGIE HEURYSTYCZNE

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

Wysokość drzewa Głębokość węzła

Inteligencja. Władysław Kopaliśki, Słownik wyrazów obcych i zwrotów obcojęzycznych

Elementy kognitywistyki III: Modele i architektury poznawcze

Podstawy Sztucznej Inteligencji (PSZT)

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

Wstęp do programowania

METODY HEURYSTYCZNE wykład 1

Tworzenie gier na urządzenia mobilne

SZTUCZNA INTELIGENCJA

Festiwal Myśli Abstrakcyjnej, Warszawa, Czy SZTUCZNA INTELIGENCJA potrzebuje FILOZOFII?

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

Sztuczna inteligencja: aktualny stan i perspektywy rozwoju

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

Sztuczna inteligencja i logika. Podsumowanie przedsięwzięcia naukowego Kisielewicz Andrzej WNT 20011

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

Opis. Wymagania wstępne (tzw. sekwencyjny system zajęć i egzaminów) Liczba godzin zajęć dydaktycznych z podziałem na formy prowadzenia zajęć

Systemy uczące się wykład 1

PRZEWODNIK PO PRZEDMIOCIE

Jacek Skorupski pok. 251 tel konsultacje: poniedziałek , sobota zjazdowa

SZTUCZNA INTELIGENCJA

WIEDZA METODY INŻYNIERII WIEDZY KNOWLEDGE ENGINEERING AND DATA MINING. Adrian Horzyk. Akademia Górniczo-Hutnicza

KARTA MODUŁU KSZTAŁCENIA

Instytut Automatyki i Inżynierii Informatycznej Politechniki Poznańskiej. Adam Meissner. Elementy uczenia maszynowego

SZTUCZNA INTELIGENCJA

Wprowadzenie do Sztucznej Inteligencji

Planowanie drogi robota, algorytm A*

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

Sztuczna Inteligencja

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

Złożoność obliczeniowa algorytmu ilość zasobów komputera jakiej potrzebuje dany algorytm. Pojęcie to

Sztuczna inteligencja w grach

Metody Kompilacji Wykład 3

O ALGORYTMACH I MASZYNACH TURINGA

Algorytmy i Struktury Danych

METODY HEURYSTYCZNE wykład 1

Plan. Zakres badań teorii optymalizacji. Teoria optymalizacji. Teoria optymalizacji a badania operacyjne. Badania operacyjne i teoria optymalizacji

Metody Sztucznej Inteligencji Methods of Artificial Intelligence. Elektrotechnika II stopień ogólno akademicki. niestacjonarne. przedmiot kierunkowy

Uniwersytet w Białymstoku Wydział Ekonomiczno-Informatyczny w Wilnie SYLLABUS na rok akademicki 2012/2013

Porządek symetryczny: right(x)

Kognitywistyka: odkrywanie labiryntu umysłu z różnymi nićmi Ariadny w ręku

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

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

Modelowanie hierarchicznych struktur w relacyjnych bazach danych

Kolejka priorytetowa. Często rozważa się kolejki priorytetowe, w których poszukuje się elementu minimalnego zamiast maksymalnego.

ĆWICZENIE 1: Przeszukiwanie grafów strategie heurystyczne

Narzędzia AI. Jakub Wróblewski Pokój SZTUCZNA INTELIGENCJA (ARTIFICIAL INTELLIGENCE)

Transkrypt:

SID Wykład 1 Wprowadzenie Wydział Matematyki, Informatyki i Mechaniki UW slezak@mimuw.edu.pl

Program przedmiotu algorytmy heurystyczne problemy optymalizacyjne strategie w grach wnioskowanie w logice planowanie systemy decyzyjne i uczace się sieci neuronowe zbiory rozmyte i przybliżone sieci bayesowskie...

Literatura Stuart Russell, Peter Norvig Artificial Intelligence: A Modern Approach Prentice Hall 2003, wydanie II http://aima.cs.berkeley.edu George Luger Artificial Intelligence: Structures and Strategies for Complex Problem Solving Addison Wesley 2005, wydanie V http://www.cs.unm.edu/ luger/ai-final Tom Mitchell Machine Learning McGraw Hill 1997 http://www-2.cs.cmu.edu/ tom/mlbook.html

Co to znaczy Sztuczna Inteligencja? Turing (1950) Computing machinery and intelligence : Czy maszyny moga myśleć? Czy maszyny moga zachowywać się inteligentnie? Operacyjny test na inteligentne zachowanie: HUMAN HUMAN INTERROGATOR? AI SYSTEM Problem: test Turinga nie jest powtarzalny, konstruktywny, lub poddawalny matematycznej analizie

Co to znaczy Sztuczna Inteligencja? Turing (1950) Computing machinery and intelligence : Zapowiadał, że przed rokiem 2000 maszyna będzie mieć 30% szans na udane imitowanie inteligencji człowieka przez 5 minut wobec przeciętnej osoby Przewidział wszystkie główne argumenty skierowane przeciwko sztucznej inteligencji w ciagu kolejnych 50 lat Zaproponował jako główne elementy SI: wiedzę, wnioskowanie, język, rozumienie, uczenie

Symulowanie ludzkiego myślenia Lata 60-te rewolucja kognitywna : psychologia przetwarzania informacji zastapiła dominujac a koncepcję behawioryzmu Wymaga naukowych teorii o wewnętrznym działaniu umysłu: Jaki poziom abstrakcji? Wiedza czy układy? Jak weryfikować? Wymaga: 1 Przewidywania i testowania zachowania ludzkiego podmiotu (top-down) 2 Bezpośredniego rozpoznawania na podstawie sygnałów neurologicznych (bottom-up) Żadne z tych dwu podejść (Nauka Kognitywna oraz Nauka Neurokognitywna) nie jest Sztuczna Inteligencja, ale wszystkie trzy maja wspólna cechę: dotychczasowe teorie nie wyjaśniaja niczego przypominajacego typowa ludzka inteligencję

Myślenie racjonalne Normatywne (lub wyznaczone) raczej niż opisowe Arystoteles: jakie sa poprawne argumenty/procesy myślowe? Kilka greckich szkół rozwinęło różne formy logiki: notację i reguły wnioskowania dla myśli mogły one stanowić poprzedzenie idei mechanizacji Bezpośrednia linia prowadzaca do współczesnej SI została wyznaczona przez matematykę i filozofię Problemy: 1 Nie wszystkie inteligentne zachowania sa zwiazane z logicznym wnioskowaniem 2 Jaki jest cel myślenia? Jakie myśli powinienem mieć?

Prehistoria Sztucznej Inteligencji Filozofia Matematyka Psychologia Ekonomia Lingwistyka Neuronauka Teoria sterowania logika, metody wnioskowania umysł jako fizyczny system podstawy uczenia, języka, racjonalności formalna reprezentacja i dowód algorytmy, obliczenia, (nie-)rozstrzygalność, (nie-)konstruktywność prawdopodobieństwo adaptacja zjawisko postrzegania i kontroli motorycznej techniki eksperymentalne (psychofizyka, etc.) formalna teoria podejmowania racjonalnych decyzji reprezentacja wiedzy gramatyka podłoże fizyczne aktywności umysłowej systemy homeostatyczne, stabilność proste projekty optymalnych agentów

Ścisła historia Sztucznej Inteligencji 1943 McCulloch & Pitts: Model mózgu jako układ boolowski 1950 Artykuł Turinga Computing Machinery and Intelligence 1952 69 Okres rozkwitu: 1950s Wczesne programy SI, w tym program grajacy w warcaby Samuela, Logic Theorist Newella i Simona, Geometry Engine Gelertner a 1956 Spotkanie w Dartmouth: powstaje termin Sztuczna Inteligencja 1965 Pełna metoda rezolucji Robinsona do wnioskowania w logice I rzędu 1966 74 Złożoność obliczeniowa, badania sieci neuronowych zanikaja 1969 79 Wczesny rozwój systemów opartych na wiedzy 1980 88 Przemysłowy boom systemów doradczych 1988 93 Przemysł systemów doradczych przeżywa regresję: Zima SI 1985 95 Sieci neuronowe wracaja do popularności 1988 rozwój badań zwiazanych z prawdopodobieństwem ogólny wzrost poziomu zaawansowania technicznego systemów nowości SI : sztuczne życie, algorytmy genetyczne, soft computing 1995 systemy wieloagentowe...

Co SI potrafi dzisiaj Rozegrać przyzwoity mecz tenisa stołowego Prowadzić samochód po krętej, górskiej drodze Prowadzić samochód w centrum Kairu Zrobić zakupy spożywcze na tydzień w supermarkecie Berkeley Bowl Zrobić zakupy spożywcze na tydzień w internecie Rozegrać przyzwoita partię brydża Odkryć i udowodnić nowe twierdzenie matematyczne Wymyślić zabawna historię Udzielić kompetentnej porady prawnej w wyspecjalizowanym zakresie prawa Tłumaczyć mówiony angielski na mówiony szwedzki w czasie rzeczywistym Wykonać skomplikowana operację chirurgiczna

Modelowanie problemów praktycznych Reprezentacja problemu: stany: reprezentuja opisy różnych stanów świata rzeczywistego akcje: reprezentuja działania zmieniajace bieżacy stan koszt akcji ( 0): reprezentuje koszt zwiazany z wykonaniem akcji Świat rzeczywisty jest ogromnie złożony: przestrzeń stanów dla problemu musi być wyabstrahowana z rzeczywistości, pojedyncze akcje w opisie problemu musza reprezentować złożone operacje rzeczywiste

Modelowanie problemów praktycznych Sformułowanie problemu: stan poczatkowy: poczatkowy stan przed rozwiazaniem problemu cel: stan docelowy lub formuła oceniajaca, czy dany stan spełnia cel rozwiazanie: ciag akcji prowadzacy od stanu poczatkowego do celu koszt rozwiazania: funkcja oceny kosztu rozwiazania równa sumie kosztów poszczególnych akcji występujacych w rozwiazaniu Rozwiazania o niższym koszcie sa lepsze niż rozwiazania o wyższym koszcie.

Przykład problemu: Rumunia Oradea 71 Neamt 75 Zerind 151 Arad 140 Sibiu 99 Fagaras 118 80 Timisoara Rimnicu Vilcea 111 Lugoj 97 Pitesti 211 70 Mehadia 75 Dobreta 120 146 101 85 138 Bucharest 90 Craiova Giurgiu 87 Iasi 92 142 98 Urziceni Vaslui Hirsova 86 Eforie

Przykład problemu: Rumunia Obecnie w Aradzie. Samolot odlatuje jutro z Bukaresztu Reprezentacja problemu: stany: miasta {Arad, Sibiu, Tibisoara, Zerind,...} akcje: przejazdy pomiędzy dwoma miastami, np. Arad Zerind koszt akcji: odległość pomiędzy dwoma miastami Sformułowanie problemu: stan poczatkowy: Arad stan docelowy: Bukareszt rozwiazanie: ciag przejazdów, np. Arad Sibiu Fagaras Bukareszt koszt rozwiazania: suma kilometrów pomiędzy kolejnymi miastami

Przykład problemu: sprzatanie L R R L S S R R L R R L L S S S S L R R L S S stany: stan pomieszczeń (czysto/brudno) i lokalizacja robota akcje: Lewo, Prawo, Odkurzaj, NicNieRob cel: czysto koszt rozwiazania: 1 dla każdej akcji (0 dla nicnierob)

Przykład problemu: 8-elementowe puzzle stany: rozmieszczenia puzzli akcje: przesuń puste miejsce w prawo, w lewo, w górę, w dół cel: wybrane rozmieszczenie puzzli 7 2 4 51 2 3 koszt rozwiazania: 1 za każdy ruch 5 6 4 5 6 Uwaga: 8 3 1 7 8 znalezienie optymalnego rozwiazania dla rodziny problemów n-elementowych puzzli jest NP-trudne Start State Goal State

Przykład problemu: montaż przy użyciu robota P R R R R R stany: rzeczywiste współrzędne katów w złaczeniach robota, elementy do zmontowania akcje: ciagłe ruchy złaczy robota cel: kompletny montaż koszt rozwiazania: czas montażu

Przykład problemu: Maximum Satisfiability problem (MAX-SAT) (p 11 p 12... p 1k1 ) (p 21 p 22... p 2k2 )... (p n1 p n2... p nkn ) gdzie p ij sa literałami. stany: wartościowania zmiennych zdaniowych cel: określenie maksymalnej liczby klauzul danej formuły logicznej, które moga być spełnione dla dowolnie wybranego wartościowania zmiennych zdaniowych koszt rozwiazania: liczba klauzul niespełnionych

Przeszukiwanie drzewa stanów Prosty pomysł Symulowanie offline przeszukiwania przestrzeni stanów poprzez generowanie następników wcześniej odwiedzonych stanów (znane również jako ekspansja stanów)

Przeszukiwanie drzewa stanów function TREE-SEARCH(problem, strategy) returns a solution, or failure initialize the search tree using the initial state of problem loop if there are no candidates for expansion then return failure end if choose a leaf node for expansion according to strategy if the node contains a goal state then return the corresponding solution else expand the node and add the resulting nodes to the search tree end if end loop end function

Przykład przeszukiwania drzewa stanów Arad Sibiu Timisoara Zerind Arad Fagaras Oradea Rimnicu Vilcea Arad Lugoj Arad Oradea

Przykład przeszukiwania drzewa stanów Arad Sibiu Timisoara Zerind Arad Fagaras Oradea Rimnicu Vilcea Arad Lugoj Arad Oradea

Przykład przeszukiwania drzewa stanów Arad Sibiu Timisoara Zerind Arad Fagaras Oradea Rimnicu Vilcea Arad Lugoj Arad Oradea

Implementacja: stany vs. węzły Stan jest fizyczna konfiguracja (jej reprezentacja) Węzeł jest struktura danych stanowiac a część drzewa przeszukiwań zawiera poprzednik (parent), następniki, głębokość (depth) oraz koszt ścieżki od korzenia (g) State 5 6 7 4 1 3 8 2 state parent, action depth = 6 Node g = 6 Stany nie maja poprzedników, następników, głębokości i kosztu ścieżki! Funkcja SuccessorFn zwraca jako wynik zbiór akcji możliwych do wykonania w danym stanie wraz ze stanami osiaganymi po wykonaniu akcji. Funkcja Expand tworzy nowe węzły i wypełnia ich pola używajac funkcji.

Implementacja: przeszukiwanie drzewa stanów function TREE-SEARCH(problem, fringe) returns a solution, or failure fringe INSERT(MAKE-NODE(INITIAL-STATE[problem]), fringe) loop if fringe is empty then return failure end if node REMOVE-FRONT(fringe) if GOAL-TEST[problem] applied to STATE(node) succeeds then return node end if fringe INSERT-ALL(EXPAND(node, problem), fringe) end loop end function function EXPAND(node, problem) returns a set of nodes successors the empty set for each action, result in SUCCESSOR-FN[problem](STATE[node]) do s a new NODE PARENT-NODE[s] node; ACTION[s] action; STATE[s] result PATH-COST[s] PATH-COST[node] + STEP-COST(node, action, s) DEPTH[s] DEPTH[node] + 1 add s to successors end for end function

Strategie przeszukiwania Strategia jest definiowana poprzez wybór kolejności ekspansji stanów. Strategie sa ocenianie według następujacych kryteriów: zupełność czy zawsze znajduje rozwiazanie, jeśli ono istnieje? złożoność czasowa liczba wygenerowanych węzłów złożoność pamięciowa maksymalna liczba węzłów w pamięci optymalność czy znajduje rozwiazanie o minimalnym koszcie? Złożoność czasowa i pamięciowa sa mierzone w terminach: b maksymalnego rozgałęzienia drzewa przeszukiwań d głębokość rozwiazania o najmniejszym koszcie m maksymalnej głębokości drzewa przeszukiwań (może być )

Rodzaje strategii przeszukiwania Strategie ślepe korzystaja z informacji dostępnej jedynie w definicji problemu: Przeszukiwanie wszerz Strategia jednolitego kosztu Przeszukiwanie wgłab Przeszukiwanie ograniczone wgłab Przeszukiwanie iteracyjnie pogłębiane Przeszukiwanie dwukierunkowe

Rodzaje strategii przeszukiwania Strategie heurystyczne korzystaja z dodatkowej, heurystycznej funkcji oceny stanu, np. szacujacej koszt rozwiazania od bieżacego stanu do celu: Przeszukiwanie zachłanne Przeszukiwanie A Rekurencyjne przeszukiwanie pierwszy najlepszy Przeszukiwanie lokalne zachłanne (hill-climbing) Symulowane wyżarzanie Algorytm genetyczny

Przeszukiwanie wszerz Wykonuje ekspansję najpłytszego węzła spośród tych, które nie były jeszcze rozszerzone (implementacja: fringe jest kolejka FIFO, tzn. nowe następniki dodawane sa na koniec kolejki). function TREE-SEARCH(problem, fringe) returns a solution, or failure fringe INSERT(MAKE-NODE(INITIAL-STATE[problem]), fringe) loop if fringe is empty then return failure end if node REMOVE-FRONT(fringe) if GOAL-TEST[problem] applied to STATE(node) succeeds then return node end if fringe INSERT-ALL(EXPAND(node, problem), fringe) end loop end function

Strategia jednolitego kosztu Wykonuje ekspansję węzła o najmniejszym koszcie spośród tych, które nie były jeszcze rozszerzone. Implementacja fringe jest kolejka priorytetowa porzadkuj ac a węzły według kosztu ścieżki od korzenia Odpowiada przeszukiwaniu wszerz jeśli koszt wszystkich pojedynczych akcji jest ten sam.

Strategia jednolitego kosztu Arad

Strategia jednolitego kosztu Arad 75 140 118 Zerind Sibiu Timisoara

Strategia jednolitego kosztu Arad 75 140 118 Zerind Sibiu Timisoara 75 71 Arad Oradea

Strategia jednolitego kosztu Arad 75 140 118 Zerind Sibiu Timisoara 75 71 118 111 Arad Oradea Arad Lugoj

Przeszukiwanie dwukierunkowe Wykonuje równolegle dwa przeszukiwania: 1 przeszukiwanie wprzód od stanu poczatkowego 2 przeszukiwanie w tył od stanu końcowego Start Goal

Dziękuję za uwagę!