Module6 AI
Module6 AI
Planning in AI
Introduction:
Planning in artificial intelligence involves decision-making
processes executed by robots or computer programs to achieve
predefined goals.
It is a critical aspect of AI projects, essential for tasks ranging
from route optimization to complex problem-solving.
Problem Description:
Start Position: Blocks arranged in a specific
configuration on the flat surface.
Target Position: Desired arrangement of blocks to be
achieved through a series of movements.
Only one block can be moved at a time, and each
movement must be carefully planned to reach the target
configuration.
Challenge:
Non-interleaved planners of the early 1970s struggled
to solve the block-world problem efficiently due to its
complexity.
When faced with two sub-goals (G1 and G2), these
planners often failed to produce a combined plan for
both sub-goals, leading to an odd behavior.
table.
Robot Arm: A mechanism capable of picking up and
Goal State:
ON(C, A) ∧ ON(B, D) ∧ ONTABLE(A) ∧ ONTABLE(D) ∧
CLEAR(B) ∧ CLEAR(C) ∧ ARMEMPTY
Operations of the Robot Arm:
The robot arm can perform four operations, each with
specific preconditions:
- STACK(X, Y): Stacking block X on top of block Y.
o Preconditions: CLEAR(X), HOLDING(X), CLEAR(Y)
- UNSTACK(X, Y): Picking up block X from the top of
block Y.
o Preconditions: ON(X, Y), CLEAR(X), ARMEMPTY
- PICKUP(X): Picking up block X from the table.
o Preconditions: ONTABLE(X), CLEAR(X),
ARMEMPTY
- PUTDOWN(X): Placing block X on the table.
o Preconditions: HOLDING(X)
Solution:
- The effect of these operations is represented using two
lists ADD and DELETE.
- DELETE List contains the predicates which will cease to
be true once the operation is performed.
- ADD List on the other hand contains the predicates
which will become true once the operation is
performed.
Non-linear planning:
Non-Linear Planning in AI is a problem-solving approach used
to address complex situations with unpredictable solutions.
It involves finding a sequence of actions to transform the
system's current state to the desired goal state, considering non-
linear constraints like resource limitations and temporal
ordering.
- Algorithm:
1. Select Goal:
Choose a goal, denoted as 'g', from the set of goals.
2. Operator Selection:
If the current state does not match goal 'g', select an
operator 'o' whose add-list matches goal 'g'.
3. Push Operator:
Push operator 'o' onto the OpenStack and add the
preconditions of 'o' to the set of goals.
4. Continue Process:
Continue this process while all preconditions of the
operator on top of the OpenStack are satisfied in the
current state.
5. Apply Operator:
Pop the operator 'o' from the top of the OpenStack, apply it
to the current state, and add it to the plan.
Advantages:
Flexibility: Handles complex problem spaces with
interdependent sub-goals and non-linear dependencies.
Optimality: Utilizes heuristic search techniques to find optimal
solutions.
Resource Utilization: Considers resource limitations and
temporal ordering constraints.
Reusability: Can reuse previously generated plans for similar
problems, improving efficiency.
Integration: Can be integrated with other AI techniques like
machine learning for robust problem-solving.
Disadvantages:
Complexity: Dealing with complex and interconnected sub-
goals can increase computational overhead.
Scalability: May face challenges with large problem spaces,
where the search space becomes too large to explore
efficiently.
Uncertainty: Assumes a deterministic world, which may not
always hold true in real-world scenarios.
Domain Expertise: Relies on domain expertise to generate
effective plans, which may require significant knowledge.