Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Last revision Both sides next revision
en:dydaktyka:planning:intro [2017/07/17 10:08]
127.0.0.1 external edit
en:dydaktyka:planning:intro [2020/04/14 11:25]
msl
Line 1: Line 1:
 ====== Automated Planning: 101 ====== ====== Automated Planning: 101 ======
 +
 +<WRAP center round important 60%>
 +Due to the COVID-19 outbreak, all files related to this class are stored in the [[https://​gitlab.com/​agh-krr/​2019-2020/​labs-planning|Gitlab repository]]. This class uses files stored in the ''​00_intro''​ folder. Please refer to the ``Readme.md`` on how to submit the solutions.
 +</​WRAP>​
  
 This class is an introduction to a very important and omnipresent (i.e.: industry, robotics, video games etc.) discipline of AI – planning. Planning consists in finding a series of actions (called “a plan”), which used on a initial state S will conclude in achieving goal state G. Every action has conditions in which it can be executed, and effects of its application. Planning is difficult: without adequate constraints on actions, the complexity reaches the ''​PSPACE''​-complete class (worse than ''​NP''​ problems class, which includes the problems of discrete optimization). Furthermore,​ real (not toylike) problems may contain additional factors increasing their difficulty: This class is an introduction to a very important and omnipresent (i.e.: industry, robotics, video games etc.) discipline of AI – planning. Planning consists in finding a series of actions (called “a plan”), which used on a initial state S will conclude in achieving goal state G. Every action has conditions in which it can be executed, and effects of its application. Planning is difficult: without adequate constraints on actions, the complexity reaches the ''​PSPACE''​-complete class (worse than ''​NP''​ problems class, which includes the problems of discrete optimization). Furthermore,​ real (not toylike) problems may contain additional factors increasing their difficulty:
Line 28: Line 32:
 == Assignments ==  ​ == Assignments ==  ​
  
-  - Please define admissible heuristics for the blocks world +  - Please define ​an [[https://​en.wikipedia.org/​wiki/​Admissible_heuristic|admissible heuristics]] for the blocks world 
  
 === Encoding as a Discrete Optimization Problem === === Encoding as a Discrete Optimization Problem ===
Line 78: Line 82:
 {{ :​en:​dydaktyka:​planning:​dont-panic.jpg?​nolink&​200|}} {{ :​en:​dydaktyka:​planning:​dont-panic.jpg?​nolink&​200|}}
  
-  - Download {{ :​en:​dydaktyka:​planning:​blocks_world_strips.pl |a simple STRIPS planner for the blocks worlds}} and edit it in an [[http://​swish.swi-prolog.org/​|on-line prolog IDE]]. If you know Prolog, read the last lines of the file to understand how the planner works. If you haven'​t seen Prolog before, don't panic, keep calm and go to the next assignments.+  - Check [[ https://​swish.swi-prolog.org/​p/​block_strips_player_v2.pl ​|a simple STRIPS planner for the blocks worlds]]. If you know Prolog, read the last lines of the file to understand how the planner works. If you haven'​t seen Prolog before, don't panic, keep calm and go to the next assignments.
  
   - Fill ''​%TODO:''​ sections:   - Fill ''​%TODO:''​ sections:
Line 87: Line 91:
       - ''​holding/​1''​ --- block is currentle held by the robotic arm, e.g.. ''​holding(a)''​       - ''​holding/​1''​ --- block is currentle held by the robotic arm, e.g.. ''​holding(a)''​
       - ''​handempty/​0''​ --- the robotic arm doesn'​t hold anything, e.g. ''​handempty''​       - ''​handempty/​0''​ --- the robotic arm doesn'​t hold anything, e.g. ''​handempty''​
-    - we need four action ​(one of them is already implemented)+    - we need four actions ​(one of them is already implemented)
       - put block ''​X''​ on block ''​Y'': ​       - put block ''​X''​ on block ''​Y'': ​
         - requires that the ''​X''​ is actually held in the robotic arm and  ''​Y''​ is clear. After performing the action ''​X''​ lies on the ''​Y''​ and ''​Y''​ is no clear anymore. Also the robotic arm doesn'​t hold anything.         - requires that the ''​X''​ is actually held in the robotic arm and  ''​Y''​ is clear. After performing the action ''​X''​ lies on the ''​Y''​ and ''​Y''​ is no clear anymore. Also the robotic arm doesn'​t hold anything.
Line 96: Line 100:
       - take ''​X''​ of the table:       - take ''​X''​ of the table:
         - simpler version of the seciond action ​         - simpler version of the seciond action ​
-  - Run planning on the three already specified problems.+  - Run planning on the three already specified problems ​(just write ''​problem1.''​ or ''​problem2.''​... in the query window on the right and hit ''​run''​.
   - Specify fourth custom problem.   - Specify fourth custom problem.
   - Remove ''​clear''​ conditions from every action and repeat the planning:   - Remove ''​clear''​ conditions from every action and repeat the planning:
en/dydaktyka/planning/intro.txt · Last modified: 2020/04/14 11:26 by msl
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