Download as pdf or txt
Download as pdf or txt
You are on page 1of 41

UNIT: 5 PLANNIG

PLANNING:

What is the Role of Planning in Artificial Intelligence?


Artificial Intelligence is a critical technology in the future. Whether it is
intelligent robots or self-driving cars or smart cities, they will all use different
aspects of Artificial Intelligence!!! But to create any such AI project, Planning is
very important. So much so that Planning is a critical part of Artificial
Intelligence which deals with the actions and domains of a particular problem.
Planning is considered as the reasoning side of acting.

Everything we humans do is with a certain goal in mind and all our actions are
oriented towards achieving our goal. In a similar fashion, planning is also done
for Artificial Intelligence. For example, reaching a particular destination
requires planning. Finding the best route is not the only requirement in
planning, but the actions to be done at a particular time and why they are
done is also very important. That is why planning is considered as the
reasoning side of acting. In other words, planning is all about deciding the
actions to be performed by the Artificial Intelligence system and the
functioning of the system on its own in domain-independent situations.

What is a Plan?
For any planning system, we need the domain description, action
specification, and goal description. A plan is assumed to be a sequence of
actions and each action has its own set of preconditions to be satisfied before
performing the action and also some effects which can be positive or negative.

So, we have Forward State Space Planning (FSSP) and Backward State Space
Planning (BSSP) at the basic level.

1. Forward State Space Planning (FSSP)

FSSP behaves in a similar fashion like forward state space search. It says
that given a start state S in any domain, we perform certain actions required
and acquire a new state S’ (which includes some new conditions as well) which
is called progress and this proceeds until we reach the goal state. The actions
have to be applicable in this case.

Disadvantage: Large branching factor

Advantage: Algorithm is Sound

2. Backward State Space Planning (BSSP)

BSSP behaves in a similar fashion like backward state space search. In


this, we move from the goal state g towards sub-goal g’ that is finding the
previous action to be done to achieve that respective goal. This process is
called regression (moving back to the previous goal or sub-goal). These sub-
goals have to be checked for consistency as well. The actions have to be
relevant in this case.

Disadvantage: Not a sound algorithm (sometimes inconsistency can be found)

Advantage: Small branching factor (very small compared to FSSP)

Hence for an efficient planning system, we need to combine the features


of FSSP and BSSP which gives rise to Goal Stack planning which will be
discussed in the next article.

PLANNING WITH STATE SPACE SEARCH


A state space is a way to mathematically represent a problem by
defining all the possible states in which the problem can be. This is used in
search algorithms to represent the initial state, goal state, and current state of
the problem. Each state in the state space is represented using a set of
variables. The efficiency of the search algorithm greatly depends on the size of
the state space, and it is important to choose an appropriate representation
and search strategy to search the state space efficiently.

One of the most well-known state space search algorithms is the A


algorithm. Other commonly used state space search algorithms include
breadth-first search (BFS), depth-first search (DFS), hill climbing, simulated
annealing, and genetic algorithms.
Features of State Space Search

State space search has several features that make it an effective


problem-solving technique in Artificial Intelligence. These features include:

Exhaustiveness:

State space search explores all possible states of a problem to find a


solution.

Completeness:

If a solution exists, state space search will find it.

Optimality:

Searching through a state space results in an optimal solution.

Uninformed and Informed Search:

State space search in artificial intelligence can be classified as uninformed if it


provides additional information about the problem.

Steps in State Space Search:

 To begin the search process, we set the current state to the initial state.
 We then check if the current state is the goal state. If it is, we terminate
the algorithm and return the result.
 If the current state is not the goal state, we generate the set of possible
successor states that can be reached from the current state.
 For each successor state, we check if it has already been visited. If it has,
we skip it, else we add it to the queue of states to be visited.
 Next, we set the next state in the queue as the current state and check if
it's the goal state. If it is, we return the result. If not, we repeat the
previous step until we find the goal state or explore all the states.
 If all possible states have been explored and the goal state still needs to
be found, we return with no solution.

State Space Representation

 State space Representation involves defining an INITIAL STATE and a


GOAL STATE and then determining a sequence of actions, called states,
to follow.
 State:
 A state can be an Initial State, a Goal State, or any other possible state
that can be generated by applying rules between them.
 Space:
 In an AI problem, space refers to the exhaustive collection of all
conceivable states.
 Search:
 This technique moves from the beginning state to the desired state by
applying good rules while traversing the space of all possible states.
 Search Tree:
 To visualize the search issue, a search tree is used, which is a tree-like
structure that represents the problem. The initial state is represented by
the root node of the search tree, which is the starting point of the tree.
 Transition Model:
 This describes what each action does, while Path Cost assigns a cost
value to each path, an activity sequence that connects the beginning
node to the end node. The optimal option has the lowest cost among all
alternatives.

Example of State Space Search


 The 8-puzzle problem is a commonly used example of a state space
search. It is a sliding puzzle game consisting of 8 numbered tiles
arranged in a 3x3 grid and one blank space. The game aims to rearrange
the tiles from their initial state to a final goal state by sliding them into
the blank space.
 To represent the state space in this problem, we use the nine tiles in the
puzzle and their respective positions in the grid. Each state in the state
space is represented by a 3x3 array with values ranging from 1 to 8, and
the blank space is represented as an empty tile.
 The initial state of the puzzle represents the starting configuration of the
tiles, while the goal state represents the desired configuration. Search
algorithms utilize the state space to find a sequence of moves that will
transform the initial state into the goal state.
 This algorithm guarantees a solution but can become very slow for larger
state spaces. Alternatively, other algorithms, such as A search, use
heuristics to guide the search more efficiently.
 Our objective is to move from the current state to the target state by
sliding the numbered tiles through the blank space. Let's look closer at
reaching the target state from the current state.
Applications of State Space Search

 State space search algorithms are used in various fields, such as robotics,
game playing, computer networks, operations research, bioinformatics,
cryptography, and supply chain management. In artificial intelligence,
state space search algorithms can solve problems like pathfinding,
planning, and scheduling.
 They are also useful in planning robot motion and finding the best
sequence of actions to achieve a goal. In games, state space search
algorithms can help determine the best move for a player given a
particular game state.
 State space search algorithms can optimize routing and resource
allocation in computer networks and operations research.
 In Bioinformatics, state space search algorithms can help find patterns in
biological data and predict protein structures.
 In Cryptography, state space search algorithms are used to break codes
and find cryptographic keys.

PARTIAL ORDER PLANNING


Partial-Order Planner(POP) is a regression planner; it uses problem
decomposition; it searches plan space rather than state space; it build
partially-ordered plans; and it operates by the principle of least-commitment.

 A plan in POP (whether it be a finished one or an unfinished one)


