Różnice

Różnice między wybraną wersją a wersją aktualną.

Odnośnik do tego porównania

pl:dydaktyka:planning:pddl_2 [2016/04/20 09:52]
msl [Zadania na plus]
pl:dydaktyka:planning:pddl_2 [2019/06/27 15:50]
Linia 1: Linia 1:
-====== - Planowanie z zastosowaniem Fluentów ====== 
- 
-Celem laboratorium jest rozszerzenie wiedzy na temat języka PDDL o tzw. fluenty. Laboratoria opierają się o samodzielną pracę nad planowanie w kontekście popularnych zagadek logicznych. 
- 
-===== - Preliminaria ===== 
- 
-Dotychczas nasza reprezentacja problemów planowania opierała się o rachunek predykatów pierwszego rzędu. Standard PDDL 2.1 rozszerza tę reprezentacje o [[https://​en.wikipedia.org/​wiki/​Fluent_%28artificial_intelligence%29|fluenty]],​ które w przypadku PDDL przyjmują postać przypominającą zmienne znane z klasycznych języków programowania. Prócz predykatów w modelu znajdą się  funkcje, które zwracają wartości, które będą zmieniać się w czasie. ​ 
- 
-===== - Przygotowania ===== 
- 
-Proszę ściągnąć {{:​pl:​dydaktyka:​planning:​metric-ff-lab.zip|kod solvera wspierającego PDDL 2.1 wraz z problemami, które będziemy dzisiaj modelować}}. Proszę w konsoli przejść do rozpakowanego katalogu i przetestować działanie solvera: 
- 
-<code bash> 
-./ff -o ./​examples/​hanoi/​problem.pddl -f ./​examples/​hanoi/​instance.pddl 
-</​code>​ 
- 
-Jeżeli komenda nie działa, proszę przekompilować solver. Instrukcje nie różnią się od tych przedstawionych na [[pddl|poprzednim laboratorium w sekcji 5]]. 
- 
-===== - Przykład: Hanoi ===== 
- 
-Nowy solver wspiera kilka nowych konstrukcji. Proszę przyjrzeć się plikom: ''​./​examples/​hanoi/​problem.pddl''​ i ''​./​examples/​hanoi/​instance.pddl''​. Do nowości należy zaliczyć: 
- 
-  * ''​(:​requirements :​fluents)''​ --- informuje solver, że nasz model zawiera fluenty 
-  * '':​functions (...)''​ --- sekcja zawierająca wszystkie fluenty użyte w modelu 
-  * warunki arytmetyczne --- ''<'',​ ''>'',​ ''​='',​ etc. 
-  * wyrażenia arytmetyczne --- ''​(+ arg1 arg2)'',​ ''​(- ...)'',​ ''​(* ...)''​ , ''​(/​ ...)''​ 
-  * zmiana wartości fluentów ''​(increase fluent wartość)'',​ czyli ''​fluent += wartość'',​ i inne, np. 
-     * ''​(decrease ...'',​ czyli ''​-=''​ 
-     * ''​(assign ...'',​ czyli ''​=''​ 
-  * ''​(:​metric minimize fluent)''​ --- informuje solver, jakie plany są dla nas interesujące. Solver domyślnie zakłada istnienie tej linijki. Jeżeli jej nie ma (lub chcemy ją zignorować),​ powinniśmy uruchomić solver z flagą ''​-s 0'',​ np. 
- 
-<code bash> 
-./ff -o ./​examples/​hanoi/​problem.pddl -f ./​examples/​hanoi/​instance.pddl -s 0 
-</​code>​ 
- 
-Proszę przeanalizować przykład i wykorzystać jako referencję do rozwiązywania kolejnych problemów. 
- 
-===== - Zagadka Pierwsza: Przelewanie Wody ===== 
- 
-Proszę obejrzeć fragment [[https://​www.youtube.com/​watch?​v=BVtQNK_ZUJg|Szklanej Pułapki 3]]. Przedstawiona tam zagadka należy do dość dużej rodziny problemów - katalog ''​./​examples/​jugs''​ zawiera model podobnego problemu [[http://​www.riddleministry.com/​riddles/​water-puzzle-19-13-7/​1246/​|przelewania wody]]. ​ 
- 
-==== Zadania obowiązkowe ==== 
- 
-Proszę uzupełnić plik ''​problem.pddl'',​ tak, aby rozwiązać instnację ''​instance.pddl''​ (plan powinien składać się z 16 akcji). 
- 
-==== Zadania na plus ==== 
- 
-<WRAP center round tip 60%> 
-W PDDL 2.1 można formułować efekty warunkowe: ​ 
-<code lisp> 
-(when (warunek) 
-  (efekt) 
-) 
-</​code>​ 
-Oznacza to, że dana akcja będzie miała określony efekt jedynie, gdy spełniony jest zadany warunek. 
- 
-</​WRAP>​ 
- 
- 
-  - Czy jesteś w stanie zamodelować problem używając tylko jednej akcji? 
-  - Czy jesteś w stanie zmodyfikować problem tak, żeby uwzględniał on fontannę? Jeżeli tak, rozwiąż Problem Bruce'​a Willisa. 
-  - Czy jesteś w stanie zamodelować ten problem w MiniZincu? 
- 
-===== - Zagadka Druga: Ucieczka Przed Zombie ===== 
- 
-Proszę obejrzeć pierwsze dwie minuty filmu ze [[http://​interestingengineering.com/​can-solve-impossible-bridge-riddle/​|strony o interesujących problemach]]. Katalog ''​./​examples/​zombie-escape''​ zawiera pliki związane z przedstawioną tam zagadką. ​   
- 
-==== Zadania obowiązkowe ==== 
- 
-Proszę uzupełnić pliki ''​problem.pddl''​ i ''​instance.pddl''​ tak, aby solver rozwiązał zagadkę z filmiku. 
- 
-==== Zadania na plus ==== 
- 
-  - Czy jesteś w stanie zamodelować problem używając tylko jednej akcji? 
-  - Czy jesteś w stanie w podobny sposób zamodelować [[http://​www.learn4good.com/​games/​puzzle/​boat.htm|problem misjonarzy i kanibali]]? 
-  - Czy jesteś w stanie zamodelować ten problem w MiniZincu? 
  
pl/dydaktyka/planning/pddl_2.txt · ostatnio zmienione: 2019/06/27 15:50 (edycja zewnętrzna)
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0