×

Classical Planning

Classical Planning is the planning where an agent takes advantage of the problem structure to construct complex plans of an action. The agent performs three tasks in classical planning:

  • Planning: The agent plans after knowing what is the problem.
  • Acting: It decides what action it has to take.
  • Learning: The actions taken by the agent make him learn new things.
Classical Planning

A language known as PDDL(Planning Domain Definition Language) which is used to represent all actions into one action schema.

PDLL describes the four basic things needed in a search problem:

  • Initial state: It is the representation of each state as the conjunction of the ground and functionless atoms.
  • Actions: It is defined by a set of action schemas which implicitly define the ACTION() and RESULT() functions.
  • Result: It is obtained by the set of actions used by the agent.
  • Goal: It is same as a precondition, which is a conjunction of literals (whose value is either positive or negative).

There are various examples which will make PDLL understandable:

  • Air cargo transport
  • The spare tire problem
  • The blocks world and many more.

Let’s discuss one of them

  • Air cargo transport

 This problem can be illustrated with the help of the following actions:

  • Load: This action is taken to load cargo.
  • Unload: This action is taken to unload the cargo when it reaches its destination.
  • Fly: This action is taken to fly from one place to another.

Therefore, the Air cargo transport problem is based on loading and unloading the cargo and flying it from one place to another.

Below is the PDLL description for Air cargo transport:

Init (On(C1, SFO) ?  On(C2, JFK) ?  On(P1, SFO) ? On(P2, JFK)? Cargo(C1) ? Cargo(C2) ? Plane(P1) ? Plane(P2)
? Airport (JFK) ?  Airport (SFO))
Goal (On(C1, JFK) ?  On(C2, SFO))
Action(Load (c, p, a),
PRECOND: On(c, a) ? On(p, a) ? Cargo(c) ? Plane(p) ? Airport (a)
EFFECT: ? On(c, a) ? In(c, p))
Action(Unload(c, p, a),
PRECOND: In(c, p) ? On(p, a) ? Cargo(c) ? Plane(p) ? Airport (a)
EFFECT: On(c, a) ? ?In(c, p))
Action(Fly(p, from, to),
PRECOND: On(p, from) ? Plane(p) ? Airport (from) ? Airport (to)
EFFECT: ? On(p, from) ?  On(p, to)) 

The above described actions, (i.e., load, unload, and fly) affects the following two predicates:

  • (c,p): In this, the cargo is inside the plane p.
  • (x,a): In this, the object x is at the airport a. Here, object can be the cargo or plane.

It is to be noted that when the plan flies from one place to another, it should carry all cargo inside it. It becomes difficult with the PDLL to give solution for such a problem. Because PDLL do not have the universal quantifier. Thus, the following approach is used:

  • piece of cargo ceases to beOn anywhere when it is In a plane.
  • the cargo only becomesOn the new airport when it is unloaded.

Therefore, the planning for the solution is:

 Load (C1, P1, SFO), Fly(P1, SFO, JFK),Unload(C1, P1, JFK),
 Load (C2, P2, JFK), Fly(P2, JFK, SFO),Unload(C2, P2, SFO)] . 

Note: Some problems can be ignored because they does not cause any problem in planning.

  • The spare tire problem

The problem is that the agent needs to change the flat tire. The aim is to place a good spare tire over the car’s axle. There are four actions used to define the spare tire problem:

  1. Remove the spare from the trunk.
  2. Remove the flat spare from the axle.
  3. Putting the spare on the axle.
  4. Leave the car unattended overnight. Assuming that the car is parked at an unsafe neighborhood.

The PDLL description for the spare tire problem is:

Init(Tire1(Flat ) ? Tire1(Spare) ? At(Flat , Axle) ? At(Spare, Trunk ))
Goal (At(Spare, Axle))
Action(Remove(obj , loc),
PRECOND: At(obj , loc)
EFFECT: ? At(obj , loc) ? At(obj , Ground))
Action(PutOn(t , Axle),
PRECOND: Tire1(t) ? At(t , Ground) ?¬At(Flat , Axle)
EFFECT: ? At(t , Ground) ? At(t , Axle))
Action(LeaveOvernight ,
PRECOND:
EFFECT: ? At(Spare, Ground) ?¬At(Spare, Axle) ?¬At(Spare, Trunk)
?¬At(Flat, Ground) ?¬At(Flat , Axle) ?¬At(Flat, Trunk)) 

 The solution to the problem is:

[Remove(Flat,Axle),Remove(Spare,Trunk), PutOn(Spare, Axle)].

Similarly, we can design PDLL for various problems.

Complexity of the classical planning

In classical planning, there occur following two decision problems:

  1. PlanSAT: It is the question asking if there exists any plan that solves a planning problem.
  2. Bounded PlanSAT: It is the question asking if there is a solution of length k or less than it.

We found that:

  • PlanSAT and Bounded PlanSAT are decidable for classical planning.
  • Both decision problems lie in the complexity class PSPACE, which is larger than NP.