comprises:
 A set of plan steps. Each of these is a STRIPS operator, but with the
variables instantiated.
 A set of ordering constraints: Si -< Sj means step Si must occur sometime
before Sj (not necessarily immediately before).
 A set of causal links: Si c→Sj means step Si achieves precondition c of
step Sj .

So, it comprises actions (steps) with constraints (for ordering and causality) on
them.
The algorithm needs to start off with an initial plan. This is an unfinished plan,
which we will refine until we reach a solution plan. The initial plan comprises
two dummy steps, called Start and Finish.

Start is a step with no preconditions, only effects: the effects are the initial
state of the world. Finish is a step with no effects, only preconditions: the
preconditions are the goal.

By way of an example, consider this initial state and goal state:

This initial plan is refined using POP’s plan refinement operators. As we apply
them, they will take us from an unfinished plan to a less and less unfinished
plan, and ultimately to a solution plan. There are four operators, falling into
two groups:

 Goal achievement operators


1. Step addition: Add a new step Si which has an effect c that can
achieve an as yet unachieved precondition of an existing step Sj . Also
add the following constraints: Si -<sj and="" si="" c="" sj="" and=""
start="" -<si="" -&lt;="" finish.<="" li="">
2. Use an effect c of an existing step Si to achieve an as yet unachieved
precondition of another existing step Sj . And add just two
constraints: Si -< Sj and Si c Sj.
 Causal links must be protected from threats, i.e. steps that delete (or
negate or clobber) the protected condition. If S threatens link Si c Sj :
1. Promote: add the constraint S -< Si; or
2. Demote: add the constraint Sj -< S
The goal achievement operators ought to be obvious enough. They find
preconditions of steps in the unfinished plan that are not yet achieved. The
two goal achievement operators remedy this either by adding a new step
whose effect achieves the precondition, or by exploiting one of the effects of a
step that is already in the plan.

The promotion and demotion operators may be less clear. Why are these
needed? POP uses problem-decomposition: faced with a conjunctive
precondition, it uses goal achievement on each conjunct separately. But, as we
know, this brings the risk that the steps we add when achieving one part of a
precondition might interfere with the achievement of another precondition.
And the idea of promotion and demotion is to add ordering constraints so that
the step cannot interfere with the achievement of the precondition.

Finally, we have to be able to recognise when we have reached a solution plan:


a finished plan.

A solution plan is one in which:

 every precondition of every step is achieved by the effect of some other


step and all possible clobberers have been suitably demoted or
promoted; and
 there are no contradictions in the ordering constraints, e.g. disallowed is
Si -< Sj and Sj -<si; also="" disallowed="" is="" si="" -<sj="" ,="" sj="" -
&lt;="" sk="" and="" sk="" -&lt;="" si.<="" li="">

Note that solutions may still be partially-ordered. This retains flexibility for as
long as possible. Only immediately prior to execution will the plan need
linearisation, i.e. the imposition of arbitrary ordering constraints on steps that
are not yet ordered. (In fact, if there’s more than one agent, or if there’s a
single agent but it is capable of multitasking, then some linearisation can be
avoided: steps can be carried out in parallel.)
PLANNING GRAPH:
A Planning Graph is a data structure primarily used in automated
planning and artificial intelligence to find solutions to planning problems. It
represents a planning problem’s progression through a series of levels that
describe states of the world and the actions that can be taken. Here’s a
breakdown of its main components and how it functions:

 Levels: A Planning graph has two alternating types of levels: action levels
and state levels. The first level is always a state level, representing the
initial state of the planning problem.
 State Levels: These levels consist of nodes representing logical
propositions or facts about the world. Each successive state level
contains all the propositions of the previous level plus any that can be
derived by the actions of the intervening action levels.
 Action Levels: These levels contain nodes representing actions. An action
node connects to a state level if the state contains all the preconditions
necessary for that action. Actions in turn can create new state
conditions, influencing the subsequent state level.
 Edges: The graph has two types of edges: one connecting state nodes to
action nodes (indicating that the state meets the preconditions for the
action), and another connecting action nodes to state nodes (indicating
the effects of the action).
 Mutual Exclusion (Mutex) Relationships: At each level, certain pairs of
actions or states might be mutually exclusive, meaning they cannot
coexist or occur together due to conflicting conditions or effects. These
mutex relationships are critical for reducing the complexity of the
planning problem by limiting the combinations of actions and states that
need to be considered.
Levels in Planning Graphs

 Level S0: It is the initial state of the planning graph that consists of
nodes each representing the state or conditions that can be true.
 Level A0: Level A0 consists of nodes that are responsible for taking all
specific actions in terms of the initial condition described in the S0.
 Si: It represents the state or condition which could hold at a time i,
it may be both P and ¬P.
 Ai: It contains the actions that could have their preconditions
satisfied at i.

Working of Planning Graph

The planning graph has a single proposition level that contains all the
initial conditions. The planning graph runs in stages, each stage and its
key workings are described below:

1. Extending the Planning Graph: At stage i (the current level), the graph
plan takes the planning graph from stage i-1 (the previous stage) and
extends it by one time step. This adds the next action level representing
all possible actions given the propositions (states) in the previous level,
followed by the proposition level representing the resulting states after
actions have been performed.
2. Valid Plan Found: If the graph plan finds a valid plan, it halts the
planning process.
3. Proceeding to the Next Stage: If no valid plan is found, the algorithm
determines that the goals are not all achievable in time i and moves to
the next stage.

Mutual Exclusion in Planning Graph

Mutual exclusion in graph planning refers to the principle that certain


actions or propositions cannot coexist or occur simultaneously due to
inherent constraints or dependencies within the planning problem.
Mutex relations can hold between actions and literals under various
conditions.

Mutex Conditions Between Actions

 Inconsistent Effects: One action negates the effect of another.


 Interference: One action deletes a precondition or creates an add-effect
of another.
 Competing Needs: Precondition of action a and precondition of action b
cannot be true simultaneously.
Mutex Conditions Between Literals

 Negation of Each Other: Two literals are mutually exclusive if one is the
negation of the other.
 Achieved by Mutually Exclusive Actions: No pair of non-mutex actions
can make both literals true at the same level.

Planning a Graph for a CAKE Problem

To understand the concept of planning a graph, let’s use the CAKE


example. This illustration demonstrates various states and actions to
achieve the goal of successfully eating the cake. By examining these
states, we can see how actions transition from one state to another to
reach the desired outcome.

Initial State (S0)

 Have(Cake): We have the cake.


 ¬Eaten(Cake): The cake has not been eaten yet.
Action Level (A0)
The action level represents possible actions that can transition the state
from S0 to the next state. In our example, the available action is:
 Eat(Cake): Represents the action to eat the cake.

