Co to jest SI? The excitingnew efforttomake computers think... machines with minds in the full and literal sense (Haugeland 1985) [The automation of] activities that we associate with human thinking activities such as decision-making problem solving learning... (Bellman 1978) The art of creating machines that perform functions that require intelligence when performed by people (Kurzweil 1990) The study of how to make computers do things at which at the moment people are better (Rich and Knight 1991) The study of mental faculties through the use of computational models (Charniak and McDermott 1985) The study of the computations that make it possible to perceive reason and act (Winston 1992) A field of study that seeks to explain and emulate intelligent behavior in terms of computational processes (Schalkoff 1990) The branch of computer science that is concerned with the automation of intelligent behavior (Luger and Stubblefield 1993) 1. Systemy symuluj ace ludzkie myslenie. Systemy symuluj ace ludzkie myslenie: jak ludzie mysl a (psychologia poznawcza). Systemy symuluj ace ludzkie dzia lanie: jak ludzie dzia laj a (j ezyk naturalny reprezentacja wiedzy automatyczne wnioskowanie i uczenie si e rozpoznawanie obiektow). Systemy symuluj ace racjonalne myslenie: jak powinno si e racjonalnie myslec (logika). 2. Systemy symuluj ace racjonalne myslenie. 3. Systemy symuluj ace ludzkie dzia lanie. Systemy symuluj ace racjonalne dzia lanie: jak powinno si e racjonalnie dzia lac (logika teoria podejmowania decyzji dzia lanie w warunkach niepe lnej informacji). 4. Systemy symuluj ace racjonalne dzia lanie. 2 3 Zalety rozwa_zania SI jako konstruowanie systemow dzia laj acych racjonalnie Poj ecie dzia lania jest ogolniejszeodpoj ecia myslenia. Poj ecie \racjonalny" jest lepiej okreslone ni_z poj ecie \ludzki". Filozoa. Podstawy SI Matematyka (twierdzenie Godla). Psychologia. Informatyka (z lo_zonosc obliczeniowa problemy NP-zupe lne). Racjonalnie dzia laj acy obiekt = AGENT Lingwistyka. 4 5
Historia SI 1. Pocz atki (1943-1956) (a) W. McCulloch & W. Pitts (1943). Pierwszy model sieci neuronowej do symulacji dzia lania mozgu. (b) A. Turing (1950). Artyku l: Computing Machinery and Intelligence. Mind 59. (c) A. Newell & H. Simon (1952). Logic Theorist { pierwszy program dowodz acy twierdzenia. (d) J. McCarthy (1956). Termin \sztuczna inteligencja". 2. Wczesny entuzjazm (1952-1969) (a) A. Samuel (1952). Samoucz acy si eprogram graj acy w warcaby. (b) J. McCarthy (1958). J ezyk LISP. \Advise Taker" { pierwszy program wykorzystuj acy baz e wiedzy oswiecie. (c) A. Newell & H. Simon (1961). Program \GPS" (General Problem Solver). Pierwszy program rozwi azuj acy problemy przy u_zyciu technik typowych dla ludzi. (d) J. Robinson (1965) Metoda rezolucji. (e) C. Green (1969). Podstawy programowania w logice. 6 7 3. Czas reeksji (1966-1970) (a) Systemy symuluj ace inteligentne dzia lanie wymagaj a du_zej wiedzy oswiecie. (b) Posiadanie algorytmu nie zawsze gwarantuje znalezienia rozwi azania. (Z lo- _zonosc obliczeniowa.) 4. Systemy zwiedz a oswiecie (1969-1979) (a) Pierwsze systemydoradcze. DENDRAL (analiza chemiczna) MYCIN (infekcje bakteryjne). (b) System konwersacyjny LUNAR. Odpowiada lnapytania dotycz ace probek znalezionych przez stacj e Apollo. (c) Nowe formalizmy reprezentacji wiedzy: ramy i sieci semantyczne. 8 5. Przemys l SI(1980-1988) (a) Pierwszy komercyjny system doradczy R1 (McDermott 1982). Kongurowa l komputery rmy DEC. Szacuje si e _ze przynosi l zysk rz edu 40 mln $ rocznie. (b) Japonski projekt \komputery pi atej generacji". 6. Ostatnie lata (1980 { ) (a) Wnioskowanie niemonotoniczne. (b) Wnioskowanie probabilistyczne. (c) U_zycie sieci neuronowych i algorytmow genetycznych do automatyzacji uczenia si e. (d) Formalizacja jednoczesnie dzia laj acych agentow. 9
7. Stan dzisiejszy RACJONALNY AGENT (a) DEEP BLUE { program szachowy o wspo lczynniku FIDE 2700. sensors (b) PEGASUS { system analizy i syntezy mowy. (c) MARVEL { system do obrobki danych otrzymywanych ze stacji kosmicznych. environment percepts actions effectors? agent (d) PROMETHEUS { system wspomagaj a- cy prac e kierowcy. RACJONALNOSC 6= NIEOMYLNOSC! 10 11 Miara skutecznosci (ang. performance measure): jak skuteczny jest agent. Ci ag obserwacji (ang. percept sequence): wszystkie dotychczasowe obserwacje agenta. Wiedza o srodowisku. Repertuar dzia lan (akcji). Idealnie racjonalny agent: Idealnie racjonalny agent powinien wykonac dzia lanie prowadz ace do maksymalizacji miary skutecznosci w oparciu o dany ci ag obserwacji i wiedz e o srodowisku w ktorym dzia la. Jak wyspecykowac racjonalnego agenta? Podaj ac odwzorowanie ze zbioru ci agow obserwacji w zbior dopuszczalnych dzia lan. Uwaga: Powy_zsze odwzorowanie nie musi byc podane w postaci tablicy. Przyk lad: Agent obliczaj acy pierwiastek kwadratowy z liczby dodatniej = prosty program. Autonomicznosc: wykorzystywanie obserwacji przy wyborze odpowiedniego dzia lania. 12 13
Struktura racjonalnego agenta Szkielet programu symuluj acego agenta: AGENT = ARCHITEKTURA + PROGRAM function SKELETON-AGENT( percept) returns action static: memory the agent s memory of the world memory UPDATE-MEMORY(memory percept) action CHOOSE-BEST-ACTION(memory) memory UPDATE-MEMORY(memory action) return action Przyk lady agentow Agent Type Percepts Actions Goals Environment Medical diagnosis system Symptoms findings patient s answers Questions tests treatments Healthy patient minimize costs Patient hospital Program symuluj acy agenta nie powinien sprowadzac sie do przegl adania tablicy: Satellite image analysis system Part-picking robot Pixels of varying intensity color Pixels of varying intensity Print a categorization of scene Pick up parts and sort into bins Correct categorization Place parts in correct bins Images from orbiting satellite Conveyor belt with parts function TABLE-DRIVEN-AGENT( percept) returns action static: percepts a sequence initially empty table a table indexed by percept sequences initially fully specified append percept to the end of percepts action LOOKUP( percepts table) return action Refinery controller Temperature pressure readings Open close valves; adjust temperature Maximize purity yield safety Refinery Interactive English tutor Typed words Print exercises suggestions corrections Maximize student s score on test Set of students Regu la produkcyjna: if swiat lo czerwone then stoj. 14 15 Rodzaje agentow 1. Prosty agent reaktywny: Reaguje wy l acznie na bie_z ac a obserwacj e. Nie przechowuje aktualnego stanu swiata. 2. Agent reaktywny: Reaguje na bie_z ac a obserwacj e w oparciu o aktualny stan swiata. Agent Condition action rules Sensors What the world is like now What action I should do now Environment State How the world evolves What my actions do Condition action rules Agent Sensors What the world is like now What action I should do now Effectors Environment Effectors function SIMPLE-REFLEX-AGENT( percept) returns action static: rules a set of condition-action rules state INTERPRET-INPUT( percept) rule RULE-MATCH(state rules) action RULE-ACTION[rule] return action function REFLEX-AGENT-WITH-STATE( percept) returns action static: state a description of the current world state rules a set of condition-action rules state UPDATE-STATE(state percept) rule RULE-MATCH(state rules) action RULE-ACTION[rule] state UPDATE-STATE(state action) return action 16 17
3. Agent realizuj acy cel: konstruuje plan w celu osi agni ecia pewnego celu. 4. Agent optymalny: realizuje pewien cel w sposob optymalny. State Sensors State Sensors How the world evolves What my actions do Goals What the world is like now What it will be like if I do action A What action I should do now Environment How the world evolves What my actions do Utility What the world is like now What it will be like if I do action A How happy I will be in such a state What action I should do now Environment Agent Effectors Agent Effectors 18 19 W lasnosci srodowisk Dost epne niedost epne (accessible inaccessible). Deterministyczne niedeterministyczne (deterministic nondeterministic). Modularne niemodularne (episodic nonepisodic). Statyczne dynamiczne semidynamiczne (static dynamic semidynamic). Dyskretne ci ag le (discrete continuous). Przyk lady srodowisk Environment Accessible Deterministic Episodic Static Discrete Chess with a clock Yes Yes No Semi Yes Chess without a clock Yes Yes No Yes Yes Poker No No No Yes Yes Backgammon Yes No No Yes Yes Taxi driving No No No No No Medical diagnosis system No No No No No Image-analysis system Yes Yes Yes Semi No Part-picking robot No No Yes No No Refinery controller No No No No No Interactive English tutor No No No No Yes Symulator srodowiska procedure RUN-ENVIRONMENT(state UPDATE-FN agents termination) inputs: state the initial state of the environment UPDATE-FN function to modify the environment agents a set of agents termination a predicate to test when we are done repeat for each agent in agentsdo PERCEPT[agent] GET-PERCEPT(agent state) end for each agent in agentsdo ACTION[agent] PROGRAM[agent](PERCEPT[agent]) end state UPDATE-FN(actions agents state) until termination(state) 20 21
Rozwi azywanie problemow Podstawowe fazy: 1. Sformu lowanie celu. 2. Sformu lowanie problemu. 3. Znalezienie rozwi azania. 4. Wykonanie. Rodzaje problemow Scenariusz (\vacuum world"): 1 2 3 4 5 6 function SIMPLE-PROBLEM-SOLVING-AGENT( p) returns an action inputs: p a percept static: s an action sequence initially empty state some description of the current world state g a goal initially null problem a problem formulation state UPDATE-STATE(state p) if s is empty then g FORMULATE-GOAL(state) problem FORMULATE-PROBLEM(state g) s SEARCH( problem) action RECOMMENDATION(s state) s REMAINDER(s state) return action 7 8 Cel: Wyczyscic oba pokoje. (f78g) Akcje: Left Right Suck. 22 23 1. Problemy zpe ln a informacj a: agent wie w jakim stanie si e znajduje i zna efekty wszystkich akcji. Przyk lad: Agent wie _ze znajduje si e w stanie 5. Jesli zna efekty akcji to rownie_z wie _ze sekwencja Left Suck prowadzi do stanu koncowego. 2. Problemyzniepe ln a informacj a o stanie pocz atkowym. Przyk lad: Agent nie zna stanu pocz atkowego. Tym niemniej jesli zna efekty akcji wie _ze ci ag Right Suck Left Suck zawsze prowadzi do stanu koncowego. 3. Problemy z niepe ln ainformacj azarowno o stanie pocz atkowym jak i efektach akcji. Przyk lad: Zak ladamy _ze Suck czyscibrudny pokoj ale rozsypuje kurz jesli pokoj jest czysty. Agent wie _ze znajduje si e w stanie 1 lub 3. Potra stwierdzic czy dany pokoj jest czysty czy nie tylko jesli si e w tym pokoju znajduje. Nie ma ci agu akcji gwarantuj acego stan koncowy. W celu rozwi azania zadania nale_zy najpierw wykonac akcje Suck Right sprawdzic czy pokoj jest brudny i jesli tak wykonac akcj e Suck. 24 25
Deniowanie problemow 1. Problemy z pe ln a informacj a o stanie pocz atkowym. Stan pocz atkowy zbior akcji (operatorow) funkcja celu (pozwala stwierdzic czy dany stan jest stanem koncowym) i funkcja kosztu (mierzy efektywnosc rozwi azania). 2. Problemyzniepe ln a informacj a o stanie pocz atkowym. Zbior stanow pocz atkowych zbior akcji funkcja celu i funkcja kosztu. Przestrzen stanow problemu: Zbior wszystkich stanow osi agalnych ze zbioru stanow pocz atkowych w wyniku wykonywania wszystkich mo_zliwych ci agow akcji. 26 Struktura danych opisuj aca problem: datatype PROBLEM components: INITIAL ; STATE(S) OP ERAT ORS GOAL ; TEST PATH ; COST ; FUNCTION Zasada abstrakcji: Problem powinien byc o- pisany na w lasciwym poziomie abstrakcji. Nale- _zy unikac zarowno zbyt szczego lowego jak i zbyt ogolnego opisu. 27 Przyk lady problemow Problem osmiu hetmanow Cel: Ustawic 8 hetmanow tak aby si e nie szachowa ly. Funkcja kosztu: 0. Stany: Dowolny uk lad od 0 do 8 hetmanow na szachownicy Akcje: Po lo_z hetmana na dowolne pole. Przy tej specykacji mamy64 8 mo_zliwych sekwencji akcji. Problem z odkurzaczem 1. Przy za lo_zeniu pe lnej informacji: Stany: Jeden z osmiu stanow wyst epuj acych na rysunku poni_zej. Akcje: Left Right Suck. Cel: Oba pokoje czyste. Koszt: Liczba wykonanych akcji. Przestrzen stanow: L S R L S R Stany: Dowolny uk lad 8 hetmanow ka_zdy w innej kolumnie. Akcje: Przesun szachowanego hetmana na inne pole w tej samej kolumnie. Ten opis znacznie redukuje liczb e kombinacji. L S R L L S S R R L L S S R R L S R 28 29
2. Niepe lna informacja o stanie pocz atkowym: Stany: Podzbior stanow 1 { 8. Akcje cel koszt: jak wy_zej. Przestrzen stanow: L R Przeszukiwanie przestrzeni stanow Arad Zerind Oradea Neamt Iasi L R Sibiu Fagaras Vaslui Timisoara Rimnicu Vilcea S Lugoj Pitesti Mehadia Urziceni Hirsova S L R L R S Dobreta Craiova Bucharest Giurgiu Eforie L S R S R L S S L R Stany: Jedno z 20 miast. Akcje: Przejazd z miasta do miasta. Cel: Bukareszt. Stan pocz atkowy: Arad. Koszt: Liczba miast przez ktore jedziemy. 30 31 Problem: Znalezcdrog e z Aradu do Bukaresztu. Przeszukiwanie przestrzeni stanow sprowadza si e do budowy drzewa przeszukiwan. Korzeniem drzewa jest stan pocz atkowy. (a) The initial state Arad (b) After expanding Arad Arad Sibiu Timisoara Zerind (c) After expanding Sibiu Arad Sibiu Timisoara Zerind Struktury danych do konstruowania drzew przeszukiwan Struktura wierzcho lka drzewa: Stan ktory reprezentuje. Wierzcho lek b ed acy przodkiem. Akcja ktorej wykonanie spowodowa lo konstrukcj e wierzcho lka. D lugosc drogi od korzenia do wierzcho lka. Koszt drogi od korzenia do wierzcho lka. Arad Fagaras Oradea Rimnicu Vilcea function GENERAL-SEARCH( problem strategy) returns a solution or failure initialize the search tree using the initial state of problem loop do if there are no candidates for expansion then return failure choosea leaf nodefor expansionaccordingto 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 datatype node components: state parent-node operator depth path-cost. 32 33
Zbior wierzcho lkow drzewa przeszukiwan wygodnie jest reprezentowac w formie kolejki. Operacje na kolejkach: MAKE-QUEUE(l) { tworzy kolejk e z elementow zbioru l. EMPTY?(q) { sprawdza czy kolejka q jest pusta. REMOVE-FRONT(q) { usuwa pierwszy element z kolejki q i zwraca go. QUEUING-FN(l q) { dodaje elementy zbioru l do kolejki q. Strategie przeszukiwania Kryteria oceny strategii: Pe lnosc {czyzawsze znajduje rozwi azanie o ile istnieje. Z lo_zonosc czasowa. Z lo_zonosc pami eciowa. function GENERAL-SEARCH( problem QUEUING-FN) returns a solution or failure nodes MAKE-QUEUE(MAKE-NODE(INITIAL-STATE[problem])) loop do if nodes is empty then return failure node REMOVE-FRONT(nodes) if GOAL-TEST[problem] applied to STATE(node) succeeds then return node nodes QUEUING-FN(nodesEXPAND(nodeOPERATORS[problem])) end 34 Optymalnosc { czy znalezione rozwi azanie jest rozwi azaniem optymalnym. Istniej a dwa typy strategii: strategie ogolne i strategie heurystyczne. 35 Ogolne strategie przeszukiwania Przeszukiwanie wszerz (breadth-rst) Wierzcho lki o g l ebokosci d konstruowane s a zawsze przed wierzcho lkami o g l ebokosci d +1. Przeszukiwanie wszerz mo_zna zrealizowac ogoln aprocedur aprzeszukiwania deniuj ac funkcj e QUEUING-FN(l q) jako wstawienie elementow zbioru l na koniec kolejki q. (enqueue;at;end). function BREADTH-FIRST-SEARCH(problem) return GENERAL-SEARCH(problem enqueue;at;end). Zalety przeszukiwania wszerz: Pe lnosc. Optymalne rozwi azanie o ile funkcja kosztu zwi eksza si e wraz z d lugosci a drogi. Wady przeszukiwania wszerz: Bardzo du_za z lo_zonosc pami eciowa. Jesli wspo lczynnik rozga l ezienia drzewa wynosi b a rozwi azanie problemu wymaga drogi o d lugosci d to maksymalna liczba skonstruowanych wierzcho lkow wynosi 1+b + b 2 + + b d : Depth Nodes Time Memory 0 1 1 millisecond 100 bytes 2 111.1 seconds 11 kilobytes 4 11111 11 seconds 1 megabyte 6 10 6 18 minutes 111 megabytes 8 10 8 31 hours 11 gigabytes 10 10 10 128 days 1 terabyte 12 10 12 35 years 111 terabytes 14 10 14 3500 years 11111 terabytes 36 37
Strategia jednolitego kosztu (Uniform cost search) Znajduje optymalne rozwi azanie o ile koszt ka_zdej dopuszczalnej akcji jest dodatni. Polega na rozszerzaniu drogi o najmniejszym koszcie. Przeszukiwanie w g l ab (depth-rst search) Rozszerza zawsze wierzcho lek o najwi ekszej g l e- bokosci. Problem najkrotszej drogi z S do G: S 0 S A B C 1 5 15 S S A 1 10 5 B 5 G A B C 5 15 G 11 S 15 5 C (a) (b) A B C 15 G G 11 10 38 39 Przeszukiwanie w g l ab mo_zna zrealizowac ogoln aprocedur aprzeszukiwania deniuj ac funkcj e QUEUING-FN(l q) jako wstawienie elementow zbioru l na pocz atek kolejki q. (enqueue ; at ; front). function BREADTH-FIRST-SEARCH(problem) return GENERAL-SEARCH(problem enqueue;at;front). Zalety: Bardzo ma la z lo_zonosc pami eciowa. Wady: Strategia niepe lna. Ograniczone przeszukiwanie w g l ab (Depth-limited search) Wersja klasycznego przeszukiwania w g l ab. Zak lada si emaksymaln ad lugoscscie_zki w drzewie przeszukiwania. Przyk ladowo w problemie znalezienia drogi z Aradu do Bukaresztu mo_zna przyj ac _ze maksymalna d lugoscscie_zki wynosi 19 (na mapie znajduje si e 20 miast). Ograniczone przeszukiwanie w g l ab nie zawsze znajduje rozwi azanie optymalne. Mo_zna je stosowac tylko do specjalnej klasy problemow. Jest bardzo efektywne. 40 41
Iteracyjne przeszukiwanie w g l ab (Iterative deepening search) Wersja ograniczonego przeszukiwania w g l ab. Mo_zna j a stosowac do zadan dla ktorych nie potramy podac maksymalnej d lugosci scie_zki w drzewie przeszukiwania. Technicznie metoda sprowadza si e do iteracyjnego wykonywania metody ograniczonego przeszukiwania w g l ab (dla d lugosci 1 2 3...). Limit = 0 Limit = 1 function ITERATIVE-DEEPENING-SEARCH( problem) returns a solution sequence inputs: problem a problem for depth 0 to 1 do if DEPTH-LIMITED-SEARCH( problem depth) succeedsthen return its result end return failure b { wspo lczynnik rozga l ezienia. d { d lugosc najkrotszego rozwi azania. Z lo_zonosc czasowa = O(b d ). Z lo_zonosc pami eciowa = O(b d). Limit = 2 Limit = 3... Iteracyjne przeszukiwanie w g l ab jest najlepsz a metod a przeszukiwania dla problemow o du_zej przestrzeni stanow i nieznanym ograniczeniu d lugosci rozwi azania. 42 43 Przeszukiwanie dwukierunkowe (Bidirectional search) Pomys l: Idziemydoprzodu pocz awszy od stanu pocz atkowego i do ty lu pocz awszy od stanu koncowego. Konczymy kiedy obie drogi spotkaj a si e. Dlaczego to ma sens? Za lo_zmy _ze istnieje rozwi azanie o d lugosci d. Rozwi azanie to znajdziemy powykonaniu O(b d=2 ) krokow. Dla b =10i d =6strategia wszerz wymaga wygenerowania 1 111 111 wierzcho lkow podczas gdy strategia dwukierunkowa tylko 2 222. Problemy Co to znaczy \isc od stanu koncowego w ty l"? Dla niektorych problemow znalezienie poprzednikow mo_ze byc bardzo trudne. Goal Co zrobic jesli istnieje wiele stanow koncowych ktore nie s a explicite dane? Musimyumiecefektywnie stwierdzic _ze obie drogi przeszukiwania spotka ly si e. 44 45
Analiza Unikanie powtarzaj acych si e stanow W tabeli poni_zej: d { d lugosc rozwi azania. b { wspo lczynnik rozga l ezienia. m { d lugosc drzewa przeszukiwan. l { ograniczenie na d lugosc scie_zki. Nie wybieraj nigdy akcji ktora nie zmienia stanu. Unikaj cykli w scie_zce. Wybieraj ac akcj e sprawdz czy nie prowadzi ona do stanu ktory ju_z wyst epuje wscie_zce. Criterion Breadth- Uniform- Depth- Depth- Iterative Bidirectional First Cost First Limited Deepening (if applicable) Time b d b d b m b l b d b d/2 Space b d b d bm bl bd b d/2 Optimal? Yes Yes No No Yes Yes Complete? Yes Yes No Yes if l d Yes Yes Nie generuj stanu ktory by l kiedykolwiek wczesniej wygenerowany (byc mo_ze w innej scie_zce). To niestety wymaga przechowywania wszystkich dotychczas wygenerowanych stanow. 46 47 Przeszukiwanie z warunkami ograniczaj acymi (Constraint satisfaction search) Problem z warunkami ograniczaj acymi Stany zdeniowane s a przez wartosci pewnego zbioru zmiennych x 1 ::: x n ka_zda zmienna x i z okreslonej dziedziny D i. Stany koncowe s a to stany spe lniaj ace pewien warunek okreslony na zmiennych x 1 ::: x n. Znalezienie rozwi azania polega na znalezieniu wartosci zmiennych x 1 ::: x n spe lniaj acych warunek. 48 Problem 8 hetmanow Zmienne: x 1 ::: x 8 { pozycje hetmanow. Dziedzin a ka_zdej zmiennej jest para hi ji gdzie 1 i j 8. Warunek: _Zadna para hetmanow nie znajduje si e w tym samym rz edzie kolumnie ani na tej samej przek atnej. Jak stosowac ogolny algorytm przeszukiwania do problemow z warunkami ograniczaj acymi? W stanie pocz atkowym zmienne nie maj a okreslonych wartosci. Ka_zda akcja nadaje wartosc jednej ze zmiennych. Stanem koncowym jest ka_zdy stan spe lniaj acy warunki ograniczaj ace. 49
Uwagi Maksymalna d lugosc rozwi azania to liczba zmiennych. Mo_zemy zatem stosowac strategi e ograniczonego przeszukiwania w g l ab. Wartosc przypisana zmiennej nie mo_ze si e zmienic. Zatem warto sprawdzac warunek po ka_zdej akcji. Jesli mo_zna okreslic _ze jest fa lszywynale_zy wykonac nawrot (backtracking). Wceluzwi ekszenia efektywnosci mo_zna dodatkowo u_zyc metody sprawdzania w przod (forward checking): nadaj ac wartosc pewnej zmiennej usuwamy z dziedziny ka_zdej nieokreslonej jeszcze zmiennej te wartosci ktore s a sprzeczne z wartosciami zmiennych ju_z okreslonych. Jesli w wyniku usuni ecia ktoras z dziedzin stanie si e pusta wykonujemy nawrot. 50 Strategie heurystyczne Strategia \najpierw najlepszy" (Best-rst search) Pomys l: Wprowadzamy funkcj e EVAL-FN porz adkuj ac a liniowo zbior stanow od \najlepszego" do \najgorszego". Do dalszego rozszerzenia wybierany jest \najlepszy" w eze lsposrod dotychczas skonstruowanych. function BEST-FIRST-SEARCH( problem EVAL-FN) returns a solution sequence inputs: problem a problem Eval-Fn an evaluation function Queueing-Fn a function that orders nodes by EVAL-FN return GENERAL-SEARCH( problem Queueing-Fn) Problem: Jak okreslic funkcj eeval-fn? 51 Przeszukiwanie zach lanne (greedy search) Stany porz adkujemywprowadzaj ac funkcj eheurystyczn a h: Arad h=366 Sibiu Arad Timisoara Zerind h=253 h=329 h=374 Arad h(n) = szacunkowy koszt optymalnej drogi ze stanu n do celu. Sibiu Timisoara Zerind h=329 h=374 Arad Fagaras Oradea Rimnicu h=366 h=178 h=380 h=193 Sibiu Arad Timisoara Zerind h=329 h=374 function GREEDY-SEARCH(problem) return BEST-FIRST-SEARCH(problem h). Arad Fagaras h=366 Sibiu h=253 Oradea Rimnicu h=380 h=193 Bucharest h=0 Oradea 71 Neamt Zerind 87 151 75 Iasi Arad 140 92 Sibiu 99 Fagaras 118 Vaslui 80 Rimnicu Vilcea Timisoara 142 111 Lugoj Pitesti 211 97 70 98 Hirsova 146 Mehadia 101 85 Urziceni 75 138 86 Bucharest Dobreta 120 90 Craiova Eforie Giurgiu Straight line distance to Bucharest Arad 366 Bucharest 0 Craiova 160 Dobreta 242 Eforie 161 Fagaras 178 Giurgiu 77 Hirsova 151 Iasi 226 Lugoj 244 Mehadia 241 Neamt 234 Oradea 380 Pitesti 98 Rimnicu Vilcea 193 Sibiu 253 Timisoara 329 Urziceni 80 Vaslui 199 Zerind 374 W lasnosci: Przeszukiwanie zach lanne nie gwarantuje optymalnego rozwi azania: znaleziona droga jest d lu_zsza od drogi przez Rimnicu Vilcea i Pitesci. 52 53
Przeszukiwanie A (A search) Przeszukiwanie zach lanne jest niepe lne poniewa_z dopuszcza nieskonczone rozszerzanie scie_zki na ktorej nie ma rozwi azania. Nawet dla problemow o skonczonej przestrzeni stanow mo_zemy otrzymac nieskonczon ascie_zk e o ile nie unikamy powtarzaj acych si e stanow: znalezc drog epomi edzy Iasi i Fagaras. Pesymistyczna z lo_zonosc (czasowaipami e- ciowa) dla przeszukiwania zach lannego wynosi O(b m ) gdzie m jest d lugosci a drzewa przeszukiwan. 54 L aczy przeszukiwanie zach lanne i strategi e jednolitego kosztu. Z ka_zdym skonstruowanym dot ad stanem n wi a_zemywartosc g(n) deniuj ac a rzeczywisty koszt scie_zki od stanu pocz atkowego do stanu n. Jak poprzednio wprowadza- my funkcj e heurystyczn a h(n). Jako funkcji porz adkuj acej stany u_zywamy funkcji f(n) = g(n)+h(n). Wartosc f(n) mo_zna zatem interpretowac jako szacunkowy koszt optymalnego rozwi azania zawieraj acego stan n. Funkcj eheurystyczn a h nazywamy dopuszczaln a jesli dla ka_zdego stanu n h(n) h (n) gdzie h (n) oznacza rzeczywisty koszt scie_zki od stanu n do optymalnego stanu koncowego. Przeszukiwanie A { przeszukiwanie \najpierw najlepszy" z funkcj a porz adkuj ac a f = g + h gdzie h jest heurystyk a dopuszczaln a. 55 function A -SEARCH(problem) return BEST-FIRST-SEARCH(problem g + h). W zadaniu znalezienia drogi z Aradu do Bukaresztu stosujemy funkcj e h tak a _ze h(n) oznacza rzeczywist a odleg losc od miasta n do Bukaresztu. Poniewa_z odleg losc nigdy nie przekracza drogi mamy gwarancj e _ze h jest funkcj a dopuszczaln a. Arad f=0+366 =366 Arad Niech f = g + h b edzie funkcj a porz adkuj ac a dla przeszukiwania A. Funkcja f jest monotoniczna jesli dla dowolnego w ez la n w drzewie przeszukiwan f(n) f(przodek(n)). Przeszukiwanie A jest optymalne i pe lne pod warunkiem _ze funkcja porz adkuj aca jest monotoniczna. Jesli funkcja f nie jest monotoniczna mo_zna zast apic j a funkcj a Sibiu f=140+253 =393 Timisoara f=118+329 =447 f=75+374 =449 Sibiu Zerind Arad Timisoara f=118+329 =447 Arad Fagaras Oradea Rimnicu f=280+366 f=239+178 f=146+380 f=220+193 =646 =417 =526 =413 Sibiu f=75+374 =449 Zerind Arad Timisoara Arad Fagaras Oradea Rimnicu f=280+366 f=239+178 f=146+380 =646 =417 =526 f=118+329 =447 f=75+374 =449 Zerind Craiova Pitesti Sibiu f=366+160 =526 f=317+98 =415 f=300+253 =553 f 0 (n)=max(f(n) f(przodek(n))): Przeszukiwanie A jest znacznie efektywniejsze od przeszukiwania wg strategii jednolitego kosztu. Niestety jego koszt jest rownie_z wyk ladniczy. 56 57
Problem: 5 6 7 Funkcje heurystyczne 4 1 3 State 8 2 51 42 3 68 7 6 Goal State 84 25 Typowe rozwi azanie: 20 krokow. Wspo lczynnik rozga l ezienia: 3. Brutalne przeszukiwanie: do 3:510 9 stanow. Przy unikaniu powtorzen: do 9! = 362880 stanow. Jak zdeniowac funkcj e heurystyczn a? h 1 = suma kostek le_z acych na z lej pozycji. Wprzyk ladzie: h 1 (stan pocz atkowy) = 7. Heurystyka dopuszczalna: musimy wykonac przynajmniej tyle krokow ile kostek le_zy na z lej pozycji. h 2 =sumaodleg losci kostek od pozycji docelowej. Wprzyk ladzie: h 2 (stan pocz atkowy) = 18. Heurystyka rownie_z dopuszczal- na. W celu oszacowania jakosci funkcji heurystycznej wprowadzamy efektywny wspo lczynnik rozga l ezienia b. 58 59 Jesli strategia A konstruuje drzewo sk ladaj ace si ezn w ez low a g l ebokosc rozwi azania wynosi d to b jest rozwi azaniem rownania N =1+b +(b ) 2 + +(b ) d : Przyk lad: Jesli N = 52 d =5to b =1:91. Uwaga: Zwykle efektywny wspo lczynnik rozga l ezienia jest w miar e stabilny dla du_zej klasy instancji problemu. Dlatego przetestowanie heurystyki na niewielkiej probce instancji pozwala na ocen e jej jakosci. Efektywny wspo lczynnik rozga l ezienia dla dobrej funkcji heurystycznej powinien byc niewiele wi ekszy ni_z 1. Porownanie metody iteracyjnego przeszukiwania w g l ab i strategii A z h 1 i h 2. Dane srednie dla 100 instancji problemu dla ro_znych d lugosci rozwi azania: Search Cost Effective Branching Factor d IDS A*(h 1) A*(h 2) IDS A*(h 1) A*(h 2) 2 10 6 6 2.45 1.79 1.79 4 112 13 12 2.87 1.48 1.45 6 680 20 18 2.73 1.34 1.30 8 6384 39 25 2.80 1.33 1.24 10 47127 93 39 2.79 1.38 1.22 12 364404 227 73 2.78 1.42 1.24 14 3473941 539 113 2.83 1.44 1.23 16 1301 211 1.45 1.25 18 3056 363 1.46 1.26 20 7276 676 1.47 1.27 22 18094 1219 1.48 1.28 24 39135 1641 1.48 1.26 Uwaga: Zawsze lepiej jest u_zywac funkcji heurystycznej o du_zych wartosciach pod warunkiem _ze nie przekracza ona funkcji kosztu rzeczywistego. 60 61
Jak znalezc dobr a funkcj e heurystyczn a? 1. Uproscic problem. Cz esto koszt optymalnego rozwi azania uproszczonego problemu jest dobr a heurystyk a oryginalnego problemu. Zauwa_zmy: gdybysmy mogli dowolnie przenosic kostki to h 1 wyznacza loby liczb e krokow optymalnego rozwi azania. Podobnie gdybysmy mogli dowolnie przesuwac kostki o jedn a pozycj e to h 2 wyznacza loby liczb e krokow optymalnego rozwi azania. 2. Jesli mamy kilka heurystyk h 1 :::h k i_zadna zdecydowanie nie dominuje to dobrym pomys lem jest wzi ac heurystyk e h okreslo- a n h(n)=max(h 1 (n) ::: h k (n)): 62 Heurystyki dla problemow z warunkami ograniczaj acymi C F E A GREEN B Heurystyka najbardziej ograniczonej zmiennej -wka_zdym kroku wybieramyzmienn ao minimalnej liczbie dopuszczalnych wartosci. Heurystyka najmniej ograniczaj acej wartosci {wybranej zmiennej przypisujemywartosc ktora eliminuje minimaln a liczb e dopuszczalnych wartosci innych zmiennych. RED D 63 Algorytmy iteracyjnego ulepszania (Iterative improvement algorithms) Metoda wspinaczki (hill-climbing search) evaluation Dotycz a problemow dla ktorych nieistotna jest droga uzyskania rozwi azania (np. problem 8 hetmanow). Pomys l: ujemy od pewnego stanu i staramy si e go \poprawic". W celu rozro_zniania \jakosci" stanow wprowadzamy funkcj e heurystyczn a VALUE. Algorytmy iteracyjnego ulepszania s a bardzo efektywne (liniowe) ale rzadko znajduj a od razu dobre rozwi azanie. current state function HILL-CLIMBING( problem) returns a solution state inputs: problem a problem static: current a node next a node current MAKE-NODE(INITIAL-STATE[problem]) loop do next a highest-valued successor of current if VALUE[next] < VALUE[current] then return current current next end Wady: Lokalne maksima. Plateaux. 64 65
Symulowane wy_zarzanie (Simulated annealing) function SIMULATED-ANNEALING( problem schedule) returns a solution state inputs: problem a problem schedule a mapping from time to temperature static: current a node next a node T a temperature controlling the probability of downward steps current MAKE-NODE(INITIAL-STATE[problem]) for t 1 to 1 do T schedule[t] if T=0 then return current next a randomly selected successor of current E VALUE[next] VALUE[current] if E >0then current next else current next only with probability e E/T Algorytm opisuje proces wy_zarzania si emateria lu do temperatury 0. Funkcja VALUE odpowiada ca lkowitej energii atomow materia lu. T odpowiada temperaturze. Lista schedule okresla stopien obni_zania si e temperatury. Zmiany stanow odpowiadaj a losowym uktuacjom materia lu na skutek obni_zania si e temperatury. Algorytm okaza l si e bardzo skuteczny dla problemow optymalizacji. 66 Heurystyka minimalizacji koniktow dla problemow z warunkami ograniczaj acymi Stosowana przy wyborze nowej wartosci dla wybranej zmiennej. Wybiera wartosc ktora minimalizuje liczb e koniktow z innymi zmiennymi. Jest niezwykle skuteczna. Pozwala rozwi azac problem 1 000 000 hetmanow w granicach 50 krokow! 2 2 1 2 3 1 2 3 3 2 3 2 3 0 67 Gry Gry stanowi a idealn a dziedzin e dla SI poniewa_z: Wymagaj a inteligencji. Posiadaj a jasne regu ly. Stany opisuj ace przebieg gry s a latworeprezentowalne w komputerze. Problem wyboru optymalnej strategii gry przypomina problem przeszukiwania ale jest bardziej skomplikowany poniewa_z: Nale_zy uwzgl edniac ruchy przeciwnika. Nietrywialne gry maj a ogromn aprzestrzen stanow. Szachy: wspo lczynnik rozga l ezienia oko lo 35 oko lo 10 40 poprawnych pozy- cji. Programy graj ace musz a dzia lac w czasie rzeczywistym. 68 Optymalna strategia dla gier dwuosobowych Graj a MIN i MAX MAX rozpoczyna. Gra jako problem przeszukiwania: Stan pocz atkowy: zawiera pozycj e planszy i informacj e kto rozpoczyna gr e. Zbior akcji: zbior poprawnych ruchow. Test koncowy: procedura stwierdzaj aca czy nast api l koniec gry. Funkcja wyp laty (payo function): numeryczna wartosc partii dla obu graczy. 69
Drzewo gry Cz esciowe drzewo gry dla gry \ko lko i krzy_zyk: MAX (X) MIN (O) MAX (X) MIN (O) TERMINAL Utility X X O X O X X X X O X O X O X O X............ X O X X O X X O X O X O O X X O X X O X O O 1 0 +1 X X......... Drzewo gry dla trywialnej gry w ktorej ka_zdy z graczy wykonuje jeden ruch: MAX MIN A A 1 A 3 2 A 11 A 12 A 13 A 21 A 22 A 23 A 31 A 32 A 33 X 3 2 2 4 3 12 8 6 2 14 5 2 3 X X X X Algorytm MINIMAX Znajduje optymaln a strategi e dla gracza MAX. 1. Wygeneruj drzewo gry. Przypisz wartosc funkcji wyp laty lisciom drzewa. 2. U_zyj wartosci przypisanych lisciom do okre- slenia wartosci wierzcho lkow b ed acych ich przodkami. Kontynuuj a_z przypiszesz wartosci wszystkim potomkom korzenia. 3. Wybierz ruch prowadz acy do potomka korzenia o najwi ekszej wartosci. function MINIMAX-DECISION(game) returns an operator for each op in OPERATORS[game] do VALUE[op] MINIMAX-VALUE(APPLY(op game) game) end return the op with the highest VALUE[op] function MINIMAX-VALUE(state game) returns a utility value if TERMINAL-TEST[game](state) then return UTILITY[game](state) else if MAX is to move in state then return the highest MINIMAX-VALUE of SUCCESSORS(state) else return the lowest MINIMAX-VALUE of SUCCESSORS(state) 70 71 Funkcje oceniaj ace (evaluation functions) Funkcja oceniaj aca zwraca oszacowanie wartosci danego wierzcho lka drzewa gry (pozycji). Funkcja oceniaj aca ma kluczowy wp lyw na jakosc programu graj acego. Funkcja oceniaj aca powinna zgadzac si e z funkcj a wyp laty dla pozycji koncowych. Funkcja oceniaj aca powinna byc obliczalna w rozs adnym czasie. Programy graj ace przeszukuj a fragment drzewa gry pos luguj ac si e funkcj a oceniaj ac a. Na ogo l stosuje si e strategi e iteracyjnego przegl a- dania w g l ab. Problemy: Problem przerwania przeszukiwania: przeszukiwania nie mo_zna przerwac w dowolnym wierzcho lku drzewa gry. Problem horyzontu: Bardzo prosta funkcja oceniaj aca dla gry w szachy: w 1 f 1 + w 2 f 2 + w 3 f 3 + w 4 f 4 gdzie w i jest numeryczn awartosci aprzypisan a gurom (pion = 1 goniec i skoczek = 3 wie_za = 5 hetman = 9) natomiast f i oznacza liczb e gur danego rodzaju w danej pozycji. 72 Black to move 73
Odci ecie alfa-beta (Alpha-beta prunning) Podobne do algorytmu minimax ale odcina ga l ezie drzewa ktore nie mog a miec wp lywu na wynik. Poni_zej: oznacza wartosc najlepszego (wzgl e- dem funkcji oceniaj acej) dotychczas znalezionego w ez la dla gracza MAX oznacza wartosc najlepszego dotychczas znalezionego w ez la dla gracza MIN. Funkcja CUTOFF-TEST sprawdza czy doszlismy domaksymalnej dopuszczalnej g l ebokosci. MAX 3 A A 1 A 3 2 MIN 3 <=2 2 A 11 A 12 A 13 A 21 A 22 A 23 A 31 A 32 A 33 3 12 8 2 14 5 2 Player Opponent...... Player Opponent m n function MAX-VALUE(state game ) returns the minimax value of state inputs: state current state in game game game description the best score for MAX along the path to state the best score for MIN along the path to state if CUTOFF-TEST(state) then return EVAL(state) for each s in SUCCESSORS(state) do MAX(MIN-VALUE(s game )) if then return end return function MIN-VALUE(state game ) returns the minimax value of state if CUTOFF-TEST(state) then return EVAL(state) for each s in SUCCESSORS(state) do MIN( MAX-VALUE(s game )) if then return end return 74 75 Z lo_zonosc algorytmow minimax i alfa-beta Gry z elementem losowosci Drzewo gry dla gry backgammon: MAX Poniewa_z oba algorytmy realizuj a przeszukiwanie w g l ab istotna jest tylko ich z lo_zonosc czasowa. Poni_zej d oznacza dopuszczaln ag l ebokosc natomiast b wspo lczynnik rozga l ezienia. Mini-max: O(b d ). Alfa-beta: Przypadek najlepszy: O(b d=2 ). Srednio: O(b 3d=4 ). 76 DICE MIN DICE MAX TERMINAL 1/36 11... B............ 1/36 11... 1/18 12... C 1/18 12...... 65... 66 65... 2 1 1 1 1 Nie mo_zemy obliczyc wartosci w ez la C. Mo_zemy tylko obliczyc jego wartosc oczekiwan a. Niech d i b edzie mo_zliwym wynikiem rzutu koscmi P(d i ) prawdopodobienstwem tego rzutu. Niech S(C d i ) oznacza zbior wszystkich poprawnych pozycji do ktorych mo_zna dojsc z C wyrzucaj ac d i. Wowczas wartosc oczekiwana w ez la C wynosi X i [P(d i ) max s2s(c d i ) (wyplata(s))]: 66.................. 77
Uwaga1: Funkcja oceniaj aca dla gier z elementem losowosci musi byc liniow a transformacj a przybli_zonego prawdopodobienstwa wygrania z tej pozycji. Dla procedury minimax nie ma znaczenia czy wartosciami w ez low s a 1 2 3 4 czy 1 20 30 400. Dla procedury expectminimax (wersja procedury minimax dla gier z elementem losowosci) mo_ze miec: MAX Obecny stan programow graj acych 1. Szachy Najlepszy istniej acy program Deep Blue. Wykorzystuje bardzo pot e_zn aarchitektur erownoleg l a. Analizuje 100-200 miliardow pozycji na ruch. Dochodzi do g l ebokosci 14. DICE B............... MIN 1/36 11... 1/18 12...... 65 66... 3000 DICE C............ 2000 MAX TERMINAL 1/36 11... 1/18 12...... 65 66 2 1 1 1 1 Uwaga2: Z lo_zonosc procedury expectminimax: O(b d n d ) gdzie n jest liczb a mo_zliwych wynikow rzutu kostk a (kostkami).... 1000 0 Botvinnik (2616) 1960 Petrosian (2363) MacHack (1400) Chess 3.0 (1500) Spassky (2480) Fischer (2785) Chess 4.6 (1900) Karpov (2705) Korchnoi (2645) Belle (2200) Kasparov (2740) Hitech (2400) Deep Thought (2551) Kasparov (2805) 1965 1970 1975 1980 1985 1990 Deep Thought 2 (approx. 2600) 78 79 2. Warcaby Najlepszy program { Chinook. Pierwszy programktory startowa l w 1993 roku w otwartych mistrzostwach swiata. Przegra l w nale 18.5 { 21.5. W roku 1994 zosta l ocjalnym mistrzem swiata. 3. Otello Programy graj ace w Otello s a znacznie lepsze od ludzi. 4. Backgammon Najlepszy program miesci si e w pierwsze trojce na swiecie. 5. Go Nie ma dobrych programow (b 360). 80 Agent wnioskuj acy Baza wiedzy (knowledge base): Zbior faktow oswiecie. Fakty te zwane zdaniami lub formu lami zapisane s a w j ezyku reprezentacji wiedzy. Agent komunikuje si e z baz a wiedzy (KB) u_zywaj ac operacji TELL i ASK: TELL: Agent! KB. ASK: KB! Agent. Ogolny model agenta pos luguj acego si e baz a wiedzy: function KB-AGENT( percept) returns an action static: KB a knowledgebase t a counter initially 0 indicating time TELL(KB MAKE-PERCEPT-SENTENCE( percept t)) action ASK(KBMAKE-ACTION-QUERY(t)) TELL(KB MAKE-ACTION-SENTENCE(action t)) t t +1 return action 81
Swiat Wumpusa (Wumpus world) W kwadratach scisle przylegaj acych do jamy (pit) agent czuje wiatr (breeze). Stench 4 Breeze 3 Stench Gold Stench 2 Breeze 1 START Breeze PIT Breeze PIT PIT Breeze Breeze 1 2 3 4 Obserwacje akcje i cele agenta: W kwadracie gdzie mieszka Wumpus oraz w kwadratach scisle przylegaj acych agent czuje smrod (stench). 82 W kwadracie gdzie znajduje si e z loto a- gent obserwuje b lysk (glitter). Jesli agent wejdzie na scian e czuje uderzenie (bump). Kiedy Wumpus zostaje zabity w ca lej jaskini rozlega si e wycie (scream). Obserwacje agenta reprezentujemy jako list e z lo_zon a z 5 elementow. Przyk ladowo: [Stench Breeze Glitter None None]. Agent nie potra rozpoznac kwadratu w ktorym si e znajduje. Akcje agenta: Go ; Forward Turn; Left Turn; Right Grab (podnosi obiekt znajduj acy si ewtym samym kwadracie co agent) 83 Release (pozwala agentowi pozbyc si e posiadanego przedmiotu) Shoot (wypuszcza strza l e w kierunku w ktorym agent patrzy strza la albo zabija Wumpusa albo odbija si eodzewn etrznej sciany jaskini agent ma tylko jedn a strza l e) Climb (pozwala agentowi opuscic jaskini e o ile znajduje si e on w kwadracie startowym). Agent ginie jesli wejdzie do kwadratu w ktorym znajduje si e jama lubwumpus. OK Wnioskowanie w swiecie Wumpusa 14 24 34 44 13 23 33 43 12 22 32 42 11 21 31 41 A OK OK (a) A = Agent B = Breeze G = Glitter Gold OK = Safe square P = Pit S = Stench V = Visited W = Wumpus 14 24 34 44 13 23 33 43 12 22 32 42 P? OK 11 21 A 31 P? 41 V B OK OK (b) Celem agenta jest znalezienie z lota i wydostanie si e z jaskini. Dok ladniej: 1000 punktow za wydostanie si e z jaskini ze z lotem -1 punkt kary za ka_zd a wykonan a akcj e i -10000 punktow kary za zgini ecie. 14 24 34 44 13 W! 23 33 43 12 A 22 32 42 S OK OK 11 21 B 31 P! 41 V V OK OK A = Agent B = Breeze G = Glitter Gold OK = Safe square P = Pit S = Stench V = Visited W = Wumpus 14 24 34 44 P? 13 W! 23 A 33 P? 43 S G B 12 S 22 32 42 V V OK OK 11 21 B 31 P! 41 V V OK OK (a) (b) 84 85
Reprezentacja wnioskowanie i logika Reprezentacja wiedzy (knowledge representation: Dziedzina SI zajmuj aca si e metodami reprezentowania wiedzy oswiecie. Representation World Sentences Semantics Facts Entails Follows Sentence Semantics Fact J ezyk reprezentacji wiedzy tworz a: Syntaktyka opisuje budow e zdan. Semantyka opisuje zwi azek pomi edzy zdaniamiiodpowiadaj acymi im faktami zachodz acymi wswiecie. Wnioskowanie: proces wyprowadzania nowych zdan ze zdan przyj etych jako prawdziwe (tzn. reprezentuj acych prawdziwe fakty). Poprawne wnioskowanie powinno zapewniac prawdziwosc wyprowadzonych zdan. 86 Model dla zbioru zdan X: ka_zdy swiat w ktorym prawdziwe s a wszystkie zdania ze zbioru X. Wynikanie (entailment): Zdanie A wynikaze zbioru zdan X X j= A jesli A jest prawdziwe w ka_zdym modelu dla X. Wyprowadzalnosc (derivability): Zdanie A jest wyprowadzalnezezbioru zdan X przy u_zyciu procedury dowodzenia X ` A wtwgdy znajduje dowod zdania A ze zdan zbioru X. 87 Poprawnosc procedury dowodzenia: Procedura dowodzenia jest poprawna wtw gdy dla ka_zdego zbioru zdan X i ka_zdego zdania A X ` A poci aga X j= A. Pe lnosc procedury dowodzenia: Procedura dowodzenia jest pe lna wtw gdy dla ka_zdego zbioru zdan X i ka_zdego zdania A X j= A poci aga X ` A. Logika: J ezyk reprezentacji wiedzy (syntaktyka semantyka) oraz procedura dowodzenia. Language Ontological Commitment Epistemological Commitment (What exists in the world) (What an agent believes about facts) Propositional logic facts true/false/unknown First-order logic facts objects relations true/false/unknown Temporal logic facts objects relations times true/false/unknown Probability theory facts degree of belief 0 1 Fuzzy logic degree of truth degree of belief 0 1 Rachunek zdan Alfabet: sta le logiczne (True i False) symbole zdaniowe (P Q...) spojniki logiczne (^ _ ) i :) oraz nawiasy okr ag le. Zdania (formu ly): True False isymbole zdaniowe s aformu lami. (Formu ly atomowe) Jesli A i B s aformu lami to (A^B) (A_B) (A ) B) i (A B) s a formu lami. Jesli A jest formu l a to (:A) jest formu l a. Litera l: Formu la atomowa lub negacja formu ly atomowej. 88 89
Semantyka rachunku zdan Interpretacja Funkcja przyporz adkowuj aca symbolom zdaniowym elementy zbioru ftrue Falseg. Wartosc formu ly w interpretacji: P Q :P P ^ Q P _ Q P ) Q P Q False False True False False True True False True True False True True False True False False False True False False True True False True True True True Tautologia: Formu la prawdziwa w ka_zdej interpretacji. Rachunek zdan jest rozstrzygalny tzn. istnieje algorytm ktory dla dowolnej formu ly A stwierdza czy A jest tautologi a. 90 P H P _ H (P _ H) ^:H ((P _ H) ^:H) ) P False False False False True False True True False True True False True True True True True True False True Model formu ly A: interpretacja w ktorej A jest prawdziwa. Formu la A jest spe lnialna wtw gdy posiada model. W przeciwnym przypadku A jest niespe lnialna. Uwaga: A jest tautologi a wtw gdy :A jest niespe lnialna. Twierdzenie o dedukcji: X [fag j= B wtw gdy X j= A ) B: Dla rachunku zdan istnieje pe lna i poprawna procedura dowodzenia. 91 Regu la wnioskowania: 1 ::: n : Regu la jest poprawna jesli jest prawdziwa w ka_zdej interpretacji w ktorej prawdziwe s a 1 ::: n. Przyk lady poprawnych regu l wnioskowania Poprawnosc regu ly rezolucji ( _ : ): _ : False False False False True False False False True False True True False True False True False False False True True True True True True False False True True True True False True True True True True True False True False True True True True True True True Regu la odrywania (modus ponens): Regu la eliminacji koniunkcji: 1 ^^ n i ). Monotonicznosc: Jesli formu la A wynika ze zbioru formu l X to A wynika rownie_z z ka_zdego nadzbioru zbioru X. Regu la wprowadzenia koniunkcji: Regu la rezolucji: _ :. 1 ::: n 1 ^^ n Z lo_zonosc rachunku zdan: Problem stwierdzenia czy formu la jest tautologi a jest NPzupe lny. 92 93
Jak sformalizowacswiat Wumpusa w rachunku zdan? Wiedza agenta po wykonaniu trzeciego ruchu. Bie_z aca lista obserwacji: [Stench N one N one None None]. Obserwacje: 14 24 34 44 13 23 33 43 W! 12 22 32 42 A S OK 11 21 31 41 B P! V OK OK V OK A = Agent B = Breeze G = Glitter Gold OK = Safe square P = Pit S = Stench V = Visited W = Wumpus :S 1 1 :B 1 1 :S 2 1 B 2 1 S 1 2 :B 1 2. 94 Wiedza o srodowisku: :S 1 1 ) :W 1 1^:W 1 2^:W 2 1 (1) :S 2 1 ) :W 1 1^:W 2 1^:W 2 2^:W 3 1 (2) :S 1 2 ) :W 1 1^:W 1 2^:W 2 2^:W 1 3 (3) S 1 2 ) W 1 3 _ W 1 2 _ W 2 2 _ W 1 1 (4) KB { koniunkcja obserwacji i formu l (1) - (4). Chcemy pokazac _ze z KB wynika W 1 3. W tym celu wystarczy pokazac _ze formu la KB ) W 1 3 (5) jest tautologi a. Metoda zero-jedynkowa jest niepraktyczna (4096 wierszy). Latwo wykazac _ze (5) jest tautologi a pos luguj ac si e regu l a odrywania eliminacji koniunkcji i rezolucji. Uwaga: Rachunek zdan nie jest wygodny do formalizacji swiata Wumpusa (zbyt wiele symboli zdaniowych co czyni formalizacj e nieefektywn a). 95 Jak reprezentowac akcje? A 1 1 ^ East A ^ W 2 1 ):F orward: Jesli u_zywamy rachunku zdan nie mo_zemy zadac bazie wiedzy pytania \Jak aakcj ewybrac?" Musimy zadac seri epytan ka_zde dotycz ace innej akcji: \Czy mam isc naprzod" Czy mam si e odwrocic w prawo?" itp. Model agenta pos luguj acego si e baz a wiedzy w rachunku zdan: function PROPOSITIONAL-KB-AGENT( percept) returns an action static: KB a knowledgebase t a counter initially 0 indicating time TELL(KB MAKE-PERCEPT-SENTENCE( percept t)) for each action in the list of possible actions do if ASK(KB MAKE-ACTION-QUERY(t action)) then t t +1 return action end 96 Swiat Wumpusa zmienia si e wraz z up lywem czasu. Jak reprezentowac te zmiany? Jedyn ametod a jest odpowiednie indeksowanie sta lych zdaniowych: A 0 1 1 ^ East0 A ^ W 2 1 0 ) :Forward0 A 1 1 1 ^ East 1 A ^ W 2 1 1 ) :Forward 1 A 2 1 1 ^ East2 A ^ W 2 1 2 ). :Forward2 A 0 1 1 ^ North0 A ^ W 1 2 0 ) :Forward0 A 1 1 1 ^ North 1 A ^ W 1 2 1 ) :Forward 1 A 2 1 1 ^ North2 A ^ W 1 2 2 ). :Forward2 Jesli przyjmiemy _ze agent mo_ze wykonac 100 akcji w trakcie gry to potrzebujemy 6400 formu l nawyra_zenie prostego faktu _ze nie nale_zy isc do kwadratu w ktorym znajduje si e Wumpus. 97
Logika pierwszego rz edu Term zamkni ety (ground term) { term w ktorym nie wyst epuj a zmienne. Dopuszcza obiekty oraz funkcje i relacje okreslone na tych obiektach. Rozszerzamy alfabet: Zmienne indywiduowe: x y x 0 y 1... Sta le indywiduowe: A Jan... Symbole funkcji: f ojciec... Symbole predykatow: P Brat... Kwantykatory: 8 9. Predykat rownosci: =. Termy: Wskazuj a na obiekty. Zmienna (sta la) indywiduowa jest termem. Jesli f jest symbolem funkcji n-argumentowej i t 1 ::: t n s a termami to f(t 1 ::: t n ) jest termem. 98 Formu ly atomowe: Formu ly atomowe rachunku zdan oraz Jesli P jest symbolem relacji n-argumentowej i t 1 ::: t n s a termami to P(t 1 ::: t n ) jest formu l a atomow a. Jesli t 1 i t 2 s a termami to (t 1 = t 2 ) jest formu l a atomow a. Formu ly: Formu la atomowa jest formu l a. Jesli A i B s aformu lami to (A ^ B) (A _ B) (A ) B) i (A B) s a formu lami. Jesli A jest formu l a x jest zmienn a indywiduow a to (:A) (8xA) i(9xa) s aformu lami. 99 Semantyka Interpretacja: Para hd mi gdzie D { niepusty zbior dziedzina interpretacji. m { funkcja ktora sta lym przyporz adkowuje elementy dziedziny n-argumentowym symbolom funkcyjnym funkcje z D n w D symbolom zdaniowym wartosci ze zbioru ftrue Falseg oraz n-argumentowym symbolom relacyjnym n-argumentowe relacje okreslone na D n. Wartosciowanie zmiennych w interpretacji: funkcja ze zbioru zmiennych indywiduowych w dziedzin e interpretacji. 100 V M a (t) - wartosc termu t w interpretacji M = hd mi wzgl edem wartosciowania a: Va M (x)=a(x) gdzie x jest zmienn a. Va M (C)=m(C) gdzie C jest sta l a. Va M (f(t 1 ::: t n )) = m(f)(va M (t 1 ) :::Va M (t n )). a(x d) wartosciowanie identyczne z a dla wszystkich zmiennych poza x. Zmiennej x przypisana jest wartosc d. V M a (A) -wartosc formu ly A w interpretacji M wzgl edem wartosciowania a: V M a (Q)=m(Q) dla sta l ej zdaniowej C. V M a (P(t 1 ::: t n )) = m(p)(va M (t 1 )... Va M (t n )). Va M (t 1 = t 2 )=(Va M (t 1 )=Va M (t 2 )). 101
V M a V M a V M a V M a (B ^ C)=V M a (B _ C)=V M a (B ) C)=V M a (B C)=V M a (B) ^ Va M (C): (B) _ Va M (C): (B) ) Va M (C): (B) Va M (C): Va M (8xB)=min d2d [V a(x M d) (B)]. Va M (9xB)=max d2d [V a(x M d) (B)]. Formu la A jest spe lnialna jesli ma wartosc Truew pewnej interpretacji M wzgl edem pewnego wartosciowania a. Formu la A jest prawdziwa w interpretacji M jesli mawartosc Truew tej interpretacji wzgl e- dem ka_zdego wartosciowania a. M nazywa si e wtedy modelem dla A. Formu la A jest tautologi a jesli jest prawdziwa w ka_zdej interpretacji. 102 W logice pierwszego rz edu zachodzi twierdzenie o dedukcji. Problem stwierdzenia czy dana formu la logiki pierwszego rz edu jest tautologi a jest problemem nierozstrzygalnym. Jest on natomiast po lrozstrzygalny: Istnieje algorytm ktory dla zadanej formu ly A stwierdza _ze A jest tautologi a pod warunkiem _ze tak istotnie jest. Teoria: Zbior formu l. Teoria jest niesprzeczna jesli posiada model tzn. istnieje interpretacja w ktorej prawdziwe s a wszystkie formu ly teorii. Istnieje poprawna i pe lna procedura dowodzenia dla logiki pierwszego rz edu. 103 Komunikacja z baz a wiedzy TELL(KB Brat(Jan P iotr)) ASK(KB Lubi(Anna Jan)): Pytania typu \kto" \gdzie" \kiedy". Przyk ladowo: Kto jest bratem Piotra? ASK(KB 9x Brat(x P iotr)): Oczekiwana odpowiedz: fx=jang fx=stefang: Model agenta pos luguj acego si e baz a wiedzy w logice pierwszego rz edu: Swiat Wumpusa w logice pierwszego rz edu Typowa obserwacja: Percept([Stench Breeze Glitter None None] 5): Akcje: Turn(Right) Turn(Left) Forward Grab Shoot Release Climb. Funkcja MAKE-ACTION-QUERY konstruuje pytanie typu function KB-AGENT( percept) returns an action static: KB a knowledgebase t a counter initially 0 indicating time TELL(KB MAKE-PERCEPT-SENTENCE( percept t)) action ASK(KBMAKE-ACTION-QUERY(t)) TELL(KB MAKE-ACTION-SENTENCE(action t)) t t +1 return action 9a Action(a 5): Prawid lowa odpowiedz: fa=grabg. 104 105
Prosty agent reaktywny Agent reaktywny 8s b u c t P ercept([s b Glitter u c] t) ) Action(Grab t). Lepiej: 8s b u c t P ercept([s b Glitter u c] t) ) AtGold(t) 8t AtGold(t) ) Action(Grab t). Agent reaktywny reaguje na bie_z ac a obserwacj e w oparciu o aktualny stan swiata. Baza wiedzy takiego agenta musi wi ec miec charakter dynamiczny. Rachunek sytuacyjny (situation calculus Hayes McCarthy 1969) { system oparty na logice pierwszego rz edu do formalizacji dynamicznie zmieniaj acego si eswiata. Prosty agent reaktywny nie poradzi sobie ze swiatem Wumpusa: Nigdy nie b edzie wiedzia l jak wrocic do kwadratu startowego w celu wykonania akcji Climb cz esto si e zap etli. Swiat = ci ag sytuacji ka_zda opisuje stan swiata w pewnym momencie czasu. Nowa sytuacja powstaje z bie_z acej sytuacji w wyniku wykonania akcji. 106 107 PIT Akcje deniuje si e podaj ac ich efekty. Gold PIT Gold PIT PIT PIT Portable(Gold): PIT S 3 8s AtGold(s) ) P resent(gold s): Gold PIT PIT Gold PIT PIT PIT S 02 Turn (Right) Forward 8x s P resent(x s) ^ Portable(x) ) Holding(x Result(Grab s)): S 1 PIT Forward S 0 Ka_zdy symbol reprezentuj acy relacj e zmieniaj ac a si e w czasie posiada dodatkowy argument odpowiadaj acy sytuacji: At(Agent [1 1] S 0 ) ^ At(Agent [1 2] S 1 ): Result(action situation) { sytuacja b ed aca wynikiem wykonania akcji action w sytuacji situation. S 1 = Result(F orward S 0 ): 108 8x s :Holding(x Result(Release s)): Potrzebne s a jeszcze aksjomaty t la (frame axioms): (1) Jesli agent posiada przedmiot i go nie wyrzuca to posiada ten przedmiot w nast epnym stanie. (2) Jesli agent nie posiada przedmiotu i go nie podnosi to nie posiada go w nast epnym stanie. 8a x s Holding(x s) ^ (a 6= Release) ) Holding(x Result(a s)): 109