Co to jest SI? The exciting new effort to make 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. 2. Systemy symuluj ace, racjonalne myslenie. 3. Systemy symuluj ace, ludzkie dzia lanie. 4. Systemy symuluj ace, racjonalne dzia lanie. 2
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). Systemy symuluj ace, racjonalne dzia lanie: jak powinno si e, racjonalnie dzia lac (logika, teoria podejmowania decyzji, dzia lanie w warunkach niepe lnej informacji). 3
Zalety rozwa_zania SI jako konstruowanie systemow dzia laj acych, racjonalnie Poj, ecie dzia lania jest ogolniejsze od poj, ecia myslenia. Poj, ecie \racjonalny" jest lepiej okreslone ni_z poj, ecie \ludzki". Racjonalnie dzia laj acy, obiekt = AGENT 4
Podstawy SI Filozoa. Matematyka (twierdzenie Godla). Psychologia. Informatyka(z lo_zonosc obliczeniowa, problemy NP-zupe lne). Lingwistyka. 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". 6
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. 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 (a) DEEP BLUE { program szachowy o wspo lczynniku FIDE 2700. (b) PEGASUS { system analizy i syntezy mowy. (c) MARVEL { system do obrobki danych otrzymywanych ze stacji kosmicznych. (d) PROMETHEUS { system wspomagaj a-, cy prac e, kierowcy. 10
RACJONALNY AGENT sensors environment percepts actions? agent effectors RACJONALNOSC 6= NIEOMYLNOSC! 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. 12
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. 13
Struktura racjonalnego agenta AGENT = ARCHITEKTURA + PROGRAM 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 Satellite image analysis system Pixels of varying intensity, color Print a categorization of scene Correct categorization Images from orbiting satellite Part-picking robot Pixels of varying intensity Pick up parts and sort into bins Place parts in correct bins Conveyor belt with parts 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 14
Szkielet programu symuluj acego, agenta: 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 Program symuluj acy, agenta nie powinien sprowadzac sie do przegl adania, tablicy: 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 Regu la produkcyjna: if swiat lo czerwone then stoj. 15
Rodzaje agentow 1. Prosty agent reaktywny: Reaguje wy l acznie, na bie_z ac, a, obserwacj e., Nie przechowuje aktualnego stanu swiata. Agent Sensors Condition action rules What the world is like now What action I should do now 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 16
2. Agent reaktywny: Reaguje na bie_z ac, a, obserwacj e, w oparciu o aktualny stan swiata. State How the world evolves What my actions do Condition action rules Sensors What the world is like now What action I should do now Environment Agent Effectors 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 17
3. Agent realizuj acy, cel: konstruuje plan w celu osi agni, ecia, pewnego celu. State How the world evolves What my actions do Goals Sensors What the world is like now What it will be like if I do action A What action I should do now Environment Agent Effectors 18
4. Agent optymalny: realizuje pewien cel w sposob optymalny. State How the world evolves What my actions do Utility Sensors 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 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). 20
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 agents do PERCEPT[agent] GET-PERCEPT(agent, state) end for each agent in agents do ACTION[agent] PROGRAM[agent](PERCEPT[agent]) end state UPDATE-FN(actions, agents, state) until termination(state) 21
Rozwi azywanie, problemow Podstawowe fazy: 1. Sformu lowanie celu. 2. Sformu lowanie problemu. 3. Znalezienie rozwi azania., 4. Wykonanie. 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 22
Rodzaje problemow Scenariusz (\vacuum world"): 1 2 3 4 5 6 7 8 Cel: Wyczyscic oba pokoje. (f7,8g) Akcje: Left Right Suck. 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. Problemy z niepe 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. 24
3. Problemy z niepe ln a, informacj azarowno, o stanie pocz atkowym,, jak i efektach akcji. Przyk lad: Zak ladamy, _ze Suck czysci brudny 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. 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. Problemy z niepe 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) OPERATORS 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 8hetmanow 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. 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. 28
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 R L R S S L R R L R R L L S S S S L R L R S S 29
2. Niepe lna informacja o stanie pocz atkowym:, Stany: Podzbior stanow 1 { 8. Akcje, cel, koszt: jak wy_zej. Przestrzen stanow: L R L R S S L R R S L S S R L L R S R S L 30
Przeszukiwanie przestrzeni stanow Problem: Znalezc drog, ezaradudobukaresztu. Oradea Neamt Zerind Arad Iasi Sibiu Fagaras Vaslui Timisoara Rimnicu Vilcea Lugoj Pitesti Mehadia Urziceni Hirsova Dobreta Craiova Bucharest Giurgiu Eforie Stany: Jedno z 20 miast. Akcje: Przejazd z miasta do miasta. Cel: Bukareszt. Stan pocz atkowy:, Arad. Koszt: Liczba miast przez ktore jedziemy. 31
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 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 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 32
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. datatype node components: state, parent-node, operator depth, path-cost. 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. 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(nodes,EXPAND(node,OPERATORS[problem])) end 34
Strategie przeszukiwania Kryteria oceny strategii: Pe lnosc { czy zawsze znajduje rozwi azanie,, o ile istnieje. Z lo_zonosc czasowa. Z lo_zonosc pami, eciowa. 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 azawsze 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). 36
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 11,111 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 11,111 terabytes 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. 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
Przeszukiwanie w g l ab, (depth-rst search) Rozszerza zawsze wierzcho lek o najwi, ekszej g l, e- bokosci. 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. 40
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 lugosc scie_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. 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 Limit = 2 Limit = 3... 42
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) succeeds then 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). 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., 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., Start Goal 44
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 =6,strategia 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. Co zrobic, jesli istnieje wiele stanow koncowych, ktore nie s a, explicite dane? Musimyumiecefektywnie stwierdzic, _ze obie drogi przeszukiwania spotka ly si, e. 45
Analiza 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. 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 46
Unikanie powtarzaj acych, si e, stanow 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. Nie generuj stanu, ktory by l kiedykolwiek wczesniej wygenerowany (byc mo_ze w innej scie_zce). To niestety wymaga przechowywania wszystkich dotychczas wygenerowanych stanow. 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 lszywy,nale_zy wykonac nawrot (backtracking). W celu zwi ekszenia, efektywnosci mo_zna dodatkowou_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: h(n) = szacunkowy koszt optymalnej drogi ze stanu n do celu. function GREEDY-SEARCH(problem) return BEST-FIRST-SEARCH(problem h). Arad 118 75 Oradea 71 Neamt Zerind 151 140 Sibiu 99 Fagaras 80 Timisoara Rimnicu Vilcea 111 Lugoj 70 Mehadia 75 Dobreta 120 Craiova Pitesti 211 97 146 101 85 138 Bucharest 90 Giurgiu 87 Iasi 92 142 98 Urziceni Vaslui Hirsova 86 Eforie 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 52
Arad h=366 Arad Sibiu Timisoara Zerind h=253 h=329 h=374 Arad 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 Arad h=366 Fagaras Oradea Rimnicu h=380 h=193 Sibiu h=253 Bucharest h=0 W lasnosci: Przeszukiwanie zach lanne nie gwarantuje optymalnego rozwi azania:, znaleziona droga jest d lu_zsza od drogi przez Rimnicu, Vilcea i Pitesci. 53
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
Przeszukiwanie A (A search) 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 e, heurystyczn 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_zodleg losc nigdy nie przekracza drogi, mamy gwarancj e,, _ze h jest funkcj a, dopuszczaln a., Arad f=0+366 =366 Arad Sibiu f=140+253 =393 Timisoara f=118+329 =447 f=75+374 =449 Zerind Arad Sibiu 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 f=118+329 =447 f=75+374 =449 Zerind Arad Fagaras Oradea Rimnicu f=280+366 f=239+178 f=146+380 =646 =417 =526 Craiova Pitesti Sibiu f=366+160 f=317+98 f=300+253 =526 =415 =553 56
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 wdrzewie 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, 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. 57
Problem: Funkcje heurystyczne 5 4 51 42 3 6 1 8 68 84 7 3 2 7 6 25 Start State Goal State 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. 58
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. 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 =5,to 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. 60
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. 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 mamykilka 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 A GREEN B RED E F D 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. 63
Algorytmy iteracyjnego ulepszania (Iterative improvement algorithms) Dotycz a, problemow, dla ktorych nieistotna jest droga uzyskania rozwi azania, (np. problem 8 hetmanow). Pomys l: Startujemy 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., 64
Metoda wspinaczki (hill-climbing search) evaluation 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. 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, latwo reprezentowalne 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 aogromn, 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) X X X X X X X X X MAX (X) X O X O X O... MIN (O) X O X X O X X O X............... TERMINAL Utility 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... Drzewo gry dla trywialnej gry, w ktorej ka_zdy z graczy wykonuje jeden ruch: MAX 3 A A 1 A 3 2 MIN 3 2 2 A 11 A 13 A 21 A 22 A 23 A 32 A 33 A 12 A 31 3 12 8 2 4 6 14 5 2 70
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) 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. 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
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: 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. MAX 3 A A 1 A 3 2 MIN 3 <=2 2 A 11 A 13 A 21 A 22 A 23 A 32 A 33 A 12 A 31 3 12 8 2 14 5 2 Player Opponent m...... Player Opponent n 74
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., 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 75
Z lo_zonosc algorytmow minimax i alfa-beta 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
Gry z elementem losowosci Drzewo gry dla gry backgammon: MAX DICE B............... MIN 1/36 1,1... 1/18 1,2...... 6,5 6,6... DICE C............ MAX 1/36 1,1... 1/18 1,2...... 6,5 6,6... TERMINAL 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))]: 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 DICE B............... MIN 1/36 1,1... 1/18 1,2...... 6,5 6,6... DICE C............ MAX 1/36 1,1... 1/18 1,2...... 6,5 6,6... TERMINAL 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). 78
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. 3000 2000 1000 0 Botvinnik (2616) 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) Deep Thought 2 (approx. 2600) 1960 1965 1970 1975 1980 1985 1990 79
2. Warcaby Najlepszy program { Chinook. Pierwszy program, ktory 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 knowledge base t, a counter, initially 0, indicating time TELL(KB, MAKE-PERCEPT-SENTENCE( percept, t)) action ASK(KB,MAKE-ACTION-QUERY(t)) TELL(KB, MAKE-ACTION-SENTENCE(action, t)) t t +1 return action 81
Swiat Wumpusa (Wumpus world) 4 Stench Breeze PIT 3 Breeze Stench PIT Breeze Gold 2 Stench Breeze 1 Breeze PIT Breeze START 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 kwadratach scisle przylegaj acych, do jamy (pit), agent czuje wiatr (breeze). 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, N one]. 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 e, od zewn 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 lub Wumpus. 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., 84
Wnioskowanie w swiecie Wumpusa 1,4 2,4 3,4 4,4 1,3 2,3 3,3 4,3 1,2 2,2 3,2 4,2 OK 1,1 2,1 3,1 4,1 A OK OK (a) A = Agent B = Breeze G = Glitter, Gold OK = Safe square P = Pit S = Stench V = Visited W = Wumpus 1,4 2,4 3,4 4,4 1,3 2,3 3,3 4,3 1,2 2,2 P? 3,2 4,2 OK 1,1 2,1 A 3,1 P? 4,1 V B OK OK (b) 1,4 2,4 3,4 4,4 1,3 W! 2,3 3,3 4,3 1,2 A 2,2 3,2 4,2 S OK OK 1,1 2,1 B 3,1 P! 4,1 V V OK OK (a) A = Agent B = Breeze G = Glitter, Gold OK = Safe square P = Pit S = Stench V = Visited W = Wumpus 1,4 2,4 P? 3,4 4,4 1,3 W! 2,3 A 3,3 P? 4,3 S G B 1,2 S 2,2 3,2 4,2 V V OK OK 1,1 2,1 B 3,1 P! 4,1 V V OK OK (b) 85
Reprezentacja, wnioskowanie i logika Reprezentacja wiedzy (knowledge representation: Dziedzina SI zajmuj aca, si e, metodami reprezentowania wiedzy oswiecie. 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
Representation World Sentences Semantics Entails Sentence Semantics Facts Follows Fact 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 wyprowadzalne ze zbioru 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 88
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. 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 Regu la odrywania (modus ponens): ). Regu la eliminacji koniunkcji: 1 ^^ n i Regu la wprowadzenia koniunkcji: 1 ::: n 1 ^^ n Regu la rezolucji: _ :. 92
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 Monotonicznosc: Jesli formu la A wynika ze zbioru formu l X, to A wynika rownie_z z ka_zdego nadzbioru zbioru X. Z lo_zonosc rachunku zdan: Problem stwierdzenia, czy formu la jest tautologi a, jest NPzupe lny. 93
Jak sformalizowacswiat Wumpusa w rachunku zdan? Wiedza agenta po wykonaniu trzeciego ruchu. Bie_z aca, lista obserwacji: [Stench, None, N one, None, None]. 1,4 2,4 3,4 4,4 1,3 W! 2,3 3,3 4,3 1,2 A 2,2 3,2 4,2 S OK OK 1,1 2,1 B 3,1 P! 4,1 V V OK OK A = Agent B = Breeze G = Glitter, Gold OK = Safe square P = Pit S = Stench V = Visited W = Wumpus Obserwacje: :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 ):Forward: 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 knowledge base 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 0 2 1 ) :Forward0 A 1 1 1 ^ East 1 A ^ W 1 2 1 ) :Forward 1 A 2 1 1 ^ East2 A ^ W 2 2 1 ) :Forward2. A 0 1 1 ^ North0 A ^ W 0 1 2 ) :Forward0 A 1 1 1 ^ North 1 A ^ W 1 1 2 ) :Forward 1 A 2 1 1 ^ North2 A ^ W 2 1 2 ) :Forward2. Jesli przyjmiemy, _ze agent mo_ze wykonac 100 akcji w trakcie gry, to potrzebujemy 6400 formu l na wyra_zenie prostego faktu, _ze nie nale_zy isc do kwadratu, w ktorym znajduje si, e Wumpus. 97
Logika pierwszego rz, edu 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
Term zamkni ety, (ground term) { term, w ktorym nie wyst epuj, a, zmienne. Formu ly atomowe ra- Formu ly atomowe: chunku 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 jestformu 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:, function KB-AGENT( percept) returns an action static: KB, a knowledge base t, a counter, initially 0, indicating time TELL(KB, MAKE-PERCEPT-SENTENCE( percept, t)) action ASK(KB,MAKE-ACTION-QUERY(t)) TELL(KB, MAKE-ACTION-SENTENCE(action, t)) t t +1 return action 104