Next State (S1)

The next state is determined by the action taken at the action level based
on the propositional variables. In the CAKE example, we have four
propositional variables in the next state:

 Have(Cake): If no action is performed (no-op), we will still have the cake.


 ¬Have(Cake): If the action Eat(Cake) is performed, we will no longer
have the cake.
 Eaten(Cake): If the action Eat(Cake) is performed, the cake will have
been eaten.
 ¬Eaten(Cake): If no action is performed (no-op), the cake will still be
uneaten.

Performance of Mutual Exclusion in Planning Graph

At state level S1, all literals are obtained by considering any subset of
actions at A0. In simple terms, state level S1 holds all possible outcomes
after the actions in A0 are considered. In our example, since we only
have the Eat(Cake) action at A0, S1 will list all possible outcomes with
and without the action being taken.

Mutual Exclusion

Mutual exclusion occurs when a conflict arises between literals,


indicating that the two literals cannot occur together. These conflicts are
represented by mutex links, which reveal mutually exclusive
propositions in S1.
For instance, if we eat the cake, we cannot have the cake at the same
time. Thus, Have(Cake) and Eaten(Cake) would be mutually exclusive.
The mutex links define the set of states, revealing which combinations of
literals are not possible together.
For example:
 If Eat(Cake) is performed, Have(Cake) and ¬Eaten(Cake) cannot be true
simultaneously.
 If Eat(Cake) is not performed, ¬Have(Cake) and Eaten(Cake) cannot be
true together.

Second Action Level (A1) and State Level (S2)

Continuing from the above example, we introduce two more levels:


Action-level (A1) and State-level (S2).
Actions Available at A1 from S1
 Bake(Cake): The precondition for this action is ¬Have(Cake).
If ¬Have(Cake) is true in S1, applying Bake(Cake) results in Have(Cake) in
S2. This action does not affect the Eaten(Cake) or ¬Eaten(Cake) states.
 Eat(Cake): The precondition for this action is Have(Cake).
If Have(Cake) is true in S1, applying Eat(Cake) results
in ¬Have(Cake) and Eaten(Cake) in S2.
Steps in the Graph Plan Algorithm
1. Expand the Planning Graph: The graph is expanded level by level until it
reaches level n where all the goals are present and non-mutex.
2. Check for Plan Existence: If the planning graph levels off before all goals
are present and non-mutex, the algorithm fails.
3. Search for Valid Plan: The algorithm performs a back search from the
last level to the initial state to find a sequence of actions leading to the
goals without violating mutex constraints.
4. Expand if No Valid Plan Found: If no valid plan is found, another level is
added and the search is repeated until a plan is found or the graph levels
off.
Properties of Graph Plan

The elements in the planning graph are described as increasing or


decreasing monotonically:
 Literals Increase Monotonically
 Actions Increase Monotonically
 Mutexes Decrease Monotonically
Due to these properties, the presence of a finite number of actions and
literals enables the planning graph to eventually level off.

PLANNING WITH PROPOSITIONAL LOGIC:


Propositional logic is a kind of logic whereby the expression that takes
into consideration is referred to as a proposition, which is a statement that can
be either true or false but cannot be both at the same time. In AI propositions
are those facts, conditions, or any other assertion regarding a particular
situation or fact in the world. Propositional logic uses propositional symbols,
connective symbols, and parentheses to build up propositional logic
expressions otherwise referred to as propositions.

Proposition operators like conjunction (∧), disjunction (∨), negation ¬,


implication →, and biconditional ↔ enable a proposition to be manipulated
and combined in order to represent the underlying logical relations and rules.

Example of Propositions Logic

In propositional logic, well-formed formulas, also called propositions, are


declarative statements that may be assigned a truth value of either true or
false. They are often denoted by letters such as P, Q, and R. Here are some
examples:

 P: In this statement, ‘The sky is blue’ five basic sentence components are
used.

 Q: ‘There is only one thing wrong at the moment we are in the middle of
a rain.”
 R: ‘Sometimes they were just saying things without realizing: “The
ground is wet”’.

All these protasis can be connected by logical operations to create stamata


with greater propositional depth. For instance:

 P∧Q: ”It is clear that the word ‘nice’ for the sentence ‘Saturday is a nice
day’ exists as well as the word ‘good’ for the sentence ‘The weather is
good today. ’”

 P∨Q: “It may probably be that the sky is blue or that it is raining. ”

 ¬P: I was not mindful that the old adage “The sky is not blue” deeply
describes a geek.

Basic Concepts of Propositional Logic

1. Propositions:

A proposition is a declarative statement that is either true or false. For


example:

 “The sky is blue.” (True)

 “It is raining.” (False)

2. Logical Connectives:

Logical connectives are used to form complex propositions from simpler ones.
The primary connectives are:

 AND (∧): A conjunction that is true if both propositions are true.

 Example: “It is sunny ∧ It is warm” is true if both propositions are


true.

 OR (∨): A disjunction that is true if at least one proposition is true.

 Example: “It is sunny ∨ It is raining” is true if either proposition is


true.

 NOT (¬): A negation that inverts the truth value of a proposition.


 Example: “¬It is raining” is true if “It is raining” is false.

 IMPLIES (→): A conditional that is true if the first proposition implies the
second.

 Example: “If it rains, then the ground is wet” (It rains → The
ground is wet) is true unless it rains and the ground is not wet.

 IFF (↔): A biconditional that is true if both propositions are either true
or false together.

 Example: “It is raining ↔ The ground is wet” is true if both are


true or both are false.

3. Truth Tables:

Truth tables are used to determine the truth value of complex propositions
based on the truth values of their components. They exhaustively list all
possible truth value combinations for the involved propositions.

4. Tautologies, Contradictions, and Contingencies:

 Tautology: A proposition that is always true, regardless of the truth


values of its components.

 Example: “P ∨ ¬P”

 Contradiction: A proposition that is always false.

 Example: “P ∧ ¬P”

 Contingency: A proposition that can be either true or false depending on


the truth values of its components.

 Example: “P ∧ Q”

Facts about Propositional Logic

1. Bivalence: A proposition gives a true and false result, with no in-


between because h/p’ cannot be true and false simultaneously.
2. Compositionality: The general signification of truth value of the
proposition depends on the truth values of the parts that make up the
proposition as well as the relations between the different parts.

3. Non-ambiguity: Every purpose is unambiguous, well-defined: Each


proposition is a well-defined purpose, which means that at any given
moment there is only one possible interpretation of it.

Syntax of Propositional Logic

Propositional logic and its syntax describes systems of propositions and


