Hill Climbing ALgorithm
Hill Climbing ALgorithm
Stochastic hill climbing does not examine for all its neighbor
before moving. Rather, this search algorithm selects one
neighbor node at random and decides whether to choose it as
• Problem Reduction
AND-OR graphs
• AND-OR graph (or tree) is useful for representing the solution of problems
that can be solved by decomposing them into a set of smaller problems, all
of which must then be solved.
• This decomposition or reduction generates arcs that we call AND arcs.
• One AND arc may point to any numbers of successor nodes. All of which
must then be solved in order for the arc to point solution.
• In order to find solution in an AND-OR graph we need an algorithm similar
to best –first search but with the ability to handle the AND arcs
appropriately.
• We define FUTILITY, if the estimated cost of solution becomes greater than
the value of FUTILITY then we abandon the search, FUTILITY should be
chosen to correspond to a threshold.
• In following figure AND arcs are indicated with a line connecting all the
components.
AO* algorithm
The AO* method divides any given difficult problem into a smaller
group of problems that are then resolved using the AND-OR graph
concept. AND OR graphs are specialized graphs that are used in
problems that can be divided into smaller problems. The AND side of
the graph represents a set of tasks that must be completed to achieve
the main goal, while the OR side of the graph represents different
methods for accomplishing the same main goal.
• Working of AO* algorithm:
• The evaluation function in AO* looks like this:
f(n) = g(n) + h(n)
f(n) = Actual cost + Estimated cost
here,
f(n) = The actual cost of traversal.
g(n) = the cost from the initial node to the current node.
h(n) = estimated cost from the current node to the goal
state.
Constraint Satisfaction
• Constraint satisfaction is a search procedure that operates in a space of constraint sets. The initial
state contains the constraints that are originally given in the problem description.
– A goal state is any state that has been constrained “enough” where “enough” must be
defined for each problem.
– For example, in cryptarithmetic problems, enough means that each letter has been assigned
a unique numeric value.
– Constraint Satisfaction problems in AI have goal of discovering some problem state that
satisfies a given set of constraints.
– Design tasks can be viewed as constraint satisfaction problems in which a design must be
created within fixed limits on time, cost, and materials.
– Constraint Satisfaction is a two-step process:
• First constraints are discovered and propagated as far as possible throughout the system.
• Then if there is still not a solution, search begins. A guess about something is made and added as
a new constraint.
• Example: Cryptarithmetic Problem
• Constraints:
• No two letters have the same value
• The sums of the digits must be as shown in the problem Goal State:
– All letters have been assigned a digit in such a way that all the initial constraints
are satisfied
• Input State Solution:
• Reasoning:
The reasoning is the mental process of deriving logical
conclusion and making predictions from available knowledge,
facts, and beliefs. Or we can say, "Reasoning is a way to infer
facts from existing data." It is a general process of thinking
rationally, to find valid conclusions.
Types of Reasoning
In artificial intelligence, reasoning can be divided into the
following categories:
• Deductive reasoning
• Inductive reasoning
• Abductive reasoning
• Common Sense Reasoning
• Monotonic Reasoning
Deductive Reasoning:
• Deductive reasoning is deducing new information from logically
related known information. It is the form of valid reasoning, which
means the argument's conclusion must be true when the premises
are true.
• Deductive reasoning is a type of propositional logic in AI, and it
requires various rules and facts. It is sometimes referred to as top-
down reasoning, and contradictory to inductive reasoning.
• In deductive reasoning, the truth of the premises guarantees the
truth of the conclusion.
• Deductive reasoning mostly starts from the general premises to the
specific conclusion, which can be explained as below example.
Example:
• Premise-1: All the human eats veggies
• Premise-2: Suresh is human.
• Conclusion: Suresh eats veggies.
Inductive Reasoning:
• Inductive reasoning is a form of reasoning to arrive at a conclusion
using limited sets of facts by the process of generalization. It starts
with the series of specific facts or data and reaches to a general
statement or conclusion.
• Inductive reasoning is a type of propositional logic, which is also
known as cause-effect reasoning or bottom-up reasoning.
• In inductive reasoning, we use historical data or various premises
to generate a generic rule, for which premises support the
conclusion.
• In inductive reasoning, premises provide probable supports to the
conclusion, so the truth of premises does not guarantee the truth
of the conclusion.
Example:
• Premise: All of the pigeons we have seen in the zoo are white.
Abductive reasoning:
• Abductive reasoning is a form of logical reasoning
which starts with single or multiple observations
then seeks to find the most likely explanation or
conclusion for the observation.
• Abductive reasoning is an extension of deductive
reasoning, but in abductive reasoning, the premises
do not guarantee the conclusion.
• Example:
• Implication: Cricket ground is wet if it is raining
• Axiom: Cricket ground is wet.
• Conclusion It is raining.
Common Sense Reasoning
• Common sense reasoning is an informal form of
reasoning, which can be gained through experiences.
• Common Sense reasoning simulates the human
ability to make presumptions about events which
occurs on every day.
• It relies on good judgment rather than exact logic and
operates on heuristic knowledge and heuristic rules.
• Example:
• One person can be at one place at a time.
• If I put my hand in a fire, then it will burn.
Monotonic Reasoning:
• In monotonic reasoning, once the conclusion is taken, then it will
remain the same even if we add some other information to existing
information in our knowledge base. In monotonic reasoning, adding
knowledge does not decrease the set of prepositions that can be
derived.
• To solve monotonic problems, we can derive the valid conclusion
from the available facts only, and it will not be affected by new facts.
• Monotonic reasoning is not useful for the real-time systems, as in
real time, facts get changed, so we cannot use monotonic reasoning.
• Monotonic reasoning is used in conventional reasoning systems, and
a logic-based system is monotonic.
Example: Earth revolves around the Sun.
It is a true fact, and it cannot be changed even if we add another
sentence in knowledge base like, "The moon revolves around the earth"
Or "Earth is not round," etc.
Non-monotonic Reasoning
• In Non-monotonic reasoning, some conclusions may be invalidated if
we add some more information to our knowledge base.
• Logic will be said as non-monotonic if some conclusions can be
invalidated by adding more knowledge into our knowledge base.
• Non-monotonic reasoning deals with incomplete and uncertain models.
• Human perceptions for various things in daily life, "is a general example
of non-monotonic reasoning.
• Example: Let suppose the knowledge base contains the following
knowledge:
• Birds can fly
• Penguins cannot fly
• Pitty is a bird
• So from the above sentences, we can conclude that Pitty can fly.
• However, if we add one another sentence into knowledge base "Pitty is
a penguin", which concludes "Pitty cannot fly", so it invalidates the
above conclusion.