Wprowadzenie do Sztucznej Inteligencji
|
|
- Adrian Krzysztof Kaczor
- 8 lat temu
- Przeglądów:
Transkrypt
1 1 Systemy planowania działań 2 Wprowadzenie do Sztucznej Inteligencji Wykład 6 Informatyka Studia Inżynierskie Planowanie to jest techniką rozwiązywania zywania problemów w z dziedziny I, polegającą na określeniu ciągu akcji (operacji) jakie należy podjąć ąć,, aby przejść z zadanego stanu początkowego do stanu końcowego będącego b celem. Stan początkowy S 0 Zbiór r operatorów {O i } System Planowania Działań Stan końcowy S g P l a n Reprezentacje wykorzystywane w algorytmach przeszukiwania 3 Przeszukiwanie w celu generowania planu? 4 Reprezentacja akcji - realizowana przez mechanizm generacji następnik pników Reprezentacja stanów - kompletny opis stanu; akcje dokonują transformacji całych stanów; ; odwołanie do niej następuje w: generatorze następnik pników, heurystycznej funkcji oceny, w funkcji wykrywania celu Reprezentacja celu - wykorzystywana jedynie przy oszacowaniu heurystycznym i testowaniu celu, które pełni nią w algorytmie przeszukiwania wyłą łącznie rolę czarnych skrzynek - brak innych odwołań do definicji celu Reprezentacja rozwiązania zania - ciągła, nieprzerwana ścieżka od stanu początkowego do celu Przykład: Zaplanować zakupy mleka, gazety i wiertarki. Przestrzeń przeszukiwania: Iść_do_szkoły pójść_spać Iść_do_marketu usiąść ąść_w_fotelu itd., itp. pójść_na_wykładad kupić_mleko kupić_makaron kupić_chleb czytać_ksi _książkę siedzieć_dalej el W systemach planowania, gdy liczba dopuszczalnych akcji jest duża, przestrzeń może e być ogromna!!! 1
2 Przeszukiwanie w celu generowania planu? 5 Planowanie: inna reprezentacja 6 W algorytmach przeszukiwani funkcja heurystyczna wskazuje potencjalnie najlepsze kierunki przeszukiwania Funkcja heurystyczne nie jest jednak nieomylną wyrocznią! Skoro wybór r odbywa się trochę na zasadzie zgadywania,, każda dopuszczalna zmiana musi być przeanalizowana Funkcja oceny heurystycznej nie pozwala wyeliminować akcji w trakcie przeszukiwania, lecz pomaga jedynie je uporządkowa dkować Określona akcja jest analizowana jednak nie dlatego, że e prowadzi do osiągni gnięcia celu, lecz dlatego, że e jest dopuszczalna w danym stanie Reprezentacja w systemach planowanie powinna: dopuszczać analizę częś ęści składowych stanów, akcji i celu umożliwia liwiać dekompozycję stanów, akcji i celu Mechanizm planowania powinien generować plan nie koniecznie w sposób przyrostowy poprzez dodawanie akcji po kolei, poczynając c od stanu inicjującego cego Większo kszość obiektów świata, z którym planujmy jest niezależna na od siebie,, więc c należy y redukować złożoność zadania planowania poprzez jego dekompozycję na podplany Wniosek: tylko deklaratywny język j opisu stanów, akcji i celów pozwoli spełni nić powyższe warunki Logika sytuacyjna 7 Przykład modelowania zmian jako sekwencji stanów 8 Język formuł logiki predykatów, które opisują zmiany zachodzące ce w modelowanym świecie Świat modelowany jest jako sekwencja sytuacji,, z których każda jest stopklatką następuj pujących po sobie zmian aza wiedzy odzwierciedla zmiany zachodzące ce w opisie stanu wraz z upływem czasu Każdej relacji i każdej własnow asności, która może e ulec zmianie przypisywany jest dodatkowy czasowy parametr np.: położenie enie(pionek,[1,2],,[1,2],s 1 ) położenie enie(wieża,[3,7],,[3,7],s 2 ) niezmienne relacje i własnow asności nie mają tego parametru np.: parzysta(8) W logice sytuacyjnej świat jest ciągiem sytuacji połą łączonych wykonanymi akcjami s s 1 move-down s 3 move-right s 4 move-right s 5 move-down 2
3 Planowanie w logice sytuacyjnej: świat klocków 9 Logika sytuacyjna świata klocków 10 Język logiki sytuacyjnej, służy s y do definiowania stanów, akcji i celów Świat klocków Trzy klocki,,, które mogą być pojedynczo przenoszone oraz trzy pola, którymi nie można manipulować p Stan początkowy: q r Stan końcowy (cel): Stan świata klocków w opisujemy za pomocą predykatów kcje w świecie klocków w definiujemy za pomocą klauzul p q r Zbiór r predykatów w opisu stanów w i celów: on(x,y,s i ) spelniony,, gdy obiekt X znajduje się na Y clear(x,s i ) spełniony, gdy obiekt X jest wolny (nic na nim nie ma) moveable(x) spełniony, gdy obiekt X może e być przemieszczany Zbiór r akcji: Operator przemieszczania obiektów: carry(x,y,z) akcja przeniesienia obiektu X z miejsca Y na miejsce Z Reprezentacja rozwiązania zania (propagacja zmian): Funkcja: result(,s) reprezentuje stan S, S, będący b skutkiem wykonania akcji stanie S, czyli S =result(,s) kcje w logice sytuacyjnej kcje w logice sytuacyjnej sąs definiowane przez skutki ich wykonania Przez skutki rozumiemy te elementy opisu stanu, które zmieniają się po wykonaniu akcji np. efektem chwytania wolnego klocka (grab( grab) będzie w stanie wynikowym jego trzymanie (holding( holding) X,S clear(x,s) moveable(x) holding(x,result(grab(x),s)) )) formuły y tego typu nazywamy aksjomatami wynikowymi (dołą łączania) Dla pełnego opisu skutków w akcji musimy równier wnież uwzględnia dniać to co nie ulega zmianie,, gdy akcja tego nie dotyczy np. fakt trzymania klocka się nie zmieni, jeśli go nie upuścimy (drop( drop),x,s holding(x,s) drop(x) holding(x,result(,s)) formuły y tego typu nazywamy aksjomatami tłat 11 Przykłady aksjomatów w wynikowych i tłat ksjomaty dołą łączania: on(x,z,result(carry(x,y,z),s))) moveable(x) X Z clear(x,s) clear(z,s) on(x,y,s) clear(y, result(carry(x,y,z),s)) )) moveable(x) X Z clear(x,s) clear(z,s) on(x,y,s) ksjomaty tła: t on(p, Q, result(carry(x,y,z),s)) )) on(p,q,s) P X clear(r, result(carry(x,y,z),s)) )) clear(r,s) R Z on(x, Y, result(carry(x,y,z),s)) )) on(x,y,s) clear(z, result(carry(x,y,z),s)) )) clear(z,s) 12 3
4 Przykład zadania planowania w logice sytuacyjnej 14 Problem tła t a (ang. frame problem) 15 Stan początkowy: p q sercje niezależne ne od stanu: moveable() moveable() moveable() r on(,,s 0 ) on(,p,s 0 ) on(,r,s 0 ) clear(,s 0 ) clear(q,s 0 ) clear(,s 0 ) kcje: Stan końcowy (cel): p q r s on(,,s) on(,,s) on(,r,s) clear(,s) clear(p,s) clear(q,s) on(x,z,result(carry(x,y,z),s))) ))) moveable(x) X Z clear(x,s) clear(z,s) on(x,y,s) clear(y,result(carry(x,y,z),s))) ))) moveable(x) X Z clear(x,s) clear(z,s) on(x,y,s) plus aksjomaty tłat Problem: Jak sobie poradzić z faktem, że e zdecydowana większo kszość zdań,, które były y prawdziwe w poprzednim stanie pozostaje prawdziwa po wykonaniu jakiejś akcji? Rozwiązanie: zanie: aksjomaty tła, t ale... Im większa liczba predykatów w opisu stanu, tym większa liczba koniecznych do zdefiniowania aksjomatów w tłat Podobnie, im więcej akcji tym bardziej złożone z one aksjomaty tłat Wniosek: Jedynym wyjściem jest zmiana języka j opisu i sposobu reprezentacji lgorytm planowania w logice sytuacyjnej 16 Rodzaje mechanizmów w generacji planów 37 Ze względu na przyjętą reprezentację każda metoda wnioskowania stosowana w rachunku predykatów w może e być użyta do znalezienia planu w logice sytuacyjnej Zastosowanie takiego rozwiązania zania w realnych zadaniach planowania jest jednak niemożliwe (obliczeniowo nieefektywne) ze względu na ogromną liczbę faktów w jakie trzeba przetwarzać za pomocą aksjomatów w tłat Dodatkowo, procedury dowodowe nie sterowane celem nie gwarantują żadnych własnow asności planu poza samym faktem jego znalezienia plan taki może e być nadmiarowy np. zawierać wzajemnie znoszące się akcje [ 1, 2,,,,, - 1, k ] gdzie s=result( - 1,result(,s)) Planowanie w przód od stanu początkowego do stanu końcowego - propagacja stanów w w przód d (progresja) Planowanie w tył od stanu końcowego do stanu początkowego - propagacja stanów w wstecz (regresja) Systemy planowania w przód d mają znaczenie tylko teoretyczne. Większo kszość praktycznych systemów planowania, to systemy planowania wstecz. 4
5 Planowanie progresywne: generuj i testuj 38 Planowanie progresywne: generuj i testuj Pod stan aktualny podstaw stan początkowy: s akt s 0 2. sprawdź,, czy s g s akt : jeżeli eli tak, to koniec(sukces plan gotowy) 3. utwórz zbiór r wszystkich L O wszystkich operatorów O i, dla których spełnione sąs warunki stosowalności w stanie s akt ; 4. wybierz jeden operator 1 O i L O, wygeneruj próby stan s i+1, będący b efektem zastosowanie tego operatora; jeżeli eli L O =,, to dokonaj nawrotu do poprzedniego stanu; jeżeli eli brak alternatyw do nawrotów, w, to koniec(porażka ka brak planu) 5. a. sprawdź,, czy w stanie s i+1 pojawiły y się sprzeczne podcele; jeżeli eli tak, to powrót do kroku 4 b. sprawdź,, czy w stanie s i+1 pojawił się cykl 2 ; jeżeli eli tak, to nawrót t do stanu poprzedniego 3 s akt i przejście do kroku 4 6. podstaw: s akt s i+1 i przejdź do kroku 2 UWGI: 1-trzeba zastosować heurystyczny wybór r np. na podstawie różnic r pomiędzy stanami; 2-cykl oznacza ponowne wystąpienie tego samego stanu; 3-istnieje wiele sposobów w eliminacji cykli! Przykład Planowanie: O i : move-up up( ) s s g move-down down( ) move-left left( ) move-right right( ) 0 cykl! s 0 move-up 0 move-down 3 3 cykl! move-right 4 move-left 4 cykl! move-right move-left 5 move-up 2 move-down 5 cykl! move-down 8 s g sukces! Planowanie progresywne: wady 40 Systemy planowania działań: metody 41 Proces generacji planu nie ukierunkowany stanem docelowym groźba kombinatorycznej eksplozji stanów Ściśle zdeterminowany porządek generacji planu zawsze od stanu początkowego do stanu docelowego Niska wydajność metody generacji planów możliwe zastosowanie tylko dla małych przestrzeni stanów Efektywność silnie uzależniona od stopnia interakcji między operatorami im głęg łębsze niejawne zależno ności, tym większe wymagania zasobowe algorytmu planowania Wykorzystywane metody Planowanie liniowe Dekompozycja problemu (częś ęściowa lub całkowita) Regresja operatorów Strategia least-commitment Planowanie nieliniowe Planowanie hierarchiczne 5
6 Planowanie wstecz: system STRIPS 42 STRIPS: świat klocków 43 Planowanie ukierunkowane stanem docelowym z wykorzystaniem stosu celów Reprezentacja stanów w i akcji oparta na rachunku predykatów Specyficzna dziedzina planowania świat klocków Założenia świata klocków: powierzchnia/płaszczyzna/pod aszczyzna/podłoże, na którym umieszczamy klocki jest gładka g i nieograniczona wszystkie klocki mają takie same rozmiary klocki mogą być umieszczone jeden na drugim klocki mogą tworzyć stosy położenie horyzontalne klocków w jest nieistotne, liczy się ich wertykalne położenie względem siebie manipulujemy klockami tylko za pomocą ramienia robota w danej chwili w ramieniu robota może e znajdować się tylko jeden klocek STRIPS: zbiór r operatorów 48 STRIPS: zbiór r predykatów 49 STK(x,y): umieszczenie klocka x na klocku y; ; w ramieniu robota musi znajdować się klocek x,, a na klocku y nie może e znajdować się żaden klocek ON(x,y) ONTLE(x) spełniony, gdy klocek x znajduje się na klocku y spełniony, gdy klocek x znajduje się bezpośrednio na podłożu UNSTK(x,y): zdjęcie klocka x z klocka y; ; ramię robota musi być puste/wolne a na klocku x nie może e znajdować się inny klocek LER(x) HOLDING(x) spełniony, gdy powierzchnia klocka x jest pusta tzn. nie znajduje się na nim żaden inny klocek spełniony, gdy w ramieniu robota znajduje się klocek x PIKUP(x): podniesienie klocka x z podłoża; ramię robota musi być puste/wolne a na klocku x nie może e znajdować się inny klocek PUTDOWN(x): umieszczenie klocka x na podłożu; w ramieniu robota musi znajdować się klocek x RMEMPTY spełniony, gdy ramię robota jest puste/wolne Uniwersalne reguły y rządz dzące światem klocków w sąs reprezentowane z wykorzystaniem tych predykatów w jako aksjomaty zapisane w postaci formuł rachunku predykatów, np.: [ x x HOLDING(x)] RMEMPTY x x ONTLE(x) y y ON(x,y) x x [ [ y y ON(y,x)] LER(x) 6
7 STRIPS: reprezentacja operatorów 50 STRIPS: definicja formalna operatorów 52 Problem tła t (ang. frame problem) ) w systemie STRIPS rozwiązano zano stosując c odpowiednią formę reprezentacji operatorów. Każdy operatora zawiera: listę predykatów, które muszą być prawdziwe, aby jego użycie u było o możliwe - sekcja PREONDITION - warunki stosowalności operatora listę predykatów, które staną się prawdziwie po jego wykonaniu - sekcja DD listę predykatów, które przestaną być prawdziwe po jego wykonaniu - sekcja DELETE Wszystkie predykaty, które nie znalazły się na listach DD i DELETE pozostają niezmienione po wykonaniu operatora. Listy DD oraz DELETE opisują łącznie efekty użycia u operatora. STK(x,y): UNSTK(x,y): PIKUP(x): PUTDOWN(x): PREONDITION: LER(y) HOLDING(x) DELETE: LER(y) HOLDING(x) DD: RMEMPTY ON(x,y) PREONDITION: ON(x,y) LER(x) RMEMPTY DELETE: ON(x,y) RMEMPTY DD: HOLDING(x) LER(y) PREONDITION: LER(x) ONTLE(x) RMEMPTY DELETE: ONTLE(x) RMEMPTY DD: HOLDING(x) PREONDITION: HOLDING(x) DELETE: HOLDING(x) DD: ONTLE(x) RMEMPTY STRIPS: algorytm planowania wstecz 53 STRIPS: przykład planowania 54 Stos celów - podstawowa struktura danych generatora planu, zawierająca zarówno cele, jak i operatory służąs żące do ich osiągni gnięcia Przebieg planowania: wykrywanie różnic r między stanem aktualnym a celem umieszczenie podcelów w niespełnionych nionych w akt. stanie na stosie wybór r operatora redukującego różnicr nicę zastąpienie podcelu wybranym operatorem na stosie umieszczenie na stosie warunków w stosowalność wybranego operatora - nowy (złożony) ony) cel rozkład warunku stosowalności na podcele - nowe cele jednostkowe (proste) na stosie Stan początkowy: Stan końcowy (docelowy): ON(,) ONTLE() ONTLE() ONTLE(D) RMEPMTY ON(,) ON(,D) ONTLE() ONTLE(D) D D 7
8 STRIPS: przykład planowania 55 STRIPS: przykład planowania 56 Stan docelowy: D Umieszczamy stan docelowy na stosie ON(,) ON(,D) ONTLE() ONTLE(D) D ON(,) ON(,D) Różnica między stanem aktualnym a celem ON(,) ON(,D) ONTLE() ONTLE(D) D STRIPS: przykład planowania 57 STRIPS: przykład planowania 58 ON(,) STK(,) ON(,D) Operator spełniaj niający cel ze szczytu stosu ON(,) ON(,D) ONTLE() ONTLE(D) D LER() HOLDING() STK(,) ON(,D) Warunek stosowalności operatora ON(,) ON(,D) ONTLE() ONTLE(D) D 8
9 STRIPS: przykład planowania 59 STRIPS: przykład planowania 60 LER() HOLDING() LER() HOLDING() STK(,) ON(,D) Rozbicie warunku na podwarunki: kolejność wynika z wiedzy heurystycznej (stan HOLDING łatwiej zniweczyć) ON(,) ON(,D) ONTLE() ONTLE(D) D LER() UNSTK(,) HOLDING() LER() HOLDING() STK(,) ON(,D) Operator spełniaj niający cel ze szczytu stosu ON(,) ON(,D) ONTLE() ONTLE(D) D STRIPS: przykład planowania 61 STRIPS: przykład planowania 62 ON(,) LER() RMEPMTY UNSTK(,) HOLDING() LER() HOLDING() STK(,) ON(,D) Warunek stosowalności operatora ON(,) ON(,D) ONTLE() ONTLE(D) D ON(,) LER() RMEPMTY ON(,) LER() RMEPMTY LER() UNSTK(,) HOLDING() LER() HOLDING() STK(,) ON(,D) Rozbicie warunku na podwarunki: : kolejność heurystyczna ON(,) ON(,D) ONTLE() ONTLE(D) D 9
10 STRIPS: przykład planowania 63 STRIPS: przykład planowania 64 ON(,) LER() RMEPMTY ON(,) LER() RMEPMTY UNSTK(,) HOLDING() LER() HOLDING() STK(,) ON(,D) Spełnione podwarunki usunięte ze stosu (LER() na podstawie reguł świata klocków) Ponownie sprawdzenie całego warunku stosowalności ON(,) ON(,D) ONTLE() ONTLE(D) D ON(,) LER() RMEPMTY UNSTK(,) HOLDING() LER() HOLDING() STK(,) ON(,D) Warunek spełniony usuwamy ze stosu ON(,) ON(,D) ONTLE() ONTLE(D) D STRIPS: przykład planowania 65 STRIPS: przykład planowania 66 lternatywny stos celów: UNSTK(,) HOLDING() LER() HOLDING() STK(,) ON(,D) Usunięcie operatora ze szczytu stosu i... ON(,) ON(,D) ONTLE() ONTLE(D) UNSTK(,) dodanie operatora do planu jego wykonanie oraz... D HOLDING() ONTLE() ONTLE() ONTLE(D) LER() ONTLE() LER() RMEMPTY ONTLE() LER() RMEPMTY HOLDING() PIKUP() LER() HOLDING() STK(,) ON(,D) ON(,) ON(,D) OTD * Podwarunki na stosie (LER( ) spełnione!) Warunek stosowalności operatora Operator spełniaj niający cel ze szczytu stosu OTD * ONTLE() ONTLE(D) ON(,x) LER() RMEMPTY ON(,x) LER() RMEPMTY HOLDING() UNSTK(,x) LER() HOLDING() STK(,) ON(,D) ON(,) ON(,D) OTD * 10
11 STRIPS: przykład planowania 67 STRIPS: przykład planowania 68 lternatywny stos celów: LER(x) HOLDING() LER(x) HOLDING() ON(,x) STK(,x) RMEMPTY ON(,x) LER() RMEPMTY HOLDING() UNSTK(,x) LER() HOLDING() STK(,) ON(,D) Podwarunki na stosie Warunek stosowalności operatora Operator spełniaj niający cel ze szczytu stosu ON(,) ON(,D) ONTLE() ONTLE(D) ykl (zapętlenie!) D ONTLE() LER() RMEMPTY ONTLE() LER() RMEPMTY HOLDING() PIKUP() LER() HOLDING() STK(,) ON(,D) Podwarunki spełnione Niespełniony (z reguł świata klocków) ON(,) ON(,D) ONTLE() ONTLE(D) D STRIPS: przykład planowania 69 STRIPS: przykład planowania 70 LER(D) HOLDING() RMEMPTY STK(,D) ONTLE() LER() RMEPMTY PIKUP() LER() HOLDING() STK(,) ON(,D) Warunek stosowalności operatora ON(,) ON(,D) ONTLE() ONTLE(D) Operator spełniaj niający cel ze szczytu stosu lternatywny operator PUTDOWN(): taka sama liczba nie spełnionych PREONDITIONs (0), mniejsza liczba spełnionych DDs ( bo ON(,D) jest niżej na stosie! ) D LER(D) HOLDING() STK(,D) ONTLE() LER() RMEPMTY PIKUP() LER() HOLDING() STK(,) ON(,D) ON(,) ON(,D) ONTLE() ONTLE(D) UNSTK(,) STK(,D) Warunek stosowalności spełniony Usunięcie operatora ze szczytu stosu i jego wykonanie oraz dodanie operatora do planu D 11
12 STRIPS: przykład planowania 71 STRIPS: przykład planowania 72 ONTLE() LER() RMEPMTY PIKUP() LER() HOLDING() STK(,) ON(,D) ON(,) ON(,D) ONTLE() ONTLE(D) Warunek stosowalności spełniony Usunięcie operatora ze szczytu stosu i jego wykonanie oraz D LER() HOLDING() STK(,) ON(,D) Warunek stosowalności spełniony Usunięcie operatora ze szczytu stosu i jego wykonanie oraz ON(,) ON(,D) ONTLE() ONTLE(D) D UNSTK(,) STK(,D) PIKUP() dodanie operatora do planu UNSTK(,) STK(,D) PIKUP() STK(,) dodanie operatora do planu STRIPS: przykład planowania 73 STRIPS: koniec przykładu 74 Stan początkowy: Stan końcowy (docelowy): ON(,D) Warunek spełniony el główny g spełniony ON(,) ON(,D) ONTLE() ONTLE(D) D ON(,) ONTLE() ONTLE() ONTLE(D) RMEPMTY D ON(,) ON(,D) ONTLE() ONTLE(D) D Plan: Stos pusty KONIE planowania! UNSTK(,) STK(,D) PIKUP() STK(,) UNSTK(,) STK(,D) PIKUP() STK(,) 12
13 STRIPS: heurystyka Wiedza heurystyczna: kolejność umieszczania różnic r (warunków) w) na stosie wybór r operatora redukującego różnicr nicę Kolejność różnic/warunków: w: wiedza heurystyczna wiedza o trudności w osiąganiu warunków (ten, który łatwo zniweczyć spełniamy później) p zapis wiedzy heurystycznej odpowiednia kolejność warunków w w sekcji PREONDITIONs operatora Stan początkowy: Stan końcowy (docelowy): ON(,) ONTLE() ONTLE() RMEPMTY Wybór r operatora: ten, który szybciej przybliży y stan aktualny do stanu docelowego (ma mniejszą liczę niespełnionych nionych warunków w stosowalności) drugie kryterium: dodatkowo spełnia inny cel niżej na stosie (efekt uboczny) ON(,) ON(,) ONTLE() STRIPS: anomalia Sussmana a lternatywny stos celów: LER() ON(,) ON(,) ONTLE() ON(,) ON(,) ONTLE() ON(,) ONTLE() ONTLE() RMEPMTY ON(,) ON(,) ONTLE() ON(,) ON(,) ONTLE() RMEPMTY ON(,) LER() RMEPMTY ON(,) LER() UNSTK(,) RMEMPTY LER() RMEMPTY ONTLE() HOLDING() PIKUP() LER() HOLDING() ON(,) STK(,) ON(,) ON(,) ON(,) ONTLE() 13
14 79 80 LER() RMEPMTY ON(,) LER() RMEPMTY ON(,) LER() UNSTK(,) RMEMPTY LER() RMEMPTY ONTLE() HOLDING() PIKUP() LER() HOLDING() ON(,) STK(,) ON(,) ON(,) ON(,) ONTLE() UNSTK(,) HOLDING() PUTDOWN() RMEMPTY LER() RMEMPTY ONTLE() HOLDING() PIKUP() LER() HOLDING() ON(,) STK(,) ON(,) Warunek stosowalności ON(,) ON(,) ONTLE() Wybrany, bo spełnia ONTLE() poniżej HOLDING() PUTDOWN() LER() RMEMPTY ONTLE() HOLDING() PIKUP() LER() HOLDING() ON(,) STK(,) ON(,) ON(,) ON(,) ONTLE() UNSTK(,) PUTDOWN() LER() RMEMPTY ONTLE() HOLDING() PIKUP() LER() HOLDING() ON(,) STK(,) ON(,) ON(,) ON(,) ONTLE() UNSTK(,) PUTDOWN() PIKUP() 14
15 83 84 LER() HOLDING() ON(,) STK(,) ON(,) ON(,) ON(,) ONTLE() UNSTK(,) PUTDOWN() PIKUP() STK(,) LER() RMEPMTY ON(,) LER() UNSTK(,) LER() RMEMPTY ONTLE() HOLDING() PIKUP() LER() HOLDING() ON(,) STK(,) ON(,) ON(,) ONTLE() UNSTK(,) PUTDOWN() PIKUP() STK(,) LER() RMEPMTY ON(,) UNSTK(,) LER() RMEMPTY ONTLE() PIKUP() UNSTK(,) PUTDOWN() PIKUP() RMEPMTY LER() RMEMPTY ONTLE() PIKUP() Ponownie nie jest spełniony! UNSTK(,) PUTDOWN() PIKUP() LER() HOLDING() STK(,) ON(,) ON(,) ONTLE() STK(,) UNSTK(,) LER() HOLDING() STK(,) ON(,) ON(,) ONTLE() STK(,) UNSTK(,) 15
16 87 88 HOLDING() RMEPMTY PUTDOWN() LER() RMEMPTY ONTLE() PIKUP() Nie STK(,) bo byłby cykl UNSTK(,) PUTDOWN() PIKUP() HOLDING() PUTDOWN() LER() RMEMPTY ONTLE() PIKUP() UNSTK(,) PUTDOWN() PIKUP() LER() HOLDING() STK(,) ON(,) ON(,) ONTLE() STK(,) UNSTK(,) LER() HOLDING() STK(,) ON(,) ON(,) ONTLE() STK(,) UNSTK(,) PUTDOWN() UNSTK(,) UNSTK(,) LER() RMEMPTY ONTLE() PIKUP() PUTDOWN() PIKUP() PUTDOWN() PIKUP() LER() HOLDING() STK(,) ON(,) ON(,) ONTLE() STK(,) UNSTK(,) PUTDOWN() PIKUP() LER() HOLDING() STK(,) ON(,) ON(,) ONTLE() STK(,) UNSTK(,) PUTDOWN() PIKUP() STK(,) 16
17 91 92 UNSTK(,) UNSTK(,) LER() RMEMPTY ONTLE() HOLDING() PIKUP() LER() HOLDING() ON(,) STK(,) ON(,) ON(,) ONTLE() Ponownie nie jest spełnione! PUTDOWN() PIKUP() STK(,) UNSTK(,) PUTDOWN() PIKUP() LER() RMEMPTY ONTLE() PIKUP() LER() HOLDING() STK(,) ON(,) ON(,) ONTLE() PUTDOWN() PIKUP() STK(,) UNSTK(,) PUTDOWN() PIKUP() STK(,) STK(,) PIKUP() LER() HOLDING() STK(,) Stos ON(,) pusty ON(,) koniec planowania! ONTLE() UNSTK(,) PUTDOWN() PIKUP() STK(,) UNSTK(,) PUTDOWN() PIKUP() STK(,) PIKUP() STK(,) Otrzymany plan nie jest optymalny: niektóre operacje zaraz po wykonaniu zostaną wycofane (bezpośredni następnik w planie to operacja odwrotna) takie dopełniaj niające się pary operacji można wykryć i usunąć z planu w drodze analizy końcowego planu, ale nie we wszystkich dziedzinach możliwe jest określenie, która operacja niweluję inną; dodatkowo, zbędne okazało o się całe przetwarzanie, które zostało o wykonane w trakcie planowania dla dopełniaj niających się par operatorów UNSTK(,) PUTDOWN() PIKUP() STK(,) UNSTK(,) PUTDOWN() PIKUP() STK(,) PIKUP() STK(,) 17
18 96 97 Otrzymany plan nie jest optymalny: niektóre operacje zaraz po wykonaniu zostaną wycofane (bezpośredni następnik w planie to operacja odwrotna) takie dopełniaj niające się pary operacji można wykryć i usunąć z planu, ale nie we wszystkich dziedzinach możliwe jest określenie, która operacją niweluję inną; dodatkowo, zbędne okazało o się całe e przetwarzanie, które zostało wykonane w trakcie planowania dla takich dopełniaj niających się par operatorów zy za nieoptymalny plan odpowiada użyta u heurystyka, czy sam algorytm planowania liniowego? Sprawdźmy zatem skutki innych decyzji heurystycznych! lternatywny stos celów: LER() RMEPMTY ONTLE() LER() RMEMPTY ONTLE() HOLDING() PIKUP() LER() HOLDING() ON(,) STK(,) ON(,) ON(,) ON(,) ONTLE() Wszystkie warunki spełnione lternatywny stos celów: lternatywny stos celów: Warunek spełniony LER() RMEMPTY ONTLE() PIKUP() LER() HOLDING() STK(,) ON(,) ON(,) ON(,) ONTLE() lternatywny plan: Warunek spełniony LER() HOLDING() STK(,) ON(,) ON(,) ON(,) ONTLE() lternatywny plan: PIKUP() PIKUP() STK(,) 18
19 lternatywny stos celów: Stan początkowy: lternatywny kompletny plan: PIKUP()... STK(,) UNSTK(,) PIKUP() STK(,) PUTDOWN() UNSTK(,) itd. UNSTK(,) PUTDOWN() ON(,) ON(,) ON(,) ONTLE() Stan końcowy: PUTDOWN()... PIKUP() STK(,) PIKUP() STK(,) lternatywny plan równier wnież nie jest optymalny (a nawet jest gorszy!): jest dłuższy d (o 4 operacje) zawiera więcej par niwelujących się operacji Za brak optymalności planowania nie odpowiada zatem użyta u heurystyka, lecz sam algorytm planowania liniowego! lternatywny kompletny plan: PIKUP() STK(,) UNSTK(,) PUTDOWN() UNSTK(,) PUTDOWN() PIKUP() STK(,) UNSTK(,) PUTDOWN() PIKUP() STK(,) PIKUP() STK(,) Stan początkowy: Stan końcowy: Optymalny plan: UNSTK(,) PUTDOWN() PIKUP() STK(,) PIKUP() STK(,) Nieoptymalny plan nie jest jedynie efektem użytej u heurystyki, lecz wynika z ograniczeń samego algorytmu planowania liniowego - nie jest istotna kolejność osiągania celów w i porządek wybierania operatorów, lecz fakt, iżi metoda nie uwzględnia interakcji zachodzących cych pomiędzy warunkami i operatorami. 19
20 Poszukiwanie planu: metoda regresji celów 104 Regresja celów: przykład (anomalia Sussman a) 105 Planowanie opiera się na zbiorze celów,, spośród których dowolny podcel może e być wybrany jako kolejny, który należy y osiągn gnąć Planowanie odbywa się wstecz (regresywnie) od stanu docelowego do stanu początkowego Wybierany ze zbioru podcel jest traktowany tak jakby był ostatnim,, który należy y osiągn gnąć (inaczej: zakładamy, adamy, że e reszta celów w jest już spełniona i szukamy tylko tych operacji, które miałyby dopełni nić plan poprzez spełnienie ostatniego podcelu) Wybrany operator poszerza zbiór r podcelów o swoje warunki stosowalności Stan początkowy: Stan końcowy (docelowy): ON(,) ONTLE() ONTLE() RMEPMTY ON(,) ON(,) ONTLE() * * - dla uproszczenia rozważań podcel ONTLE() nie będzie b brany pod uwagę Regresja celów: przykład 107 Regresja celów: przykład 108 Drzewo przeszukiwania w przestrzeni zbiorów w celów: STK(,) ON(,) ON(,) STK(,) Drzewo przeszukiwania w przestrzeni zbiorów w celów: STK(,) ON(,) ON(,) STK(,) LER() HOLDING() ON(,) LER() HOLDING() ON(,) kon fli kt UNSTK(x,) LER() HOLDING() ON(,) UNSTK(,x) PIKUP() LER() HOLDING() ON(,) STK(,) kon fli kt kon fli kt ON(x,) LER(x) RMEPMTY HOLDING() ON(,) 20
21 Regresja celów: przykład 109 Regresja celów: przykład 110 Drzewo przeszukiwania w przestrzeni zbiorów w celów: STK(,) ON(,) ON(,) STK(,) Drzewo przeszukiwania w przestrzeni zbiorów w celów: STK(,) ON(,) ON(,) STK(,) UNSTK(x,) LER() HOLDING() ON(,) UNSTK(,x) PIKUP() LER() HOLDING() ON(,) STK(,) kon fli kt UNSTK(x,) LER() HOLDING() ON(,) UNSTK(,x) PIKUP() LER() HOLDING() ON(,) STK(,) kon fli kt kon fli kt ON(x,) LER(x) RMEPMTY HOLDING() ON(,) RMEPMTY LER() ONTLE() LER() ON(,) kon fli kt ON(x,) LER(x) RMEPMTY HOLDING() ON(,) RMEPMTY LER() ONTLE() LER() ON(,) ON(,x) LER() RMEPMTY LER() ON(,) jeżeli eli x= to konflikt; jeżeli eli x= to cykl Regresja celów: przykład 111 Regresja celów: operacja regresji 112 Drzewo przeszukiwania w przestrzeni zbiorów w celów: UNSTK(x,) LER() HOLDING() ON(,) kon fli kt ON(x,) LER(x) RMEPMTY HOLDING() ON(,) STK(,) RMEPMTY LER() ONTLE() LER() ON(,) ON(,) ON(,) UNSTK(,x) PIKUP() ON(,x) LER() RMEPMTY LER() ON(,) STK(,) LER() HOLDING() ON(,) STK(,) LER() HOLDING() LER() HOLDING() jeżeli eli x= to konflikt; jeżeli eli x= to cykl kon fli kt kon fli kt Planowanie wstecz opiera się na założeniu, że e operator wybrany do spełnienia podcelu jest ostatnim w planie, a pozostałe e podcele zarówno przed, jak i po jego wykonaniu są już spełnione Założenie to jest prawdziwe tylko wtedy, gdy operatory są całkowicie niezależne ne; ; najczęś ęściej jednak jest inaczej - wykonanie jednego operatora może e zniweczyć skutki działania ania innego operatora Wsteczne zastosowanie operatora, określane mianem regresji operatora,, wymaga każdorazowo sprawdzenia jakie warunki muszą być spełnione, aby wykonanie operacji było o możliwe i prowadziło o do osiągni gnięcia podcelu bez naruszania innych (już spełnionych) podcelów 21
22 Regresja celów: operacja regresji 113 Regresja celów: operacja regresji 114 Regresja podcelu za pomocą operatora, który nie wpływa na ten podcel daje w rezultacie ten sam podcel *, np. REGRESSION(ON(,) ON(,),, PIKUP()) = ON(,) Regresja podcelu operatorem, których prowadzi do osiągni gnięcia tego podcelu nie wymaga spełnienia żadnych warunków w (warunki stosowalności operatora sąs obsługiwane w innych sposób * ), np. REGRESSION(ON(,) ON(,),STK(,)),STK(,)) = True * - jest to najczęstszy przypadek regresji operatora * - zgodnie z algorytmem dodawane sąs do zbioru celów Regresja celów: operacja regresji 115 Regresja celów: operacja regresji 116 Regresja podcelu za pomocą niektórych operatorów może e prowadzić do sytuacji, w której spełnienie tego celu nie będzie b już więcej możliwe *, np. Regresja jednego podcelu może - jako efekt uboczny - prowadzić również do osiągni gnięcia podcelu, do którego spełnienia bezpośrednio nie została a użytau *, np. REGRESSION(RMEPMTY RMEPMTY,, PIKUP()) = False REGRESSION(ON(,D) ON(,D),, STK(,D)) = True ale równier wnież REGRESSION(RMEPMTY RMEPMTY,STK(,D)) = True * - taka ścieżka poszukiwania planu oznacza brak możliwo liwości dalszego planowania * - podcele o wartości True mogą zostać usunięte ze zbioru celów w jako na pewno spełnione 22
23 Regresja celów: warunki zakończenia planowania Proces planowania odbywa się wstecz - nie wiadomo jakie operacje zostały y (a w zasadzie: zostaną) ) wykonane przed aktualnym operatorem oraz jakie były y ich skutki poza tym, że doprowadziły y do spełnienia wszystkich oprócz jednego podcelu ze zbioru celów Nie sąs znane skutki uboczne wykonania tych wcześniejszych operacji i ich ewentualny wpływ na inne podcele - żaden podcel nie może e być zignorowany zanim nie ulegnie regresji do warunku True Proces planowania może e zakończy czyć się,, gdy mamy pewność ść, że żadne warunki nie ulegną już zmianie - wszystkie podcele są jednocześnie nie spełnione w stanie początkowym i nie ma potrzeby stosowania jakichkolwiek operatorów poprzedzających ciąg g operacji dopiero co znaleziony 117 Regresja celów: przykład Drzewo poszukiwania planu w przestrzeni zbiorów w celów: PUTDOWN(x) HOLDING(x) LER() ONTLE() LER() ON(,) jeżeli eli x= to konflikt; jeżeli eli x= lub to konflikt STK(x,y) HOLDING(x) LER(y) LER() ONTLE() LER() ON(,) RMEPMTY LER() ONTLE() LER() ON(,) 119 Regresja celów: przykład 120 Regresja celów: przykład 121 Drzewo poszukiwania planu w przestrzeni zbiorów w celów: Drzewo poszukiwania planu w przestrzeni zbiorów w celów: PUTDOWN(x) HOLDING(x) LER() ONTLE() LER() ON(,) jeżeli eli x= to konflikt; jeżeli eli x= lub to konflikt STK(x,y) HOLDING(x) LER(y) LER() ONTLE() LER() ON(,) RMEPMTY LER() ONTLE() LER() ON(,) UNSTK(x,) niespełnialny! nialny! False ON(x,) LER(x) ONTLE() LER() ON(,) PUTDOWN(x) HOLDING(x) LER() ONTLE() LER() ON(,) jeżeli eli x= to konflikt; jeżeli eli x= lub to konflikt STK(x,y) HOLDING(x) LER(y) LER() ONTLE() LER() ON(,) RMEPMTY LER() ONTLE() LER() ON(,) UNSTK(x,) niespełnialny nialny False ON(x,) LER(x) ONTLE() LER() ON(,) UNSTK(x,) niespełnialny! nialny! False ON(x,) LER(x) ONTLE() LER() ON(,) 23
24 Regresja celów: przykład 122 Regresja celów: przykład c.d. 123 Drzewo poszukiwania planu w przestrzeni zbiorów w celów: Drzewo poszukiwania planu w przestrzeni zbiorów w celów: PUTDOWN(x) HOLDING(x) LER() ONTLE() LER() ON(,) jeżeli eli x= to konflikt; jeżeli eli x= lub to konflikt STK(x,y) HOLDING(x) LER(y) LER() ONTLE() LER() ON(,) RMEPMTY LER() ONTLE() LER() ON(,) UNSTK(x,) niespełnialny nialny False ON(x,) LER(x) ONTLE() LER() ON(,) PUTDOWN() UNSTK(x,) True LER() HOLDING() LER() ON(,) niespełnialny nialny False ON(x,) LER(x) ONTLE() LER() ON(,) PUTDOWN(x) HOLDING(x) LER() ONTLE() LER() ON(,) jeżeli eli x= to konflikt; jeżeli eli x= lub to konflikt STK(x,y) HOLDING(x) LER(y) LER() ONTLE() LER() ON(,) RMEPMTY LER() ONTLE() LER() ON(,) UNSTK(x,) False ON(x,) LER(x) ONTLE() LER() ON(,) STK(,) niespełnialny nialny HOLDING() LER() True LER() ONTLE() LER() PUTDOWN() UNSTK(x,) True LER() HOLDING() LER() ON(,) niespełnialny nialny False ON(x,) LER(x) ONTLE() LER() ON(,) Regresja celów: heurystyki Warunkiem zatrzymania procesu planowania jest osiągni gnięcie stanu początkowego (wnioskowanie wstecz) - wiedza o tym stanie jest zatem kluczowa dla podejmowania decyzji o charakterze heurystycznym Jeżeli eli jeden z podcelów w ze zbioru celów jest spełniony w stanie początkowym tkowym,, to próbę jego osiągni gnięcia należy odłożyć na później p - być może e osiągni gnięcie jego nie będzie wymagało żadnych dodatkowych nakład adów, gdyż spełnianie innych podcelów w nie naruszy jego prawdziwości Jeżeli eli jakiś podcel jest łatwo zniweczyć lub łatwo osiągn gnąć,, to jego spełnienie należy y odłożyć na późniejp 124 Regresja celów: przykład Drzewo poszukiwania planu w przestrzeni zbiorów w celów: PUTDOWN(x) konflikt HOLDING(x) LER() ONTLE() LER() ON(,) STK(x,y) konflikt HOLDING(x) LER(y) LER() ONTLE() LER() ON(,) RMEPMTY LER() ONTLE() LER() ON(,) UNSTK(x,) False ON(x,) LER(x) ONTLE() LER() ON(,) STK(,) niespełnialny nialny Spełniony w S 0 HOLDING() LER() True LER() ONTLE() LER() PUTDOWN() UNSTK(x,) True LER() HOLDING() LER() ON(,) niespełnialny nialny False ON(x,) LER(x) ONTLE() LER() ON(,)
25 Regresja celów: podsumowanie 127 Planowanie liniowe: podsumowanie 128 Generowane drzewo poszukiwań planu jest bardzo rozgałę łęzione algorytm wymaga analizy wszystkich możliwych uporządkowa dkowań podcelów w (ewentualne nawroty!), jak równier wnież wszystkich możliwych sposobów ich spełnienia naliza taka jest bezcelowa w problemach całkowicie dekomponowalnych brak zależno ności między podcelami lub zależno ności te sąs bardzo słabe, s więc c kolejność w jakiej osiągamy wtedy podcele nie ma znaczenia rak uniwersalnego mechanizmu, który wskazywałby najlepsze kierunki poszukiwania planu, co może prowadzić do analizy zupełnie marginalnych elementów planu, których występowanie w ostatecznym planie jest nieistotne W metodach planowania liniowego plan generowany jest sekwencyjnie dla kolejnych podcelów, tak długo d aża nie zostanie osiągni gnięty stan docelowy plan prowadzący do spełnienia pewnego podcelu nie jest generowany dopóty, dopóki nie zakończy się planowanie dla podcelu bezpośrednio go poprzedzającego kompletny plan składa się z ciągu operacji prowadzących do pierwszego podcelu, po których następuje ciąg g operacji spełniaj niających drugi podcel, itd. kompletny plan jest liniowo uporządkowan dkowaną sekwencją kompletnych podplanów 129 Planowanie nieliniowe: charakterystyka 130 Wprowadzenie do Sztucznej Inteligencji Wykład 7 Informatyka Studia Inżynierskie W metodach planowania nieliniowego generowanie operacji na rzecz jednego celu może e przeplatać się z operacjami prowadzącymi do spełnienia innego podcelu Planowanie prowadzące do spełnienia pewnego podcelu może e zostać przerwane w celu zbudowania planu dla innego podcelu, po czym możliwy jest powrót t do poprzedniego celu planowania lub może e rozpocząć się generacja planu dla jeszcze innego podcelu Nieliniowe konstruowanie planu przebiega niezależnie od liniowej (i późniejszej) p realizacja planu Plan nie jest wykonywany zanim nie zostanie kompletnie zbudowany 25
26 Planowanie nieliniowe: charakterystyka planowanie odbywa się w przestrzeni planów a nie w przestrzeni stanów w (sytuacji) rozpoczynamy od niepełnego, nego, ogólnego planu operatory służąs do uszczegóławiania bądźb modyfikacji planu takich jak: dodanie nowej operacji, zmiana kolejności operacji, wiązanie zmiennej wolnej itp. rozbudowa planu kończy się,, gdy otrzymamy kompletny plan prowadzący od S 0 do S g i nie jest istotne jaką ścieżką osiągali galiśmy rozwiązanie zanie planowanie odbywa się wstecz (wybieramy operatory na podstawie osiąganych przez nie celów), aby ograniczyć rozmiar przeszukiwanej przestrzeni planów ustalanie kolejności operatorów w i wiąza zań zmiennych odbywa się zgodnie ze strategią least-commitment rezultatem końcowym planowania jest częś ęściowo uporządkowany plan w przeciwieństwie do systemów w liniowych, w których plan jest całkowicie uporządkowanym ciągiem operacji 131 Strategia least-commitment Strategia least-commitment planowania w przestrzeni planów w oznacza, że: nie jest wymagane z góry g podjęcie wszystkich decyzji dotyczących cych planu (kolejność operacji, wiązania zmiennych itp.) dokonywane wybory dotyczą tylko tych aspektów w planu, które sąs istotne w danym momencie i których nie można uniknąć odkładanie decyzji tak długo d jak to możliwe pozwoli zredukować liczbę nawrotów, w, których wystąpienie jest właśnie bezpośredni rednią konsekwencją błędnie podjętych decyzji (za wcześniej i przy zbyt ograniczonej wiedzy) 146 Plan w przestrzeni przeszukiwania planów 147 Planowanie częś ęściowo uporządkowane: reprezentacja planu 148 Jest częś ęściowo uporządkowanym grafem Osiągany jest ścieżką,, której nie musimy pamięta tać w przeciwieństwie do planowania w przestrzeni stanów Jest reprezentacją zbioru kompletnych i w pełni uporządkowanych planów Jego wykonanie wymaga związania zania wszystkich zmiennych (konkretyzacja) Jego realizacja zwana linearyzacją planu jest jedną z wielu możliwych konkretyzacji planu częś ęściowego Plan składa się z: zbioru kroków; ; każdy krok reprezentuje operację,, będącąb fragmentem realizacji planu zbioru ograniczeń kolejnościowych reprezentowanych przez pary wyrażeń postaci S i S j, które oznacza, że e stan S i musi wystąpi pić przed stanem S j (niekoniecznie bezpośrednio) zbioru wiąza zań wartości zmiennych w postaci wyrażeń X=Y, gdzie zmienna X przyjmuje wartość Y (stałej lub zmiennej) zbioru zależno ności przyczynowych (ang. casual links) ) pod c postacią wyrażeń S i S j, które oznacza, iżi krok S i spełnia warunek c kroku S j 26
27 Planowanie częś ęściowo uporządkowane: operatory Plan zawsze zaczyna się od predefiniowanego operatora i kończy predefiniowanym. : pierwszy operator w planie (zawsze!); brak warunków stosowalności; efektem działania ania (lista DD) jest dodanie predykatów, które sąs spełnione w stanie początkowym : : : ostatni operator w planie (zawsze!); brak efektów w wykonania; warunkiem stosowalności (lista PRE ) ) jest zbiór r predykatów, opisujących stan docelowy PREONDITION: null DELETE: null DD: S 0 PREONDITION: S g DELETE: null DD: null 149 Planowanie częś ęściowo uporządkowane: przykład Przykład planowania częś ęściowo uporządkowanego dla zadania ubierania skarpetek i butów Operatory: RightSock: RightShoe: PREONDITION: DELETE: DD: PREONDITION: DELETE: DD: Operatory początkowe/predefiniowane: : PREONDITION: null DELETE: null DD: null null null RightSockOn RightSockOn null RightShoeOn : LeftSock: LeftShoe: PREONDITION: null DELETE: null DD: LeftSockOn PREONDITION: LeftSockOn DELETE: null DD: LeftShoeOn PREONDITION: RightShoeOn LeftShoeOn DELETE: null DD: null 150 Planowanie częś ęściowo uporządkowane: przykład Graf początkowy poszukiwania planu: LeftShoeOn RightShoeOn 152 Planowanie częś ęściowo uporządkowane: przykład Plan częś ęściowo uporządkowany: Left Sock Right Sock Wszystkie plany całkowicie uporządkowane: Right Sock Left Sock Right Sock Left Sock Left Sock Right Sock Left Sock Right Sock Right Sock Right Shoe Left Sock Left Shoe 153 PLN(STEPS:{ S 1 :() S 2 :(PREOND: LeftShoeOn RightShoeOn)} ORDERINGS:{S 1 S 2 } INDINGS:{} LINKS:{}) Reprezentacja planu LeftShoeOn Left Shoe RightShoeOn Right Shoe RightShoeOn RightShoeOn Right Shoe Left Shoe Left Shoe Right Shoe Right Shoe Left Shoe Left Shoe Right Shoe Left Sock Left Shoe Right Sock Right Shoe 27
28 Planowanie częś ęściowo uporządkowane: przykład Plan częś ęściowo uporządkowany: Left Sock LeftShoeOn Left Shoe Right Sock RightShoeOn Right Shoe Hat oat RightShoeOn RightShoeOn HatOn oaton 154 Reprezentacja rozwiązania zania w postaci planu częś ęściowo uporządkowanego jest bardziej zwięzła Każdy nowy krok w częś ęściowym planie powoduje wykładniczy wzrost liczby linearyzacji planu Przykład ad: : dodanie dwóch nowych operacji (Hat( i oat) będzie skutkować liczbą 180 linearyzacji Planowanie częś ęściowo uporządkowane: reprezentacja rozwiązania zania Wynik planowania częś ęściowo uporządkowanego, to acykliczny graf skierowany, w którym porządek nie wszystkich operacji jest zdeterminowany i nie wszystkie zmienne mają określon loną wartość ść,, więc c musi on być: planem kompletnym,, w którym każdy warunek c kroku O j jest osiągany przez zastosowanie pewnej operacji O i takiej, że O i O j i c DD( DD(O i ) oraz O k O k O j c DELETE( DELETE(O k ), gdzie O i O k O j jest jedną z możliwych linearyzacji planu planem spójnym jnym,, w którym nie występuj pują sprzeczności ci w porządku operacji lub wiązaniu zmiennych tzn. nie zachodzi nigdy O i O j O j O i lub X=a i X=b (dla dwóch różnych stałych a i b) 155 Przykład planowania nieliniowego 156 Przykład planowania nieliniowego 157 Zadanie: Zaplanować zakupy mleka, gazety i wiertarki wraz z powrotem do domu. Predykaty opisu stanu: at(x) - wskazuje aktualne położenie jako X (np( np. home, cornershop itp.) sells(x,y) oznacza, że e towar Y można zakupić w X have(x) oznacza, że e posiadamy X Założenia: a. Wyruszamy na zakupy z domu i wracamy z nimi do domu b. Możemy wykonać tylko dwie operacje: Go (przemieszczanie) oraz uy (kupowanie) c. W operacji kupowania ignorujemy kwestię kosztów w (pieniędzy) Operatory: Go(Y): PREONDITION: DELETE: DD: Operatory predefiniowane: at(x) at(x) at(y) : PREONDITION: sells(hardware,drill) sells(cornershop,paper) sells(cornershop,milk) DELETE: null DD: null uy(x): PREONDITION: at(s) sells(s,x) DELETE: null DD: have(x) : PREONDITION: have(drill) have(milk) have(paper) DELETE: null DD: null 28
29 Przykład planowania nieliniowego 158 Przykład planowania nieliniowego 159 Graf początkowy poszukiwania planu: Planowanie w przestrzeni planów: Ograniczenia kolejnościowe (relacja porządku) have(drill) sells(cornershop,paper) have(paper) sells(cornershop,milk) have(milk) sells(hardware,drill) at(s),sells(s,drill) uy(drill) have(drill) at(s),sells(s,milk) uy(milk) have(milk) at(s),sells(s,paper) uy(paper) have(paper) Zależno ności przyczynowe (relacja przyczynowości) ci) chroni warunek have(x), uniemożliwiaj liwiając c wstawienie w tym miejscu operatora negującego have(x) Spełniony w stanie początkowym Przykład planowania nieliniowego 160 Przykład planowania nieliniowego 161 Planowanie w przestrzeni planów: wybór r celów have(drill), have(milk) ) oraz have(paper) rak operatorów osiągaj gających cele sells(x,y),, więc c muszą być spełnione w stanie początkowym! Planowanie w przestrzeni planów: wybór r celów at(hardware) ) oraz at(cornershop) at(x) Go(hardware) at(x) Go(cornershop) sells(hrdw,drill) uy(drill) sells(crns,milk) uy(milk) sells(crns,paper) uy(paper) sells(hrdw,drill) uy(drill) sells(crns,milk) uy(milk) sells(crns,paper) uy(paper) have(drill) have(milk) have(paper) have(drill) have(milk) have(paper) Skróty: crns cornershop cornershop oraz hrdw hardware hardware 29
30 Przykład planowania nieliniowego 162 Przykład planowania nieliniowego 163 Planowanie w przestrzeni planów: próba spełnienia celu at(x) ) przez X=home Planowanie w przestrzeni planów: próba spełnienia celu at(x) ) przez X=home Na podstawie stanu początkowego X=home! Na podstawie stanu początkowego X=home! sells(hrdw,drill) uy(drill) sells(crns,milk) uy(milk) sells(crns,paper) uy(paper) Go(hardware) Go(cornershop) S 1 : S 2 : Go(hardware) sells(hrdw,drill) uy(drill) sells(crns,milk) uy(milk) sells(crns,paper) uy(paper) Go(cornershop) have(drill) have(milk) have(paper) Relacja porządku S : S 0 1 : jest sprzeczna z relacją: S : S 0 2 : have(drill) have(milk) have(paper) Krok Go(hardware) uniemożliwia at ( home ) Go( cornershop) zaś krok Go(cornershop) at ( home ) Go( hardware) Planowanie nieliniowe: obsługa tzw. zagrożeń 164 Przykład planowania nieliniowego 165 Planowanie w przestrzeni planów: ochrona zagrożonych onych relacji przyczynowości ci Planowanie w przestrzeni planów: próba spełnienia celu at(x) ) dla Go(cornershop) ) przez X=hrdw condition ni degradacja ani promocja nie eliminują wzajemnego zagrożenia S i S 1 2. Tylko próba osiągni gnięcia w inny sposób b jednego z warunków at(x) ) może e coś zmienić ale S 3 S 1 S 1 condition S 2 condition S 3 condition Relacja przyczynowości ci S 1 condition S 2 jest zagrożona ona przez krok S 3 S 1 condition S 2 condition Eliminacja zagrożeń przez zmianę ograniczeń kolejnościowych: promocja kroku S 3 condition S 2 S 3 condition Eliminacja zagrożeń przez zmianę ograniczeń kolejnościowych: degradacja kroku S 3 Go(hardware) S 1 : S 2 : sells(hrdw,drill) uy(drill) have(drill) sells(crns,milk) uy(milk) have(milk) uy(paper) have(paper) sells(crns,paper) at(x=hrdw) Go(cornershop) teraz relacja at ( hrdw ) Go( hrdw) uy( drill) jest zagrożona ona przez Go(crns) ) co rozwiązujemy zujemy przez zmianę ograniczeń kolejnościowych na: uy(drill) Go(crns) 30
31 Przykład planowania nieliniowego 166 Przykład planowania nieliniowego 167 Planowanie w przestrzeni planów: Go(hrdw) ) i Go(crns) ) oznaczają, że e mamy ) dla Go(hardware) sells(hrdw,drill) uy(drill) sells(crns,milk) uy(milk) sells(crns,paper) uy(paper) Go(cornershop)? at(x) Go(home) Planowanie w przestrzeni planów: próba spełnienia at(x) ) dla Go(home) ) przez krok (X=home( X=home) Go(hardware) sells(hrdw,drill) uy(drill) Go(cornershop) sells(crns,milk) uy(milk) sells(crns,paper) uy(paper) Relacja przyczynowości ci at( home) Go( home) jest zagrożona ona przez Go(crns) ) i Go(hrdw) Go(home) have(drill) have(milk) have(paper) have(drill) have(milk) have(paper) Jedyny niespełniony niony jeszcze cel może e być spełniony tylko po wykonaniu Go(home ) ale co z warunkiem at(x)? Zagrożenia ze strony Go(crns) ) i Go(hrdw) ) nie można uniknąć ąć,, więc Przykład planowania nieliniowego 168 Przykład planowania nieliniowego 169 Planowanie w przestrzeni planów: druga próba spełnienia at(x) ) dla Go(home) ) przez X=hardware Go(hardware) sells(hrdw,drill) uy(drill) Go(cornershop) sells(crns,milk) uy(milk) sells(crns,paper) uy(paper) Relacja przyczynowości ci at ( hrdw ) Go( hrdw) Go( home) jest zagrożona ona przez Go(crns), który ry Go(home) Planowanie w przestrzeni planów: trzecia próba spełnienia at(x) ) dla Go(home) ) przez X=cornershop Go(hardware) sells(hrdw,drill) uy(drill) Go(cornershop) sells(crns,milk) uy(milk) sells(crns,paper) uy(paper) Relacja przyczynowości ci ( at ( crns ) Go crns nie jest zagrożona, ) Go ona, ( home ale ) Go(home) have(drill) have(milk) have(paper) have(drill) have(milk) have(paper) musi wystąpi pić po Go(hrdw) ) więc uniemożliwia zachowanie, zatem 31
32 Przykład planowania nieliniowego Planowanie w przestrzeni planów: trzecia próba spełnienia at(x) ) dla Go(home) ) przez X=cornershop Go(hardware) Go(cornershop) 170 Relacja przyczynowości ci ( at ( crns ) Go crns nie jest zagrożona, ) Go ona, ( home ale ) Planowanie w przestrzeni planów: gotowy plan Przykład planowania nieliniowego Go(hardware) uy(drill) sells(hrdw,drill) 171 sells(hrdw,drill) uy(drill) have(drill) sells(crns,milk) uy(milk) have(milk) uy(paper) have(paper) sells(crns,paper) Go(home) zagrożone one przez Go(home) ) sąs at ( crns ) Go( crns) uy( milk / paper) co rozwiązujemy zujemy przez zmianę ograniczeń kolejnościowych na: uy(milk/paper paper) Go(home) sells(crns,milk) uy(milk) have(drill) Go(cornershop) have(milk) Go(home) sells(crns,paper) uy(paper) have(paper) lgorytm POP Partial Order Planner Zaczynamy od szkieletu planu w postaci stanu początkowego i końcowego W każdym podejmowana jest próba spełnienia warunku precond pewnego kroku S need zawartego w planie poprzez wybór r nowego operatora albo znalezienie odpowiedniego kroku w częś ęściowym planie Znaleziony operator generuje nową relację przyczynowości ci rak odpowiedniego operatora powoduje nawrót Nowa relacja przyczynowości ci wymaga sprawdzenia zagrożeń albo nowy krok zagraża a zapamiętanym relacjom przyczynowości, ci, albo nowa relacja przyczynowości ci jest zagrożona ona przez kroki już będące w planie Jeżeli eli nie można usunąć zagrożenia mamy nawrót Warunkiem stopu jest brak niespełnionych nionych warunków precond w planie 172 lgorytm POP Partial Order Planner function POP(S init,s goal,operators): plan procedure HOOSE-OP(plan,operators OP(plan,operators,S,S need,c) plan MINIML-PLN( PLN(S init,s goal ) choose a step S add from operators or STEPS(plan) loop do such that c DD( DD(S if IS-SOLUTION(plan SOLUTION(plan) then return plan add ) if there is no such step then fail S need,c SELET-SUGOL(plan SUGOL(plan) add casual link S add c S need to LINKS(plan) HOOSE-OP(plan,operators,S OP(plan,operators,S need,c) add the ordering constraint S add S need RESOLVE_THRETS(plan) to ORDERINGS(plan) end if S add is newly added step from operators then procedure RESOLVE-THRETS THRETS(plan) add S add to STEPS(plan) for each S threat such that c DEL(S threat ) add S init S add S goal to ORDERINGS(plan) and a link S i c S j in LINKS(plan S(plan) do end choose either Promotion: : add S threat S i to ORDERINGS(plan) function SELET-SUGOL(plan SUGOL(plan): S need,c find a plan step S Demotion: : add S j S threat to ORDERINGS(plan) need in STEPS(plan) with precondition c unsatisfied if not ONSISTENT(plan) then fail return S end need,c end
33 lgorytm POP Partial Order Planner Istotne cechy algorytmu POP Nawroty w procesie konstrukcji planu dotyczą tylko mechanizmu wyboru operatora oraz mechanizmu eliminacji zagrożeń (zmiany ograniczeń kolejnościowych) Decyzje o wyborze warunków c do spełnienia nie sąs źródłem nawrotów - każdy warunek musi być w końcu spełniony, więc kolejność ich osiągania może e mieć wpływ tylko na wydajność algorytmu (ale nie na końcowy efekt!) Planowanie jest regresywne Procedura planowania jest poprawna i pełna każdy wynik jest rozwiązaniem zaniem zadania planowania, dla każdego zadania planowania zostanie znalezione rozwiązanie, zanie, o ile istnieje lgorytm jest niedeterministyczny operacje choose oraz fail odpowiadają za decyzję sterującą i nawrót 174 Przykład tzw. potencjalnego zagrożenia w trakcie planowanie nieliniowego POP Planowanie w przestrzeni planów: Go(hrdw) ) i Go(crns) ) oznaczają, że e mamy ) dla Go(hardware) sells(hrdw,drill) uy(drill) have(drill) sells(crns,milk) uy(milk) have(milk) Potencjalne zagrożenie enie,, którego wystąpienie zależeć jednak będzie b od wiązania zmiennych uy(paper) have(paper) sells(crns,paper) Go(cornershop)? at(x) Go(home) at(x) 175 Dla jedynego niespełnionego nionego jeszcze celu po wykonaniu Go(home )będzie at(x),, co stanowi zagrożenie dla Go( crns) at ( crns ) uy( milk / paper) Planowanie z częś ęściowo ukonkretnionymi operatorami W trakcie rozstrzygania zagrożeń (RESOLVE-THRETS THRETS) ) wpływ wybranego operatora na relacje przyczynowości ci w planie może e zależeć od wiązania zmiennych na jego listach PREOND, DD i DEL Zagrożenie takie sąs określane mianem zagrożeń potencjalnych Zagrożenia potencjalne można eliminować jak najszybciej wymuszając przyjęcie wiązania zmiennej, które likwiduje to zagrożenie (np.wi( np.wiązanie X=hrdw w at(x) ) nie stanowi zagrożenia dla at(home home)) Poprzez rozszerzenie języka opisu wiąza zań zmiennych o negację (np. np.x home) ) można wykluczyć pewne wartości w celu eliminacji zagrożenia bez nadawania konkretnej wartości zmiennej mniej rygorystyczny mechanizm ograniczania X Najłagodniejsze agodniejsze podejście opóźnia obsług ugę zagrożeń do momentu, gdy faktycznie one wystąpi pią,, ale wymaga ono najbardziej złożonej z onej procedury weryfikacji poprawności planu 176 Opóźniona obsługa zagrożeń potencjalnych w algorytmie POP Odkładanie obsługi potencjalnych zagrożeń do momentu ich faktycznego wystąpienia wymaga procedure HOOSE-OP(plan,operators OP(plan,operators,S,S need,c) w każdym wywołaniu procedury rozstrzygania choose a step S add from operators or STEPS(plan) sprawdzania zawsze wszystkich relacji przyczy- that has c add DD( DD(S add ) nowych i wszystkich kroków, które mogą im and such that u =UNIFY(c,c add,indings(plan)) zagrozić po uwzględnieniu wiąza zań (SUST) if there is no such step then fail procedure RESOLVE-THRETS THRETS(plan) add u to INDINGS(plan) for each link S i c S j in LINKS(plan S(plan) do add casual link S add c S need to LINKS(plan) for each S threat in STEPS(plan) do add S add S need to ORDERINGS(plan) for each c such that c DEL(S threat ) do if S add is newly added step from operators then if SUST(INDINGS(plan),c)= )= add S add to STEPS(plan) =SUST(INDINGS(plan),c ) then add S init S add S goal to ORDERINGS(plan) choose either end Promotion: : add S threat S i to ORDERINGS(plan) Obsługa wiąza zań zmiennych opiera się Demotion: : add S j S threat to ORDERINGS(plan) na algorytmie uzgadniania (UNIFY) if not ONSISTENT(plan) then fail i wymaga ich zapamiętywania w planie end pod polem INDINGS
Wprowadzenie do Sztucznej Inteligencji
1 Wprowadzenie do Sztucznej Inteligencji Wykład 6 Informatyka Studia Inżynierskie Systemy planowania działań 2 Planowanie to jest techniką rozwiązywania zywania problemów w z dziedziny I, polegającą na
Wprowadzenie do Sztucznej Inteligencji
Wprowadzenie do Sztucznej Inteligencji Wykład 6 Informatyka Studia InŜynierskie Systemy planowania działań Planowanie to jest techniką rozwiązywania problemów z dziedziny I, polegającą na określeniu ciągu
Przeszukiwanie z nawrotami. Wykład 8. Przeszukiwanie z nawrotami. J. Cichoń, P. Kobylański Wstęp do Informatyki i Programowania 238 / 279
Wykład 8 J. Cichoń, P. Kobylański Wstęp do Informatyki i Programowania 238 / 279 sformułowanie problemu przegląd drzewa poszukiwań przykłady problemów wybrane narzędzia programistyczne J. Cichoń, P. Kobylański
Wprowadzenie do Sztucznej Inteligencji
Wprowadzenie do Sztucznej Inteligencji Wykład Studia Inżynierskie Przeszukiwanie przestrzeni stanów Przestrzeń stanów jest to czwórka uporządkowana [N,[, S, GD], gdzie: N jest zbiorem wierzchołków w odpowiadających
Sortowanie topologiczne skierowanych grafów acyklicznych
Sortowanie topologiczne skierowanych grafów acyklicznych Metody boolowskie w informatyce Robert Sulkowski http://robert.brainusers.net 23 stycznia 2010 1 Definicja 1 (Cykl skierowany). Niech C = (V, A)
Wprowadzenie do Sztucznej Inteligencji
Wprowadzenie do Sztucznej Inteligencji Wykład 2 Informatyka Studia Inżynierskie Automatyczne dowodzenie twierdzeń O teoriach formalnie na przykładzie rachunku zdań Zastosowanie dedukcji: system Logic Theorist
Wstęp do Sztucznej Inteligencji
Wstęp do Sztucznej Inteligencji Rozwiązywanie problemów-i Joanna Kołodziej Politechnika Krakowska Wydział Fizyki, Matematyki i Informatyki Rozwiązywanie problemów Podstawowe fazy: Sformułowanie celu -
Heurystyki. Strategie poszukiwań
Sztuczna inteligencja Heurystyki. Strategie poszukiwań Jacek Bartman Zakład Elektrotechniki i Informatyki Instytut Techniki Uniwersytet Rzeszowski DLACZEGO METODY PRZESZUKIWANIA? Sztuczna Inteligencja
Metoda tabel semantycznych. Dedukcja drogi Watsonie, dedukcja... Definicja logicznej konsekwencji. Logika obliczeniowa.
Plan Procedura decyzyjna Reguły α i β - algorytm Plan Procedura decyzyjna Reguły α i β - algorytm Logika obliczeniowa Instytut Informatyki 1 Procedura decyzyjna Logiczna konsekwencja Teoria aksjomatyzowalna
Programowanie deklaratywne
Programowanie deklaratywne Artur Michalski Informatyka II rok Plan wykładu Wprowadzenie do języka Prolog Budowa składniowa i interpretacja programów prologowych Listy, operatory i operacje arytmetyczne
Sztuczna Inteligencja i Systemy Doradcze
Sztuczna Inteligencja i Systemy Doradcze Przeszukiwanie przestrzeni stanów algorytmy ślepe Przeszukiwanie przestrzeni stanów algorytmy ślepe 1 Strategie slepe Strategie ślepe korzystają z informacji dostępnej
Wysokość drzewa Głębokość węzła
Drzewa Drzewa Drzewo (ang. tree) zbiór węzłów powiązanych wskaźnikami, spójny i bez cykli. Drzewo posiada wyróżniony węzeł początkowy nazywany korzeniem (ang. root). Drzewo ukorzenione jest strukturą hierarchiczną.
procesów Współbieżność i synchronizacja procesów Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak
Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak Plan wykładu Abstrakcja programowania współbieżnego Instrukcje atomowe i ich przeplot Istota synchronizacji Kryteria poprawności programów współbieżnych
Rozwiązywanie problemów metodą przeszukiwania
Rozwiązywanie problemów metodą przeszukiwania Dariusz Banasiak Katedra Informatyki Technicznej W4/K9 Politechnika Wrocławska Reprezentacja problemu w przestrzeni stanów Jedną z ważniejszych metod sztucznej
Heurystyczne metody przeszukiwania
Heurystyczne metody przeszukiwania Dariusz Banasiak Katedra Informatyki Technicznej W4/K9 Politechnika Wrocławska Pojęcie heurystyki Metody heurystyczne są jednym z ważniejszych narzędzi sztucznej inteligencji.
Programowanie deklaratywne
Programowanie deklaratywne Artur Michalski Informatyka II rok Plan wykładu Wprowadzenie do języka Prolog Budowa składniowa i interpretacja programów prologowych Listy, operatory i operacje arytmetyczne
Podstawy sztucznej inteligencji
wykład II Problem solving 03 październik 2012 Jakie problemy możemy rozwiązywać? Cel: Zbudować inteligentnego agenta planującego, rozwiązującego problem. Szachy Kostka rubika Krzyżówka Labirynt Wybór trasy
Podstawy Sztucznej Inteligencji (PSZT)
Podstawy Sztucznej Inteligencji (PSZT) Paweł Wawrzyński Wnioskowanie logiczne i systemy eksperckie Systemy posługujące się logiką predykatów: część 3/3 Dzisiaj Uogólnienie Poprawność i pełność wnioskowania
Planowanie drogi robota, algorytm A*
Planowanie drogi robota, algorytm A* Karol Sydor 13 maja 2008 Założenia Uproszczenie przestrzeni Założenia Problem planowania trasy jest bardzo złożony i trudny. W celu uproszczenia problemu przyjmujemy
Dana jest baza: kobieta(katarzyna). kobieta(anna). kobieta(maria). kobieta(marianna). kobieta(marta). Zdefiniujemy predykat kobiety/0 następująco:
STEROWANIE PROCESEM WNIOSKOWANIA. Predykat true/0 fail/0 cut/0 lub! not( W) lub \+W repeat/0 Objaśnienie zawsze spełniony, deterministyczny zawsze zawodzi, deterministyczny odcięcie; zawsze spełniony spełniony,
Aproksymacja funkcji a regresja symboliczna
Aproksymacja funkcji a regresja symboliczna Problem aproksymacji funkcji polega na tym, że funkcję F(x), znaną lub określoną tablicą wartości, należy zastąpić inną funkcją, f(x), zwaną funkcją aproksymującą
Uniwersytet Zielonogórski Wydział Elektrotechniki, Informatyki i Telekomunikacji Instytut Sterowania i Systemów Informatycznych
Uniwersytet Zielonogórski Wydział Elektrotechniki, Informatyki i Telekomunikacji Instytut Sterowania i Systemów Informatycznych ELEMENTY SZTUCZNEJ INTELIGENCJI Laboratorium nr 9 PRZESZUKIWANIE GRAFÓW Z
Metoda Tablic Semantycznych
Procedura Plan Reguły Algorytm Logika obliczeniowa Instytut Informatyki Plan Procedura Reguły 1 Procedura decyzyjna Logiczna równoważność formuł Logiczna konsekwencja Procedura decyzyjna 2 Reguły α, β,
Stan/zdarzenie Nexo. Zmienne wirtualne. Zdarzenia wirtualne
WARUNKI WARUNKI I I ZDARZENIA ZDARZENIA Określają czy pewna zależność logiczna związana ze stanem systemu jest w danej chwili spełniona lub czy zaszło w systemie określone zdarzenie. STAN SYSTEMU: stan
Definicje. Algorytm to:
Algorytmy Definicje Algorytm to: skończony ciąg operacji na obiektach, ze ściśle ustalonym porządkiem wykonania, dający możliwość realizacji zadania określonej klasy pewien ciąg czynności, który prowadzi
Wstęp do programowania. Listy. Piotr Chrząstowski-Wachtel
Wstęp do programowania Listy Piotr Chrząstowski-Wachtel Do czego stosujemy listy? Listy stosuje się wszędzie tam, gdzie występuje duży rozrzut w możliwym rozmiarze danych, np. w reprezentacji grafów jeśli
Programowanie w logice
Programowanie w logice PROLOG cz.1 PROLOG język wysokiego poziomu Powstał w 1972 na Uniwersytecie w Marsylii (Francja) w zespole A.Colmerauer a i F.Roussel a PROgrammation en LOGique, PROgramming in LOGic,
Systemy ekspertowe. Wnioskowanie w systemach regułowych. Część piąta. Autor Roman Simiński.
Część piąta Autor Roman Simiński Kontakt siminski@us.edu.pl www.us.edu.pl/~siminski Niniejsze opracowanie zawiera skrót treści wykładu, lektura tych materiałów nie zastąpi uważnego w nim uczestnictwa.
Wprowadzenie do Sztucznej Inteligencji
Wprowadzenie do Sztucznej Inteligencji Wykład Informatyka Studia InŜynierskie Przeszukiwanie przestrzeni stanów Przestrzeń stanów jest to czwórka uporządkowana [N,[, S, GD], gdzie: N jest zbiorem wierzchołków
SID Wykład 9 Planowanie
SID Wykład 9 Planowanie Wydział Matematyki, Informatyki i Mechaniki UW slezak@mimuw.edu.pl Problem planowania ceiling not painted? ceiling painted get-ladder mount-ladder ceiling not painted get-paint
Data Mining Wykład 9. Analiza skupień (grupowanie) Grupowanie hierarchiczne O-Cluster. Plan wykładu. Sformułowanie problemu
Data Mining Wykład 9 Analiza skupień (grupowanie) Grupowanie hierarchiczne O-Cluster Plan wykładu Wprowadzanie Definicja problemu Klasyfikacja metod grupowania Grupowanie hierarchiczne Sformułowanie problemu
Ćwiczenie 1 Planowanie trasy robota mobilnego w siatce kwadratów pól - Algorytm A
Ćwiczenie 1 Planowanie trasy robota mobilnego w siatce kwadratów pól - Algorytm A Zadanie do wykonania 1) Utwórz na pulpicie katalog w formacie Imię nazwisko, w którym umieść wszystkie pliki związane z
OPTYMALIZACJA HARMONOGRAMOWANIA MONTAŻU SAMOCHODÓW Z ZASTOSOWANIEM PROGRAMOWANIA W LOGICE Z OGRANICZENIAMI
Autoreferat do rozprawy doktorskiej OPTYMALIZACJA HARMONOGRAMOWANIA MONTAŻU SAMOCHODÓW Z ZASTOSOWANIEM PROGRAMOWANIA W LOGICE Z OGRANICZENIAMI Michał Mazur Gliwice 2016 1 2 Montaż samochodów na linii w
Wprowadzenie do Sztucznej Inteligencji
Wprowadzenie do Sztucznej Inteligencji Wykład Informatyka Studia InŜynierskie Przeszukiwanie przestrzeni stanów Przestrzeń stanów jest to czwórka uporządkowana [N,, S, GD], gdzie: N jest zbiorem wierzchołków
Wykład XII. optymalizacja w relacyjnych bazach danych
Optymalizacja wyznaczenie spośród dopuszczalnych rozwiązań danego problemu, rozwiązania najlepszego ze względu na przyjęte kryterium jakości ( np. koszt, zysk, niezawodność ) optymalizacja w relacyjnych
Automatyczne planowanie oparte na sprawdzaniu spełnialności
Automatyczne planowanie oparte na sprawdzaniu spełnialności Linh Anh Nguyen Instytut Informatyki Uniwersytet Warszawski Linh Anh Nguyen Algorytm planowania SatPlan 1 Problem planowania sufit nie malowany?
TEORETYCZNE PODSTAWY INFORMATYKI
1 TEORETYCZNE PODSTAWY INFORMATYKI WFAiS UJ, Informatyka Stosowana I rok studiów, I stopień Wykład 14c 2 Definicje indukcyjne Twierdzenia dowodzone przez indukcje Definicje indukcyjne Definicja drzewa
Badania operacyjne: Wykład Zastosowanie kolorowania grafów w planowaniu produkcji typu no-idle
Badania operacyjne: Wykład Zastosowanie kolorowania grafów w planowaniu produkcji typu no-idle Paweł Szołtysek 12 czerwca 2008 Streszczenie Planowanie produkcji jest jednym z problemów optymalizacji dyskretnej,
Inteligentne systemy decyzyjne: Uczenie maszynowe sztuczne sieci neuronowe
Inteligentne systemy decyzyjne: Uczenie maszynowe sztuczne sieci neuronowe Trening jednokierunkowych sieci neuronowych wykład 2. dr inż. PawełŻwan Katedra Systemów Multimedialnych Politechnika Gdańska
Systemy ekspertowe i ich zastosowania. Katarzyna Karp Marek Grabowski
Systemy ekspertowe i ich zastosowania Katarzyna Karp Marek Grabowski Plan prezentacji Wstęp Własności systemów ekspertowych Rodzaje baz wiedzy Metody reprezentacji wiedzy Metody wnioskowania Języki do
Struktury danych i złożoność obliczeniowa Wykład 7. Prof. dr hab. inż. Jan Magott
Struktury danych i złożoność obliczeniowa Wykład 7 Prof. dr hab. inż. Jan Magott Problemy NP-zupełne Transformacją wielomianową problemu π 2 do problemu π 1 (π 2 π 1 ) jest funkcja f: D π2 D π1 spełniająca
Strategia "dziel i zwyciężaj"
Strategia "dziel i zwyciężaj" W tej metodzie problem dzielony jest na kilka mniejszych podproblemów podobnych do początkowego problemu. Problemy te rozwiązywane są rekurencyjnie, a następnie rozwiązania
Modelowanie jako sposób opisu rzeczywistości. Katedra Mikroelektroniki i Technik Informatycznych Politechnika Łódzka
Modelowanie jako sposób opisu rzeczywistości Katedra Mikroelektroniki i Technik Informatycznych Politechnika Łódzka 2015 Wprowadzenie: Modelowanie i symulacja PROBLEM: Podstawowy problem z opisem otaczającej
w analizie wyników badań eksperymentalnych, w problemach modelowania zjawisk fizycznych, w analizie obserwacji statystycznych.
Aproksymacja funkcji a regresja symboliczna Problem aproksymacji funkcji polega na tym, że funkcję F(), znaną lub określoną tablicą wartości, należy zastąpić inną funkcją, f(), zwaną funkcją aproksymującą
Optymalizacja. Wybrane algorytmy
dr hab. inż. Instytut Informatyki Politechnika Poznańska www.cs.put.poznan.pl/mkomosinski, Andrzej Jaszkiewicz Problem optymalizacji kombinatorycznej Problem optymalizacji kombinatorycznej jest problemem
Algorytmy i złożoności. Wykład 3. Listy jednokierunkowe
Algorytmy i złożoności Wykład 3. Listy jednokierunkowe Wstęp. Lista jednokierunkowa jest strukturą pozwalającą na pamiętanie danych w postaci uporzadkowanej, a także na bardzo szybkie wstawianie i usuwanie
Drzewa Semantyczne w KRZ
Drzewa Semantyczne w KRZ Jerzy Pogonowski Zakład Logiki Stosowanej UAM www.logic.amu.edu.pl pogon@amu.edu.pl 7 XII 2006, 13:30 15:00 Jerzy Pogonowski (MEG) Drzewa Semantyczne w KRZ 7 XII 2006, 13:30 15:00
Uwagi dotyczące notacji kodu! Moduły. Struktura modułu. Procedury. Opcje modułu (niektóre)
Uwagi dotyczące notacji kodu! Wyrazy drukiem prostym -- słowami języka VBA. Wyrazy drukiem pochyłym -- inne fragmenty kodu. Wyrazy w [nawiasach kwadratowych] opcjonalne fragmenty kodu (mogą być, ale nie
SQL (ang. Structured Query Language)
SQL (ang. Structured Query Language) SELECT pobranie danych z bazy, INSERT umieszczenie danych w bazie, UPDATE zmiana danych, DELETE usunięcie danych z bazy. Rozkaz INSERT Rozkaz insert dodaje nowe wiersze
Programowanie deklaratywne
Programowanie deklaratywne Artur Michalski Informatyka II rok Plan wykładu Wprowadzenie do języka Prolog Budowa składniowa i interpretacja programów prologowych Listy, operatory i operacje arytmetyczne
Systemy ekspertowe. Krzysztof Patan
Systemy ekspertowe Krzysztof Patan Wprowadzenie System ekspertowy Program komputerowy, który wykonuje złożone zadania o dużych wymaganiach intelektualnych i robi to tak dobrze jak człowiek będący ekspertem
Sortowanie przez wstawianie Insertion Sort
Sortowanie przez wstawianie Insertion Sort Algorytm sortowania przez wstawianie można porównać do sposobu układania kart pobieranych z talii. Najpierw bierzemy pierwszą kartę. Następnie pobieramy kolejne,
Porządek symetryczny: right(x)
Porządek symetryczny: x lef t(x) right(x) Własność drzewa BST: W drzewach BST mamy porządek symetryczny. Dla każdego węzła x spełniony jest warunek: jeżeli węzeł y leży w lewym poddrzewie x, to key(y)
Algorytmy i struktury danych. Drzewa: BST, kopce. Letnie Warsztaty Matematyczno-Informatyczne
Algorytmy i struktury danych Drzewa: BST, kopce Letnie Warsztaty Matematyczno-Informatyczne Drzewa: BST, kopce Definicja drzewa Drzewo (ang. tree) to nieskierowany, acykliczny, spójny graf. Drzewo może
Kompresja sekwencji obrazów
Kompresja sekwencji obrazów - algorytm MPEG-2 Moving Pictures Experts Group (MPEG) - 1988 ISO - International Standard Organisation CCITT - Comité Consultatif International de Téléphonie T et TélégraphieT
Algorytm. Krótka historia algorytmów
Algorytm znaczenie cybernetyczne Jest to dokładny przepis wykonania w określonym porządku skończonej liczby operacji, pozwalający na rozwiązanie zbliżonych do siebie klas problemów. znaczenie matematyczne
Znajdowanie wyjścia z labiryntu
Znajdowanie wyjścia z labiryntu Zadanie to wraz z problemem pakowania najcenniejszego plecaka należy do problemów optymalizacji, które dotyczą znajdowania najlepszego rozwiązania wśród wielu możliwych
Programowanie dynamiczne cz. 2
Programowanie dynamiczne cz. 2 Wykład 7 16 kwietnia 2019 (Wykład 7) Programowanie dynamiczne cz. 2 16 kwietnia 2019 1 / 19 Outline 1 Mnożenie ciągu macierzy Konstruowanie optymalnego rozwiązania 2 Podstawy
Podstawy programowania skrót z wykładów:
Podstawy programowania skrót z wykładów: // komentarz jednowierszowy. /* */ komentarz wielowierszowy. # include dyrektywa preprocesora, załączająca biblioteki (pliki nagłówkowe). using namespace
Słowem wstępu. Część rodziny języków XSL. Standard: W3C XSLT razem XPath 1.0 XSLT Trwają prace nad XSLT 3.0
Słowem wstępu Część rodziny języków XSL Standard: W3C XSLT 1.0-1999 razem XPath 1.0 XSLT 2.0-2007 Trwają prace nad XSLT 3.0 Problem Zakładane przez XML usunięcie danych dotyczących prezentacji pociąga
Algorytm genetyczny (genetic algorithm)-
Optymalizacja W praktyce inżynierskiej często zachodzi potrzeba znalezienia parametrów, dla których system/urządzenie będzie działać w sposób optymalny. Klasyczne podejście do optymalizacji: sformułowanie
Wstęp do programowania
Wieczorowe Studia Licencjackie Wrocław, 9.01.2007 Wstęp do programowania Wykład nr 13 Listy usuwanie elementów Poniżej prezentujemy funkcję, która usuwa element o podanej wartości pola wiek z nieuporządkowanej
Metody dowodzenia twierdzeń i automatyzacja rozumowań Tabele syntetyczne: definicje i twierdzenia
Metody dowodzenia twierdzeń i automatyzacja rozumowań Tabele syntetyczne: definicje i twierdzenia Mariusz Urbański Instytut Psychologii UAM Mariusz.Urbanski@.edu.pl Metoda tabel syntetycznych (MTS) MTS
doc. dr Beata Pułska-Turyna Zarządzanie B506 mail: mgr Piotr J. Gadecki Zakład Badań Operacyjnych Zarządzania B 505.
doc. dr Beata Pułska-Turyna Zakład Badań Operacyjnych Zarządzanie B506 mail: turynab@wz.uw.edu.pl mgr Piotr J. Gadecki Zakład Badań Operacyjnych Zarządzania B 505. Tel.: (22)55 34 144 Mail: student@pgadecki.pl
operacje porównania, a jeśli jest to konieczne ze względu na złe uporządkowanie porównywanych liczb zmieniamy ich kolejność, czyli przestawiamy je.
Problem porządkowania zwanego również sortowaniem jest jednym z najważniejszych i najpopularniejszych zagadnień informatycznych. Dane: Liczba naturalna n i ciąg n liczb x 1, x 2,, x n. Wynik: Uporządkowanie
Indukcja. Materiały pomocnicze do wykładu. wykładowca: dr Magdalena Kacprzak
Indukcja Materiały pomocnicze do wykładu wykładowca: dr Magdalena Kacprzak Charakteryzacja zbioru liczb naturalnych Arytmetyka liczb naturalnych Jedną z najważniejszych teorii matematycznych jest arytmetyka
Wstęp do programowania. Drzewa. Piotr Chrząstowski-Wachtel
Wstęp do programowania Drzewa Piotr Chrząstowski-Wachtel Drzewa Drzewa definiują matematycy, jako spójne nieskierowane grafy bez cykli. Równoważne określenia: Spójne grafy o n wierzchołkach i n-1 krawędziach
Sztuczna Inteligencja Projekt
Sztuczna Inteligencja Projekt Temat: Algorytm LEM2 Liczba osób realizujących projekt: 2 1. Zaimplementować algorytm LEM 2. 2. Zaimplementować klasyfikator Classif ier. 3. Za pomocą algorytmu LEM 2 wygenerować
Algorytmy i str ruktury danych. Metody algorytmiczne. Bartman Jacek
Algorytmy i str ruktury danych Metody algorytmiczne Bartman Jacek jbartman@univ.rzeszow.pl Metody algorytmiczne - wprowadzenia Znamy strukturę algorytmów Trudność tkwi natomiast w podaniu metod służących
Liczby losowe i pętla while w języku Python
Liczby losowe i pętla while w języku Python Mateusz Miotk 17 stycznia 2017 Instytut Informatyki UG 1 Generowanie liczb losowych Na ogół programy są spójne i prowadzą do przewidywanych wyników. Czasem jednak
Strategie ewolucyjne (ang. evolu4on strategies)
Strategie ewolucyjne (ang. evolu4on strategies) Strategia ewolucyjna (1+1) W Strategii Ewolucyjnej(1 + 1), populacja złożona z jednego osobnika generuje jednego potomka. Kolejne (jednoelementowe) populacje
Programowanie w logice Prolog 2
Programowanie w logice Prolog 2 Listy Lista to uporządkowany ciąg elementów. Elementami listy mogą być dowolne terminy: stałe, zmienne i struktury W Prologu listę zapisujemy następująco: Przykłady [element1,element2,,elementn]
Struktury danych (I): kolejka, stos itp.
Letnie Warsztaty Matematyczno-Informatyczne Algorytmy i struktury danych Struktury danych (I): kolejka, stos itp. Struktury danych (I): kolejka, stos itp. Struktura danych stanowi sposób uporządkowania
raz. dobro. Leasing (dzierżawa, wynajem) przeniesienie na sprzedaż dobra nietrwałego ego tylko bez przeniesienia prawa własnow
Dobra trwałego użytku u Dobra trwałego użytkuu mogą być użyte więcej niż jeden raz. Producent może e sprzedawać lub leasingować takie dobro. Leasing (dzierżawa, wynajem) przeniesienie na konsumenta prawa
Projekt 4: Programowanie w logice
Języki Programowania Projekt 4: Programowanie w logice Środowisko ECL i PS e W projekcie wykorzystane będzie środowisko ECL i PS e. Dostępne jest ono pod adresem http://eclipseclp.org/. Po zainstalowaniu
Schemat programowania dynamicznego (ang. dynamic programming)
Schemat programowania dynamicznego (ang. dynamic programming) Jest jedną z metod rozwiązywania problemów optymalizacyjnych. Jej twórcą (1957) był amerykański matematyk Richard Ernest Bellman. Schemat ten
Obliczenia na stosie. Wykład 9. Obliczenia na stosie. J. Cichoń, P. Kobylański Wstęp do Informatyki i Programowania 266 / 303
Wykład 9 J. Cichoń, P. Kobylański Wstęp do Informatyki i Programowania 266 / 303 stos i operacje na stosie odwrotna notacja polska języki oparte na ONP przykłady programów J. Cichoń, P. Kobylański Wstęp
INFORMATYKA W SZKOLE. Podyplomowe Studia Pedagogiczne. Dr inż. Grażyna KRUPIŃSKA. D-10 pokój 227
INFORMATYKA W SZKOLE Dr inż. Grażyna KRUPIŃSKA grazyna@fis.agh.edu.pl D-10 pokój 227 Podyplomowe Studia Pedagogiczne 2 Algorytmy Nazwa algorytm wywodzi się od nazwiska perskiego matematyka Muhamed ibn
SZTUCZNA INTELIGENCJA
SZTUCZNA INTELIGENCJA WYKŁAD 10. WNIOSKOWANIE W LOGICE ROZMYTEJ Częstochowa 2014 Dr hab. inż. Grzegorz Dudek Wydział Elektryczny Politechnika Częstochowska WNIOSKOWANIE W LOGICE DWUWARTOŚCIOWEJ W logice
INŻYNIERIA WIEDZY I SYSTEMY EKSPERTOWE
Temat: Podstawowe pojęcia z logiki rozmytej Instrukcja do ćwiczeń przedmiotu INŻYNIERIA WIEDZY I SYSTEMY EKSPERTOWE Dr inż. Barbara Mrzygłód KISiM, WIMiIP, AGH mrzyglod@ agh.edu.pl 1 Wprowadzenie Sterowanie
Odwrotna Notacja Polska
Odwrotna Notacja Polska Odwrotna Notacja Polska w skrócie ONP) jest sposobem zapisu wyrażeń arytmetycznych. Znak wykonywanej operacji umieszczany jest po operandach, argumentach tzw. zapis postfiksowy).
Opis. Wymagania wstępne (tzw. sekwencyjny system zajęć i egzaminów) Liczba godzin zajęć dydaktycznych z podziałem na formy prowadzenia zajęć
Załącznik nr 5 do Uchwały nr 1202 Senatu UwB z dnia 29 lutego 2012 r. nazwa SYLABUS A. Informacje ogólne Tę część wypełnia koordynator (w porozumieniu ze wszystkimi prowadzącymi dany przedmiot w jednostce)
Elementy kognitywistyki II: Sztuczna inteligencja. WYKŁAD III: Problemy agenta
Elementy kognitywistyki II: Sztuczna inteligencja WYKŁAD III: Problemy agenta To już było: AI to dziedzina zajmująca się projektowaniem agentów Określenie agenta i agenta racjonalnego Charakterystyka PAGE
Język UML w modelowaniu systemów informatycznych
Język UML w modelowaniu systemów informatycznych dr hab. Bożena Woźna-Szcześniak Akademia im. Jan Długosza bwozna@gmail.com Wykład 4 Diagramy aktywności I Diagram aktywności (czynności) (ang. activity
< K (2) = ( Adams, John ), P (2) = adres bloku 2 > < K (1) = ( Aaron, Ed ), P (1) = adres bloku 1 >
Typy indeksów Indeks jest zakładany na atrybucie relacji atrybucie indeksowym (ang. indexing field). Indeks zawiera wartości atrybutu indeksowego wraz ze wskaźnikami do wszystkich bloków dyskowych zawierających
Autostopem przez galaiktykę: Intuicyjne omówienie zagadnień. Tom I: Optymalizacja. Nie panikuj!
Autostopem przez galaiktykę: Intuicyjne omówienie zagadnień Tom I: Optymalizacja Nie panikuj! Autorzy: Iwo Błądek Konrad Miazga Oświadczamy, że w trakcie produkcji tego tutoriala nie zginęły żadne zwierzęta,
Optimizing Programs with Intended Semantics
Interaktywna optymalizacja programów 26 kwietnia 2010 Spis treści Spis treści Wstęp Omówienie zaproponowanego algorytmu na przykładzie Wewnętrzna reprezentacja reguł dotyczących optymalizacji Wybrane szczegóły
Normalizacja. Pojęcie klucza. Cel normalizacji
Plan Normalizacja Tadeusz Pankowski www.put.poznan.pl/~tadeusz.pankowski 1. Cel normalizacji. 2. Klucze schematów relacyjnych atrybuty kluczowe i niekluczowe. 3. 2PN druga postać normalna. 4. 3PN trzecia
Logika Stosowana. Wykład 2 - Logika modalna Część 2. Marcin Szczuka. Instytut Informatyki UW. Wykład monograficzny, semestr letni 2016/2017
Logika Stosowana Wykład 2 - Logika modalna Część 2 Marcin Szczuka Instytut Informatyki UW Wykład monograficzny, semestr letni 2016/2017 Marcin Szczuka (MIMUW) Logika Stosowana 2017 1 / 27 Plan wykładu
Metody Kompilacji Wykład 3
Metody Kompilacji Wykład 3 odbywa się poprzez dołączenie zasad(reguł) lub fragmentów kodu do produkcji w gramatyce. Włodzimierz Bielecki WI ZUT 2 Na przykład, dla produkcji expr -> expr 1 + term możemy
Kompresja sekwencji obrazów - algorytm MPEG-2
Kompresja sekwencji obrazów - algorytm MPEG- Moving Pictures Experts Group (MPEG) - 988 ISO - International Standard Organisation CCITT - Comité Consultatif International de Téléphonie et TélégraphieT
Inżynieria oprogramowania
Inżynieria oprogramowania Wykład 8 Inżynieria wymagań: analiza przypadków użycia a diagram czynności Patrz: Stanisław Wrycza, Bartosz Marcinkowski, Krzysztof Wyrzykowski, Język UML 2.0 w modelowaniu systemów
ZASADY PROGRAMOWANIA KOMPUTERÓW
POLITECHNIKA WARSZAWSKA Instytut Automatyki i i Robotyki ZASADY PROGRAMOWANIA KOMPUTERÓW Język Język programowania: C/C++ Środowisko programistyczne: C++Builder 6 Wykład 9.. Wskaźniki i i zmienne dynamiczne.
Drzewa BST i AVL. Drzewa poszukiwań binarnych (BST)
Drzewa ST i VL Drzewa poszukiwań binarnych (ST) Drzewo ST to dynamiczna struktura danych (w formie drzewa binarnego), która ma tą właściwość, że dla każdego elementu wszystkie elementy w jego prawym poddrzewie
1. Algorytmy przeszukiwania. Przeszukiwanie wszerz i w głąb.
1. Algorytmy przeszukiwania. Przeszukiwanie wszerz i w głąb. Algorytmy przeszukiwania w głąb i wszerz są najczęściej stosowanymi algorytmami przeszukiwania. Wykorzystuje się je do zbadania istnienia połączenie
Algorytmy sztucznej inteligencji
www.math.uni.lodz.pl/ radmat Przeszukiwanie z ograniczeniami Zagadnienie przeszukiwania z ograniczeniami stanowi grupę problemów przeszukiwania w przestrzeni stanów, które składa się ze: 1 skończonego
Scenariusz lekcji opartej na programie Program nauczania informatyki w gimnazjum DKW-4014-87/99
Scenariusz lekcji opartej na programie Program nauczania informatyki w gimnazjum DKW-4014-87/99 Techniki algorytmiczne realizowane przy pomocy grafiki żółwia w programie ELI 2,0. Przedmiot: Informatyka
WPROWADZENIE DO SZTUCZNEJ INTELIGENCJI
POLITECHNIKA WARSZAWSKA WYDZIAŁ MECHANICZNY ENERGETYKI I LOTNICTWA MEL WPROWADZENIE DO SZTUCZNEJ INTELIGENCJI NS 586 Dr inż. Franciszek Dul 5. ROZWIĄZYWANIE PROBLEMÓW Z OGRANICZENIAMI Problemy z ograniczeniami
opisuje nazwy kolumn, wyrażenia arytmetyczne, funkcje nazwy tabel lub widoków warunek (wybieranie wierszy)
Zapytania SQL. Polecenie SELECT jest używane do pobierania danych z bazy danych (z tabel lub widoków). Struktura polecenia SELECT SELECT FROM WHERE opisuje nazwy kolumn, wyrażenia arytmetyczne, funkcje
SZTUCZNA INTELIGENCJA
SZTUCZNA INTELIGENCJA WYKŁAD 13. PROBLEMY OPTYMALIZACYJNE Częstochowa 2014 Dr hab. inż. Grzegorz Dudek Wydział Elektryczny Politechnika Częstochowska PROBLEMY OPTYMALIZACYJNE Optymalizacja poszukiwanie