methods for constructing well-formed propositions and statements. The main
components include:

 Propositions: Denoted by capital letters (For example, P, Q).

 Logical Connectives: Signs that are employed to join give propositions


(e.g., ∧, ∨, ¬).

 Parentheses: Conventional operators are employed to identify the


sequence of operations and the hierarchy of various operators existing
in the syntax of computer programming languages.

In propositional logic, a well-formed formula or WFF is an expression in


symbols for the logic that satisfies the grammar rules of the logic.

Logical Equivalence

Two statements have the same logical form if the truth of every proposition
contained in the first statement has the same value in all cases as the truth of
every proposition contained in the second statement. For instance:

 It is also important to note that S→T is equivalent to ¬S∨T.

 The deep relationship between P↔Q and (P→Q)∧(Q→P) can be easily


deduced, and the relationship between P↔Q and (P→Q)∧(Q→P)
cannot be overemphasized.

Logical equivalence can be done using truth tables or logical equivalences


where specific attributes are used to compare the two.

Properties of Operators
The logical operators in propositional logic have several important properties:

1. Commutativity:

 P∧Q≡Q∧P

 P∨Q≡Q∨P

2. Associativity:

 (P ∧ Q) ∧ R ≡ P ∧ (Q ∧ R)

 (P ∨ Q) ∨ R ≡ P ∨ (Q ∨ R)

3. Distributivity:

 P ∧ (Q ∨ R) ≡ (P ∧ Q) ∨ (P ∧ R)

 P ∨ (Q ∧ R) ≡ (P ∨ Q) ∧ (P ∨ R)

4. Identity:

 P ∧ true ≡ P

 P ∨ false ≡ P

5. Domination:

 P ∨ true ≡ true

 P ∧ false ≡ false

6. Double Negation:

 ¬ (¬P) ≡ P

7. Idempotence:

 P∧P≡P

 P∨P≡P
Applications of Propositional Logic in AI

1. Knowledge Representation:

Propositional logic is used to represent knowledge in a structured and


unambiguous way. It allows AI systems to store and manipulate facts about the
world. For instance, in expert systems, knowledge is encoded as a set of
propositions and logical rules.

2. Automated Reasoning:

AI systems use propositional logic to perform automated reasoning. Logical


inference rules, such as Modus Ponens and Modus Tollens, enable systems to
derive new knowledge from existing facts. For example:

 Modus Ponens: If “P → Q” and “P” are true, then “Q” must be true.

 Modus Tollens: If “P → Q” and “¬Q” are true, then “¬P” must be true.

3. Problem Solving and Planning:

Propositional logic is fundamental in solving problems and planning actions. AI


planners use logical representations of actions, states, and goals to generate
sequences of actions that achieve desired outcomes. For example, the STRIPS
planning system employs propositional logic to represent preconditions and
effects of actions.

4. Decision Making:

In decision-making processes, propositional logic helps AI systems evaluate


various options and determine the best course of action. Logical rules can
encode decision criteria, and truth tables can be used to assess the outcomes
of different choices.

5. Natural Language Processing (NLP):

Propositional logic is applied in NLP for tasks like semantic parsing, where
natural language sentences are converted into logical representations. This
helps in understanding and reasoning about the meaning of sentences.

6. Game Theory and Multi-Agent Systems:


In game theory and multi-agent systems, propositional logic is used to model
the beliefs and actions of agents. Logical frameworks help in predicting the
behavior of agents and designing strategies for interaction.

Limitations of Propositional Logic

While propositional logic is powerful, it has several limitations:

1. Lack of Expressiveness: s does not allow for the representation of how


one proposition relates to another or to use variables to refer to objects
in the world (e. g. , “All human beings are mortal”).

2. Scalability: What has been a defining problem of propositional logic is


that the size of the resultant truth tables increases exponentially with
the number of propositions, which makes practical problems infeasible.

3. Limited Inference: It can only take on ‘true or false’ solutions, not


probabilities or multidimensional security levels of truth.

4. Absence of Quantifiers: Unlike predicate logic, propositional logic does


not allow the use of quantifiers such as “for all” (denoted by ∀) or “there
exists” (denoted by ∃), both of which are powerful expressions.

ANALYSIS OF PLANNING APPROACHES:


When it comes to artificial intelligence and planning, there are a few
different approaches that can be taken. In this article, we will take a look at the
three most common AI planning approaches: rule-based, goal-based, and
utility-based.

Rule-Based Planning: This type of planning is where the AI agent uses a set of
rules to make decisions. The agent will start with a problem or situation and
then look at the rules it knows in order to find a solution. This type of planning
can be quite brittle, as small changes in the problem or situation can cause the
agent to lose its way.

Goal-Based Planning: With goal-based planning, the AI agent tries to achieve a


specific goal. It will look at the current state of the problem or situation and try
to find a path that will lead to the goal. This type of planning can be more
robust than rule-based planning, as it can handle changes in the problem or
situation better. However, it can be more complex to implement and may
require more processing power.

Utility-Based Planning: In utility-based planning, the AI agent tries to find the


best course of action based on a set of criteria. It will look at the current state
of the problem or situation and try to find an action that will lead to the best
outcome possible. This type of planning is often used for decision-making
tasks.

Building An API Planning System:

Most AI planning systems are based on a search algorithm. The


algorithm starts with a blank state, or a set of initial conditions, and then tries
to find a path from the initial conditions to a goal state. The search algorithm
can be based on any number of strategies, such as a best-first search, a depth-
first search, or a breadth-first search. The most common approach to AI
planning is to use a best-first search algorithm.

A best-first search algorithm tries to find the best solution first, and then
works its way down to the next best solution. This approach is usually used
when there is no obvious way to determine which solution is the best. A depth-
first search algorithm tries to find the deepest solution first. This approach is
usually used when there is no obvious way to determine which solution is the
best or when the goal state is located at the end of a very deep path.

A breadth-first search algorithm tries to find the widest solution first.


This approach is usually used when there is no obvious way to determine
which solution is the best or when the goal state is located at the beginning of
a very wide path. Most AI planning systems also use something called a
heuristic function.

A heuristic function is a function that helps the search algorithm find


better solutions faster. The heuristic function can be based on any number of
factors, such as the distance from the current position to the goal position, or
the number of steps required to reach the goal position.
Validating An AI Planning System

When it comes to Artificial Intelligence (AI), there are different types of


problem-solving activities that can be accomplished. One such activity is
known as planning. Planning is the process of figuring out how to achieve a
goal by looking ahead and figuring out the steps needed to reach that goal.
There are a few different ways to go about planning. One way is to have a
human plan for the AI.

This can be done by providing a set of instructions for the AI to follow.