Note: PSPACE is the class which refers to those problems that can be solved via deterministic Turing machine under a polynomial time space.

From the above, it can be concluded that:

  1. PlanSAT is P whereas Bounded PlanSAT is NP-complete.
  2. Optimal planning is hard with respect to sub-optimal planning.

Advantages of Classical Planning

There are following advantages of Classical planning:          

  • It has provided the facility to develop accurate domain-independent heuristics.
  • The systems are easy to understand and work efficiently.

Related Topics

Artificial Intelligence vs. Machine learning

Artificial Intelligence This word is trending in the world of technology. Artificial means something which was not present naturally, and it is built by humans, and intelligence means the ability to...

4 minutes read.

Dynamic Routing

Dynamic Routing Dynamic routing is used to update the routing table and find networks on the routers. It is easier than static routing and default routing, but it is more expensive in terms of...

3 minutes read.

Minimax Strategy

In artificial intelligence, minimax is a decision-making strategy under game theory, which is used to minimize the losing chances in a game and to maximize the winning chances. This strategy is also known...

3 minutes read.

Constraint Satisfaction Problems in Artificial Intelligence

Constraint Satisfaction Problems in Artificial Intelligence We have seen so many techniques like Local search, Adversarial search to solve different problems. The objective of every problem-solving technique is one, i.e., to find a solution to...

5 minutes read.

Artificial Intelligence Tutorial | AI Tutorial

Today, Artificial Intelligence (AI) has become the norm of how humans communicate with and understand technology. Even though you've been hearing this buzzword now and then, do you know what...

6 minutes read.

8 best topics for research and thesis in artificial intelligence

AI, abbreviated as Artificial Intelligence, is a field which has a long history. Artificial Intelligence is the ability of machines that perform the same function as human beings, like problem-solving,...

3 minutes read.

Supervised Learning in AI

Supervised Learning in AI Learning Supervised LearningClassification TasksNearest Neighbor ClassificationK nearest neighbor AlgorithmPerceptron LearningSupport Vector MachineRegression TasksLoss FunctionOverfittingRegularizationScikit LearnK Nearest Neighbor ImplementationPerceptron Algorithm ImplementationSupport Vector Machine Algorithm ImplementationRegression Implementation Machine Learning In the Artificial...

33 minutes read.

Uninformed Search Strategies - Artificial Intelligence

Breadth-first search (BFS) It is a simple search strategy where the root node is expanded first, then covering all other successors of the root node, further move to expand the next...

8 minutes read.

Integration of Blockchain and Artificial Intelligence

A Blockchain is a shared database or ledger where pieces of data are stored in data structures known as blocks. So, we can say that Blockchain is the distribution storage...

6 minutes read.

Problem-solving in Artificial Intelligence

The reflex agents are known as the simplest agents because they directly map states into actions. Unfortunately, these agents fail to operate in an environment where the mapping is too large to...

7 minutes read.

Informed Search/ Heuristic Search in AI

An informed search is more efficient than an uninformed search because in informed search, along with the current state information,  some additional information is also present, which make it easy to reach the...

6 minutes read.

Heuristic Functions in Artificial Intelligence

Heuristic Functions in AI: As we have already seen that an informed search make use of heuristic functions in order to reach the goal node in a more prominent way....

3 minutes read.

Intelligent Agents | Agents in AI

What is an Agent? An agent can be viewed as anything that perceives its environment through sensors and acts upon that environment through actuators. For example, human being perceives their surroundings through...

8 minutes read.

5 algorithms that demonstrate artificial intelligence bias

Unfortunately, in the machine learning algorithm, AI bias is the output due to the prejudiced assumption made due to the algorithm development process. AI systems have biases due to the...

3 minutes read.

Information Retrieval

Information Retrieval: In order to analyze and categorize the text, we'd like to be able to figure out information about the text, some meaning about the text as well. And,...

14 minutes read.

Theory of First-order Logic

Theory of First-order Logic First-order logic is also called Predicate logic and First-order predicate calculus (FOPL). It is a formal representation of logic in the form of quantifiers. In predicate logic, the input is taken...

4 minutes read.

Artificial Satellites

Many objects like stars, satellites and the moon are visible in the night sky. Satellites are objects revolving around the planet or a more significant object. Moon is the most...

6 minutes read.

Resolution Method in AI

Resolution Method in AI Resolution method is an inference rule which is used in both Propositional as well as First-order Predicate Logic in different ways. This method is basically used for proving the...

5 minutes read.

Hidden Markov Models

Hidden Markov Model is a partially observable model, where the agent partially observes the states. This model is based on the statistical Markov model, where a system being modeled follows the Markov process...

4 minutes read.

Hill Climbing Algorithm in AI

Hill Climbing Algorithm: Hill climbing search is a local search problem. The purpose of the hill climbing search is to climb a hill and reach the topmost peak/ point of...

4 minutes read.