The planner does not have to solve the problem in order (from initial to goal state) it can suggest actions to solve any sub-goals at anytime. Planning is distinct from this in three key ways: Planning “opens up” the representation of states, goals and actions so that the planner can deduce direct connections between states and actions. Basic problem solving (as discussed in the Search lectures) searches a state-space of possible actions, starting from an initial state and following any path that it believes will lead it the goal state. Planning and problem solving (Search) are considered as different approaches even though they can often be applied to the same problem. The planning problems we will be discussing today are mostly Toy-World problems but they can be scaled up to real-world problems such as a robot negotiating a space. ![]() This is a skill that is only observed in a few animal species and only mastered by humans. To be able to plan, a system needs to be able to reason about the individual and cumulative effects of a series of actions. Planning is a topic of traditional interest in Artificial Intelligence as it is an important part of many different AI applications, such as robotics and intelligent agents. This is a declarative description of the computation.Ģ2 Planning To solve this problem the monkey needed to devise a plan, a sequence of actions that would allow him to reach the desired goal. High level explanation: The length of a list is 1 plus the length of the tail of the list, obtained by removing the first element of the list. Compute_length (, Length):- Compute_length (Tail,Tail_length), Length is Tail_length 1. Introduction PROgramming in LOGic Emphasis on what rather than how Problem in Declarative Form Logic Machine Basic MachineĪssists thinking in terms of objects and entities Not good for number crunching Useful applications of Prolog in Expert Systems (Knowledge Representation and Inferencing) Natural Language Processing Relational DatabasesĬompute_length (,0). Why above2 fails procedurally? above2 always tries complicated things first This is a bad idea A principle that often works: Try simple things first Do we always have to study procedural details in Prolog? No, usually not! In fact, quite the opposite: we shouldn’t! Programmer encouraged to think declaratively - this is the point of a declarative language! % Trace proof tree for thisĪ
0 Comments
Leave a Reply. |