However, this can be difficult if the AI needs to make decisions on its own
along the way. Another way to plan is through a technique called goal-based
planning. Goal-based planning involves creating a list of goals that the AI needs
to achieve in order to reach its final goal.

Once the goals are created, the AI can then work out the steps needed
to achieve each individual goal. A third way to plan is through a technique
called heuristic planning. Heuristic planning uses a set of rules or guidelines
that help the AI find a solution to a problem. These rules can be based on
experience or past knowledge.

No matter what type of planning is used, there are three main


components that are always involved: the problem, the goal, and the actions
that need to be taken in order to reach the goal. To illustrate how planning
works, let's take a look at an example. Suppose you want to go on a picnic but
you don't know how to get there from your house. You might start by drawing
a map of your neighborhood and then figuring out which street leads to the
park. You would then need to figure out what steps you need to take in order
to get from your house to the park.

This might involve getting in your car and driving there, or taking public
transportation. The same basic principles apply when it comes to AI planning
systems. The problem is what needs to be solved, the goal is what needs to be
achieved, and the actions are the steps that need to be taken in order to reach
the goal. In order for an AI planning system to work properly, it must be able to
understand these three components correctly. One common challenge with AI
planning systems is verifying that they are actually solving the right problem
and reaching their correct goals.
In order for an AI system's decisions and actions to be reliable, it is
important for us humans as developers and testers of these systems to be
confident in their capabilities. One way we can do this is by using validation
methods such as debugging and testing tools as well as mathematical proofs
and models.

Troubleshooting an AI Planning System

A planning system is a core component of artificial intelligence. It is


responsible for taking in a set of initial conditions and desired outcomes, and
then generating a sequence of steps that will lead from the initial conditions to
the desired outcomes. A planning system can encounter a number of different
types of errors. One common type of error is when the system fails to generate
a sequence of steps that leads to the desired outcome.

This may be due to a lack of knowledge on the part of the system, or due
to incorrect data in the initial conditions or desired outcomes. Another
common type of error is when the system generates a sequence of steps that
leads to an undesired outcome. This may be due to incorrect data in the initial
conditions or desired outcomes, or due to flaws in the logic of the planning
algorithm.

Troubleshooting a planning system can be difficult since there can be


many sources of error. The best approach is usually to start with the simplest
possible cases and work your way up to more complex cases. Some common
techniques for troubleshooting a planning system include:

 Checking the input data for errors

 Checking the output data for errors

 Debugging the logic of the planning algorithm

 Testing alternative plan generation algorithms

 Investigating how the system deals with uncertainty and incomplete


information
HIERARCHICAL PLANNING:
Hierarchical planning in artificial intelligence (AI) is a planning approach
that involves organizing tasks and actions into multiple levels of abstraction or
hierarchy, where higher-level tasks are decomposed into a sequence of lower-
level tasks. It provides a way to efficiently reason and plan in complex domains
by utilizing a hierarchy of goals and subgoals. Hierarchical planning allows AI
systems to make decisions at different levels of abstraction, enabling them to
tackle complex tasks and environments effectively.

In hierarchical planning, the high-level task is represented as the


ultimate goal, and it is decomposed into subgoals or actions at lower levels of
the hierarchy. The hierarchy can be organized as a tree or a directed acyclic
graph (DAG), with the high-level goal as the root node and the lowest-level
tasks or actions as leaf nodes. Planning can occur at different levels of the
hierarchy, with the system selecting goals and generating plans for achieving
subgoals or actions. The plans generated at different levels are then
synthesized into a cohesive plan for execution.

Components of Hierarchical Planning

Hierarchical planning in artificial intelligence (AI) typically involves


several key components, including:

 High-level goals: The overall objectives or tasks that the AI system aims
to achieve.

 Task decomposition: Breaking down high-level goals into lower-level


tasks or subgoals.

 Planning hierarchy: The organization of tasks or subgoals into a


hierarchical structure, such as a tree or a directed acyclic graph (DAG).

 Plan generation at different levels: Reasoning and planning at different


levels of the hierarchy, with plans generated for achieving subgoals or
actions.

 Plan synthesis: Combining the plans for achieving subgoals or actions


into a cohesive plan for execution.
 Plan execution: Carrying out the actions or subgoals in the plan in the
correct order.

 Plan adaptation: Revising plans at different levels of abstraction to


accommodate changes in the environment or goals.

Basics of Hierarchical Planning

Definition of Hierarchical Planning

Hierarchical planning refers to a problem-solving approach that involves


breaking down complex tasks into a hierarchical structure of smaller sub-tasks
or actions that can be executed by an intelligent agent.

The agent decomposes the overall task into sub-tasks and generates a
plan for each sub-task, taking into account dependencies, constraints, and the
goals of the overall task. Each sub-plan is executed sequentially, with the
results of each step being used to guide subsequent steps.

Advantages of Hierarchical Planning

Hierarchical planning offers several advantages, including:

 Scalability: Hierarchical planning allows for reasoning and planning at


different levels of abstraction, enabling efficient handling of complex
tasks and environments.

 Flexibility: Hierarchical planning provides the flexibility to adapt plans to


changes in the environment or goals, making them more robust and
adaptable.

 Abstraction and reuse: The use of a hierarchy of tasks or subgoals allows


for the abstraction and reuse of plans, making planning more efficient
and reducing the need for redundant planning.

 Higher-level reasoning: Hierarchical planning allows for higher-level


reasoning and decision-making, enabling AI systems to make strategic
choices and coordinate actions at a higher level of abstraction.
 Task organization: Hierarchical planning helps in organizing tasks or
subgoals into a coherent structure, providing a clear overview of the
planning process and facilitating better coordination and management
of tasks.

Techniques Used in Hierarchical Planning

Hierarchical planning in artificial intelligence (AI) involves the use of


various techniques to effectively decompose tasks, abstract them at different
levels, allocate tasks to appropriate agents or resources, and integrate
execution plans. Here's a brief overview of these techniques:

 Decomposition techniques: Decomposition techniques involve breaking


down high-level goals or tasks into lower-level tasks or subgoals. This
can be done using methods such as goal decomposition, task network
decomposition, or state-based decomposition. Goal decomposition
involves breaking down high-level goals into smaller subgoals that can
be achieved independently. Task network decomposition involves
representing tasks and their dependencies as a directed graph and
decomposing it into smaller subgraphs. State-based decomposition
involves dividing the planning problem into smaller subproblems based
on different states of the environment.

 Abstraction techniques: Abstraction techniques involve representing


tasks or actions at different levels of abstraction. This can be done using
methods such as state abstraction, action abstraction, or temporal
abstraction. State abstraction involves representing the state of the
environment at a higher level of abstraction, reducing the complexity of
the planning problem. Action abstraction involves representing actions
at a higher level of abstraction, allowing for more generalizable plans.
Temporal abstraction involves representing actions or plans at a higher
level of time granularity, such as abstracting a sequence of actions into a
single abstract action.

 Task allocation techniques: Task allocation techniques involve assigning


