Wprowadzenie do Sztucznej Inteligencji
|
|
- Aneta Marszałek
- 8 lat temu
- Przeglądów:
Transkrypt
1 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 akcji (operacji) jakie naleŝy podjąć, aby przejść z zadanego stanu początkowego do stanu końcowego będącego celem. Zbiór operatorów {O i } Stan początkowy S 0 System Planowania Działań Stan końcowy S g P l a n 1
2 Systemy planowania działań: charakterystyka echy szczególne systemów planowania działań ardzo złoŝona reprezentacja stanu problemu Niepewność i niepełność informacji Przestrzeń przeszukiwania o znacznym rozmiarze Występowanie konfliktów w trakcie przeszukiwania na skutek niejawnych interakcji pomiędzy operatorami/akcjami Systemy planowania działań: metody Wykorzystywane metody Planowanie liniowe Dekompozycja problemu (częściowa lub całkowita) Regresja operatorów Strategia least-commitment Planowanie nieliniowe Planowanie hierarchiczne 2
3 Systemy planowania działań: teoria Systemy planowanie działań tworzę pewną podklasę systemów reguł (produkcji). System produkcji składa się z trzech elementów: faktów (bazy danych) reguł produkcji (baza wiedzy) mechanizmu wnioskowania W systemie planowania: reguły są reprezentowane przez operatory/akcje mechanizm wnioskowania został zastąpiony przez mechanizm planowania (inaczej: generator planu) Systemy planowania działań: teoria Regułę produkcji nazywamy stosowalną w danym stanie bazy faktów, określanym jak kontekst D, jeŝeli wszystkie przesłanki jej części warunkowej są spełnione w D, czyli reguła jest aktywna (inaczej: uaktywniona albo gotowa do wykonania) 3
4 Systemy planowania działań: teoria Strategie sterowania mechanizmów wnioskowania dzielimy na dwie kategorie (wg Nilsson a) : nieodtwarzalne (ang. irrevocable) - wybór i uŝycie stosowalnych reguł (produkcji) bez moŝliwości ponownego rozwaŝenia tego wyboru w przyszłych krokach wnioskowania odtwarzalne (ang. tentative/revocable) - dopuszczające ponowny wybór i stosowanie reguł (produkcji) w przyszłości, czyli umoŝliwiające wybór alternatywnych reguł Systemy planowania działań: teoria Komutatywny system produkcji Systemem komutatywnym nazywamy system produkcji, który posiada następujące cechy: dowolna reguła stosowalna w kontekście D jest równieŝ stosowalna w kontekście wywiedzionym z D na skutek zastosowania kolejnych stosowalnych w D reguł jeŝeli cel jest spełniony w kontekście D, to jest on równieŝ spełniony w kontekście otrzymanym z D po wykonaniu stosowalnych w D reguł kontekst bazy faktów otrzymany na skutek wykonania ciągu stosowalnych w D reguł jest niezaleŝny od kolejności wykonywania tych reguł (inaczej: permutacji odpaleń reguł) 4
5 Systemy planowania działań: teoria Przykład komutatywnego system produkcji Reguły: 1. h :- e,f,g. 2. h :- a,b,f,g. 3. e :- a,b. 4. e :- g,a. 5. f :- c,d. 6. f :- b,d. Fakty(s 0 ): a. b. c. d. g. el(s g ): h. a 3. b e c d f h g g a c d e f 1. h a b c d f h g b d g a f e 1. h Systemy planowania działań: teoria Przykład komutatywnego system produkcji c.d. Przykładowe ciągi wykonań reguł: 3,5,1 albo 5,3,1 5,2 albo ,5,1 albo 5,4,1 6,4,1 albo 4,6, Reguły stosowalne w stanie początkowym w kolorze czerwonym 2 a b c d f h g 4 b d g a 6. 1 a 3. b e c d f h g 3 g a c d f 4. e e f 1. h 1. h 5
6 Systemy planowania działań: teoria Przykład komutatywnego system produkcji c.d. Przykładowe ciągi wykonań reguł: 3,5,1 albo 5,3,1 4,5,1 albo 5,4,1 6,4,1 albo 4,6, W systemie komutatywnym rozwaŝanie alternatywnej kolejności wykonań reguł stosowalnych w tym samym kontekście nie jest konieczne - system komutatywny pozwala na ograniczoną zmianę porządku wykonania reguł 1 a 3 b e c 5 d f h g 3 4 g a c d b d g a 4 e 5 f 5 4 f e h h Systemy planowania działań: teoria Komutatywny system produkcji - zalety JeŜeli system produkcji jest systemem komutatywnym, to wynikają z tego dwie korzyści: mechanizm wnioskowania systemu produkcji nie musi brać pod uwagę wszystkich permutacji wykonania reguł produkcji; moŝna uniknąć analizy tych ścieŝek wnioskowania, które prowadzą do rozwiązania a róŝnią się jedynie porządkiem w jakim wykonywane są reguły stosowalne w aktualnym stanie mechanizm wnioskowania moŝe korzystać z nieodtwarzalnej strategii wnioskowania 6
7 Systemy planowania działań: teoria Komutatywny system produkcji, a system planowania Systemy planowania działań: tworzą podklasę niekomutatywnych systemów reguł produkcji (ang. non-commutative production system) muszą wykorzystywać odtwarzalną strategię sterowania mechanizmu wnioskowania (ang. revocable control strategy) W systemach planowania krytyczne znaczenie dla rezultatu końcowego ma zatem kolejność planowanych i wykonywanych operacji. Systemy planowania działań: reprezentacja Dekompozycja problemu - istotny aspekt metod poszukiwania/konstruowania planu dekompozycja na poziomie formy reprezentacji stanu oraz reprezentacji akcji, umoŝliwiająca analizę jedynie wybranych elementów opisu stanu, przetwarzanych wybiórczo, a nie w całości problem ramki (ang. frame problem) - jak określić, które elementy w opisie stanu uległy zmianie, a które nie; inaczej: jak stwierdzić niezmienność/stałość pewnych faktów w trakcie przekształcania stanu w inny stan za pomocą operatora/akcji, czyli podczas planowania 7
8 Systemy planowania działań: reprezentacja Dekompozycja problemu - istotny aspekt metod poszukiwania/konstruowania planu dekompozycja na poziomie planu, umoŝliwiająca rozbijanie jednego złoŝonego/trudnego problemu na kilka mniejszych, prawdopodobnie prostszych, podproblemów większość problemów nie jest całkowicie dekomponowalna! moŝliwa częściowa dekompozycja z płytkim zaleŝnościami, która wymaga wykrycia wszelkich interakcji między podproblemami oraz eliminacji wynikających z tego konfliktów Wszystkie systemy planowania muszą zatem posiadać mechanizmy wykrywania i kontroli interakcji między problemami. Systemy planowania działań: niepewność informacji zy skutki wykonywanych operacji są zawsze przewidywalne? konstruowanie planu działań opiera się na załoŝeniu, Ŝe mamy pewność co do rezultatów jakie przynoszą wszystkie operacje uŝyte w planie! w dziedzinach o przewidywalnych skutkach planowanie jest moŝliwe mimo, iŝ operatory są jedynie formalnym opisem działań faktycznie podejmowanych w trakcie realizacji planu w dziedzinach nieprzewidywalnych moŝna rozwaŝać zbiory wszystkich moŝliwych skutków wykonania operacji, co pozwoli na rewizję planu, jeŝeli faktyczne rezultaty jego wykonania będą odbiegać od oczekiwanych 8
9 Systemy planowania działań: niepewność informacji o zrobić w sytuacji, gdy liczba moŝliwych skutków kaŝdej operacji jest duŝa, lecz prawdopodobieństwo ich wystąpienia niskie? REPLNOWNIE - ZDNI NIEDEKOMPONOWLNE konstruować tylko najbardziej prawdopodobny plan jeŝeli taki plan się nie powiedzie, porzucić tę część planu, której towarzyszą błędy i rozpocząć planowanie od ostatniej operacji zakończonej sukcesem Systemy planowania działań: niepewność informacji o zrobić w sytuacji, gdy liczba moŝliwych skutków kaŝdej operacji jest duŝa, lecz prawdopodobieństwo ich wystąpienia niskie? REPLNOWNIE - ZDNI DEKOMPONOWLNE konstruować tylko najbardziej prawdopodobny plan jeŝeli taki plan się nie powiedzie, zmienić te fragmenty planu, które okazały się błędne, a resztę planu pozostawić bez zmian - konieczna dekompozycja całkowita lub częściowa 9
10 Systemy planowania działań: niepewność informacji o zrobić w sytuacji, gdy liczba moŝliwych skutków kaŝdej operacji jest duŝa, lecz prawdopodobieństwo ich wystąpienia niskie? PLNOWNIE PRZYROSTOWE konstruować najpierw najbardziej prawdopodobny plan kaŝda operacja jest wykonywana skoro tylko znajdzie się w planie faktyczne skutki wykonania operacji są porównywane z oczekiwanymi rezultatami (monitoring planu) uzyskany stan faktyczny jest punktem wyjścia do dalszego planowania Struktura sterowania w systemach planowania działań otwarta pętla sterowania Stan końcowy S g Stan początkowy S 0 Mechanizm generacji planu akcje System sterowany W systemach planowania z otwartą pętlą sterowania konieczne jest posiadanie dodatkowej wiedzy na temat funkcjonowania sterowanego systemu. rak takiej wiedzy uniemoŝliwiłby bowiem skuteczne planowanie. 10
11 Struktura sterowania w systemach planowania działań zamknięta pętla sterowania Stan końcowy S g Mechanizm generacji planu akcja System sterowany Stan aktualny S i W systemach planowania z zamkniętą pętlą sterowania wiedza na temat funkcjonowania sterowanego systemu moŝe być niepełna lub niepewna. Rodzaje mechanizmów generacji planów Planowanie w przód od stanu początkowego do stanu końcowego - propagacja stanów w przód (progresja) Planowanie w tył od stanu końcowego do stanu początkowego - propagacja stanów wstecz (regresja) Systemy planowania w przód mają znaczenie tylko teoretyczne. Większość praktycznych systemów planowania, to systemy planowania wstecz. 11
12 Planowanie progresywne: generuj i testuj 1. Pod stan aktualny podstaw stan początkowy: s akt s 0 2. sprawdź, czy s g s akt : jeŝeli tak, to koniec(sukces plan gotowy) 3. utwórz zbiór wszystkich L O wszystkich operatorów O i, dla których spełnione 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 efektem zastosowanie tego operatora; jeŝeli L O =, to dokonaj nawrotu do poprzedniego stanu; jeŝeli brak alternatyw do nawrotów, to koniec(poraŝka brak planu) 5. a. sprawdź, czy w stanie s i+1 pojawiły się sprzeczne podcele; jeŝeli tak, to powrót do kroku 4 b. sprawdź, czy w stanie s i+1 pojawił się cykl 2 ; jeŝeli tak, to nawró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 np. na podstawie róŝnic pomiędzy stanami; 2-cykl oznacza ponowne wystąpienie tego samego stanu; 3-istnieje wiele sposobów eliminacji cykli! Planowanie progresywne: generuj i testuj Przykład O i : move-up( ) s s g move-down( ) move-left( ) move-right( ) Planowanie: 0 cykl! move-up s move-left 3 cykl! move-down move-right 4 move-left 4 cykl! move-right cykl! move-up move-down move-down 8 s g sukces! 12
13 Planowanie progresywne: wady Efektywność silnie uzaleŝniona od stopnia interakcji między operatorami im głębsze niejawne zaleŝności, tym większe wymagania zasobowe algorytmu planowania 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 Planowanie wstecz: system STRIPS Planowanie ukierunkowane stanem docelowym z wykorzystaniem stosu celów Reprezentacja stanów i akcji oparta na rachunku predykatów Specyficzna dziedzina planowania świat klocków 13
14 STRIPS: świat klocków ZałoŜenia świata klocków: powierzchnia/płaszczyzna/podłoŝe, na którym umieszczamy klocki jest gładka 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 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 znajdować się tylko jeden klocek STRIPS: zbiór operatorów STK(x,y): umieszczenie klocka x na klocku y; w ramieniu robota musi znajdować się klocek x, a na klocku y nie moŝe znajdować się Ŝaden klocek UNSTK(x,y): zdjęcie klocka x z klocka y; ramię robota musi być puste/wolne a na klocku x nie moŝe znajdować się inny klocek PIKUP(x): podniesienie klocka x z podłoŝa; ramię robota musi być puste/wolne a na klocku x nie moŝe znajdować się inny klocek PUTDOWN(x): umieszczenie klocka x na podłoŝu; w ramieniu robota musi znajdować się klocek x 14
15 STRIPS: zbiór predykatów ON(x,y): ONTLE(x): LER(x): HOLDING(x): RMEMPTY: spełniony, gdy klocek x znajduje się na klocku y spełniony, gdy klocek x znajduje się bezpośrednio na podłoŝu 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 spełniony, gdy ramię robota jest puste/wolne Uniwersalne reguły rządzące światem klocków są reprezentowane z wykorzystaniem predykatów jako aksjomaty zapisane w postaci formuł rachunku predykatów, np.: [ x HOLDING(x)] RMEMPTY x ONTLE(x) y ON(x,y) x [ y ON(y,x)] LER(x) STRIPS: reprezentacja operatorów Problem ramki (ang. frame problem) w systemie STRIPS rozwiązano stosując odpowiednią formę reprezentacji operatorów. KaŜdy operatora zawiera: listę predykatów, które muszą być prawdziwe, aby jego uŝycie był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 operatora. 15
16 STRIPS: definicja formalna operatorów 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 Stos celów - podstawowa struktura danych generatora planu, zawierająca zarówno cele, jak i operatory słuŝące do ich osiągnięcia Przebieg planowania: wykrywanie róŝnic między stanem aktualnym a celem umieszczenie podcelów niespełnionych w akt. stanie na stosie wybór operatora redukującego róŝnicę zastąpienie podcelu wybranym operatorem na stosie umieszczenie na stosie warunków stosowalność wybranego operatora - nowy (złoŝony) cel rozkład warunku stosowalności na podcele - nowe cele jednostkowe/proste na stosie 16
17 STRIPS: przykład planowania Stan początkowy: ON(,) ONTLE() ONTLE() ONTLE(D) RMEPMTY D Stan końcowy (docelowy): ON(,) ON(,D) ONTLE() ONTLE(D) D STRIPS: przykład planowania Umieszczamy stan docelowy na stosie ON(,) ON(,D) ONTLE() ONTLE(D) D 17
18 STRIPS: przykład planowania Stan docelowy: D ON(,) ON(,D) RóŜnica między stanem aktualnym a celem ON(,) ON(,D) ONTLE() ONTLE(D) D STRIPS: przykład planowania ON(,) STK(,) ON(,D) Operator spełniający cel ze szczytu stosu ON(,) ON(,D) ONTLE() ONTLE(D) D 18
19 STRIPS: przykład planowania LER() HOLDING() STK(,) ON(,D) Warunek stosowalności operatora ON(,) ON(,D) ONTLE() ONTLE(D) D STRIPS: przykład planowania 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 19
20 STRIPS: przykład planowania LER() UNSTK(,) HOLDING() LER() HOLDING() STK(,) ON(,D) Operator spełniający cel ze szczytu stosu ON(,) ON(,D) ONTLE() ONTLE(D) D STRIPS: przykład planowania ON(,) LER() RMEPMTY UNSTK(,) HOLDING() LER() HOLDING() STK(,) ON(,D) Warunek stosowalności operatora ON(,) ON(,D) ONTLE() ONTLE(D) D 20
21 STRIPS: przykład planowania 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 STRIPS: przykład planowania 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 21
22 STRIPS: przykład planowania 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 UNSTK(,) HOLDING() LER() HOLDING() STK(,) ON(,D) Usunięcie operatora ze szczytu stosu i... ON(,) ON(,D) ONTLE() ONTLE(D) jego wykonanie oraz... D Plan aktualny: UNSTK(,) dodanie operatora do planu HOLDING() ONTLE() ONTLE() ONTLE(D) LER() 22
23 STRIPS: przykład planowania lternatywny stos celów: 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ą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 * STRIPS: przykład planowania lternatywny stos celów: LER(x) HOLDING() Podwarunki na stosie LER(x) HOLDING() Warunek stosowalności operatora ON(,x) STK(,x) RMEMPTY Operator spełniający cel ze szczytu stosu ON(,x) LER() RMEPMTY HOLDING() UNSTK(,x) LER() HOLDING() STK(,) ON(,D) ykl (zapętlenie!) ON(,) ON(,D) ONTLE() ONTLE(D) D 23
24 STRIPS: przykład planowania ONTLE() LER() RMEMPTY Podwarunki spełnione Niespełniony (z reguł świata klocków) ONTLE() LER() RMEPMTY HOLDING() PIKUP() LER() HOLDING() STK(,) ON(,D) ON(,) ON(,D) ONTLE() ONTLE(D) D STRIPS: przykład planowania LER(D) HOLDING() RMEMPTY STK(,D) ONTLE() LER() RMEPMTY PIKUP() LER() HOLDING() STK(,) ON(,D) ON(,) ON(,D) ONTLE() ONTLE(D) Warunek stosowalności operatora Operator spełniający cel ze szczytu stosu lternatywny operator PUTDOWN(): taka sama liczba nie spełnionych PREONDITIONs (0), mniejsza liczba spełnionych DDs ( ON(,D) jest niŝej na stosie! ) D 24
25 STRIPS: przykład planowania LER(D) HOLDING() Warunek stosowalności spełniony STK(,D) Usunięcie operatora ze szczytu stosu i... ONTLE() LER() RMEPMTY jego wykonanie PIKUP() LER() HOLDING() STK(,) ON(,D) ON(,) ON(,D) ONTLE() ONTLE(D) D Plan aktualny: UNSTK(,) STK(,D) Dodanie operatora do planu STRIPS: przykład planowania 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 D Plan aktualny: UNSTK(,) STK(,D) PIKUP() Dodanie operatora do planu 25
26 STRIPS: przykład planowania LER() HOLDING() STK(,) ON(,D) Warunek stosowalności spełniony Usunięcie operatora ze szczytu stosu i... jego wykonanie ON(,) ON(,D) ONTLE() ONTLE(D) D Plan aktualny: UNSTK(,) STK(,D) PIKUP() STK(,) Dodanie operatora do planu STRIPS: przykład planowania el główny spełniony Warunek spełniony ON(,D) ON(,) ON(,D) ONTLE() ONTLE(D) D Stos pusty KONIE planowania! Plan aktualny: UNSTK(,) STK(,D) PIKUP() STK(,) 26
27 STRIPS: koniec przykładu Stan początkowy: Stan końcowy (docelowy): ON(,) ONTLE() ONTLE() ONTLE(D) RMEPMTY D ON(,) ON(,D) ONTLE() ONTLE(D) D Plan: UNSTK(,) STK(,D) PIKUP() STK(,) STRIPS: heurystyka Wiedza heurystyczna: kolejność umieszczania róŝnic (warunków) na stosie wybór operatora redukującego róŝnicę Kolejność róŝnic/warunków: wiedza heurystyczna wiedza o trudności w osiąganiu warunków (ten, który łatwo zniweczyć spełniamy później) zapis wiedzy heurystycznej odpowiednia kolejność warunków w sekcji PREONDITIONs operatora Wybór operatora: ten, który szybciej przybliŝy stan aktualny do stanu docelowego (ma mniejszą liczę niespełnionych warunków stosowalności) drugie kryterium: dodatkowo spełnia inny cel niŝej na stosie (efekt uboczny) 27
28 STRIPS: anomalia Sussman a Stan początkowy: ON(,) ONTLE() ONTLE() RMEPMTY Stan końcowy (docelowy): ON(,) ON(,) ONTLE() STRIPS: anomalia Sussmana a lternatywny stos celów: ON(,) ON(,) ONTLE() ON(,) ON(,) ONTLE() ON(,) ON(,) ONTLE() ON(,) ON(,) ONTLE() ON(,) ONTLE() ONTLE() RMEPMTY 28
29 STRIPS: anomalia Sussman a LER() RMEPMTY ON(,) LER() RMEPMTY ON(,) LER() UNSTK(,) RMEMPTY LER() RMEMPTY ONTLE() HOLDING() PIKUP() LER() HOLDING() ON(,) STK(,) ON(,) ON(,) ON(,) ONTLE() STRIPS: anomalia Sussman a LER() RMEPMTY ON(,) LER() RMEPMTY ON(,) LER() UNSTK(,) RMEMPTY LER() RMEMPTY ONTLE() HOLDING() PIKUP() LER() HOLDING() ON(,) STK(,) ON(,) ON(,) ON(,) ONTLE() Plan aktualny: UNSTK(,) 29
30 STRIPS: anomalia Sussman a 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 STRIPS: anomalia Sussman a HOLDING() PUTDOWN() LER() RMEMPTY ONTLE() HOLDING() PIKUP() LER() HOLDING() Plan aktualny: UNSTK(,) ON(,) STK(,) ON(,) PUTDOWN() ON(,) ON(,) ONTLE() 30
31 STRIPS: anomalia Sussman a LER() RMEMPTY ONTLE() HOLDING() PIKUP() LER() HOLDING() ON(,) STK(,) ON(,) ON(,) ON(,) ONTLE() Plan aktualny: UNSTK(,) PUTDOWN() PIKUP() STRIPS: anomalia Sussman a Plan aktualny: UNSTK(,) LER() HOLDING() ON(,) STK(,) ON(,) ON(,) ON(,) ONTLE() PUTDOWN() PIKUP() STK(,) 31
32 STRIPS: anomalia Sussman a LER() RMEPMTY ON(,) LER() UNSTK(,) LER() RMEMPTY ONTLE() HOLDING() PIKUP() LER() HOLDING() ON(,) STK(,) ON(,) ON(,) ONTLE() Plan aktualny: UNSTK(,) PUTDOWN() PIKUP() STK(,) STRIPS: anomalia Sussman a Plan aktualny: LER() RMEPMTY ON(,) UNSTK(,) LER() RMEMPTY ONTLE() PIKUP() LER() HOLDING() STK(,) ON(,) ON(,) ONTLE() UNSTK(,) PUTDOWN() PIKUP() STK(,) UNSTK(,) 32
33 STRIPS: anomalia Sussman a RMEPMTY Ponownie nie jest spełniony! LER() RMEMPTY ONTLE() PIKUP() LER() HOLDING() STK(,) ON(,) ON(,) ONTLE() Plan aktualny: UNSTK(,) PUTDOWN() PIKUP() STK(,) UNSTK(,) STRIPS: anomalia Sussman a HOLDING() RMEPMTY PUTDOWN() Nie STK(,) bo byłby cykl LER() RMEMPTY ONTLE() PIKUP() LER() HOLDING() STK(,) ON(,) ON(,) ONTLE() Plan aktualny: UNSTK(,) PUTDOWN() PIKUP() STK(,) UNSTK(,) 33
34 STRIPS: anomalia Sussman a HOLDING() PUTDOWN() LER() RMEMPTY ONTLE() PIKUP() LER() HOLDING() STK(,) ON(,) ON(,) ONTLE() Plan aktualny: UNSTK(,) PUTDOWN() PIKUP() STK(,) UNSTK(,) PUTDOWN() STRIPS: anomalia Sussman a Plan aktualny: UNSTK(,) LER() RMEMPTY ONTLE() PIKUP() LER() HOLDING() STK(,) ON(,) ON(,) ONTLE() PUTDOWN() PIKUP() STK(,) UNSTK(,) PUTDOWN() PIKUP() 34
35 STRIPS: anomalia Sussman a Plan aktualny: UNSTK(,) PUTDOWN() PIKUP() LER() HOLDING() STK(,) ON(,) ON(,) ONTLE() STK(,) UNSTK(,) PUTDOWN() PIKUP() STK(,) STRIPS: anomalia Sussman a Plan aktualny: UNSTK(,) LER() RMEMPTY ONTLE() HOLDING() PIKUP() LER() HOLDING() ON(,) STK(,) Ponownie nie jest spełnione! ON(,) ON(,) ONTLE() PUTDOWN() PIKUP() STK(,) UNSTK(,) PUTDOWN() PIKUP() STK(,) 35
36 STRIPS: anomalia Sussman a Plan aktualny: UNSTK(,) LER() RMEMPTY ONTLE() PIKUP() LER() HOLDING() STK(,) ON(,) ON(,) ONTLE() PUTDOWN() PIKUP() STK(,) UNSTK(,) PUTDOWN() PIKUP() STK(,) PIKUP() STRIPS: anomalia Sussman a Plan aktualny: UNSTK(,) PUTDOWN() PIKUP() LER() HOLDING() STK(,) Stos ON(,) pusty ON(,) koniec planowania! ONTLE() STK(,) UNSTK(,) PUTDOWN() PIKUP() STK(,) PIKUP() STK(,) 36
37 STRIPS: anomalia Sussman a 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ą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 się całe przetwarzanie, które zostało wykonane w trakcie planowania dla dopełniających się par operatorów Plan aktualny: UNSTK(,) PUTDOWN() PIKUP() STK(,) UNSTK(,) PUTDOWN() PIKUP() STK(,) PIKUP() STK(,) STRIPS: anomalia Sussman a 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ą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 się całe przetwarzanie, które zostało wykonane w trakcie planowania dla takich dopełniających się par operatorów zy za nieoptymalny plan odpowiada uŝyta heurystyka, czy sam algorytm planowania liniowego? Sprawdźmy zatem skutki innych decyzji heurystycznych! 37
38 STRIPS: anomalia Sussman a lternatywny stos celów: LER() RMEPMTY ONTLE() LER() RMEMPTY ONTLE() HOLDING() PIKUP() LER() HOLDING() ON(,) STK(,) ON(,) ON(,) ON(,) ONTLE() Wszystkie warunki spełnione STRIPS: anomalia Sussman a lternatywny stos celów: Warunek spełniony LER() RMEMPTY ONTLE() PIKUP() LER() HOLDING() STK(,) ON(,) ON(,) ON(,) ONTLE() lternatywny plan: PIKUP() 38
39 STRIPS: anomalia Sussman a lternatywny stos celów: Warunek spełniony LER() HOLDING() STK(,) ON(,) ON(,) ON(,) ONTLE() lternatywny plan: PIKUP() STK(,) STRIPS: anomalia Sussman a lternatywny stos celów: itd. ON(,) ON(,) ON(,) ONTLE() 39
40 STRIPS: anomalia Sussman a Stan początkowy: lternatywny kompletny plan: PIKUP()... STK(,) UNSTK(,) PIKUP() STK(,) PUTDOWN() UNSTK(,) UNSTK(,) PUTDOWN() Stan końcowy: PUTDOWN()... PIKUP() STK(,) PIKUP() STK(,) STRIPS: anomalia Sussman a lternatywny plan równieŝ nie jest optymalny (a nawet jest gorszy!): jest dłuŝszy (o 4 operacje) zawiera więcej par niwelujących się operacji Za brak optymalności planowania nie odpowiada zatem uŝyta heurystyka, lecz sam algorytm planowania liniowego! lternatywny kompletny plan: PIKUP()... STK(,) PIKUP() UNSTK(,) STK(,) PUTDOWN() UNSTK(,) UNSTK(,) PUTDOWN() PUTDOWN() PIKUP()... STK(,) PIKUP() STK(,) 40
41 STRIPS: anomalia Sussman a Stan początkowy: Stan końcowy: Optymalny plan: UNSTK(,) PUTDOWN() PIKUP() STK(,) PIKUP() STK(,) Nieoptymalny plan nie jest jedynie efektem uŝytej heurystyki, lecz wynika z ograniczeń samego algorytmu planowania liniowego - nie jest istotna kolejność osiągania celów i porządek wybierania operatorów, lecz fakt, iŝ metoda nie uwzględnia interakcji zachodzących pomiędzy warunkami i operatorami. Poszukiwanie planu: metoda regresji celów Planowanie opiera się na zbiorze celów, spośród których dowolny podcel moŝe być wybrany jako kolejny, który naleŝy osiągnąć Planowanie odbywa się wstecz - od stanu docelowego do stanu początkowego Wybierany ze zbioru podcel jest traktowany tak jakby był ostatnim, który naleŝy osiągnąć (inaczej: zakładamy, Ŝe reszta celów jest juŝ spełniona i szukamy tylko tych operacji, które miałyby dopełnić plan poprzez spełnienie ostatniego podcelu) Wybrany operator poszerza zbiór podcelów o swoje warunki stosowalności 41
42 Regresja celów: przykład (anomalia Sussman a) Stan początkowy: ON(,) ONTLE() ONTLE() RMEPMTY Stan końcowy (docelowy): ON(,) ON(,) ONTLE() * * - dla uproszczenia rozwaŝań podcel ONTLE() nie będzie brany pod uwagę Regresja celów: przykład Drzewo przeszukiwania w przestrzeni zbiorów celów: STK(,) LER() HOLDING() ON(,) ON(,) ON(,) STK(,) LER() HOLDING() ON(,) k o n f l i k t 42
43 Regresja celów: przykład Drzewo przeszukiwania w przestrzeni zbiorów celów: STK(,) ON(,) ON(,) STK(,) UNSTK(x,) LER() HOLDING() ON(,) UNSTK(,x) PIKUP() LER() HOLDING() ON(,) STK(,) k o n f l i k t k o n f l i k t ON(x,) LER(x) RMEPMTY HOLDING() ON(,) Regresja celów: przykład Drzewo przeszukiwania w przestrzeni zbiorów celów: STK(,) ON(,) ON(,) STK(,) UNSTK(x,) LER() HOLDING() ON(,) UNSTK(,x) PIKUP() LER() HOLDING() ON(,) STK(,) k o n f l i k t k o n f l i k t ON(x,) LER(x) RMEPMTY HOLDING() ON(,) RMEPMTY LER() ONTLE() LER() ON(,) 43
44 Regresja celów: przykład Drzewo przeszukiwania w przestrzeni zbiorów celów: STK(,) ON(,) ON(,) STK(,) UNSTK(x,) LER() HOLDING() ON(,) UNSTK(,x) PIKUP() LER() HOLDING() ON(,) STK(,) k o n f l i k t k o n f l i k t ON(x,) LER(x) RMEPMTY HOLDING() ON(,) RMEPMTY LER() ONTLE() LER() ON(,) ON(,x) LER() RMEPMTY LER() ON(,) jeŝeli x= to konflikt; jeŝeli x= to cykl Regresja celów: przykład Drzewo przeszukiwania w przestrzeni zbiorów celów: STK(,) ON(,) ON(,) STK(,) UNSTK(x,) LER() HOLDING() ON(,) UNSTK(,x) PIKUP() LER() HOLDING() ON(,) STK(,) k o n f l i k t k o n f l i k t ON(x,) LER(x) RMEPMTY HOLDING() ON(,) RMEPMTY LER() ONTLE() LER() ON(,) ON(,x) LER() RMEPMTY LER() ON(,) LER() HOLDING() LER() HOLDING() jeŝeli x= to konflikt; jeŝeli x= to cykl k o n f l i k t 44
45 Regresja celów: operacja regresji Planowanie wstecz opiera się na załoŝeniu, Ŝe operator wybrany do spełnienia podcelu jest ostatnim w planie, a pozostał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; najczęściej jednak jest inaczej - wykonanie jednego operatora moŝe zniweczyć skutki dział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 moŝliwe i prowadziło do osiągnięcia podcelu bez naruszania innych (juŝ spełnionych) podcelów Regresja celów: operacja regresji Regresja podcelu za pomocą operatora, który nie wpływa na ten podcel daje w rezultacie ten sam podcel *, np. REGRESSION(ON(,), PIKUP()) = ON(,) * - jest to najczęstszy przypadek regresji operatora 45
46 Regresja celów: operacja regresji Regresja podcelu operatorem, których prowadzi do osiągnięcia tego podcelu nie wymaga spełnienia Ŝadnych warunków (warunki stosowalności operatora są obsługiwane w innych sposób * ), np. REGRESSION(ON(,),STK(,)) = True * - zgodnie z algorytmem dodawane są do zbioru celów Regresja celów: operacja regresji Regresja podcelu za pomocą niektórych operatorów moŝe prowadzić do sytuacji, w której spełnienie tego celu nie będzie juŝ więcej moŝliwe *, np. REGRESSION(RMEPMTY, PIKUP()) = False * - taka ścieŝka poszukiwania planu oznacza brak moŝliwości dalszego planowania 46
47 Regresja celów: operacja regresji Regresja jednego podcelu moŝe - jako efekt uboczny - prowadzić równieŝ do osiągnięcia podcelu, do którego spełnienia bezpośrednio nie została uŝyta *, np. REGRESSION(ON(,D), STK(,D)) = True ale równieŝ REGRESSION(RMEPMTY,STK(,D)) = True * - podcele o wartości True mogą zostać usunięte ze zbioru celów jako na pewno spełnione Regresja celów: warunki zakończenia planowania Proces planowania odbywa się wstecz - nie wiadomo jakie operacje zostały (a w zasadzie: zostaną) wykonane przed aktualnym operatorem oraz jakie były ich skutki poza tym, Ŝe doprowadziły do spełnienia wszystkich oprócz jednego podcelu ze zbioru celów Nie są znane skutki uboczne wykonania tych wcześniejszych operacji i ich ewentualny wpływ na inne podcele - Ŝaden podcel nie moŝe być zignorowany zanim nie ulegnie regresji do warunku True Proces planowania moŝe zakończyć się, gdy mamy pewność, Ŝe Ŝadne warunki nie ulegną juŝ zmianie - wszystkie podcele są jednocześnie spełnione w stanie początkowym i nie ma potrzeby stosowania jakichkolwiek operatorów poprzedzających ciąg operacji dopiero co znaleziony 47
48 Regresja celów: przykład Drzewo poszukiwania planu w przestrzeni zbiorów celów: PUTDOWN(x) HOLDING(x) LER() ONTLE() LER() ON(,) jeŝeli x= to konflikt; jeŝeli x= lub to konflikt STK(x,y) HOLDING(x) LER(y) LER() ONTLE() LER() ON(,) RMEPMTY LER() ONTLE() LER() ON(,) Regresja celów: przykład Drzewo poszukiwania planu w przestrzeni zbiorów celów: PUTDOWN(x) HOLDING(x) LER() ONTLE() LER() ON(,) jeŝeli x= to konflikt; jeŝ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! False ON(x,) LER(x) ONTLE() LER() ON(,) 48
49 Regresja celów: przykład Drzewo poszukiwania planu w przestrzeni zbiorów celów: PUTDOWN(x) HOLDING(x) LER() ONTLE() LER() ON(,) jeŝeli x= to konflikt; jeŝ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 False ON(x,) LER(x) ONTLE() LER() ON(,) UNSTK(x,) niespełnialny! False ON(x,) LER(x) ONTLE() LER() ON(,) Regresja celów: przykład Drzewo poszukiwania planu w przestrzeni zbiorów celów: PUTDOWN(x) HOLDING(x) LER() ONTLE() LER() ON(,) jeŝeli x= to konflikt; jeŝ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 False ON(x,) LER(x) ONTLE() LER() ON(,) PUTDOWN() UNSTK(x,) True LER() HOLDING() LER() ON(,) niespełnialny False ON(x,) LER(x) ONTLE() LER() ON(,) 49
50 Regresja celów: przykład Drzewo poszukiwania planu w przestrzeni zbiorów celów: PUTDOWN(x) HOLDING(x) LER() ONTLE() LER() ON(,) jeŝeli x= to konflikt; jeŝ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 HOLDING() LER() True LER() ONTLE() LER() PUTDOWN() UNSTK(x,) True LER() HOLDING() LER() ON(,) niespełnialny False ON(x,) LER(x) ONTLE() LER() ON(,) Regresja celów: heurystyki Warunkiem zatrzymania procesu planowania jest osiągnięcie stanu początkowego (wnioskowanie wstecz) - wiedza o tym stanie jest zatem kluczowa dla podejmowania decyzji o charakterze heurystycznym JeŜeli jeden z podcelów ze zbioru celów jest spełniony w stanie początkowym, to próbę jego osiągnięcia naleŝy odłoŝyć na później - być moŝe osiągnięcie jego nie będzie wymagało Ŝadnych dodatkowych nakładów, gdyŝ spełnianie innych podcelów nie naruszy jego prawdziwości JeŜeli jakiś podcel jest łatwo zniweczyć lub łatwo osiągnąć, to jego spełnienie naleŝy odłoŝyć na później 50
51 Regresja celów: przykład Drzewo poszukiwania planu w przestrzeni zbioró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 Spełniony w S 0 HOLDING() LER() True LER() ONTLE() LER() PUTDOWN() UNSTK(x,) True LER() HOLDING() LER() ON(,) niespełnialny False ON(x,) LER(x) ONTLE() LER() ON(,) Regresja celów: podsumowanie Generowane drzewo poszukiwań planu jest bardzo rozgałęzione algorytm wymaga analizy wszystkich moŝliwych uporządkowań podcelów (ewentualne nawroty!), jak równieŝ wszystkich moŝliwych sposobów ich spełnienia naliza taka jest bezcelowa w problemach całkowicie dekomponowalnych brak zaleŝności między podcelami lub zaleŝności te są bardzo słabe, wię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 51
52 Planowanie liniowe: podsumowanie W metodach planowania liniowego plan generowany jest sekwencyjnie dla kolejnych podcelów, tak długo aŝ nie zostanie osią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 operacji spełniających drugi podcel, itd. kompletny plan jest liniowo uporządkowaną sekwencją kompletnych podplanów Wprowadzenie do Sztucznej Inteligencji Wykład 7 Informatyka Studia InŜynierskie 52
53 Planowanie nieliniowe: charakterystyka W metodach planowania nieliniowego generowanie operacji na rzecz jednego celu moŝe przeplatać się z operacjami prowadzącymi do spełnienia innego podcelu Planowanie prowadzące do spełnienia pewnego podcelu moŝe zostać przerwane w celu zbudowania planu dla innego podcelu, po czym moŝliwy jest powrót do pierwotnego planowania lub moŝe rozpocząć się generacja planu dla jeszcze innego podcelu Nieliniowe konstruowanie planu przebiega niezaleŝnie od liniowej (i późniejszej) realizacja planu Plan nie jest wykonywany zanim nie zostanie kompletnie zbudowany Planowanie nieliniowe: charakterystyka planowanie odbywa się w przestrzeni planów a nie w przestrzeni stanów (sytuacji) rozpoczynamy od niepełnego, ogólnego planu operatory słuŝą do uszczegóławiania bądź modyfikacji planu: 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 planowanie odbywa się wstecz (wybieramy operatory na podstawie osiąganych przez nie warunków), aby ograniczyć rozmiar przeszukiwanej przestrzeni planów ustalanie kolejności operacji i wiązania zmiennych odbywa się zgodnie ze strategią least-commitment rezultatem planowanie jest częściowo uporządkowany plan w przeciwieństwie do systemów liniowych, w których plan jest całkowicie uporządkowanym ciągiem operacji 53
54 Planowanie nieliniowe: system NOH częściowy plan reprezentowany jest przez graf mamy cztery typy wierzchołków: warunki, akcje, S (ang. split) łączy wierzchołki, które nie są uporządkowane J (ang. join) łączy wierzchołki, które są juŝ uporządkowane planowanie podlega dodaniu operacji spełniającej warunek i uszczegóławianiu planu w oparciu o zbiór procedur zwanych krytykami: Resolveonflicts EliminateRedundantPreconditions UseExistingObjects przy ustalaniu kolejności operacji w planie wykorzystuje się strategię least-commitment NOH: przykład (anomalia Sussman a) Stan początkowy: ON(,) ONTLE() ONTLE() RMEPMTY Stan końcowy (docelowy): ON(,) ON(,) ONTLE() * * - dla uproszczenia rozwaŝań podcel ONTLE() nie będzie brany pod uwagę 54
55 NOH: przykład (anomalia Sussman a) Definicja operatorów PUT-ON(x,y): umieszczenie klocka x na klocku y (STK) albo klocka x na podłoŝu (PUTDOWN); klocek x musi być pusty/wolny i na klocku y nie moŝe znajdować się Ŝaden klocek; operacja ta obejmuje równieŝ podniesienie klocka (UNSTK/PIKUP) przed umieszczeniem go w miejscu y PUT-ON(x,y): PREONDITION: LER(x) LER(y) DELETE: LER(y) ON(x,z) DD: ON(x,y) LER(z) NOH: przykład (anomalia Sussman a) Konstruowanie planu w przestrzeni planów: Etap 1: inicjalizacja planu Legenda: S - split ON(,) ON(,) J - join Zainicjowanie grafu planu stanem docelowym. - condition - action Etap 2: dekompozycja celu ON(,) S ON(,) J Rozbicie złoŝonego warunku na warunku proste. Porządek osiągania podcelów pozostaje nieokreślony strategia least-commitment! 55
56 NOH: przykład (anomalia Sussman a) Konstruowanie planu w przestrzeni planów: Etap 3: wybór podcelu i wybór operatora Operator spełniający podcel STK(,) S S S LER() LER() LER() LER() J J PUT-ON(,) PUT-ON(,) J Wybór akcji prowadzących do spełnienia podcelów. Umieszczenie ich warunków stosowalności wcześniej w planie. Dekompozycja złoŝonych warunków stosowalności na podcele. Operator spełniający podcel STK(,) System NOH: krytyka Resolveonflicts el: analiza sprzeczności w porządku operatorów w planie Procedura: utworzenie listy wystąpień wszystkich literałów powtarzających się w planie wykrywanie konfliktów usunięcie literału z opisu stanu przez jeden z operatorów nie moŝe poprzedzać sprawdzania warunku prawdziwości tego literału przez inny operator w planie ustalenie właściwej kolejności operacji w planie na podstawie listy konfliktów eliminacja konfliktu przez umieszczenie operatora usuwającego literał później w planie 56
57 NOH: przykład (anomalia Sussman a) Konstruowanie planu w przestrzeni planów: Etap 3: naliza planu - wywołanie tzw. krytyk S 1 S 2 4 S 5 LER() LER() LER() LER() J J 3 6 PUT-ON(,) PUT-ON(,) Właściwa kolejność! J KaŜdorazowe umieszczenie akcji w planie wymaga jego analizy. naliza kolejności operacji krytyka Resolveonflicts: LER(): asserted: 2 dla LER() retracted: 3 dla listy DEL operatora PUT-ON(,) asserted: 4 dla LER() LER(): asserted: 5 dla LER() retracted: 6 dla listy DEL operatora PUT-ON(,) Konflikt! NOH: przykład (anomalia Sussman a) Konstruowanie planu w przestrzeni planów: Etap 3: naliza planu - wywołanie tzw. krytyk S 1 LER() S LER() 2 4 LER() S 5 LER() J J 3 PUT-ON(,) 6 PUT-ON(,) Ten warunek LER() zatem moŝna usunąć! Warunek LER() nadal spełniony po PUT-ON(,)! KaŜdorazowe zmiana kolejności akcji w planie wymaga jego analizy. Szukanie nadmiarowych podcelów krytyka EliminateRedundantPreconditions: LER(): asserted: 2 dla LER() Nadmiar! asserted: 4 dla LER() retracted: 3 dla listy DEL operatora PUT-ON(,) 57
58 NOH: przykład (anomalia Sussman a) Konstruowanie planu w przestrzeni planów: Etap 4: wybór podcelu i operatora LER() Warunek nie jest spełniony w stanie początkowym! S S LER() LER() J PUT-ON(,) J PUT-ON(,) Ponowny wybór akcji prowadzących do spełnienia podcelów (jeszcze nie spełnionych). Umieszczenie ich warunków stosowalności wcześniej w planie: Operator spełniający LER() PUT-ON(,x) podcel LER() S S LER() LER() J PUT-ON(,) J PUT-ON(,) NOH: przykład (anomalia Sussman a) Konstruowanie planu w przestrzeni planów: Etap 4: analiza planu wywołanie tzw. krytyk 1 7 LER() PUT-ON(,x) S 4 LER() 6 S J PUT-ON(,) LER() 5 J Właściwa kolejność! 3 PUT-ON(,) KaŜdorazowe umieszczenie akcji w planie wymaga jego analizy. naliza kolejności operacji krytyka Resolveonflicts: LER(): asserted: 1 dla LER() retracted: 6 dla listy DEL operatora PUT-ON(,) asserted: 5 dla LER() Konflikt! 58
59 NOH: przykład (anomalia Sussman a) Konstruowanie planu w przestrzeni planów: Etap 4: analiza planu - wywołanie tzw. krytyk 1 7 LER() PUT-ON(,x) S S 4 LER() J LER() 5 6 PUT-ON(,) Warunek LER() nadal spełniony po PUT-ON(,x)! J 3 PUT-ON(,) Ten warunek LER() zatem moŝna usunąć! KaŜdorazowe zmiana kolejności akcji w planie wymaga jego analizy. Szukanie nadmiarowych podcelów krytyka EliminateRedundantPreconditions: LER(): asserted: 1 dla LER() Nadmiar! asserted: 5 dla LER() retracted: 6 dla listy DEL operatora PUT-ON(,) NOH: przykład (anomalia Sussman a) Konstruowanie planu w przestrzeni planów: Etap 5: wybór podcelu i operatora LER() PUT-ON(,x) S J PUT-ON(,) PUT-ON(,) LER() Wszystkie pozostałe podcele spełnione w stanie początkowym koniec planowania!!! Wynik: gotowy kompletny plan PUT-ON(,x) PUT-ON(,) PUT-ON(,) 59
60 System NOH: krytyka UseExistingObjects elem jest ustalenie koniecznych wiązań zmiennych Procedura: utworzenie listy zmiennych wolnych w planie wykrywanie wszystkich obiektów występujących w planie wybór obiektów, który uŝycie upraszcza plan eliminacja nadmiarowych obiektów System NOH: podsumowanie Zalety: Pierwszy system wykorzystujący planowanie częściowe w przestrzeni planów Nieliniowy przebieg planowania niezaleŝnie od liniowej realizacji planu Dekompozycja problemu na podproblemy i niezaleŝna konstrukcja podplanów Wady: rak mechanizmów nawrotu decyzje podjęte podczas planowania (wybór podcelu, wybór operatora, ustalanie kolejności operacji, wiązania zmiennych) pozostają nie zmiennione Wysokie koszty obliczeniowe procedur-krytyk rak gwarancji znalezienia planu (system niepełny!) nie jest realizowane przeszukiwanie przestrzeni planów z nawrotami 60
61 Planowanie nieliniowe: podsumowanie System NONLIN casual links, mechanizmy nawrotu, wykrywanie zagroŝeń/konfliktów (ang. treats), ich eliminacja, nawroty typu dependency-directed, operatory modyfikacji planu System TWEK formalizacja planowania z wykorzystaniem mechanizmów spełniania ograniczeń (ang. constraint posting), gwarantująca poprawność i pełność algorytmu System SNLP/POP systematyczne częściowe planowanie, większa ekspresywność języka opisu celów Systemy planowania: zarys rozwoju GPS (Newell&Simon, 1957) STRIPS (Fikes&Nilsson, 1972) Hacker (Sussman, 1973) Warplan (Warrren, 1974) Interplan (Tate, 1974) NOH (Sacerdoti, 1975) Nonlin (Tate, 1976) Tweak (hapman, 1987) SNLP/POP (Soderland&Weld, 1991) UPOP (Weld, 1992) NLP (Peot&Smith, 1992) urdian (Draper&Weld&Hanks, 1993) urdian (Draper&Weld&Hanks, 1993) 61
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
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
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 -
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
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
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 α, β,
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
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
Rekurencje. Jeśli algorytm zawiera wywołanie samego siebie, jego czas działania moŝe być określony rekurencją. Przykład: sortowanie przez scalanie:
Rekurencje Jeśli algorytm zawiera wywołanie samego siebie, jego czas działania moŝe być określony rekurencją. Przykład: sortowanie przez scalanie: T(n) = Θ(1) (dla n = 1) T(n) = 2 T(n/2) + Θ(n) (dla n
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.
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
Co to jest algorytm? przepis prowadzący do rozwiązania zadania, problemu,
wprowadzenie Co to jest algorytm? przepis prowadzący do rozwiązania zadania, problemu, w przepisie tym podaje się opis czynności, które trzeba wykonać, oraz dane, dla których algorytm będzie określony.
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
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
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
Heurystyki. Strategie poszukiwań
Sztuczna inteligencja Heurystyki. Strategie poszukiwań Jacek Bartman Zakład Elektrotechniki i Informatyki Instytut Techniki Uniwersytet Rzeszowski DLACZEGO METODY PRZESZUKIWANIA? Sztuczna Inteligencja
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
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
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
Wprowadzenie do Sztucznej
Wprowadzenie do Sztucznej Inteligencji Wykład 2 Informatyka Studia InŜynierskie Konsekwencje logiczne Formuła A jest konsekwencją logiczną zbioru formuł U, co zapisujemy U A, jeŝeli kaŝda interpretacja,
Uniwersytet w Białymstoku Wydział Ekonomiczno-Informatyczny w Wilnie SYLLABUS na rok akademicki 2012/2013 http://www.wilno.uwb.edu.
SYLLABUS na rok akademicki 01/013 Tryb studiów Studia stacjonarne Kierunek studiów Informatyka Poziom studiów Pierwszego stopnia Rok studiów/ semestr /3 Specjalność Bez specjalności Kod katedry/zakładu
Laboratorium modelowania oprogramowania w języku UML. Ćwiczenie 4 Ćwiczenia w narzędziu CASE diagram czynności. Materiały dla studenta
Zakład Elektrotechniki Teoretycznej i Informatyki Stosowanej Wydział Elektryczny, Politechnika Warszawska Laboratorium modelowania oprogramowania w języku UML Ćwiczenie 4 Ćwiczenia w narzędziu CASE diagram
Układy równań liniowych. Ax = b (1)
Układy równań liniowych Dany jest układ m równań z n niewiadomymi. Liczba równań m nie musi być równa liczbie niewiadomych n, tj. mn. a a... a b n n a a... a b n n... a a... a b m m mn n m
Gramatyki, wyprowadzenia, hierarchia Chomsky ego. Gramatyka
Gramatyki, wyprowadzenia, hierarchia Chomsky ego Teoria automatów i języków formalnych Dr inŝ. Janusz Majewski Katedra Informatyki Gramatyka Gramatyką G nazywamy czwórkę uporządkowaną gdzie: G =
dr inż. Jarosław Forenc
Informatyka 2 Politechnika Białostocka - Wydział Elektryczny Elektrotechnika, semestr III, studia stacjonarne I stopnia Rok akademicki 2009/2010 Wykład nr 8 (29.01.2009) dr inż. Jarosław Forenc Rok akademicki
dr inŝ. Jarosław Forenc
Rok akademicki 2009/2010, Wykład nr 8 2/19 Plan wykładu nr 8 Informatyka 2 Politechnika Białostocka - Wydział Elektryczny Elektrotechnika, semestr III, studia stacjonarne I stopnia Rok akademicki 2009/2010
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
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
11. Blok ten jest blokiem: a. decyzyjnym b. końcowym c. operacyjnym
1. Instrukcja warunkowa a. słuŝy do wprowadzania danych oraz wprowadzania wyników b. to instrukcja decyzyjna c. to sposób przedstawienia algorytmu 2. Instrukcja, która opisuje wykonanie róŝnych czynności
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
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
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
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)
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
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
dr inż. Jarosław Forenc
Informatyka 2 Politechnika Białostocka - Wydział Elektryczny Elektrotechnika, semestr III, studia stacjonarne I stopnia Rok akademicki 2010/2011 Wykład nr 7 (24.01.2011) dr inż. Jarosław Forenc Rok akademicki
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)
Agnieszka NOWAK * 1. WSTĘP
aktualizacja bazy wiedzy, systemy wspomagania decyzji, statystyka, znaczenie informacji statystycznej. Agnieszka NOWAK * PROCES AKTUALIZACJI SYSTEMU WSPOMAGANIA DECYZJI NA PODSTAWIE INFORMACJI STATYSTYCZNYCH
KaŜdemu atrybutowi A przyporządkowana jest dziedzina Dom(A), czyli zbiór dopuszczalnych wartości.
elacja chemat relacji chemat relacji jest to zbiór = {A 1,..., A n }, gdzie A 1,..., A n są artybutami (nazwami kolumn) np. Loty = {Numer, kąd, Dokąd, Odlot, Przylot} KaŜdemu atrybutowi A przyporządkowana
Gramatyki grafowe. Dla v V, ϕ(v) etykieta v. Klasa grafów nad Σ - G Σ.
Gramatyki grafowe Def. Nieskierowany NL-graf (etykietowane wierzchołki) jest czwórką g = (V, E, Σ, ϕ), gdzie: V niepusty zbiór wierzchołków, E V V zbiór krawędzi, Σ - skończony, niepusty alfabet etykiet
Jednostki informacji. Bajt moŝna podzielić na dwie połówki 4-bitowe nazywane tetradami (ang. nibbles).
Wykład 1 1-1 Informatyka nauka zajmująca się zbieraniem, przechowywaniem i przetwarzaniem informacji. Informacja obiekt abstrakcyjny, który w postaci zakodowanej moŝe być przechowywany, przesyłany, przetwarzany
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
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
SZTUCZNA INTELIGENCJA WYKŁAD 12. PRZESZUKIWANIE Częstochowa 2014 Dr hab. inż. Grzegorz Dudek Wydział Elektryczny Politechnika Częstochowska ROZWIĄZYWANIE PROBLEMÓW JAKO PRZESZUKIWANIE Istotną rolę podczas
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
Drzewa Decyzyjne, cz.2
Drzewa Decyzyjne, cz.2 Inteligentne Systemy Decyzyjne Katedra Systemów Multimedialnych WETI, PG Opracowanie: dr inŝ. Piotr Szczuko Podsumowanie poprzedniego wykładu Cel: przewidywanie wyniku (określania
2.8. Algorytmy, schematy, programy
https://app.wsipnet.pl/podreczniki/strona/38766 2.8. Algorytmy, schematy, programy DOWIESZ SIĘ co oznaczają pojęcia: algorytm, schemat blokowy, język programowania, jakie są sposoby obliczania największego
Informatyka I. Wykład 3. Sterowanie wykonaniem programu. Instrukcje warunkowe Instrukcje pętli. Dr inż. Andrzej Czerepicki
Informatyka I Wykład 3. Sterowanie wykonaniem programu. Instrukcje warunkowe Instrukcje pętli Dr inż. Andrzej Czerepicki Politechnika Warszawska Wydział Transportu 2018 Operacje relacji (porównania) A
Efektywna metoda sortowania sortowanie przez scalanie
Efektywna metoda sortowania sortowanie przez scalanie Rekurencja Dla rozwiązania danego problemu, algorytm wywołuje sam siebie przy rozwiązywaniu podobnych podproblemów. Metoda dziel i zwycięŝaj Dzielimy
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ć
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,
Programowanie w Logice
Programowanie w Logice Przeszukiwanie rozwiązań Przemysław Kobylański Generowanie wszystkich rozwiązań Prolog nie tylko potrafi sprawdzić czy dana spełnia warunek ale również potrafi wygenerować wszystkie
ALGORYTMY. 1. Podstawowe definicje Schemat blokowy
ALGORYTMY 1. Podstawowe definicje Algorytm (definicja nieformalna) to sposób postępowania (przepis) umożliwiający rozwiązanie określonego zadania (klasy zadań), podany w postaci skończonego zestawu czynności
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
ALGORYTMY. 1. Podstawowe definicje Schemat blokowy
ALGORYTMY 1. Podstawowe definicje Algorytm (definicja nieformalna) to sposób postępowania (przepis) umożliwiający rozwiązanie określonego zadania (klasy zadań), podany w postaci skończonego zestawu czynności
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
Bazy danych 2. Wykład 6 Transakcje
Bazy danych 2 Wykład 6 Transakcje Transakcje Def. Transakcjami nazywamy logiczne jednostki pracy które wprowadzają zmiany do bazy danych lub które wyszukują dane O transakcjach mówimy w kontekście: aktualizacji
Podstawy programowania. Wykład Funkcje. Krzysztof Banaś Podstawy programowania 1
Podstawy programowania. Wykład Funkcje Krzysztof Banaś Podstawy programowania 1 Programowanie proceduralne Pojęcie procedury (funkcji) programowanie proceduralne realizacja określonego zadania specyfikacja
Teoria gier matematyki). optymalności decyzji 2 lub więcej Decyzja wpływa na wynik innych graczy strategiami
Teoria gier Teoria gier jest częścią teorii decyzji (czyli gałęzią matematyki). Teoria decyzji - decyzje mogą być podejmowane w warunkach niepewności, ale nie zależą od strategicznych działań innych Teoria
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
Jak rozgrywać turnieje tenisowe?
Jak rozgrywać turnieje tenisowe? Kamila Agnieszka Baten Kamila Agnieszka Baten Strona 1 008-10-16 ISTOTA PROBLEMU Będziemy zajmować się problemem, który został sformułowany w 199 roku przez prof. Hugona
Sortowanie - wybrane algorytmy
Sortowanie - wybrane algorytmy Aleksandra Wilkowska Wydział Matematyki - Katedra Matematyki Stosowanej Politechika Wrocławska 2 maja 2018 1 / 39 Plan prezentacji Złożoność obliczeniowa Sortowanie bąbelkowe
PODSTAWY SZTUCZNEJ INTELIGENCJI
Katedra Informatyki Stosowanej Politechnika Łódzka PODSTAWY SZTUCZNEJ INTELIGENCJI Laboratorium PROGRAMOWANIE SYSTEMÓW EKSPERTOWYCH Opracowanie: Dr hab. inŝ. Jacek Kucharski Dr inŝ. Piotr Urbanek Cel ćwiczenia
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,
SYSTEMY UCZĄCE SIĘ WYKŁAD 4. DRZEWA REGRESYJNE, INDUKCJA REGUŁ. Dr hab. inż. Grzegorz Dudek Wydział Elektryczny Politechnika Częstochowska
SYSTEMY UCZĄCE SIĘ WYKŁAD 4. DRZEWA REGRESYJNE, INDUKCJA REGUŁ Częstochowa 2014 Dr hab. inż. Grzegorz Dudek Wydział Elektryczny Politechnika Częstochowska DRZEWO REGRESYJNE Sposób konstrukcji i przycinania
Metody Programowania
POLITECHNIKA KRAKOWSKA - WIEiK KATEDRA AUTOMATYKI i TECHNIK INFORMACYJNYCH Metody Programowania www.pk.edu.pl/~zk/mp_hp.html Wykładowca: dr inż. Zbigniew Kokosiński zk@pk.edu.pl Wykład 8: Wyszukiwanie
Wyszukiwanie. Wyszukiwanie binarne
Wyszukiwanie Wejście: posortowana, n-elementowa tablica liczbowa T oraz liczba p. Wyjście: liczba naturalna, określająca pozycję elementu p w tablicy T, bądź 1, jeŝeli element w tablicy nie występuje.
Zarządzanie projektami. Tadeusz Trzaskalik
Zarządzanie projektami Tadeusz Trzaskalik 7.1. Wprowadzenie Słowa kluczowe Projekt Sieć czynności zynność bezpośrednio poprzedzająca Zdarzenie, zdarzenie początkowe, zdarzenie końcowe Właściwa numeracja
Zarządzanie projektami UE
Zarządzanie projektami UE Produkty Produkty określają dobra i usługi, które powstaną w wyniku działań podjętych w ramach projektu. Produktem (skwantyfikowanym za pomocą wskaźnika produktu) moŝe być: liczba
Efektywna analiza składniowa GBK
TEORETYCZNE PODSTAWY INFORMATYKI Efektywna analiza składniowa GBK Rozbiór zdań i struktur zdaniowych jest w wielu przypadkach procesem bardzo skomplikowanym. Jego złożoność zależy od rodzaju reguł produkcji
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.
Instrukcja warunkowa i złoŝona.
Instrukcja warunkowa i złoŝona. Budowa pętli warunkowej. JeŜeli mielibyśmy przetłumaczyć instrukcję warunkową to brzmiałoby to mniej więcej tak: jeŝeli warunek jest spełniony, to wykonaj jakąś operację
Spis treści. spis treści wygenerowany automatycznie
Spis treści Rozdział 2.Wymagania edytorskie 2 2.1. Wymagania ogólne 2 2.2. Tytuły rozdziałów i podrozdziałów 2 2.3. Rysunki, tabele i wzory 3 2.3.1. Rysunki 3 2.3.2. Tabele 4 2.3.3. Wzory 4 2.4. Odsyłacze
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
Systemy eksperowe. Agnieszka Nowak Brzezińska Wykład I
Systemy eksperowe Agnieszka Nowak Brzezińska Wykład I Zakres materiału: Metody wnioskowania w regułowych bazach wiedzy PC-Shell jako narzędzie do budowy szkieletowych systemów ekspertowych (Sprawozdanie
Weryfikacja hipotez statystycznych. KG (CC) Statystyka 26 V / 1
Weryfikacja hipotez statystycznych KG (CC) Statystyka 26 V 2009 1 / 1 Sformułowanie problemu Weryfikacja hipotez statystycznych jest drugą (po estymacji) metodą uogólniania wyników uzyskanych w próbie
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
Sterowanie wykonaniem produkcji
STEROWANIE WYKONANIEM PRODUKCJI (Production Activity Control - PAC) Sterowanie wykonaniem produkcji (SWP) stanowi najniŝszy, wykonawczy poziom systemu zarządzania produkcją, łączący wyŝsze poziomy operatywnego
Instrukcja zmian w wersji Vincent Office
Instrukcja zmian w wersji 1.14 Vincent Office 1. Admin-zarządzanie podatnikami. a) przenoszenie planu kont między podatnikami. KaŜdy nowo załoŝony podatnik posiada wzorcowy plan kont opracowny przez naszą
Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania
Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania KOMPUTEROWE SYSTEMY STEROWANIA I WSPOMAGANIA DECYZJI Rozproszone programowanie produkcji z wykorzystaniem
Działanie algorytmu oparte jest na minimalizacji funkcji celu jako suma funkcji kosztu ( ) oraz funkcji heurystycznej ( ).
Algorytm A* Opracowanie: Joanna Raczyńska 1.Wstęp Algorytm A* jest heurystycznym algorytmem służącym do znajdowania najkrótszej ścieżki w grafie. Jest to algorytm zupełny i optymalny, co oznacza, że zawsze
DOBÓR PRÓBY. Czyli kogo badać?
DOBÓR PRÓBY Czyli kogo badać? DZISIAJ METODĄ PRACY Z TEKSTEM I INNYMI Po co dobieramy próbę? Czym róŝni się próba od populacji? Na czym polega reprezentatywność statystyczna? Podstawowe zasady doboru próby
Algorytmy i struktury danych
Algorytmy i struktury danych Definicja i cechy algorytmów Sieci działań Programowanie strukturalne Witold Marańda maranda@dmcs.p.lodz.pl 1 Literatura 1. iklaus Wirth, Algorytmy + Struktury danych = Programy,
FK - Deklaracje CIT-8
FK - Deklaracje CIT-8 1. Wstęp. Moduł FK umoŝliwia przygotowanie i wydruk formularza deklaracji podatkowej CIT-8. W skład dostępnych formularzy wchodzą deklaracje CIT-8(21) oraz CIT- 8/O(8). Dane do formularza
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
Zmienne powłoki. Wywołanie wartości następuje poprzez umieszczenie przed nazwą zmiennej znaku dolara ($ZMIENNA), np. ZMIENNA=wartosc.
Zmienne powłoki Zmienne powłoki (shell variables) to tymczasowe zmienne, które mogą przechowywać wartości liczbowe lub ciągi znaków. Związane są z powłoką, Przypisania wartości do zmiennej następuje poprzez
Wykład 3. Złożoność i realizowalność algorytmów Elementarne struktury danych: stosy, kolejki, listy
Wykład 3 Złożoność i realizowalność algorytmów Elementarne struktury danych: stosy, kolejki, listy Dynamiczne struktury danych Lista jest to liniowo uporządkowany zbiór elementów, z których dowolny element
Programowanie liniowe metoda sympleks
Programowanie liniowe metoda sympleks Mirosław Sobolewski Wydział Matematyki, Informatyki i Mechaniki UW wykład z algebry liniowej Warszawa, styczeń 2012 Mirosław Sobolewski (UW) Warszawa, 2012 1 / 12
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
LOGIKA I TEORIA ZBIORÓW
LOGIKA I TEORIA ZBIORÓW Logika Logika jest nauką zajmującą się zdaniami Z punktu widzenia logiki istotne jest, czy dane zdanie jest prawdziwe, czy nie Nie jest natomiast istotne o czym to zdanie mówi Definicja
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
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
PoniŜej znajdują się pytania z egzaminów zawodowych teoretycznych. Jest to materiał poglądowy.
PoniŜej znajdują się pytania z egzaminów zawodowych teoretycznych. Jest to materiał poglądowy. 1. Instrukcję case t of... w przedstawionym fragmencie programu moŝna zastąpić: var t : integer; write( Podaj
Wykład 3. Metoda dziel i zwyciężaj
Wykład 3 Metoda dziel i zwyciężaj 1 Wprowadzenie Technika konstrukcji algorytmów dziel i zwyciężaj. przykładowe problemy: Wypełnianie planszy Poszukiwanie (binarne) Sortowanie (sortowanie przez łączenie
Teoria automatów i języków formalnych. Określenie relacji
Relacje Teoria automatów i języków formalnych Dr inŝ. Janusz ajewski Katedra Informatyki Określenie relacji: Określenie relacji Relacja R jest zbiorem par uporządkowanych, czyli podzbiorem iloczynu kartezjańskiego
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?
Zadanie 1: Piętnastka
Informatyka, studia dzienne, inż. I st. semestr VI Sztuczna Inteligencja i Systemy Ekspertowe 2010/2011 Prowadzący: mgr Michał Pryczek piątek, 12:00 Data oddania: Ocena: Grzegorz Graczyk 150875 Marek Rogalski
OSTASZEWSKI Paweł (55566) PAWLICKI Piotr (55567) Algorytmy i Struktury Danych PIŁA
OSTASZEWSKI Paweł (55566) PAWLICKI Piotr (55567) 16.01.2003 Algorytmy i Struktury Danych PIŁA ALGORYTMY ZACHŁANNE czas [ms] Porównanie Algorytmów Rozwiązyjących problem TSP 100 000 000 000,000 10 000 000