tasks or subgoals to appropriate agents or resources in a hierarchical
planning system. This can be done using methods such as centralized
allocation, decentralized allocation, or market-based allocation.
Centralized allocation involves a central planner assigning tasks to
agents or resources. Decentralized allocation involves agents or
resources autonomously selecting tasks based on local information.
Market-based allocation involves agents or resources bidding for tasks in
a market-like mechanism.

 Plan integration techniques: Plan integration techniques involve


combining plans generated at different levels of abstraction into a
cohesive plan for execution. This can be done using methods such as
plan merging, plan refinement, or plan composition. Plan merging
involves combining plans for achieving different subgoals into a single
plan. Plan refinement involves refining a high-level plan by generating
detailed plans for achieving lower-level subgoals. Plan composition
involves combining plans for achieving different tasks or actions into a
coherent and executable plan.

Applications of Hierarchical Planning in AI

Hierarchical planning has been widely used in various applications of


artificial intelligence (AI), including:

 Robotics: Hierarchical planning is commonly used in robotics to plan and


execute complex tasks involving multiple levels of abstraction. For
example, in autonomous robots, hierarchical planning can be used to
plan high-level goals, such as navigating to a specific location, and
decompose them into lower-level tasks, such as obstacle avoidance,
path planning, and motion control. Hierarchical planning can also be
used in robot task planning, where high-level goals, such as picking and
placing objects, can be decomposed into subgoals, such as perception,
grasping, and manipulation, to be executed by the robot.

 Autonomous Systems: Hierarchical planning is used in various


autonomous systems, such as autonomous vehicles, drones, and
unmanned aerial vehicles (UAVs). Hierarchical planning can be used to
plan and coordinate actions at different levels of abstraction, such as
high-level goals like reaching a destination or following a mission plan,
and low-level tasks like obstacle avoidance, navigation, and
communication. Hierarchical planning allows autonomous systems to
efficiently plan and execute complex tasks in dynamic and uncertain
environments.

 Manufacturing: Hierarchical planning is employed in manufacturing


systems to plan and optimize production processes. High-level goals,
such as production scheduling, resource allocation, and task
coordination, can be decomposed into lower-level tasks, such as
machine scheduling, material handling, and quality control, which can be
planned and executed hierarchically. Hierarchical planning enables
efficient coordination and management of manufacturing processes to
improve productivity and resource utilization.

 Transportation: Hierarchical planning is utilized in transportation


systems for tasks such as route planning, traffic management, and
logistics. High-level goals, such as finding optimal routes, coordinating
multiple vehicles, and managing traffic flow, can be decomposed into
lower-level tasks, such as path planning, traffic control, and fleet
coordination. Hierarchical planning can help transportation systems
make informed decisions, optimize resource utilization, and improve
overall efficiency.

Challenges and Limitations of Hierarchical Planning

Hierarchical planning in artificial intelligence (AI) has its own set of


challenges and limitations. Some of the key challenges and limitations of
hierarchical planning are:

 Scalability issues: Hierarchical planning can face scalability issues when


dealing with large and complex planning problems. As the number of
tasks, agents, or levels of abstraction increase, the planning process can
become computationally expensive and time-consuming. Hierarchical
planning may require efficient algorithms and data structures to handle
large-scale planning problems, as well as techniques for managing the
complexity of the planning process.

 Complexity of the planning process: Hierarchical planning involves


managing multiple levels of abstraction, coordinating tasks at different
levels, and integrating plans from different sources. This can make the
planning process complex, requiring sophisticated algorithms and
techniques for the decomposition, abstraction, allocation, and
integration of tasks. Developing and implementing effective hierarchical
planning algorithms can be challenging, as it requires careful
consideration of the interactions between different levels of abstraction
and the dependencies among tasks.

 Difficulty in handling dynamic environments: Hierarchical planning can


face challenges in handling dynamic and changing environments. The
tasks, goals, and constraints may also change as the environment
changes, requiring adaptive and flexible planning strategies. Hierarchical
planning may need to continuously monitor the environment, update
plans, and dynamically adjust the allocation of tasks or the abstraction of
actions to adapt to changing conditions.

Future Directions of Hierarchical Planning in AI

Hierarchical planning in artificial intelligence (AI) is a rapidly evolving


field, and several future directions hold promise for advancing the capabilities
and applications of hierarchical planning. Some of the potential future
directions of hierarchical planning in AI are:

 Integration with machine learning: Integrating hierarchical planning


with machine learning techniques, such as reinforcement learning, deep
learning, and imitation learning, to enhance decision-making and
adaptability.

 Multi-agent hierarchical planning: Extending hierarchical planning to


address planning and coordination challenges in multi-agent systems,
enabling coordinated planning among multiple agents.

 Human-robot collaboration: Developing hierarchical planning


techniques that facilitate effective collaboration between humans and
robots in tasks that require joint decision-making and coordination.

 Explainable hierarchical planning: Advancing explainable AI techniques


to provide interpretable explanations for the decisions made by
hierarchical planning systems, increasing their transparency and
trustworthiness.
 Handling uncertainty: Developing techniques to handle uncertainty,
such as probabilistic reasoning and stochastic planning, to enable
hierarchical planning in uncertain and dynamic environments.

CONDITIONAL PLANNING:
Conditional planning in AI, also known as contingent planning or
conditional decision-making, is a type of planning that involves creating plans
that can adapt to different situations or contingencies. This approach is
particularly useful in dynamic and uncertain environments where an AI system
must account for various possible scenarios and make decisions based on the
actual state of the world as it evolves.

Key Concepts in Conditional Planning

1. Contingencies: These are the different possible future states or


scenarios that the plan needs to account for. Contingencies arise from
uncertainties in the environment, incomplete information, or
unexpected changes.

2. Condition-Action Rules: Plans are typically expressed as sets of


condition-action rules. Each rule specifies an action to take if a certain
condition is met. This allows the plan to adapt based on the observed
state.

3. Observation and Sensing: Effective conditional planning requires


mechanisms for observing the current state of the world. The AI system
must be able to gather information and update its understanding of the
environment.

4. Decision Trees and Policies: Conditional plans can be represented as


decision trees or policies. Decision trees outline the actions to take at
different decision points based on the observed conditions, while
policies map states of the world to actions.

Applications of Conditional Planning


1. Robotics: Robots operating in dynamic environments, such as search
and rescue missions, need to adapt to changing conditions and
unexpected obstacles.

2. Autonomous Vehicles: Self-driving cars must handle varying traffic


conditions, roadblocks, and changes in weather, making real-time
decisions based on sensory input.

3. Healthcare: AI systems in healthcare can use conditional planning for


personalized treatment plans, adapting to the patient's changing
conditions and responses to treatments.

4. Game Playing: AI in gaming often uses conditional planning to adapt


strategies based on the opponent's moves and the current state of the
game.

Challenges in Conditional Planning

1. Complexity: The number of possible contingencies can grow


exponentially, making it computationally challenging to develop and
manage comprehensive conditional plans.

2. Uncertainty and Incomplete Information: Handling uncertainty and


incomplete information requires sophisticated models for probability
and inference.

3. Real-time Decision Making: Many applications of conditional planning


require decisions to be made in real-time, which demands efficient
algorithms and fast computational resources.

Techniques in Conditional Planning

1. Markov Decision Processes (MDPs): MDPs provide a mathematical


framework for modeling decision-making where outcomes are partly
random and partly under the control of the decision-maker.

2. Partially Observable MDPs (POMDPs): POMDPs extend MDPs to


situations where the agent does not have complete information about
the current state, making them suitable for more complex and realistic
planning problems.
3. Heuristic Search: Heuristic methods can be used to efficiently search
through the space of possible plans, using approximations and rules of
thumb to guide the search process.

4. Machine Learning: Machine learning techniques can be employed to


improve conditional planning by learning from past experiences and
optimizing decision-making policies.

Future Directions

Advances in AI and machine learning are continuously improving the


capabilities of conditional planning systems. Future directions include:

 Integration with Reinforcement Learning: Combining conditional


planning with reinforcement learning to create adaptive systems that
can learn optimal policies through interaction with the environment.

 Scalable Algorithms: Developing more scalable algorithms to handle the


complexity of large-scale, real-world planning problems.

 Robustness and Reliability: Enhancing the robustness and reliability of


conditional planning systems to ensure they perform well under a wide
range of conditions and uncertainties.

Conditional planning is a crucial aspect of creating intelligent systems


capable of operating in complex and unpredictable environments, making it a
vital area of research and development in artificial intelligence.

CONTINUOUS AND MULTI AGENT PLANNING:


Continuous and multi-agent planning are advanced concepts in artificial
intelligence (AI) that involve creating and coordinating plans for systems
operating in continuous environments and for multiple interacting agents,
respectively.

Continuous Planning in AI

Continuous planning deals with environments where the state space is


continuous, meaning that changes in the state can occur at any point within a
range rather than at discrete intervals. This type of planning is essential for
applications where the precision and fluidity of actions are crucial.

Key Concepts in Continuous Planning

1. Continuous State and Action Spaces: Unlike discrete planning,


continuous planning involves states and actions that can take on any
value within a range. This requires different mathematical models and
algorithms to handle the infinite possibilities.
2. Differential Equations and Dynamics: Continuous planning often
involves modeling the dynamics of the environment using differential
equations. These equations describe how the state changes over time in
response to actions.
3. Trajectory Planning: Instead of discrete steps, continuous planning
focuses on generating trajectories—continuous paths through the state
space that the agent can follow over time.
4. Optimization: Continuous planning frequently involves optimization
techniques to find the best trajectories that minimize or maximize
certain criteria, such as energy consumption, time, or safety.

Applications of Continuous Planning

1. Robotics: Path planning for robots, such as manipulators or autonomous


drones, requires continuous planning to navigate smoothly through
space.
2. Autonomous Vehicles: Self-driving cars need continuous planning to
control speed and steering precisely, ensuring safe and efficient travel.
3. Aerospace: Planning trajectories for aircraft or spacecraft involves
continuous planning to optimize flight paths, fuel usage, and safety.

Multi-Agent Planning in AI

Multi-agent planning involves coordinating the actions and plans of multiple


agents that interact within a shared environment. Each agent can have its own
goals and capabilities, and they must often cooperate or compete to achieve
their objectives.

Key Concepts in Multi-Agent Planning

1. Decentralization: In multi-agent systems, planning is often


decentralized, meaning each agent plans independently but must
consider the actions and plans of others.
2. Coordination and Communication: Effective multi-agent planning
requires mechanisms for agents to coordinate their actions and
communicate with each other to share information and align their plans.
3. Game Theory: Game theory provides a mathematical framework for
modeling strategic interactions between agents, helping to predict and
optimize outcomes in competitive and cooperative scenarios.
4. Joint Plans and Policies: Multi-agent planning involves creating joint
plans or policies that specify how agents should act in concert to achieve
collective goals.

Applications of Multi-Agent Planning

1. Robotics: Teams of robots working together, such as in search and


rescue operations or warehouse automation, need multi-agent planning
to coordinate their tasks efficiently.
2. Traffic Management: Coordinating multiple autonomous vehicles to
optimize traffic flow and reduce congestion involves multi-agent
planning.
3. Distributed Sensor Networks: In networks of sensors or drones, multi-
agent planning is used to coordinate data collection and ensure
comprehensive coverage of an area.
4. Games and Simulations: AI agents in games often need multi-agent
planning to collaborate or compete effectively, creating more realistic
and challenging scenarios.

Challenges and Techniques

Challenges

1. Scalability: Both continuous and multi-agent planning face scalability


issues as the number of possible states, actions, and agents increases.
2. Uncertainty: Dealing with uncertainty in the environment and in the
actions of other agents complicates planning.
3. Real-time Requirements: Many applications require plans to be
generated and adapted in real-time, necessitating efficient algorithms.

Techniques

1. Optimization Algorithms: Techniques like gradient descent, genetic


algorithms, and particle swarm optimization are used for solving
continuous planning problems.
2. Reinforcement Learning: In both continuous and multi-agent settings,
reinforcement learning can be used to learn optimal policies from
interaction with the environment.
3. Decentralized Planning Algorithms: Approaches such as decentralized
POMDPs (Partially Observable Markov Decision Processes) help in
managing planning for multiple agents.
4. Simulation and Modeling: Simulations are used extensively to model
continuous dynamics and multi-agent interactions, providing a testbed
for developing and refining planning algorithms.

Future Directions

1. Integration of Learning and Planning: Combining machine learning with


planning to create systems that can learn from experience and improve
their planning capabilities over time.
2. Scalable Multi-Agent Systems: Developing more scalable algorithms to
handle large numbers of agents efficiently.
3. Robustness and Adaptability: Enhancing the robustness and adaptability
of planning systems to handle dynamic and unpredictable environments
more effectively.
4. Human-AI Collaboration: Improving techniques for multi-agent planning
where humans and AI agents work together, enhancing synergy and
effectiveness in various applications.

Continuous and multi-agent planning are crucial for advancing AI capabilities in


complex, real-world environments, enabling more intelligent, autonomous,
and cooperative systems.

NLP AND COMPUTER VISION:

Natural language processing is the capability of a 'smart' computer


system to understand human language - as it is both written and spoken. This
is commonly referred to as natural language. Natural language processing is a
technical component or subset of artificial intelligence.

Natural language processing has existed for well over fifty years, and the
technology has its origins in linguistics or the study of human language. It has
an assortment of real-world applications within a number of industries and
fields, including intelligent search engines, advanced medical research, and
business processing intelligence.

How Does Natural Language Processing Work?

Natural language processing facilitates and encourages computers to


understand natural language, as we humans can and do. Regardless of
whether the language is written or spoken, natural language processing uses
artificial intelligence to receive real-life input, process it accordingly, and
provide the indicative meaning of the results in a manner that a computer can
readily comprehend.

Just as we humans have various natural senses, such as eyes to see with
or ears to hear; computers support program instructions to read language text
and microphones to collect and analyze audio. Similar to how humans use their
brains to process input, computers have a program instruction set to process
their inputs and information. After processing occurs, this input is transformed
into code that only the computer system can interpret.

There are two main stages to the natural language processing process:

 Data preprocessing, and

 Algorithm development.

The data preprocessing stage involves preparing or 'cleaning' the text data
into a specific format for computer devices to analyze. The preprocessing
arranges the data into a workable format and highlights features within the
text. This enables a smooth transition to the next step - the algorithm
development stage - which works with that input data without any initial data
errors occurring.

Challenges of Natural Language Processing

There are several challenges that natural language processing supplies


researchers and scientists with, and they predominantly relate to the ever-
maturing and evolving natural language process itself.
Precision, and sometimes the lack of it: Computers have traditionally
required humans to communicate with them using a specific language - or a
programming language. These programming languages are precise, without
ambiguity, and highly structured. However, human speech is not always a
precise form of communication; it can be frequently imprecise. The linguistic
structure depends on numerous complex variables, including slang, provincial
dialects used, and the social context of the spoken language.

Voice tone and inflection: As previously stated, natural language


processing is an iterative process striving for perfection. For example, semantic
analysis is still a key challenge. Other complications involve the abstract use of
language and how this is problematic for such systems to comprehend
accurately. Natural language processing cannot readily interpret sarcasm. Also,
sentence structure can change meaning depending on which syllable or word
the speaker emphasizes or stresses. Natural language algorithms may miss the
subtle but important tonal changes within a speaker's voice with speech
recognition. Compounding this issue is that the tone and inflection of speech
will vary between diverse accents, providing challenges for an algorithm to
parse successfully.

The evolution and use of language: Natural language processing is


challenged by the reality that human languages - and how different societies
use them - are continually changing. While acknowledging specific rules exist
for writing and speaking a language, they are subject to adaptation over time.
Rigid computational directions and guidelines that work presently may become
obsolete as the attributes of real-world languages change.

What is Computer Vision?

Computer vision is the field of study encompassing how computer


systems view, witness, and comprehend digital data imagery and video
footage. Computer vision spans all of the complex tasks performed by
biological vision processes. These include 'seeing' or sensing visual stimulus,
comprehending exactly what has been seen and filtering this complex
information into a format used for other processes.

This interdisciplinary field automates the key elements of human vision


systems using sensors, smart computers, and machine learning algorithms.
Computer vision is the technical theory underlying artificial intelligence
systems' capability to view - and understand - their surroundings.

Applications of Computer Vision

Numerous examples of computer vision have been practically applied


because - by its pure theory - it can be adopted, providing a computer vision
system that can 'see' and 'comprehend' its surroundings.

Below are a few key examples of computer vision systems:

Autonomous Vehicles: Self-driving automobiles use CV systems to


gather information regarding their surroundings and interpret that data to
determine their next actions and behavior.

Robotic Applications: Manufacturing robotic machines using CV, 'view'


and 'comprehend' their surroundings to perform their scheduled tasks. In
manufacturing, such systems inspect assembly items to determine faults and
tolerance limits - simply by 'looking' at them as they traverse the production
line.

Image Search and Object Recognition: Applications use CV data vision


theory to identify specific objects within digital images, search through
catalogs of product images, and extract information from photos.

Facial Recognition: Businesses and Government departments use facial


recognition technology (that have adopted CV) to 'see' precisely what an
individual is trying to gain access to.

Computer Vision and its Relation to Natural Language Processing

The combination of natural language processing and computer vision


involves three key interrelated processes: recognition, reconstruction, and
reorganization.

Recognition: This process involves assigning digital labels to objects


within the image. Examples of recognition are handwriting or facial recognition
for 2D objects, and 3D assignments handle challenges such as moving object
recognition which helps in automatic robotic manipulation.
Reconstruction: This process refers to 3D scene rendering given inputs
from particular visual images by incorporating multiple viewpoints, digital
shading, and sensory depth data. The outcome results in a 3D digital model
that is then used for further processing.

Reorganization: This process refers to raw pixel segmentation into data


groups that represent the design of a pre-determined configuration. Low-level
vision tasks include corner detection, edges, and contours; while high-level
tasks involve semantic segmentation, which can partly overlap with
recognition processes.

Natural Language Processing and its Relation to Computer Vision

Natural language processing tasks are deemed more technically diverse


when compared to computer vision procedures. This diversification ranges
from variable syntax identification, morphology and segmentation capabilities,
and semantics to study abstract meaning.

Complex tasks within natural language processing include direct


machine translation, dialogue interface learning, digital information extraction,
and prompt key summarisation.

However, computer vision is advancing more rapidly in comparison with


natural language processing. And this is primarily due to the massive interest in
computer vision - and the financial support provided by large tech companies
such as Meta and Google.

Future of Integration of Natural Language Processing and Computer Vision

Once completely integrated and combined, these two technologies can


resolve numerous challenges that are present within multiple fields, including:

Designing: Within the area of home design, designer clothes, jewelry


making, etc., customer systems can understand verbal or written requirements
and thereby automatically convert these instructions to digital images for
enhanced visualization.

Describing Medical Images: computer vision systems can be trained to


identify more modest human ailments and use digital imagery in finer detail
than human medical specialists.
Converting Sign Language: to speech or written text to assist the deaf
and hard of hearing individuals in interacting with their surroundings. This
enhanced capability can ensure their better integration within society.

Surrounding Cognition: Constructing an intelligent system that 'sees' its


surroundings and delivers a (recorded) spoken narrative. This outcome will be
of use for visually impaired individuals.

Converting Words to Images: Producing intelligent systems that convert


spoken content to a digital image may assist people who do not talk and hear.

You might also like