AI First Three Units

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

4/6/2021

Artificial Intelligence Tutorial


The Artificial Intelligence tutorial provides an introduction to AI which will help you to
understand the concepts behind Artificial Intelligence. In this tutorial, we have also discussed
various popular topics such as History of AI, applications of AI, deep learning, machine
learning, natural language processing, Reinforcement learning, Q-learning, Intelligent agents,
Various search algorithms, etc.

Our AI tutorial is prepared from an elementary level so you can easily understand the complete
tutorial from basic concepts to the high-level concepts.

What is Artificial Intelligence?


In today's world, technology is growing very fast, and we are getting in touch with different new technologies day by day.

Here, one of the booming technologies of computer science is Artificial Intelligence which is ready to create a new revolution
in the world by making intelligent machines.The Artificial Intelligence is now all around us. It is currently working with a
variety of subfields, ranging from general to specific, such as self-driving cars, playing chess, proving theorems, playing
music, Painting, etc.

AI is one of the fascinating and universal fields of Computer science which has a great scope in future. AI holds a tendency to
cause a machine to work as a human.

Artificial Intelligence is composed of two words Artificial and Intelligence, where Artificial defines "man-made," and
intelligence defines "thinking power", hence AI means "a man-made thinking power."

So, we can define AI as:

1/4
4/6/2021

"It is a branch of computer science by which we can create intelligent machines which can behave like a human, think like
humans, and able to make decisions."

Artificial Intelligence exists when a machine can have human based skills such as learning, reasoning, and solving problems

With Artificial Intelligence you do not need to preprogram a machine to do some work, despite that you can create a machine
with programmed algorithms which can work with own intelligence, and that is the awesomeness of AI.

It is believed that AI is not a new technology, and some people says that as per Greek myth, there were Mechanical men in
early days which can work and behave like humans.

Why Artificial Intelligence?

Before Learning about Artificial Intelligence, we should know that what is the importance of AI and why should we learn it.
Following are some main reasons to learn about AI:

With the help of AI, you can create such software or devices which can solve real-world problems very easily and with
accuracy such as health issues, marketing, traffic issues, etc.

With the help of AI, you can create your personal virtual Assistant, such as Cortana, Google Assistant, Siri, etc.

With the help of AI, you can build such Robots which can work in an environment where survival of humans can be at
risk.

AI opens a path for other new technologies, new devices, and new Opportunities.

Goals of Artificial Intelligence


Following are the main goals of Artificial Intelligence:

1. Replicate human intelligence

2. Solve Knowledge-intensive tasks

3. An intelligent connection of perception and action

4. Building a machine which can perform tasks that requires human intelligence such as:

Proving a theorem

Playing chess

Plan some surgical operation

Driving a car in traffic

5. Creating some system which can exhibit intelligent behavior, learn new things by itself, demonstrate, explain, and can
advise to its user.

What Comprises to Artificial Intelligence?

https://www.javatpoint.com/artificial-intelligence-tutorial 2/4
4/6/2021
Artificial Intelligence is not just a part of computer science even it's so vast and requires lots of other factors which can
contribute to it. To create the AI first we should know that how intelligence is composed, so the Intelligence is an intangible
part of our brain which is a combination of Reasoning, learning, problem-solving perception, language
understanding, etc.

To achieve the above factors for a machine or software Artificial Intelligence requires the following discipline:

Mathematics

Biology

Psychology

Sociology

Computer Science

Neurons Study

Statistics

Advantages of Artificial Intelligence


Following are some main advantages of Artificial Intelligence:

High Accuracy with less errors: AI machines or systems are prone to less errors and high accuracy as it takes
decisions as per pre-experience or information.

High-Speed: AI systems can be of very high-speed and fast-decision making, because of that AI systems can beat a
chess champion in the Chess game.

High reliability: AI machines are highly reliable and can perform the same action multiple times with high accuracy.

Useful for risky areas: AI machines can be helpful in situations such as defusing a bomb, exploring the ocean floor,
where to employ a human can be risky.

Digital Assistant: AI can be very useful to provide digital assistant to the users such as AI technology is currently
used by various E-commerce websites to show the products as per customer requirement.

3/4
4/6/2021

Useful as a public utility: AI can be very useful for public utilities such as a self-driving car which can make our
journey safer and hassle-free, facial recognition for security purpose, Natural language processing to communicate with
the human in human-language, etc.

Disadvantages of Artificial Intelligence


Every technology has some disadvantages, and thesame goes for Artificial intelligence. Being so advantageous technology
still, it has some disadvantages which we need to keep in our mind while creating an AI system. Following are the
disadvantages of AI:

High Cost: The hardware and software requirement of AI is very costly as it requires lots of maintenance to meet
current world requirements.

Can't think out of the box: Even we are making smarter machines with AI, but still they cannot work out of the box,
as the robot will only do that work for which they are trained, or programmed.

No feelings and emotions: AI machines can be an outstanding performer, but still it does not have the feeling so it
cannot make any kind of emotional attachment with human, and may sometime be harmful for users if the proper care
is not taken.

Increase dependency on machines: With the increment of technology, people are getting more dependent on
devices and hence they are losing their mental capabilities.

No Original Creativity: As humans are so creative and can imagine some new ideas but still AI machines cannot beat
this power of human intelligence and cannot be creative and imaginative.

Prerequisite
Before learning about Artificial Intelligence, you must have the fundamental knowledge of following so that you can
understand the concepts easily:

Any computer language such as C, C++, Java, Python, etc.(knowledge of Python will be an advantage)

Knowledge of essential Mathematics such as derivatives, probability theory, etc.

Audience
Our AI tutorial is designed specifically for beginners and also included some high-level concepts for professionals.

Problems
We assure you that you will not find any difficulty while learning our AI tutorial. But if there any mistake, kindly post the
problem in the contact form.

4/4
4/6/2021

History of Artificial Intelligence


Artificial Intelligence is not a new word and not a new technology for researchers. This technology is much older than you
would imagine. Even there are the myths of Mechanical men in Ancient Greek and Egyptian Myths. Following are some
milestones in the history of AI which defines the journey from the AI generation to till date development.

Maturation of Artificial Intelligence (1943-1952)


Year 1943: The first work which is now recognized as AI was done by Warren McCulloch and Walter pits in 1943. They
proposed a model of artificial neurons.

Year 1949: Donald Hebb demonstrated an updating rule for modifying the connection strength between neurons. His
rule is now called Hebbian learning.

Year 1950: The Alan Turing who was an English mathematician and pioneered Machine learning in 1950. Alan Turing
publishes "Computing Machinery and Intelligence" in which he proposed a test. The test can check the machine's
ability to exhibit intelligent behavior equivalent to human intelligence, called a Turing test.

The birth of Artificial Intelligence (1952-1956)

Year 1955: An Allen Newell and Herbert A. Simon created the "first artificial intelligence program"Which was named
as "Logic Theorist". This program had proved 38 of 52 Mathematics theorems, and find new and more elegant proofs

1/3
4/6/2021

for some theorems.

Year 1956: The word "Artificial Intelligence" first adopted by American Computer scientist John McCarthy at the
Dartmouth Conference. For the first time, AI coined as an academic field.

At that time high-level computer languages such as FORTRAN, LISP, or COBOL were invented. And the enthusiasm for AI was
very high at that time.

The golden years-Early enthusiasm (1956-1974)


Year 1966: The researchers emphasized developing algorithms which can solve mathematical problems. Joseph
Weizenbaum created the first chatbot in 1966, which was named as ELIZA.

Year 1972: The first intelligent humanoid robot was built in Japan which was named as WABOT-1.

The first AI winter (1974-1980)


The duration between years 1974 to 1980 was the first AI winter duration. AI winter refers to the time period where
computer scientist dealt with a severe shortage of funding from government for AI researches.

During AI winters, an interest of publicity on artificial intelligence was decreased.

A boom of AI (1980-1987)
Year 1980: After AI winter duration, AI came back with "Expert System". Expert systems were programmed that
emulate the decision-making ability of a human expert.

In the Year 1980, the first national conference of the American Association of Artificial Intelligence was held at
Stanford University.

The second AI winter (1987-1993)


The duration between the years 1987 to 1993 was the second AI Winter duration.

Again Investors and government stopped in funding for AI research as due to high cost but not efficient result. The
expert system such as XCON was very cost effective.

The emergence of intelligent agents (1993-2011)


Year 1997: In the year 1997, IBM Deep Blue beats world chess champion, Gary Kasparov, and became the first
computer to beat a world chess champion.

Year 2002: for the first time, AI entered the home in the form of Roomba, a vacuum cleaner.

Year 2006: AI came in the Business world till the year 2006. Companies like Facebook, Twitter, and Netflix also
started using AI.

Deep learning, big data and artificial general intelligence (2011-present)


Year 2011: In the year 2011, IBM's Watson won jeopardy, a quiz show, where it had to solve the complex questions
as well as riddles. Watson had proved that it could understand natural language and can solve tricky questions quickly.

2/3
4/6/2021

Year 2012: Google has launched an Android app feature "Google now", which was able to provide information to the
user as a prediction.

Year 2014: In the year 2014, Chatbot "Eugene Goostman" won a competition in the infamous "Turing test."

Year 2018: The "Project Debater" from IBM debated on complex topics with two master debaters and also performed
extremely well.

Google has demonstrated an AI program "Duplex" which was a virtual assistant and which had taken hairdresser
appointment on call, and lady on other side didn't notice that she was talking with the machine.

Now AI has developed to a remarkable level. The concept of Deep learning, big data, and data science are now trending like a
boom. Nowadays companies like Google, Facebook, IBM, and Amazon are working with AI and creating amazing devices. The
future of Artificial Intelligence is inspiring and will come with high intelligence.

3/3
4/6/2021

Application of AI
Artificial Intelligence has various applications in today's society. It is becoming essential for today's
time because it can solve complex problems with an efficient way in multiple industries, such as
Healthcare, entertainment, finance, education, etc. AI is making our daily life more comfortable and
fast.

Following are some sectors which have the application of Artificial Intelligence:

1. AI in Astronomy

Artificial Intelligence can be very useful to solve complex universe problems. AI technology can
be helpful for understanding the universe such as how it works, origin, etc.

2. AI in Healthcare

In the last, five to ten years, AI becoming more advantageous for the healthcare industry and
going to have a significant impact on this industry.

Healthcare Industries are applying AI to make a better and faster diagnosis than humans. AI
can help doctors with diagnoses and can inform when patients are worsening so that medical
help can reach to the patient before hospitalization.

1/3
4/6/2021

3. AI in Gaming

AI can be used for gaming purpose. The AI machines can play strategic games like chess,
where the machine needs to think of a large number of possible places.

4. AI in Finance

AI and finance industries are the best matches for each other. The finance industry is
implementing automation, chatbot, adaptive intelligence, algorithm trading, and machine
learning into financial processes.

5. AI in Data Security

The security of data is crucial for every company and cyber-attacks are growing very rapidly in
the digital world. AI can be used to make your data more safe and secure. Some examples
such as AEG bot, AI2 Platform,are used to determine software bug and cyber-attacks in a
better way.

6. AI in Social Media

Social Media sites such as Facebook, Twitter, and Snapchat contain billions of user profiles,
which need to be stored and managed in a very efficient way. AI can organize and manage
massive amounts of data. AI can analyze lots of data to identify the latest trends, hashtag, and
requirement of different users.

7. AI in Travel & Transport

AI is becoming highly demanding for travel industries. AI is capable of doing various travel
related works such as from making travel arrangement to suggesting the hotels, flights, and
best routes to the customers. Travel industries are using AI-powered chatbots which can make
human-like interaction with customers for better and fast response.

8. AI in Automotive Industry

Some Automotive industries are using AI to provide virtual assistant to their user for better
performance. Such as Tesla has introduced TeslaBot, an intelligent virtual assistant.

Various Industries are currently working for developing self-driven cars which can make your
journey more safe and secure.

2/3
4/6/2021

9. AI in Robotics:

Artificial Intelligence has a remarkable role in Robotics. Usually, general robots are
programmed such that they can perform some repetitive task, but with the help of AI, we can
create intelligent robots which can perform tasks with their own experiences without pre-
programmed.

Humanoid Robots are best examples for AI in robotics, recently the intelligent Humanoid robot
named as Erica and Sophia has been developed which can talk and behave like humans.

10. AI in Entertainment

We are currently using some AI based applications in our daily life with some entertainment
services such as Netflix or Amazon. With the help of ML/AI algorithms, these services show the
recommendations for programs or shows.

11. AI in Agriculture

Agriculture is an area which requires various resources, labor, money, and time for best result.
Now a day's agriculture is becoming digital, and AI is emerging in this field. Agriculture is
applying AI as agriculture robotics, solid and crop monitoring, predictive analysis. AI in
agriculture can be very helpful for farmers.

12. AI in E-commerce

AI is providing a competitive edge to the e-commerce industry, and it is becoming more


demanding in the e-commerce business. AI is helping shoppers to discover associated products
with recommended size, color, or even brand.

13. AI in education:

AI can automate grading so that the tutor can have more time to teach. AI chatbot can
communicate with students as a teaching assistant.

AI in the future can be work as a personal virtual tutor for students, which will be accessible
easily at any time and any place.

3/3
4/6/2021

Types of Artificial Intelligence:


Artificial Intelligence can be divided in various types, there are mainly two types of main categorization which are based on
capabilities and based on functionally of AI. Following is flow diagram which explain the types of AI.

AI type-1: Based on Capabilities


1. Weak AI or Narrow AI:

Narrow AI is a type of AI which is able to perform a dedicated task with intelligence.The most common and currently
available AI is Narrow AI in the world of Artificial Intelligence.

Narrow AI cannot perform beyond its field or limitations, as it is only trained for one specific task. Hence it is also
termed as weak AI. Narrow AI can fail in unpredictable ways if it goes beyond its limits.

Apple Siriis a good example of Narrow AI, but it operates with a limited pre-defined range of functions.

IBM's Watson supercomputer also comes under Narrow AI, as it uses an Expert system approach combined with
Machine learning and natural language processing.

Some Examples of Narrow AI are playing chess, purchasing suggestions on e-commerce site, self-driving cars, speech
recognition, and image recognition.

2. General AI:

General AI is a type of intelligence which could perform any intellectual task with efficiency like a human.

The idea behind the general AI to make such a system which could be smarter and think like a human by its own.

Currently, there is no such system exist which could come under general AI and can perform any task as perfect as a
human.

The worldwide researchers are now focused on developing machines with General AI.

As systems with general AI are still under research, and it will take lots of efforts and time to develop such systems.

3. Super AI:

Super AI is a level of Intelligence of Systems at which machines could surpass human intelligence, and can perform
any task better than human with cognitive properties. It is an outcome of general AI.

1/3
4/6/2021

Some key characteristics of strong AI include capability include the ability to think, to reason,solve the puzzle, make
judgments, plan, learn, and communicate by its own.

Super AI is still a hypothetical concept of Artificial Intelligence. Development of such systems in real is still world
changing task.

Artificial Intelligence type-2: Based on functionality

1. Reactive Machines

Purely reactive machines are the most basic types of Artificial Intelligence.

Such AI systems do not store memories or past experiences for future actions.

These machines only focus on current scenarios and react on it as per possible best action.

IBM's Deep Blue system is an example of reactive machines.

Google's AlphaGo is also an example of reactive machines.

2. Limited Memory

Limited memory machines can store past experiences or some data for a short period of time.

These machines can use stored data for a limited time period only.

Self-driving cars are one of the best examples of Limited Memory systems. These cars can store recent speed of
nearby cars, the distance of other cars, speed limit, and other information to navigate the road.

3. Theory of Mind

Theory of Mind AI should understand the human emotions, people, beliefs, and be able to interact socially like humans.

This type of AI machines are still not developed, but researchers are making lots of efforts and improvement for
developing such AI machines.

4. Self-Awareness

2/3
4/6/2021

Self-awareness AI is the future of Artificial Intelligence. These machines will be super intelligent, and will have their
own consciousness, sentiments, and self-awareness.

These machines will be smarter than human mind.

Self-Awareness AI does not exist in reality still and it is a hypothetical concept.

https://www.javatpoint.com/types-of-artificial-intelligence 3/3
4/6/2021

Agents in Artificial Intelligence


An AI system can be defined as the study of the rational agent and its environment. The agents sense the environment through
sensors and act on their environment through actuators. An AI agent can have mental properties such as knowledge, belief,
intention, etc.

What is an Agent?
An agent can be anything that perceiveits environment through sensors and act upon that environment through actuators. An
Agent runs in the cycle of perceiving, thinking, and acting. An agent can be:

Human-Agent: A human agent has eyes, ears, and other organs which work for sensors and hand, legs, vocal tract
work for actuators.

Robotic Agent: A robotic agent can have cameras, infrared range finder, NLP for sensors and various motors for
actuators.

Software Agent: Software agent can have keystrokes, file contents as sensory input and act on those inputs and
display output on the screen.

Hence the world around us is full of agents such as thermostat, cellphone, camera, and even we are also agents.

Before moving forward, we should first know about sensors, effectors, and actuators.

Sensor: Sensor is a device which detects the change in the environment and sends the information to other electronic devices.
An agent observes its environment through sensors.

Actuators: Actuators are the component of machines that converts energy into motion. The actuators are only responsible for
moving and controlling a system. An actuator can be an electric motor, gears, rails, etc.

Effectors: Effectors are the devices which affect the environment. Effectors can be legs, wheels, arms, fingers, wings, fins, and
display screen.

1/5
4/6/2021

Intelligent Agents:

An intelligent agent is an autonomous entity which act upon an environment using sensors and actuators for achieving goals.
An intelligent agent may learn from the environment to achieve their goals. A thermostat is an example of an intelligent agent.

Following are the main four rules for an AI agent:

Rule 1: An AI agent must have the ability to perceive the environment.

Rule 2: The observation must be used to make decisions.

Rule 3: Decision should result in an action.

Rule 4: The action taken by an AI agent must be a rational action.

Rational Agent:
A rational agent is an agent which has clear preference, models uncertainty, and acts in a way to maximize its performance
measure with all possible actions.

A rational agent is said to perform the right things. AI is about creating rational agents to use for game theory and decision
theory for various real-world scenarios.

For an AI agent, the rational action is most important because in AI reinforcement learning algorithm, for each best possible
action, agent gets the positive reward and for each wrong action, an agent gets a negative reward.

Note: Rational agents in AI are very similar to intelligent agents.

Rationality:

The rationality of an agent is measured by its performance measure. Rationality can be judged on the basis of following points:

Performance measure which defines the success criterion.

Agent prior knowledge of its environment.

Best possible actions that an agent can perform.

2/5
4/6/2021

The sequence of percepts.

Note: Rationality differs from Omniscience because an Omniscient agent knows the actual outcome of its action and act
accordingly, which is not possible in reality.

Structure of an AI Agent
The task of AI is to design an agent program which implements the agent function. The structure of an intelligent agent is a
combination of architecture and agent program. It can be viewed as:

Agent = Architecture + Agent program

Following are the main three terms involved in the structure of an AI agent:

Architecture: Architecture is machinery that an AI agent executes on.

Agent Function: Agent function is used to map a percept to an action.

f:P* → A

Agent program: Agent program is an implementation of agent function. An agent program executes on the physical
architecture to produce function f.

PEAS Representation
PEAS is a type of model on which an AI agent works upon. When we define an AI agent or rational agent, then we can group its
properties under PEAS representation model. It is made up of four words:

P: Performance measure

E: Environment

A: Actuators

S: Sensors

Here performance measure is the objective for the success of an agent's behavior.

PEAS for self-driving cars:

3/5
4/6/2021

Let's suppose a self-driving car then PEAS representation will be:

Performance: Safety, time, legal drive, comfort

Environment: Roads, other vehicles, road signs, pedestrian

Actuators: Steering, accelerator, brake, signal, horn

Sensors: Camera, GPS, speedometer, odometer, accelerometer, sonar.

Example of Agents with their PEAS representation

Agent Performance measure Environment Actuators Sensors

1. Medical Keyboard
Healthy patient Patient Tests
Diagnose (Entry of symptoms)
Minimized cost Hospital Treatments

Staff

4/5
4/6/2021

2. Vacuum
Cleanness Room Wheels Camera
Cleaner
Efficiency Table Brushes Dirt detection
sensor
Battery life Wood floor Vacuum
Extractor Cliff sensor
Security Carpet
Bump Sensor
Various obstacles
Infrared Wall
Sensor

3. Part -picking
Percentage of parts in Conveyor belt Jointed Camera
Robot
correct bins. with parts, Arms
Joint angle
Bins Hand sensors.

5/5
4/6/2021

Types of AI Agents
Agents can be grouped into five classes based on their degree of perceived intelligence and capability. All these agents can
improve their performance and generate better action over the time. These are given below:

Simple Reflex Agent

Model-based reflex agent

Goal-based agents

Utility-based agent

Learning agent

1. Simple Reflex agent:


The Simple reflex agents are the simplest agents. These agents take decisions on the basis of the current percepts and
ignore the rest of the percept history.

These agents only succeed in the fully observable environment.

The Simple reflex agent does not consider any part of percepts history during their decision and action process.

The Simple reflex agent works on Condition-action rule, which means it maps the current state to action. Such as a
Room Cleaner agent, it works only if there is dirt in the room.

Problems for the simple reflex agent design approach:

They have very limited intelligence

They do not have knowledge of non-perceptual parts of the current state

Mostly too big to generate and to store.

Not adaptive to changes in the environment.

2. Model-based reflex agent

1/4
4/6/2021

The Model-based agent can work in a partially observable environment, and track the situation.

A model-based agent has two important factors:

Model: It is knowledge about "how things happen in the world," so it is called a Model-based agent.

Internal State: It is a representation of the current state based on percept history.

These agents have the model, "which is knowledge of the world" and based on the model they perform actions.

Updating the agent state requires information about:

a. How the world evolves

b. How the agent's action affects the world.

3. Goal-based agents
The knowledge of the current state environment is not always sufficient to decide for an agent to what to do.

The agent needs to know its goal which describes desirable situations.

Goal-based agents expand the capabilities of the model-based agent by having the "goal" information.

They choose an action, so that they can achieve the goal.

These agents may have to consider a long sequence of possible actions before deciding whether the goal is achieved or
not. Such considerations of different scenario are called searching and planning, which makes an agent proactive.

2/4
4/6/2021

4. Utility-based agents
These agents are similar to the goal-based agent but provide an extra component of utility measurement which makes
them different by providing a measure of success at a given state.

Utility-based agent act based not only goals but also the best way to achieve the goal.

The Utility-based agent is useful when there are multiple possible alternatives, and an agent has to choose in order to
perform the best action.

The utility function maps each state to a real number to check how efficiently each action achieves the goals.

5. Learning Agents
A learning agent in AI is the type of agent which can learn from its past experiences, or it has learning capabilities.

It starts to act with basic knowledge and then able to act and adapt automatically through learning.

A learning agent has mainly four conceptual components, which are:

a. Learning element: It is responsible for making improvements by learning from environment

3/4
4/6/2021

b. Critic: Learning element takes feedback from critic which describes that how well the agent is doing with respect
to a fixed performance standard.

c. Performance element: It is responsible for selecting external action

d. Problem generator: This component is responsible for suggesting actions that will lead to new and informative
experiences.

Hence, learning agents are able to learn, analyze performance, and look for new ways to improve the performance.

4/4
4/6/2021

Agent Environment in AI
An environment is everything in the world which surrounds the agent, but it is not a part of an agent itself. An environment
can be described as a situation in which an agent is present.

The environment is where agent lives, operate and provide the agent with something to sense and act upon it. An
environment is mostly said to be non-feministic.

Features of Environment
As per Russell and Norvig, an environment can have various features from the point of view of an agent:

1. Fully observable vs Partially Observable

2. Static vs Dynamic

3. Discrete vs Continuous

4. Deterministic vs Stochastic

5. Single-agent vs Multi-agent

6. Episodic vs sequential

7. Known vs Unknown

8. Accessible vs Inaccessible

1. Fully observable vs Partially Observable:

If an agent sensor can sense or access the complete state of an environment at each point of time then it is a fully
observable environment, else it is partially observable.

A fully observable environment is easy as there is no need to maintain the internal state to keep track history of the
world.

An agent with no sensors in all environments then such an environment is called as unobservable.

1/3
4/6/2021

2. Deterministic vs Stochastic:

If an agent's current state and selected action can completely determine the next state of the environment, then such
environment is called a deterministic environment.

A stochastic environment is random in nature and cannot be determined completely by an agent.

In a deterministic, fully observable environment, agent does not need to worry about uncertainty.

3. Episodic vs Sequential:

In an episodic environment, there is a series of one-shot actions, and only the current percept is required for the
action.

However, in Sequential environment, an agent requires memory of past actions to determine the next best actions.

4. Single-agent vs Multi-agent

If only one agent is involved in an environment, and operating by itself then such an environment is called single agent
environment.

However, if multiple agents are operating in an environment, then such an environment is called a multi-agent
environment.

The agent design problems in the multi-agent environment are different from single agent environment.

5. Static vs Dynamic:

If the environment can change itself while an agent is deliberating then such environment is called a dynamic
environment else it is called a static environment.

Static environments are easy to deal because an agent does not need to continue looking at the world while deciding
for an action.

However for dynamic environment, agents need to keep looking at the world at each action.

Taxi driving is an example of a dynamic environment whereas Crossword puzzles are an example of a static
environment.

6. Discrete vs Continuous:

If in an environment there are a finite number of percepts and actions that can be performed within it, then such an
environment is called a discrete environment else it is called continuous environment.

A chess gamecomes under discrete environment as there is a finite number of moves that can be performed.

A self-driving car is an example of a continuous environment.

7. Known vs Unknown

Known and unknown are not actually a feature of an environment, but it is an agent's state of knowledge to perform
an action.

In a known environment, the results for all actions are known to the agent. While in unknown environment, agent
needs to learn how it works in order to perform an action.

2/3
4/6/2021

It is quite possible that a known environment to be partially observable and an Unknown environment to be fully
observable.

8. Accessible vs Inaccessible

If an agent can obtain complete and accurate information about the state's environment, then such an environment is
called an Accessible environment else it is called inaccessible.

An empty room whose state can be defined by its temperature is an example of an accessible environment.

Information about an event on earth is an example of Inaccessible environment.

3/3
4/6/2021

Search Algorithms in Artificial Intelligence


Search algorithms are one of the most important areas of Artificial Intelligence. This topic will explain all about the search
algorithms in AI.

Problem-solving agents:
In Artificial Intelligence, Search techniques are universal problem-solving methods. Rational agents or Problem-solving
agents in AI mostly used these search strategies or algorithms to solve a specific problem and provide the best result.
Problem-solving agents are the goal-based agents and use atomic representation. In this topic, we will learn various problem-
solving search algorithms.

Search Algorithm Terminologies:


Search: Searchingis a step by step procedure to solve a search-problem in a given search space. A search problem
can have three main factors:

a. Search Space: Search space represents a set of possible solutions, which a system may have.

b. Start State: It is a state from where agent begins the search.

c. Goal test: It is a function which observe the current state and returns whether the goal state is achieved or not.

Search tree: A tree representation of search problem is called Search tree. The root of the search tree is the root
node which is corresponding to the initial state.

Actions: It gives the description of all the available actions to the agent.

Transition model: A description of what each action do, can be represented as a transition model.

Path Cost: It is a function which assigns a numeric cost to each path.

Solution: It is an action sequence which leads from the start node to the goal node.

Optimal Solution: If a solution has the lowest cost among all solutions.

Properties of Search Algorithms:

Following are the four essential properties of search algorithms to compare the efficiency of these algorithms:

1/3
4/6/2021
Completeness: A search algorithm is said to be complete if it guarantees to return a solution if at least any solution exists
for any random input.

Optimality: If a solution found for an algorithm is guaranteed to be the best solution (lowest path cost) among all other
solutions, then such a solution for is said to be an optimal solution.

Time Complexity: Time complexity is a measure of time for an algorithm to complete its task.

Space Complexity: It is the maximum storage space required at any point during the search, as the complexity of the
problem.

Types of search algorithms


Based on the search problems we can classify the search algorithms into uninformed (Blind search) search and
informed search (Heuristic search) algorithms.

Uninformed/Blind Search:
The uninformed search does not contain any domain knowledge such as closeness, the location of the goal. It operates in a
brute-force way as it only includes information about how to traverse the tree and how to identify leaf and goal nodes.
Uninformed search applies a way in which search tree is searched without any information about the search space like initial
state operators and test for the goal, so it is also called blind search.It examines each node of the tree until it achieves the
goal node.

It can be divided into five main types:

Breadth-first search

Uniform cost search

Depth-first search

Iterative deepening depth-first search

Bidirectional Search

Informed Search

2/3
4/6/2021
Informed search algorithms use domain knowledge. In an informed search, problem information is available which can guide
the search. Informed search strategies can find a solution more efficiently than an uninformed search strategy. Informed
search is also called a Heuristic search.

A heuristic is a way which might not always be guaranteed for best solutions but guaranteed to find a good solution in
reasonable time.

Informed search can solve much complex problem which could not be solved in another way.

An example of informed search algorithms is a traveling salesman problem.

1. Greedy Search

2. A* Search

3/3
4/6/2021

Uninformed Search Algorithms


Uninformed search is a class of general-purpose search algorithms which operates in brute force-way.
Uninformed search algorithms do not have additional information about state or search space other than how to
traverse the tree, so it is also called blind search.

Following are the various types of uninformed search algorithms:

1. Breadth-first Search

2. Depth-first Search

3. Depth-limited Search

4. Iterative deepening depth-first search

5. Uniform cost search

6. Bidirectional Search

1. Breadth-first Search:
Breadth-first search is the most common search strategy for traversing a tree or graph. This algorithm searches
breadthwise in a tree or graph, so it is called breadth-first search.

BFS algorithm starts searching from the root node of the tree and expands all successor node at the current level
before moving to nodes of next level.

The breadth-first search algorithm is an example of a general-graph search algorithm.

Breadth-first search implemented using FIFO queue data structure.

Advantages:

BFS will provide a solution if any solution exists.

If there are more than one solutions for a given problem, then BFS will provide the minimal solution which requires the
least number of steps.

Disadvantages:

It requires lots of memory since each level of the tree must be saved into memory to expand the next level.

BFS needs lots of time if the solution is far away from the root node.

1/7
4/6/2021

Example:
In the below tree structure, we have shown the traversing of the tree using BFS algorithm from the root node S to goal node
K. BFS search algorithm traverse in layers, so it will follow the path which is shown by the dotted arrow, and the traversed
path will be:

S---> A--->B---->C--->D---->G--->H--->E---->F---->I---->K

Time Complexity: Time Complexity of BFS algorithm can be obtained by the number of nodes traversed in BFS until the
shallowest Node. Where the d= depth of shallowest solution and b is a node at every state.

T (b) = 1+b2+b3+.......+ bd= O (bd)

Space Complexity: Space complexity of BFS algorithm is given by the Memory size of frontier which is O(bd).

Completeness: BFS is complete, which means if the shallowest goal node is at some finite depth, then BFS will find a
solution.

Optimality: BFS is optimal if path cost is a non-decreasing function of the depth of the node.

2. Depth-first Search

Depth-first search isa recursive algorithm for traversing a tree or graph data structure.

It is called the depth-first search because it starts from the root node and follows each path to its greatest depth node
before moving to the next path.

DFS uses a stack data structure for its implementation.

The process of the DFS algorithm is similar to the BFS algorithm.

Note: Backtracking is an algorithm technique for finding all possible solutions using recursion.

2/7
4/6/2021
Advantage:

DFS requires very less memory as it only needs to store a stack of the nodes on the path from root node to the current
node.

It takes less time to reach to the goal node than BFS algorithm (if it traverses in the right path).

Disadvantage:

There is the possibility that many states keep re-occurring, and there is no guarantee of finding the solution.

DFS algorithm goes for deep down searching and sometime it may go to the infinite loop.

Example:
In the below search tree, we have shown the flow of depth-first search, and it will follow the order as:

Root node--->Left node ----> right node.

It will start searching from root node S, and traverse A, then B, then D and E, after traversing E, it will backtrack the tree as E
has no other successor and still goal node is not found. After backtracking it will traverse node C and then G, and here it will
terminate as it found goal node.

Completeness: DFS search algorithm is complete within finite state space as it will expand every node within a limited search
tree.

Time Complexity: Time complexity of DFS will be equivalent to the node traversed by the algorithm. It is given by:

T(n)= 1+ n2+ n3 +.........+ nm=O(nm)

Where, m= maximum depth of any node and this can be much larger than d (Shallowest solution depth)

Space Complexity: DFS algorithm needs to store only single path from the root node, hence space complexity of DFS is
equivalent to the size of the fringe set, which is O(bm).

Optimal: DFS search algorithm is non-optimal, as it may generate a large number of steps or high cost to reach to the goal
node.

3. Depth-Limited Search Algorithm:


A depth-limited search algorithm is similar to depth-first search with a predetermined limit. Depth-limited search can solve the
drawback of the infinite path in the Depth-first search. In this algorithm, the node at the depth limit will treat as it has no
successor nodes further.

3/7
4/6/2021
Depth-limited search can be terminated with two Conditions of failure:

Standard failure value: It indicates that problem does not have any solution.

Cutoff failure value: It defines no solution for the problem within a given depth limit.

Advantages:

Depth-limited search is Memory efficient.

Disadvantages:

Depth-limited search also has a disadvantage of incompleteness.

It may not be optimal if the problem has more than one solution.

Example:

Completeness: DLS search algorithm is complete if the solution is above the depth-limit.

Time Complexity: Time complexity of DLS algorithm is O(bℓ).

Space Complexity: Space complexity of DLS algorithm is O(b×ℓ).

Optimal: Depth-limited search can be viewed as a special case of DFS, and it is also not optimal even if ℓ>d.

4. Uniform-cost Search Algorithm:


Uniform-cost search is a searching algorithm used for traversing a weighted tree or graph. This algorithm comes into play
when a different cost is available for each edge. The primary goal of the uniform-cost search is to find a path to the goal node
which has the lowest cumulative cost. Uniform-cost search expands nodes according to their path costs form the root node. It
can be used to solve any graph/tree where the optimal cost is in demand. A uniform-cost search algorithm is implemented by
the priority queue. It gives maximum priority to the lowest cumulative cost. Uniform cost search is equivalent to BFS
algorithm if the path cost of all edges is the same.

Advantages:

Uniform cost search is optimal because at every state the path with the least cost is chosen.

Disadvantages:

4/7
4/6/2021

It does not care about the number of steps involve in searching and only concerned about path cost. Due to which this
algorithm may be stuck in an infinite loop.

Example:

Completeness:

Uniform-cost search is complete, such as if there is a solution, UCS will find it.

Time Complexity:

Let C* is Cost of the optimal solution, and ε is each step to get closer to the goal node. Then the number of steps is = C*/
ε+1. Here we have taken +1, as we start from state 0 and end to C*/ε.

Hence, the worst-case time complexity of Uniform-cost search isO(b1 + [C*/ε])/.

Space Complexity:

The same logic is for space complexity so, the worst-case space complexity of Uniform-cost search is O(b1 + [C*/ε]).

Optimal:

Uniform-cost search is always optimal as it only selects a path with the lowest path cost.

5. Iterative deepeningdepth-first Search:


The iterative deepening algorithm is a combination of DFS and BFS algorithms. This search algorithm finds out the best depth
limit and does it by gradually increasing the limit until a goal is found.

This algorithm performs depth-first search up to a certain "depth limit", and it keeps increasing the depth limit after each
iteration until the goal node is found.

This Search algorithm combines the benefits of Breadth-first search's fast search and depth-first search's memory efficiency.

The iterative search algorithm is useful uninformed search when search space is large, and depth of goal node is unknown.

Advantages:

Itcombines the benefits of BFS and DFS search algorithm in terms of fast search and memory efficiency.

Disadvantages:

The main drawback of IDDFS is that it repeats all the work of the previous phase.

https://www.javatpoint.com/ai-uninformed-search-algorithms 5/7
4/6/2021 Uninformed Search Algorithms - Javatpoint

Example:
Following tree structure is showing the iterative deepening depth-first search. IDDFS algorithm performs various iterations
until it does not find the goal node. The iteration performed by the algorithm is given as:

1'st Iteration-----> A
2'nd Iteration----> A, B, C
3'rd Iteration------>A, B, D, E, C, F, G
4'th Iteration------>A, B, D, H, I, E, C, F, K, G
In the fourth iteration, the algorithm will find the goal node.

Completeness:

This algorithm is complete is ifthe branching factor is finite.

Time Complexity:

Let's suppose b is the branching factor and depth is d then the worst-case time complexity is O(bd).

Space Complexity:

The space complexity of IDDFS will be O(bd).

Optimal:

IDDFS algorithm is optimal if path cost is a non- decreasing function of the depth of the node.

6. Bidirectional Search Algorithm:


Bidirectional search algorithm runs two simultaneous searches, one form initial state called as forward-search
and other from goal node called as backward-search, to find the goal node. Bidirectional search replaces one
single search graph with two small subgraphs in which one starts the search from an initial vertex and other
starts from goal vertex. The search stops when these two graphs intersect each other.

Bidirectional search can use search techniques such as BFS, DFS, DLS, etc.

Advantages:

Bidirectional search is fast.

Bidirectional search requires less memory

Disadvantages:

Implementation of the bidirectional search tree is difficult.

6/7
4/6/2021

In bidirectional search, one should know the goal state in advance.

Example:
In the below search tree, bidirectional search algorithm is applied. This algorithm divides one graph/tree into two sub-graphs.
It starts traversing from node 1 in the forward direction and starts from goal node 16 in the backward direction.

The algorithm terminates at node 9 where two searches meet.

Completeness: Bidirectional Search is complete if we use BFS in both searches.

Time Complexity: Time complexity of bidirectional search using BFS is O(bd).

Space Complexity: Space complexity of bidirectional search is O(bd).

Optimal: Bidirectional search is Optimal.

7/7
4/6/2021

Informed Search Algorithms


So far we have talked about the uninformed search algorithms which looked through search space for
all possible solutions of the problem without having any additional knowledge about search space. But
informed search algorithm contains an array of knowledge such as how far we are from the goal, path
cost, how to reach to goal node, etc. This knowledge help agents to explore less to the search space
and find more efficiently the goal node.

The informed search algorithm is more useful for large search space. Informed search algorithm uses
the idea of heuristic, so it is also called Heuristic search.

Heuristics function: Heuristic is a function which is used in Informed Search, and it finds the most
promising path. It takes the current state of the agent as its input and produces the estimation of
how close agent is from the goal. The heuristic method, however, might not always give the best
solution, but it guaranteed to find a good solution in reasonable time. Heuristic function estimates
how close a state is to the goal. It is represented by h(n), and it calculates the cost of an optimal path
between the pair of states. The value of the heuristic function is always positive.

Admissibility of the heuristic function is given as:

h(n) <= h*(n)

Here h(n) is heuristic cost, and h*(n) is the estimated cost. Hence heuristic cost should be
less than or equal to the estimated cost.

Pure Heuristic Search:


Pure heuristic search is the simplest form of heuristic search algorithms. It expands nodes based on
their heuristic value h(n). It maintains two lists, OPEN and CLOSED list. In the CLOSED list, it places
those nodes which have already expanded and in the OPEN list, it places nodes which have yet not
been expanded.

On each iteration, each node n with the lowest heuristic value is expanded and generates all its
successors and n is placed to the closed list. The algorithm continues unit a goal state is found.

1/7
4/6/2021

In the informed search we will discuss two main algorithms which are given below:

Best First Search Algorithm(Greedy search)

A* Search Algorithm

1.) Best-first Search Algorithm (Greedy Search):


Greedy best-first search algorithm always selects the path which appears best at that moment. It is
the combination of depth-first search and breadth-first search algorithms. It uses the heuristic
function and search. Best-first search allows us to take the advantages of both algorithms. With the
help of best-first search, at each step, we can choose the most promising node. In the best first
search algorithm, we expand the node which is closest to the goal node and the closest cost is
estimated by heuristic function, i.e.

f(n)= g(n).

Were, h(n)= estimated cost from node n to the goal.

The greedy best first algorithm is implemented by the priority queue.

Best first search algorithm:

Step 1: Place the starting node into the OPEN list.

Step 2: If the OPEN list is empty, Stop and return failure.

Step 3: Remove the node n, from the OPEN list which has the lowest value of h(n), and places
it in the CLOSED list.

Step 4: Expand the node n, and generate the successors of node n.

Step 5: Check each successor of node n, and find whether any node is a goal node or not. If
any successor node is goal node, then return success and terminate the search, else proceed to
Step 6.

Step 6: For each successor node, algorithm checks for evaluation function f(n), and then check
if the node has been in either OPEN or CLOSED list. If the node has not been in both list, then
add it to the OPEN list.

Step 7: Return to Step 2.

Advantages:

Best first search can switch between BFS and DFS by gaining the advantages of both the
algorithms.

2/7
4/6/2021

This algorithm is more efficient than BFS and DFS algorithms.

Disadvantages:

It can behave as an unguided depth-first search in the worst case scenario.

It can get stuck in a loop as DFS.

This algorithm is not optimal.

Example:
Consider the below search problem, and we will traverse it using greedy best-first search. At each
iteration, each node is expanded using evaluation function f(n)=h(n) , which is given in the below
table.

In this search example, we are using two lists which are OPEN and CLOSEDLists. Following are the
iteration for traversing the above example.

3/7
4/6/2021

Expand the nodes of S and put in the CLOSED list

Initialization: Open [A, B], Closed [S]

Iteration 1: Open [A], Closed [S, B]

Iteration 2: Open [E, F, A], Closed [S, B]


: Open [E, A], Closed [S, B, F]

Iteration 3: Open [I, G, E, A], Closed [S, B, F]


: Open [I, E, A], Closed [S, B, F, G]

Hence the final solution path will be: S----> B----->F----> G

Time Complexity: The worst case time complexity of Greedy best first search is O(bm).

Space Complexity: The worst case space complexity of Greedy best first search is O(bm). Where, m
is the maximum depth of the search space.

Complete: Greedy best-first search is also incomplete, even if the given state space is finite.

Optimal: Greedy best first search algorithm is not optimal.

2.) A* Search Algorithm:


A* search is the most commonly known form of best-first search. It uses heuristic function h(n), and
cost to reach the node n from the start state g(n). It has combined features of UCS and greedy best-
first search, by which it solve the problem efficiently. A* search algorithm finds the shortest path
through the search space using the heuristic function. This search algorithm expands less search tree
and provides optimal result faster. A* algorithm is similar to UCS except that it uses g(n)+h(n)
instead of g(n).

In A* search algorithm, we use search heuristic as well as the cost to reach the node. Hence we can
combine both costs as following, and this sum is called as a fitness number.

4/7
4/6/2021

At each point in the search space, only those node is expanded which have the lowest value of f(n),
and the algorithm terminates when the goal node is found.

Algorithm of A* search:
Step1: Place the starting node in the OPEN list.

Step 2: Check if the OPEN list is empty or not, if the list is empty then return failure and stops.

Step 3: Select the node from the OPEN list which has the smallest value of evaluation function (g+h),
if node n is goal node then return success and stop, otherwise

Step 4: Expand node n and generate all of its successors, and put n into the closed list. For each
successor n', check whether n' is already in the OPEN or CLOSED list, if not then compute evaluation
function for n' and place into Open list.

Step 5: Else if node n' is already in OPEN and CLOSED, then it should be attached to the back pointer
which reflects the lowest g(n') value.

Step 6: Return to Step 2.

Advantages:

A* search algorithm is the best algorithm than other search algorithms.

A* search algorithm is optimal and complete.

This algorithm can solve very complex problems.

Disadvantages:

It does not always produce the shortest path as it mostly based on heuristics and
approximation.

A* search algorithm has some complexity issues.

The main drawback of A* is memory requirement as it keeps all generated nodes in the
memory, so it is not practical for various large-scale problems.

Example:
https://www.javatpoint.com/ai-informed-search-algorithms 5/7
4/6/2021 Informed Search Algorithms in AI - Javatpoint

In this example, we will traverse the given graph using the A* algorithm. The heuristic value of all
states is given in the below table so we will calculate the f(n) of each state using the formula f(n)=
g(n) + h(n), where g(n) is the cost to reach any node from start state.

Here we will use OPEN and CLOSED list.

Solution:

Initialization: {(S, 5)}

Iteration1: {(S--> A, 4), (S-->G, 10)}

Iteration2: {(S--> A-->C, 4), (S--> A-->B, 7), (S-->G, 10)}

https://www.javatpoint.com/ai-informed-search-algorithms 6/7
4/6/2021

Iteration3: {(S--> A-->C--->G, 6), (S--> A-->C--->D, 11), (S--> A-->B, 7), (S-->G, 10)}

Iteration 4 will give the final result, as S--->A--->C--->G it provides the optimal path with cost 6.

Points to remember:

A* algorithm returns the path which occurred first, and it does not search for all remaining
paths.

The efficiency of A* algorithm depends on the quality of heuristic.

A* algorithm expands all nodes which satisfy the condition f(n)

Complete: A* algorithm is complete as long as:

Branching factor is finite.

Cost at every action is fixed.

Optimal: A* search algorithm is optimal if it follows below two conditions:

Admissible: the first condition requires for optimality is that h(n) should be an admissible
heuristic for A* tree search. An admissible heuristic is optimistic in nature.

Consistency: Second required condition is consistency for only A* graph-search.

If the heuristic function is admissible, then A* tree search will always find the least cost path.

Time Complexity: The time complexity of A* search algorithm depends on heuristic function, and
the number of nodes expanded is exponential to the depth of solution d. So the time complexity is
O(b^d), where b is the branching factor.

Space Complexity: The space complexity of A* search algorithm is O(b^d)

7/7
4/6/2021

Hill Climbing Algorithm in Artificial Intelligence


Hill climbing algorithm is a local search algorithm which continuously moves in the direction of increasing
elevation/value to find the peak of the mountain or best solution to the problem. It terminates when it reaches a peak
value where no neighbor has a higher value.

Hill climbing algorithm is a technique which is used for optimizing the mathematical problems. One of the widely
discussed examples of Hill climbing algorithm is Traveling-salesman Problem in which we need to minimize the distance
traveled by the salesman.

It is also called greedy local search as it only looks to its good immediate neighbor state and not beyond that.

A node of hill climbing algorithm has two components which are state and value.

Hill Climbing is mostly used when a good heuristic is available.

In this algorithm, we don't need to maintain and handle the search tree or graph as it only keeps a single current state.

Features of Hill Climbing:


Following are some main features of Hill Climbing Algorithm:

Generate and Test variant: Hill Climbing is the variant of Generate and Test method. The Generate and Test method
produce feedback which helps to decide which direction to move in the search space.

Greedy approach: Hill-climbing algorithm search moves in the direction which optimizes the cost.

No backtracking: It does not backtrack the search space, as it does not remember the previous states.

State-space Diagram for Hill Climbing:

The state-space landscape is a graphical representation of the hill-climbing algorithm which is showing a graph between
various states of algorithm and Objective function/Cost.

On Y-axis we have taken the function which can be an objective function or cost function, and state-space on the x-axis. If
the function on Y-axis is cost then, the goal of search is to find the global minimum and local minimum. If the function of Y-
axis is Objective function, then the goal of the search is to find the global maximum and local maximum.

1/4
4/6/2021

Different regions in the state space landscape:


Local Maximum: Local maximum is a state which is better than its neighbor states, but there is also another state which is
higher than it.

Global Maximum: Global maximum is the best possible state of state space landscape. It has the highest value of objective
function.

Current state: It is a state in a landscape diagram where an agent is currently present.

Flat local maximum: It is a flat space in the landscape where all the neighbor states of current states have the same value.

Shoulder: It is a plateau region which has an uphill edge.

Types of Hill Climbing Algorithm:


Simple hill Climbing:

Steepest-Ascent hill-climbing:

Stochastic hill Climbing:

1. Simple Hill Climbing:


Simple hill climbing is the simplest way to implement a hill climbing algorithm. It only evaluates the neighbor node state
at a time and selects the first one which optimizes current cost and set it as a current state. It only checks it's one
successor state, and if it finds better than the current state, then move else be in the same state. This algorithm has the
following features:

Less time consuming

Less optimal solution and the solution is not guaranteed

Algorithm for Simple Hill Climbing:

Step 1: Evaluate the initial state, if it is goal state then return success and Stop.

Step 2: Loop Until a solution is found or there is no new operator left to apply.

Step 3: Select and apply an operator to the current state.

Step 4: Check new state:

a. If it is goal state, then return success and quit.

2/4
4/6/2021

b. Else if it is better than the current state then assign new state as a current state.

c. Else if not better than the current state, then return to step2.

Step 5: Exit.

2. Steepest-Ascent hill climbing:


The steepest-Ascent algorithm is a variation of simple hill climbing algorithm. This algorithm examines all the neighboring
nodes of the current state and selects one neighbor node which is closest to the goal state. This algorithm consumes more
time as it searches for multiple neighbors

Algorithm for Steepest-Ascent hill climbing:

Step 1: Evaluate the initial state, if it is goal state then return success and stop, else make current state as initial
state.

Step 2: Loop until a solution is found or the current state does not change.

a. Let SUCC be a state such that any successor of the current state will be better than it.

b. For each operator that applies to the current state:

a. Apply the new operator and generate a new state.

b. Evaluate the new state.

c. If it is goal state, then return it and quit, else compare it to the SUCC.

d. If it is better than SUCC, then set new state as SUCC.

e. If the SUCC is better than the current state, then set current state to SUCC.

Step 5: Exit.

3. Stochastic hill climbing:


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 a current state or examine another state.

Problems in Hill Climbing Algorithm:


1. Local Maximum: A local maximum is a peak state in the landscape which is better than each of its neighboring states,
but there is another state also present which is higher than the local maximum.

Solution: Backtracking technique can be a solution of the local maximum in state space landscape. Create a list of the
promising path so that the algorithm can backtrack the search space and explore other paths as well.

2. Plateau: A plateau is the flat area of the search space in which all the neighbor states of the current state contains the
same value, because of this algorithm does not find any best direction to move. A hill-climbing search might be lost in the
plateau area.
3/4
4/6/2021
Solution: The solution for the plateau is to take big steps or very little steps while searching, to solve the problem. Randomly
select a state which is far away from the current state so it is possible that the algorithm could find non-plateau region.

3. Ridges: A ridge is a special form of the local maximum. It has an area which is higher than its surrounding areas, but
itself has a slope, and cannot be reached in a single move.

Solution: With the use of bidirectional search, or by moving in different directions, we can improve this problem.

Simulated Annealing:
A hill-climbing algorithm which never makes a move towards a lower value guaranteed to be incomplete because it can get
stuck on a local maximum. And if algorithm applies a random walk, by moving a successor, then it may complete but not
efficient. Simulated Annealing is an algorithm which yields both efficiency and completeness.

In mechanical term Annealing is a process of hardening a metal or glass to a high temperature then cooling gradually, so
this allows the metal to reach a low-energy crystalline state. The same process is used in simulated annealing in which the
algorithm picks a random move, instead of picking the best move. If the random move improves the state, then it follows the
same path. Otherwise, the algorithm follows the path which has a probability of less than 1 or it moves downhill and chooses
another path.

4/4
4/6/2021

Means-Ends Analysis in Artificial Intelligence


We have studied the strategies which can reason either in forward or backward, but a mixture of the two directions is
appropriate for solving a complex and large problem. Such a mixed strategy, make it possible that first to solve the
major part of a problem and then go back and solve the small problems arise during combining the big parts of the
problem. Such a technique is called Means-Ends Analysis.

Means-Ends Analysis is problem-solving techniques used in Artificial intelligence for limiting search in AI programs.

It is a mixture of Backward and forward search technique.

The MEA technique was first introduced in 1961 by Allen Newell, and Herbert A. Simon in their problem-solving
computer program, which was named as General Problem Solver (GPS).

The MEA analysis process centered on the evaluation of the difference between the current state and goal state.

How means-ends analysis Works:


The means-ends analysis process can be applied recursively for a problem. It is a strategy to control search in problem-
solving. Following are the main Steps which describes the working of MEA technique for solving a problem.

a. First, evaluate the difference between Initial State and final State.

b. Select the various operators which can be applied for each difference.

c. Apply the operator at each difference, which reduces the difference between the current state and goal state.

Operator Subgoaling

In the MEA process, we detect the differences between the current state and goal state. Once these differences occur, then
we can apply an operator to reduce the differences. But sometimes it is possible that an operator cannot be applied to the
current state. So we create the subproblem of the current state, in which operator can be applied, such type of backward
chaining in which operators are selected, and then sub goals are set up to establish the preconditions of the operator is
called Operator Subgoaling.

Algorithm for Means-Ends Analysis:


Let's we take Current state as CURRENT and Goal State as GOAL, then following are the steps for the MEA algorithm.

1/3
4/6/2021

Step 1: Compare CURRENT to GOAL, if there are no differences between both then return Success and Exit.

Step 2: Else, select the most significant difference and reduce it by doing the following steps until the success or
failure occurs.

a. Select a new operator O which is applicable for the current difference, and if there is no such operator, then
signal failure.

b. Attempt to apply operator O to CURRENT. Make a description of two states.


i) O-Start, a state in which O?s preconditions are satisfied.
ii) O-Result, the state that would result if O were applied In O-start.

c. If
(First-Part <------ MEA (CURRENT, O-START)
And
(LAST-Part <----- MEA (O-Result, GOAL), are successful, then signal Success and return the result of
combining FIRST-PART, O, and LAST-PART.

The above-discussed algorithm is more suitable for a simple problem and not adequate for solving complex problems.

Example of Mean-Ends Analysis:


Let's take an example where we know the initial state and goal state as given below. In this problem, we need to get the goal
state by finding differences between the initial state and goal state and applying operators.

Solution:
To solve the above problem, we will first find the differences between initial states and goal states, and for each difference,
we will generate a new state and will apply the operators. The operators we have for this problem are:

Move

Delete

Expand

1. Evaluating the initial state: In the first step, we will evaluate the initial state and will compare the initial and Goal state
to find the differences between both states.

2. Applying Delete operator: As we can check the first difference is that in goal state there is no dot symbol which is
present in the initial state, so, first we will apply the Delete operator to remove this dot.

https://www.javatpoint.com/means-ends-analysis-in-ai 2/3
4/6/2021

3. Applying Move Operator: After applying the Delete operator, the new state occurs which we will again compare with goal
state. After comparing these states, there is another difference that is the square is outside the circle, so, we will apply
the Move Operator.

4. Applying Expand Operator: Now a new state is generated in the third step, and we will compare this state with the goal
state. After comparing the states there is still one difference which is the size of the square, so, we will apply Expand
operator, and finally, it will generate the goal state.

3/3
4/6/2021

Adversarial Search
Adversarial search is a search, where we examine the problem which arises when we try to plan ahead of the
world and other agents are planning against us.

In previous topics, we have studied the search strategies which are only associated with a single agent that aims to
find the solution which often expressed in the form of a sequence of actions.

But, there might be some situations where more than one agent is searching for the solution in the same search space,
and this situation usually occurs in game playing.

The environment with more than one agent is termed as multi-agent environment, in which each agent is an
opponent of other agent and playing against each other. Each agent needs to consider the action of other agent and
effect of that action on their performance.

So, Searches in which two or more players with conflicting goals are trying to explore the same search
space for the solution, are called adversarial searches, often known as Games.

Games are modeled as a Search problem and heuristic evaluation function, and these are the two main factors which
help to model and solve games in AI.

Types of Games in AI:

Deterministic Chance Moves

Perfect information Chess, Checkers, go, Othello Backgammon, monopoly

Imperfect information Battleships, blind, tic-tac-toe Bridge, poker, scrabble, nuclear war

Perfect information: A game with the perfect information is that in which agents can look into the complete board.
Agents have all the information about the game, and they can see each other moves also. Examples are Chess,
Checkers, Go, etc.

Imperfect information: If in a game agents do not have all information about the game and not aware with what's
going on, such type of games are called the game with imperfect information, such as tic-tac-toe, Battleship, blind,
Bridge, etc.

Deterministic games: Deterministic games are those games which follow a strict pattern and set of rules for the
games, and there is no randomness associated with them. Examples are chess, Checkers, Go, tic-tac-toe, etc.

Non-deterministic games: Non-deterministic are those games which have various unpredictable events and has a
factor of chance or luck. This factor of chance or luck is introduced by either dice or cards. These are random, and each
action response is not fixed. Such games are also called as stochastic games.
Example: Backgammon, Monopoly, Poker, etc.

Note: In this topic, we will discuss deterministic games, fully observable environment, zero-sum, and where each agent acts
alternatively.

Zero-Sum Game

1/4
4/6/2021

Zero-sum games are adversarial search which involves pure competition.

In Zero-sum game each agent's gain or loss of utility is exactly balanced by the losses or gains of utility of another
agent.

One player of the game try to maximize one single value, while other player tries to minimize it.

Each move by one player in the game is called as ply.

Chess and tic-tac-toe are examples of a Zero-sum game.

Zero-sum game: Embedded thinking


The Zero-sum game involved embedded thinking in which one agent or player is trying to figure out:

What to do.

How to decide the move

Needs to think about his opponent as well

The opponent also thinks what to do

Each of the players is trying to find out the response of his opponent to their actions. This requires embedded thinking or
backward reasoning to solve the game problems in AI.

Formalization of the problem:


A game can be defined as a type of search in AI which can be formalized of the following elements:

Initial state: It specifies how the game is set up at the start.

Player(s): It specifies which player has moved in the state space.

Action(s): It returns the set of legal moves in state space.

Result(s, a): It is the transition model, which specifies the result of moves in the state space.

Terminal-Test(s): Terminal test is true if the game is over, else it is false at any case. The state where the game ends
is called terminal states.

Utility(s, p): A utility function gives the final numeric value for a game that ends in terminal states s for player p. It is
also called payoff function. For Chess, the outcomes are a win, loss, or draw and its payoff values are +1, 0, ½. And for

https://www.javatpoint.com/ai-adversarial-search 2/4
4/6/2021

tic-tac-toe, utility values are +1, -1, and 0.

Game tree:
A game tree is a tree where nodes of the tree are the game states and Edges of the tree are the moves by players. Game
tree involves initial state, actions function, and result Function.

Example: Tic-Tac-Toe game tree:

The following figure is showing part of the game-tree for tic-tac-toe game. Following are some key points of the game:

There are two players MAX and MIN.

Players have an alternate turn and start with MAX.

MAX maximizes the result of the game tree

MIN minimizes the result.

Example Explanation:

From the initial state, MAX has 9 possible moves as he starts first. MAX place x and MIN place o, and both player plays
alternatively until we reach a leaf node where one player has three in a row or all squares are filled.

Both players will compute each node, minimax, the minimax value which is the best achievable utility against an
optimal adversary.

Suppose both the players are well aware of the tic-tac-toe and playing the best play. Each player is doing his best to
prevent another one from winning. MIN is acting against Max in the game.

So in the game tree, we have a layer of Max, a layer of MIN, and each layer is called as Ply. Max place x, then MIN
puts o to prevent Max from winning, and this game continues until the terminal node.

In this either MIN wins, MAX wins, or it's a draw. This game-tree is the whole search space of possibilities that MIN and
MAX are playing tic-tac-toe and taking turns alternately.

3/4
4/6/2021
Hence adversarial Search for the minimax procedure works as follows:

It aims to find the optimal strategy for MAX to win the game.

It follows the approach of Depth-first search.

In the game tree, optimal leaf node could appear at any depth of the tree.

Propagate the minimax values up to the tree until the terminal node discovered.

In a given game tree, the optimal strategy can be determined from the minimax value of each node, which can be written as
MINIMAX(n). MAX prefer to move to a state of maximum value and MIN prefer to move to a state of minimum value then:

4/4
4/6/2021

Mini-Max Algorithm in Artificial Intelligence


Mini-max algorithm is a recursive or backtracking algorithm which is used in decision-making and game theory. It
provides an optimal move for the player assuming that opponent is also playing optimally.

Mini-Max algorithm uses recursion to search through the game-tree.

Min-Max algorithm is mostly used for game playing in AI. Such as Chess, Checkers, tic-tac-toe, go, and various tow-
players game. This Algorithm computes the minimax decision for the current state.

In this algorithm two players play the game, one is called MAX and other is called MIN.

Both the players fight it as the opponent player gets the minimum benefit while they get the maximum benefit.

Both Players of the game are opponent of each other, where MAX will select the maximized value and MIN will select the
minimized value.

The minimax algorithm performs a depth-first search algorithm for the exploration of the complete game tree.

The minimax algorithm proceeds all the way down to the terminal node of the tree, then backtrack the tree as the
recursion.

Pseudo-code for MinMax Algorithm:

function minimax(node, depth, maximizingPlayer) is

if depth ==0 or node is a terminal node then

return static evaluation of node

if MaximizingPlayer then // for Maximizer Player

maxEva= -infinity

for each child of node do

eva= minimax(child, depth-1, false)

maxEva= max(maxEva,eva) //gives Maximum of the values

return maxEva

else // for Minimizer player

minEva= +infinity

for each child of node do

eva= minimax(child, depth-1, true)

minEva= min(minEva, eva) //gives minimum of the values

return minEva

Initial call:

Minimax(node, 3, true)

Working of Min-Max Algorithm:

1/4
4/6/2021

The working of the minimax algorithm can be easily described using an example. Below we have taken an example of
game-tree which is representing the two-player game.

In this example, there are two players one is called Maximizer and other is called Minimizer.

Maximizer will try to get the Maximum possible score, and Minimizer will try to get the minimum possible score.

This algorithm applies DFS, so in this game-tree, we have to go all the way through the leaves to reach the terminal
nodes.

At the terminal node, the terminal values are given so we will compare those value and backtrack the tree until the
initial state occurs. Following are the main steps involved in solving the two-player game tree:

Step-1: In the first step, the algorithm generates the entire game-tree and apply the utility function to get the utility values
for the terminal states. In the below tree diagram, let's take A is the initial state of the tree. Suppose maximizer takes first
turn which has worst-case initial value =- infinity, and minimizer will take next turn which has worst-case initial value =
+infinity.

Step 2: Now, first we find the utilities value for the Maximizer, its initial value is -∞, so we will compare each value in terminal
state with initial value of Maximizer and determines the higher nodes values. It will find the maximum among the all.
2/4
4/6/2021

For node D max(-1,- -∞) => max(-1,4)= 4

For Node E max(2, -∞) => max(2, 6)= 6

For Node F max(-3, -∞) => max(-3,-5) = -3

For node G max(0, -∞) = max(0, 7) = 7

Step 3: In the next step, it's a turn for minimizer, so it will compare all nodes value with +∞, and will find the 3rd layer node
values.

For node B= min(4,6) = 4

For node C= min (-3, 7) = -3

3/4
4/6/2021
Step 3: Now it's a turn for Maximizer, and it will again choose the maximum of all nodes value and find the maximum value
for the root node. In this game tree, there are only 4 layers, hence we reach immediately to the root node, but in real games,
there will be more than 4 layers.

For node A max(4, -3)= 4

That was the complete workflow of the minimax two player game.

Properties of Mini-Max algorithm:


Complete- Min-Max algorithm is Complete. It will definitely find a solution (if exist), in the finite search tree.

Optimal- Min-Max algorithm is optimal if both opponents are playing optimally.

Time complexity- As it performs DFS for the game-tree, so the time complexity of Min-Max algorithm is O(bm),
where b is branching factor of the game-tree, and m is the maximum depth of the tree.

Space Complexity- Space complexity of Mini-max algorithm is also similar to DFS which is O(bm).

Limitation of the minimax Algorithm:


The main drawback of the minimax algorithm is that it gets really slow for complex games such as Chess, go, etc. This type of
games has a huge branching factor, and the player has lots of choices to decide. This limitation of the minimax algorithm can
be improved from alpha-beta pruning which we have discussed in the next topic.

4/4
4/6/2021

Alpha-Beta Pruning
Alpha-beta pruning is a modified version of the minimax algorithm. It is an optimization technique for the minimax
algorithm.

As we have seen in the minimax search algorithm that the number of game states it has to examine are exponential in
depth of the tree. Since we cannot eliminate the exponent, but we can cut it to half. Hence there is a technique by which
without checking each node of the game tree we can compute the correct minimax decision, and this technique is
called pruning. This involves two threshold parameter Alpha and beta for future expansion, so it is called alpha-beta
pruning. It is also called as Alpha-Beta Algorithm.

Alpha-beta pruning can be applied at any depth of a tree, and sometimes it not only prune the tree leaves but also entire
sub-tree.

The two-parameter can be defined as:

a. Alpha: The best (highest-value) choice we have found so far at any point along the path of Maximizer. The initial
value of alpha is -∞.

b. Beta: The best (lowest-value) choice we have found so far at any point along the path of Minimizer. The initial
value of beta is +∞.

The Alpha-beta pruning to a standard minimax algorithm returns the same move as the standard algorithm does, but it
removes all the nodes which are not really affecting the final decision but making algorithm slow. Hence by pruning these
nodes, it makes the algorithm fast.

Note: To better understand this topic, kindly study the minimax algorithm.

Condition for Alpha-beta pruning:


The main condition which required for alpha-beta pruning is:

α>=β

Key points about alpha-beta pruning:

The Max player will only update the value of alpha.

The Min player will only update the value of beta.

While backtracking the tree, the node values will be passed to upper nodes instead of values of alpha and beta.

We will only pass the alpha, beta values to the child nodes.

Pseudo-code for Alpha-beta Pruning:

1/2
4/6/2021

function minimax(node, depth, alpha, beta, maximizingPlayer) is

if depth ==0 or node is a terminal node then

return static evaluation of node

if MaximizingPlayer then // for Maximizer Player

maxEva= -infinity

for each child of node do

eva= minimax(child, depth-1, alpha, beta, False)

maxEva= max(maxEva, eva)

alpha= max(alpha, maxEva)

if beta<=alpha

break

return maxEva

else // for Minimizer player

minEva= +infinity

for each child of node do

eva= minimax(child, depth-1, alpha, beta, true)

minEva= min(minEva, eva)

beta= min(beta, eva)

if beta<=alpha

break

return minEva

Working of Alpha-Beta Pruning:


Let's take an example of two-player search tree to understand the working of Alpha-beta pruning

Step 1: At the first step the, Max player will start first move from node A where α= -∞ and β= +∞, these value of alpha and
beta passed down to node B where again α= -∞ and β= +∞, and Node B passes the same value to its child D.

2/2
Knowledge-Based Agent in Artificial intelligence
An intelligent agent needs knowledge about the real world for taking decisions and reasoning to act efficiently.

Knowledge-based agents are those agents who have the capability of maintaining an internal state of knowledge,
reason over that knowledge, update their knowledge after observations and take actions. These agents can
represent the world with some formal representation and act intelligently.

Knowledge-based agents are composed of two main parts:

Knowledge-base and

Inference system.

A knowledge-based agent must able to do the following:

An agent should be able to represent states, actions, etc.

An agent Should be able to incorporate new percepts

An agent can update the internal representation of the world

An agent can deduce the internal representation of the world

An agent can deduce appropriate actions.

The architecture of knowledge-based agent:

The above diagram is representing a generalized architecture for a knowledge-based agent. The knowledge-based agent (KBA)
take input from the environment by perceiving the environment. The input is taken by the inference engine of the agent and
which also communicate with KB to decide as per the knowledge store in KB. The learning element of KBA regularly updates
the KB by learning new knowledge.

Knowledge base: Knowledge-base is a central component of a knowledge-based agent, it is also known as KB. It is a
collection of sentences (here 'sentence' is a technical term and it is not identical to sentence in English). These sentences are
expressed in a language which is called a knowledge representation language. The Knowledge-base of KBA stores fact about
the world.

1 of 4 24-Apr-21, 9:30 AM
Why use a knowledge base?

Knowledge-base is required for updating knowledge for an agent to learn with experiences and take action as per the
knowledge.

Inference system
Inference means deriving new sentences from old. Inference system allows us to add a new sentence to the knowledge base.
A sentence is a proposition about the world. Inference system applies logical rules to the KB to deduce new information.

Inference system generates new facts so that an agent can update the KB. An inference system works mainly in two rules
which are given as:

Forward chaining

Backward chaining

Operations Performed by KBA

2 of 4 24-Apr-21, 9:30 AM
Following are three operations which are performed by KBA in order to show the intelligent behavior:

1. TELL: This operation tells the knowledge base what it perceives from the environment.

2. ASK: This operation asks the knowledge base what action it should perform.

3. Perform: It performs the selected action.

A generic knowledge-based agent:


Following is the structure outline of a generic knowledge-based agents program:

function KB-AGENT(percept):

persistent: KB, a knowledge base

t, a counter, initially 0, indicating time

TELL(KB, MAKE-PERCEPT-SENTENCE(percept, t))

Action = ASK(KB, MAKE-ACTION-QUERY(t))

TELL(KB, MAKE-ACTION-SENTENCE(action, t))

t=t+1

return action

The knowledge-based agent takes percept as input and returns an action as output. The agent maintains the knowledge base,
KB, and it initially has some background knowledge of the real world. It also has a counter to indicate the time for the whole
process, and this counter is initialized with zero.

Each time when the function is called, it performs its three operations:

Firstly it TELLs the KB what it perceives.

Secondly, it asks KB what action it should take

Third agent program TELLS the KB that which action was chosen.

The MAKE-PERCEPT-SENTENCE generates a sentence as setting that the agent perceived the given percept at the given time.

The MAKE-ACTION-QUERY generates a sentence to ask which action should be done at the current time.

MAKE-ACTION-SENTENCE generates a sentence which asserts that the chosen action was executed.

Various levels of knowledge-based agent:


A knowledge-based agent can be viewed at different levels which are given below:

1. Knowledge level

Knowledge level is the first level of knowledge-based agent, and in this level, we need to specify what the agent knows, and
what the agent goals are. With these specifications, we can fix its behavior. For example, suppose an automated taxi agent
needs to go from a station A to station B, and he knows the way from A to B, so this comes at the knowledge level.

2. Logical level:

At this level, we understand that how the knowledge representation of knowledge is stored. At this level, sentences are
encoded into different logics. At the logical level, an encoding of knowledge into logical sentences occurs. At the logical level

3 of 4 24-Apr-21, 9:30 AM
we can expect to the automated taxi agent to reach to the destination B.

3. Implementation level:

This is the physical representation of logic and knowledge. At the implementation level agent perform actions as per logical
and knowledge level. At this level, an automated taxi agent actually implement his knowledge and logic so that he can reach
to the destination.

Approaches to designing a knowledge-based agent:


There are mainly two approaches to build a knowledge-based agent:

1. 1. Declarative approach: We can create a knowledge-based agent by initializing with an empty knowledge base and
telling the agent all the sentences with which we want to start with. This approach is called Declarative approach.

2. 2. Procedural approach: In the procedural approach, we directly encode desired behavior as a program code. Which
means we just need to write a program that already encodes the desired behavior or agent.

However, in the real world, a successful agent can be built by combining both declarative and procedural approaches, and
declarative knowledge can often be compiled into more efficient procedural code.

4 of 4 24-Apr-21, 9:30 AM
What is knowledge representation?
Humans are best at understanding, reasoning, and interpreting knowledge. Human knows things, which is knowledge and as
per their knowledge they perform various actions in the real world. But how machines do all these things comes under
knowledge representation and reasoning. Hence we can describe Knowledge representation as following:

Knowledge representation and reasoning (KR, KRR) is the part of Artificial intelligence which concerned with AI agents
thinking and how thinking contributes to intelligent behavior of agents.

It is responsible for representing information about the real world so that a computer can understand and can utilize this
knowledge to solve the complex real world problems such as diagnosis a medical condition or communicating with
humans in natural language.

It is also a way which describes how we can represent knowledge in artificial intelligence. Knowledge representation is
not just storing data into some database, but it also enables an intelligent machine to learn from that knowledge and
experiences so that it can behave intelligently like a human.

What to Represent:
Following are the kind of knowledge which needs to be represented in AI systems:

Object: All the facts about objects in our world domain. E.g., Guitars contains strings, trumpets are brass instruments.

Events: Events are the actions which occur in our world.

Performance: It describe behavior which involves knowledge about how to do things.

Meta-knowledge: It is knowledge about what we know.

Facts: Facts are the truths about the real world and what we represent.

Knowledge-Base: The central component of the knowledge-based agents is the knowledge base. It is represented as
KB. The Knowledgebase is a group of the Sentences (Here, sentences are used as a technical term and not identical with
the English language).

Knowledge: Knowledge is awareness or familiarity gained by experiences of facts, data, and situations. Following are the
types of knowledge in artificial intelligence:

Types of knowledge

1 of 6 24-Apr-21, 9:31 AM
Following are the various types of knowledge:

1. Declarative Knowledge:

Declarative knowledge is to know about something.

It includes concepts, facts, and objects.

It is also called descriptive knowledge and expressed in declarativesentences.

It is simpler than procedural language.

2. Procedural Knowledge

It is also known as imperative knowledge.

Procedural knowledge is a type of knowledge which is responsible for knowing how to do something.

It can be directly applied to any task.

It includes rules, strategies, procedures, agendas, etc.

Procedural knowledge depends on the task on which it can be applied.

3. Meta-knowledge:

Knowledge about the other types of knowledge is called Meta-knowledge.

4. Heuristic knowledge:

Heuristic knowledge is representing knowledge of some experts in a filed or subject.

Heuristic knowledge is rules of thumb based on previous experiences, awareness of approaches, and which are good to
work but not guaranteed.

5. Structural knowledge:

2 of 6 24-Apr-21, 9:31 AM
Structural knowledge is basic knowledge to problem-solving.

It describes relationships between various concepts such as kind of, part of, and grouping of something.

It describes the relationship that exists between concepts or objects.

The relation between knowledge and intelligence:


Knowledge of real-worlds plays a vital role in intelligence and same for creating artificial intelligence. Knowledge plays an
important role in demonstrating intelligent behavior in AI agents. An agent is only able to accurately act on some input when
he has some knowledge or experience about that input.

Let's suppose if you met some person who is speaking in a language which you don't know, then how you will able to act on
that. The same thing applies to the intelligent behavior of the agents.

As we can see in below diagram, there is one decision maker which act by sensing the environment and using knowledge. But
if the knowledge part will not present then, it cannot display intelligent behavior.

AI knowledge cycle:
An Artificial intelligence system has the following components for displaying intelligent behavior:

Perception

Learning

Knowledge Representation and Reasoning

Planning

Execution

3 of 6 24-Apr-21, 9:31 AM
The above diagram is showing how an AI system can interact with the real world and what components help it to show
intelligence. AI system has Perception component by which it retrieves information from its environment. It can be visual,
audio or another form of sensory input. The learning component is responsible for learning from data captured by Perception
comportment. In the complete cycle, the main components are knowledge representation and Reasoning. These two
components are involved in showing the intelligence in machine-like humans. These two components are independent with
each other but also coupled together. The planning and execution depend on analysis of Knowledge representation and
reasoning.

Approaches to knowledge representation:


There are mainly four approaches to knowledge representation, which are givenbelow:

1. Simple relational knowledge:

It is the simplest way of storing facts which uses the relational method, and each fact about a set of the object is set out
systematically in columns.

This approach of knowledge representation is famous in database systems where the relationship between different
entities is represented.

This approach has little opportunity for inference.

Example: The following is the simple relational knowledge representation.

Player Weight Age

Player1 65 23

Player2 58 18

Player3 75 24

2. Inheritable knowledge:

In the inheritable knowledge approach, all data must be stored into a hierarchy of classes.

All classes should be arranged in a generalized form or a hierarchal manner.

In this approach, we apply inheritance property.

4 of 6 24-Apr-21, 9:31 AM
Elements inherit values from other members of a class.

This approach contains inheritable knowledge which shows a relation between instance and class, and it is called
instance relation.

Every individual frame can represent the collection of attributes and its value.

In this approach, objects and values are represented in Boxed nodes.

We use Arrows which point from objects to their values.

Example:

3. Inferential knowledge:

Inferential knowledge approach represents knowledge in the form of formal logics.

This approach can be used to derive more facts.

It guaranteed correctness.

Example: Let's suppose there are two statements:

a. Marcus is a man

b. All men are mortal


Then it can represent as;

man(Marcus)
∀x = man (x) ----------> mortal (x)s

4. Procedural knowledge:

Procedural knowledge approach uses small programs and codes which describes how to do specific things, and how to
proceed.

In this approach, one important rule is used which is If-Then rule.

In this knowledge, we can use various coding languages such as LISP language and Prolog language.

We can easily represent heuristic or domain-specific knowledge using this approach.

5 of 6 24-Apr-21, 9:31 AM
But it is not necessary that we can represent all cases in this approach.

Requirements for knowledge Representation system:


A good knowledge representation system must possess the following properties.

1. 1. Representational Accuracy:
KR system should have the ability to represent all kind of required knowledge.

2. 2. Inferential Adequacy:
KR system should have ability to manipulate the representational structures to produce new knowledge corresponding
to existing structure.

3. 3. Inferential Efficiency:
The ability to direct the inferential knowledge mechanism into the most productive directions by storing appropriate
guides.

4. 4. Acquisitional efficiency- The ability to acquire the new knowledge easily using automatic methods.…

6 of 6 24-Apr-21, 9:31 AM
Firefox https://www.javatpoint.com/ai-techniques-of-knowledge-representation

Techniques of knowledge representation


There are mainly four ways of knowledge representation which are given as follows:

1. Logical Representation

2. Semantic Network Representation

3. Frame Representation

4. Production Rules

1. Logical Representation
Logical representation is a language with some concrete rules which deals with propositions and has no ambiguity in
representation. Logical representation means drawing a conclusion based on various conditions. This representation lays down
some important communication rules. It consists of precisely defined syntax and semantics which supports the sound
inference. Each sentence can be translated into logics using syntax and semantics.

Syntax:

Syntaxes are the rules which decide how we can construct legal sentences in the logic.

It determines which symbol we can use in knowledge representation.

How to write those symbols.

Semantics:

Semantics are the rules by which we can interpret the sentence in the logic.

Semantic also involves assigning a meaning to each sentence.

Logical representation can be categorised into mainly two logics:

1 of 6 24-Apr-21, 9:32 AM
a. Propositional Logics

b. Predicate logics

Note: We will discuss Prepositional Logics and Predicate logics in later chapters.

Advantages of logical representation:

1. Logical representation enables us to do logical reasoning.

2. Logical representation is the basis for the programming languages.

Disadvantages of logical Representation:

1. Logical representations have some restrictions and are challenging to work with.

2. Logical representation technique may not be very natural, and inference may not be so efficient.

Note: Do not be confused with logical representation and logical reasoning as logical representation is a representation
language and reasoning is a process of thinking logically.

2 of 6 24-Apr-21, 9:32 AM
2. Semantic Network Representation

Semantic networks are alternative of predicate logic for knowledge representation. In Semantic networks, we can represent
our knowledge in the form of graphical networks. This network consists of nodes representing objects and arcs which describe
the relationship between those objects. Semantic networks can categorize the object in different forms and can also link those
objects. Semantic networks are easy to understand and can be easily extended.

This representation consist of mainly two types of relations:

a. IS-A relation (Inheritance)

b. Kind-of-relation

Example: Following are some statements which we need to represent in the form of nodes and arcs.

Statements:

a. Jerry is a cat.

b. Jerry is a mammal

c. Jerry is owned by Priya.

d. Jerry is brown colored.

e. All Mammals are animal.

In the above diagram, we have represented the different type of knowledge in the form of nodes and arcs. Each object is
connected with another object by some relation.

Drawbacks in Semantic representation:

1. Semantic networks take more computational time at runtime as we need to traverse the complete network tree to
answer some questions. It might be possible in the worst case scenario that after traversing the entire tree, we find that
the solution does not exist in this network.

2. Semantic networks try to model human-like memory (Which has 1015 neurons and links) to store the information, but

3 of 6 24-Apr-21, 9:32 AM
in practice, it is not possible to build such a vast semantic network.

3. These types of representations are inadequate as they do not have any equivalent quantifier, e.g., for all, for some,
none, etc.

4. Semantic networks do not have any standard definition for the link names.

5. These networks are not intelligent and depend on the creator of the system.

Advantages of Semantic network:

1. Semantic networks are a natural representation of knowledge.

2. Semantic networks convey meaning in a transparent manner.

3. These networks are simple and easily understandable.

3. Frame Representation
A frame is a record like structure which consists of a collection of attributes and its values to describe an entity in the world.
Frames are the AI data structure which divides knowledge into substructures by representing stereotypes situations. It
consists of a collection of slots and slot values. These slots may be of any type and sizes. Slots have names and values which
are called facets.

Facets: The various aspects of a slot is known as Facets. Facets are features of frames which enable us to put constraints on
the frames. Example: IF-NEEDED facts are called when data of any particular slot is needed. A frame may consist of any
number of slots, and a slot may include any number of facets and facets may have any number of values. A frame is also
known as slot-filter knowledge representation in artificial intelligence.

Frames are derived from semantic networks and later evolved into our modern-day classes and objects. A single frame is not
much useful. Frames system consist of a collection of frames which are connected. In the frame, knowledge about an object or
event can be stored together in the knowledge base. The frame is a type of technology which is widely used in various
applications including Natural language processing and machine visions.

Example: 1

Let's take an example of a frame for a book

Slots Filters

Title Artificial Intelligence

Genre Computer Science

Author Peter Norvig

Edition Third Edition

Year 1996

Page 1152

Example 2:

Let's suppose we are taking an entity, Peter. Peter is an engineer as a profession, and his age is 25, he lives in city London,

4 of 6 24-Apr-21, 9:32 AM
and the country is England. So following is the frame representation for this:

Slots Filter

Name Peter

Profession Doctor

Age 25

Marital status Single

Weight 78

Advantages of frame representation:

1. The frame knowledge representation makes the programming easier by grouping the related data.

2. The frame representation is comparably flexible and used by many applications in AI.

3. It is very easy to add slots for new attribute and relations.

4. It is easy to include default data and to search for missing values.

5. Frame representation is easy to understand and visualize.

Disadvantages of frame representation:

1. In frame system inference mechanism is not be easily processed.

2. Inference mechanism cannot be smoothly proceeded by frame representation.

3. Frame representation has a much generalized approach.

4. Production Rules
Production rules system consist of (condition, action) pairs which mean, "If condition then action". It has mainly three parts:

The set of production rules

Working Memory

The recognize-act-cycle

In production rules agent checks for the condition and if the condition exists then production rule fires and corresponding
action is carried out. The condition part of the rule determines which rule may be applied to a problem. And the action part
carries out the associated problem-solving steps. This complete process is called a recognize-act cycle.

The working memory contains the description of the current state of problems-solving and rule can write knowledge to the
working memory. This knowledge match and may fire other rules.

If there is a new situation (state) generates, then multiple production rules will be fired together, this is called conflict set. In
this situation, the agent needs to select a rule from these sets, and it is called a conflict resolution.

Example:

IF (at bus stop AND bus arrives) THEN action (get into the bus)

5 of 6 24-Apr-21, 9:32 AM
IF (on the bus AND paid AND empty seat) THEN action (sit down).

IF (on bus AND unpaid) THEN action (pay charges).

IF (bus arrives at destination) THEN action (get down from the bus).

Advantages of Production rule:

1. The production rules are expressed in natural language.

2. The production rules are highly modular, so we can easily remove, add or modify an individual rule.

Disadvantages of Production rule:

1. Production rule system does not exhibit any learning capabilities, as it does not store the result of the problem for the
future uses.

2. During the execution of the program, many rules may be active hence rule-based production systems are inefficient.

6 of 6 24-Apr-21, 9:32 AM
Propositional logic in Artificial intelligence
Propositional logic (PL) is the simplest form of logic where all the statements are made by propositions. A proposition is a
declarative statement which is either true or false. It is a technique of knowledge representation in logical and mathematical
form.

Example:

a) It is Sunday.

b) The Sun rises from West (False proposition)

c) 3+3= 7(False proposition)

d) 5 is a prime number.

Following are some basic facts about propositional logic:

Propositional logic is also called Boolean logic as it works on 0 and 1.

In propositional logic, we use symbolic variables to represent the logic, and we can use any symbol for a representing a
proposition, such A, B, C, P, Q, R, etc.

Propositions can be either true or false, but it cannot be both.

Propositional logic consists of an object, relations or function, and logical connectives.

These connectives are also called logical operators.

The propositions and connectives are the basic elements of the propositional logic.

Connectives can be said as a logical operator which connects two sentences.

A proposition formula which is always true is called tautology, and it is also called a valid sentence.

A proposition formula which is always false is called Contradiction.

A proposition formula which has both true and false values is called

Statements which are questions, commands, or opinions are not propositions such as "Where is Rohini", "How are
you", "What is your name", are not propositions.

Syntax of propositional logic:

The syntax of propositional logic defines the allowable sentences for the knowledge representation. There are two types of
Propositions:

1 of 5 24-Apr-21, 9:34 AM
a. Atomic Propositions

b. Compound propositions

Atomic Proposition: Atomic propositions are the simple propositions. It consists of a single proposition symbol. These
are the sentences which must be either true or false.

Example:

a) 2+2 is 4, it is an atomic proposition as it is a true fact.

b) "The Sun is cold" is also a proposition as it is a false fact.

Compound proposition: Compound propositions are constructed by combining simpler or atomic propositions, using
parenthesis and logical connectives.

Example:

a) "It is raining today, and street is wet."

b) "Ankit is a doctor, and his clinic is in Mumbai."

Logical Connectives:
Logical connectives are used to connect two simpler propositions or representing a sentence logically. We can create
compound propositions with the help of logical connectives. There are mainly five connectives, which are given as follows:

1. Negation: A sentence such as ¬ P is called negation of P. A literal can be either Positive literal or negative literal.

2. Conjunction: A sentence which has ∧ connective such as, P ∧ Q is called a conjunction.


Example: Rohan is intelligent and hardworking. It can be written as,
P= Rohan is intelligent,
Q= Rohan is hardworking. → P∧ Q.

3. Disjunction: A sentence which has ∨ connective, such as P ∨ Q. is called disjunction, where P and Q are the
propositions.
Example: "Ritika is a doctor or Engineer",
Here P= Ritika is Doctor. Q= Ritika is Doctor, so we can write it as P ∨ Q.

4. Implication: A sentence such as P → Q, is called an implication. Implications are also known as if-then rules. It can be
represented as

2 of 5 24-Apr-21, 9:34 AM
If it is raining, then the street is wet.
Let P= It is raining, and Q= Street is wet, so it is represented as P → Q

5. Biconditional: A sentence such as P⇔ Q is a Biconditional sentence, example If I am breathing, then I am alive


P= I am breathing, Q= I am alive, it can be represented as P ⇔ Q.

Following is the summarized table for Propositional Logic Connectives:

Truth Table:

In propositional logic, we need to know the truth values of propositions in all possible scenarios. We can combine all the
possible combination with logical connectives, and the representation of these combinations in a tabular format is called Truth
table. Following are the truth table for all logical connectives:

3 of 5 24-Apr-21, 9:34 AM
Truth table with three propositions:

We can build a proposition composing three propositions P, Q, and R. This truth table is made-up of 8n Tuples as we have
taken three proposition symbols.

Precedence of connectives:

Just like arithmetic operators, there is a precedence order for propositional connectors or logical operators. This order should
be followed while evaluating a propositional problem. Following is the list of the precedence order for operators:

Precedence Operators

First Precedence Parenthesis

Second Precedence Negation

Third Precedence Conjunction(AND)

Fourth Precedence Disjunction(OR)

Fifth Precedence Implication

Six Precedence Biconditional

Note: For better understanding use parenthesis to make sure of the correct interpretations. Such as ¬R∨ Q, It can be
interpreted as (¬R) ∨ Q.

Logical equivalence:

Logical equivalence is one of the features of propositional logic. Two propositions are said to be logically equivalent if and only
if the columns in the truth table are identical to each other.

Let's take two propositions A and B, so for logical equivalence, we can write it as A⇔B. In below truth table we can see that
column for ¬A∨ B and A→B, are identical hence A is Equivalent to B

4 of 5 24-Apr-21, 9:34 AM
Properties of Operators:

Commutativity:

P∧ Q= Q ∧ P, or

P ∨ Q = Q ∨ P.

Associativity:

(P ∧ Q) ∧ R= P ∧ (Q ∧ R),

(P ∨ Q) ∨ R= P ∨ (Q ∨ R)

Identity element:

P ∧ True = P,

P ∨ True= True.

Distributive:

P∧ (Q ∨ R) = (P ∧ Q) ∨ (P ∧ R).

P ∨ (Q ∧ R) = (P ∨ Q) ∧ (P ∨ R).

DE Morgan's Law:

¬ (P ∧ Q) = (¬P) ∨ (¬Q)

¬ (P ∨ Q) = (¬ P) ∧ (¬Q).

Double-negation elimination:

¬ (¬P) = P.

Limitations of Propositional logic:

We cannot represent relations like ALL, some, or none with propositional logic. Example:

a. All the girls are intelligent.

b. Some apples are sweet.

Propositional logic has limited expressive power.

In propositional logic, we cannot describe statements in terms of their properties or logical relationships.

5 of 5 24-Apr-21, 9:34 AM
Rules of Inference in Artificial intelligence
Inference:
In artificial intelligence, we need intelligent computers which can create new logic from old logic or by evidence, so
generating the conclusions from evidence and facts is termed as Inference.

Inference rules:

Inference rules are the templates for generating valid arguments. Inference rules are applied to derive proofs in artificial
intelligence, and the proof is a sequence of the conclusion that leads to the desired goal.

In inference rules, the implication among all the connectives plays an important role. Following are some terminologies related
to inference rules:

Implication: It is one of the logical connectives which can be represented as P → Q. It is a Boolean expression.

1 of 4 24-Apr-21, 9:35 AM
Converse: The converse of implication, which means the right-hand side proposition goes to the left-hand side and
vice-versa. It can be written as Q → P.

Contrapositive: The negation of converse is termed as contrapositive, and it can be represented as ¬ Q → ¬ P.

Inverse: The negation of implication is called inverse. It can be represented as ¬ P → ¬ Q.

From the above term some of the compound statements are equivalent to each other, which we can prove using truth table:

Hence from the above truth table, we can prove that P → Q is equivalent to ¬ Q → ¬ P, and Q→ P is equivalent to ¬ P → ¬ Q.

Types of Inference rules:


1. Modus Ponens:

The Modus Ponens rule is one of the most important rules of inference, and it states that if P and P → Q is true, then we can
infer that Q will be true. It can be represented as:

Example:

Statement-1: "If I am sleepy then I go to bed" ==> P→ Q


Statement-2: "I am sleepy" ==> P
Conclusion: "I go to bed." ==> Q.
Hence, we can say that, if P→ Q is true and P is true then Q will be true.

Proof by Truth table:

2. Modus Tollens:

The Modus Tollens rule state that if P→ Q is true and ¬ Q is true, then ¬ P will also true. It can be represented as:

Statement-1: "If I am sleepy then I go to bed" ==> P→ Q


Statement-2: "I do not go to the bed."==> ~Q
Statement-3: Which infers that "I am not sleepy" => ~P

Proof by Truth table:

2 of 4 24-Apr-21, 9:35 AM
3. Hypothetical Syllogism:

The Hypothetical Syllogism rule state that if P→R is true whenever P→Q is true, and Q→R is true. It can be represented as the
following notation:

Example:

Statement-1: If you have my home key then you can unlock my home. P→Q
Statement-2: If you can unlock my home then you can take my money. Q→R
Conclusion: If you have my home key then you can take my money. P→R

Proof by truth table:

4. Disjunctive Syllogism:

The Disjunctive syllogism rule state that if P∨Q is true, and ¬P is true, then Q will be true. It can be represented as:

Example:

Statement-1: Today is Sunday or Monday. ==>P∨Q


Statement-2: Today is not Sunday. ==> ¬P
Conclusion: Today is Monday. ==> Q

Proof by truth-table:

5. Addition:

The Addition rule is one the common inference rule, and it states that If P is true, then P∨Q will be true.

3 of 4 24-Apr-21, 9:35 AM
Example:

Statement: I have a vanilla ice-cream. ==> P


Statement-2: I have Chocolate ice-cream.
Conclusion: I have vanilla or chocolate ice-cream. ==> (P∨Q)

Proof by Truth-Table:

6. Simplification:

The simplification rule state that if P∧ Q is true, then Q or P will also be true. It can be represented as:

Proof by Truth-Table:

7. Resolution:

The Resolution rule state that if P∨Q and ¬ P∧R is true, then Q∨R will also be true. It can be represented as

Proof by Truth-Table:

4 of 4 24-Apr-21, 9:35 AM
The Wumpus World in Artificial intelligence
Wumpus world:
The Wumpus world is a simple world example to illustrate the worth of a knowledge-based agent and to represent knowledge
representation. It was inspired by a video game Hunt the Wumpus by Gregory Yob in 1973.

The Wumpus world is a cave which has 4/4 rooms connected with passageways. So there are total 16 rooms which are
connected with each other. We have a knowledge-based agent who will go forward in this world. The cave has a room with a
beast which is called Wumpus, who eats anyone who enters the room. The Wumpus can be shot by the agent, but the agent
has a single arrow. In the Wumpus world, there are some Pits rooms which are bottomless, and if agent falls in Pits, then he
will be stuck there forever. The exciting thing with this cave is that in one room there is a possibility of finding a heap of gold.
So the agent goal is to find the gold and climb out the cave without fallen into Pits or eaten by Wumpus. The agent will get a
reward if he comes out with gold, and he will get a penalty if eaten by Wumpus or falls in the pit.

Note: Here Wumpus is static and cannot move.

Following is a sample diagram for representing the Wumpus world. It is showing some rooms with Pits, one room with
Wumpus and one agent at (1, 1) square location of the world.

Cancel

1 of 4 24-Apr-21, 9:38 AM
There are also some components which can help the agent to navigate the cave. These components are given as
follows:

a. The rooms adjacent to the Wumpus room are smelly, so that it would have some stench.

b. The room adjacent to PITs has a breeze, so if the agent reaches near to PIT, then he will perceive the breeze.

c. There will be glitter in the room if and only if the room has gold.

d. The Wumpus can be killed by the agent if the agent is facing to it, and Wumpus will emit a horrible scream which can be
heard anywhere in the cave.

PEAS description of Wumpus world:

To explain the Wumpus world we have given PEAS description as below:

Performance measure:

+1000 reward points if the agent comes out of the cave with the gold.

-1000 points penalty for being eaten by the Wumpus or falling into the pit.

-1 for each action, and -10 for using an arrow.

The game ends if either agent dies or came out of the cave.

Environment:

A 4*4 grid of rooms.

The agent initially in room square [1, 1], facing toward the right.

Location of Wumpus and gold are chosen randomly except the first square [1,1].

Each square of the cave can be a pit with probability 0.2 except the first square.

2 of 4 24-Apr-21, 9:38 AM
Actuators:

Left turn,

Right turn

Move forward

Grab

Release

Shoot.

Sensors:

The agent will perceive the stench if he is in the room adjacent to the Wumpus. (Not diagonally).

The agent will perceive breeze if he is in the room directly adjacent to the Pit.

The agent will perceive the glitter in the room where the gold is present.

The agent will perceive the bump if he walks into a wall.

When the Wumpus is shot, it emits a horrible scream which can be perceived anywhere in the cave.

These percepts can be represented as five element list, in which we will have different indicators for each sensor.

Example if agent perceives stench, breeze, but no glitter, no bump, and no scream then it can be represented as:
[Stench, Breeze, None, None, None].

The Wumpus world Properties:


Partially observable: The Wumpus world is partially observable because the agent can only perceive the close
environment such as an adjacent room.

Deterministic: It is deterministic, as the result and outcome of the world are already known.

Sequential: The order is important, so it is sequential.

Static: It is static as Wumpus and Pits are not moving.

Discrete: The environment is discrete.

One agent: The environment is a single agent as we have one agent only and Wumpus is not considered as an agent.

Exploring the Wumpus world:


Now we will explore the Wumpus world and will determine how the agent will find its goal by applying logical reasoning.

Agent's First step:

Initially, the agent is in the first room or on the square [1,1], and we already know that this room is safe for the agent, so to
represent on the below diagram (a) that room is safe we will add symbol OK. Symbol A is used to represent agent, symbol B
for the breeze, G for Glitter or gold, V for the visited room, P for pits, W for Wumpus.

At Room [1,1] agent does not feel any breeze or any Stench which means the adjacent squares are also OK.

3 of 4 24-Apr-21, 9:38 AM
Agent's second Step:

Now agent needs to move forward, so it will either move to [1, 2], or [2,1]. Let's suppose agent moves to the room [2, 1], at
this room agent perceives some breeze which means Pit is around this room. The pit can be in [3, 1], or [2,2], so we will add
symbol P? to say that, is this Pit room?

Now agent will stop and think and will not make any harmful move. The agent will go back to the [1, 1] room. The room [1,1],
and [2,1] are visited by the agent, so we will use symbol V to represent the visited squares.

Agent's third step:

At the third step, now agent will move to the room [1,2] which is OK. In the room [1,2] agent perceives a stench which means
there must be a Wumpus nearby. But Wumpus cannot be in the room [1,1] as by rules of the game, and also not in [2,2]
(Agent had not detected any stench when he was at [2,1]). Therefore agent infers that Wumpus is in the room [1,3], and in
current state, there is no breeze which means in [2,2] there is no Pit and no Wumpus. So it is safe, and we will mark it OK,
and the agent moves further in [2,2].

Agent's fourth step:

At room [2,2], here no stench and no breezes present so let's suppose agent decides to move to [2,3]. At room [2,3] agent
perceives glitter, so it should grab the gold and climb out of the cave.

4 of 4 24-Apr-21, 9:38 AM
Knowledge-base for Wumpus world
As in the previous topic we have learned about the wumpus world and
how a knowledge-based agent evolves the world. Now in this topic, we
will create a knowledge base for the wumpus world, and will derive some
proves for the Wumpus-world using propositional logic.

The agent starts visiting from first square [1, 1], and we already know
that this room is safe for the agent. To build a knowledge base for
wumpus world, we will use some rules and atomic propositions. We need
symbol [i, j] for each location in the wumpus world, where i is for the
location of rows, and j for column location.

Atomic proposition variable for Wumpus world:

Let Pi,j be true if there is a Pit in the room [i, j].

Let Bi,j be true if agent perceives breeze in [i, j], (dead or alive).

Let Wi,j be true if there is wumpus in the square[i, j].

Let Si,j be true if agent perceives stench in the square [i, j].

Let Vi,j be true if that square[i, j] is visited.

Let Gi,j be true if there is gold (and glitter) in the square [i, j].

Let OKi,j be true if the room is safe.

1 of 5 24-Apr-21, 9:39 AM
Note: For a 4 * 4 square board, there will be 7*4*4= 122
propositional variables.

Some Propositional Rules for the wumpus world:

Note: lack of variables gives us similar rules for each cell.

Representation of Knowledgebase for Wumpus world:

Following is the Simple KB for wumpus world when an agent moves from
room [1, 1], to room [2,1]:

Here in the first row, we have mentioned propositional variables for


room[1,1], which is showing that room does not have wumpus(¬ W 11),

no stench (¬S11), no Pit(¬P11), no breeze(¬B11), no gold (¬G11),

2 of 5 24-Apr-21, 9:39 AM
visited (V11), and the room is Safe(OK11).

In the second row, we have mentioned propositional variables for room


[1,2], which is showing that there is no wumpus, stench and breeze are
unknown as an agent has not visited room [1,2], no Pit, not visited yet,
and the room is safe.

In the third row we have mentioned propositional variable for room[2,1],


which is showing that there is no wumpus(¬ W21), no stench (¬S21),

no Pit (¬P21), Perceives breeze(B21), no glitter(¬G21), visited (V21),

and room is safe (OK21).

Prove that Wumpus is in the room (1, 3)


We can prove that wumpus is in the room (1, 3) using propositional
rules which we have derived for the wumpus world and using inference
rule.

Apply Modus Ponens with ¬S11 and R1:

We will firstly apply MP rule with R1 which is ¬S11 → ¬ W11 ^ ¬ W12 ^

¬ W21, and ¬S11 which will give the output ¬ W11 ^ W12 ^ W12.

Apply And-Elimination Rule:

After applying And-elimination rule to ¬ W11 ∧ ¬ W12 ∧ ¬ W21, we will

get three statements:


¬ W11, ¬ W12, and ¬W21.

Apply Modus Ponens to ¬S21, and R2:

Now we will apply Modus Ponens to ¬S21 and R2 which is ¬S21 → ¬ W21

∧¬ W22 ∧ ¬ W31, which will give the Output as ¬ W21 ∧ ¬ W22 ∧¬ W31

3 of 5 24-Apr-21, 9:39 AM
Apply And -Elimination rule:

Now again apply And-elimination rule to ¬ W21 ∧ ¬ W22 ∧¬ W31, We

will get three statements:


¬ W21, ¬ W22, and ¬ W31.

Apply MP to S12 and R4:

Apply Modus Ponens to S12 and R4 which is S12 → W13 ∨. W12 ∨. W22

∨.W11, we will get the output as W13∨ W12 ∨ W22 ∨.W11.

Apply Unit resolution on W13 ∨ W12 ∨ W22 ∨W11 and ¬ W11

After applying Unit resolution formula on W13 ∨ W12 ∨ W22 ∨W11 and ¬

W11 we will get W13 ∨ W12 ∨ W22.

Apply Unit resolution on W13 ∨ W12 ∨ W22 and ¬ W22 :

After applying Unit resolution on W13 ∨ W12 ∨ W22, and ¬W22, we will

get W13 ∨ W12 as output.

4 of 5 24-Apr-21, 9:39 AM
Apply Unit Resolution on W13 ∨ W12 and ¬ W12 :

After Applying Unit resolution on W13 ∨ W12 and ¬ W12, we will get

W13 as an output, hence it is proved that the Wumpus is in the room [1,

3].

5 of 5 24-Apr-21, 9:39 AM
First-Order Logic in Artificial intelligence
In the topic of Propositional logic, we have seen that how to represent statements using propositional logic. But unfortunately,
in propositional logic, we can only represent the facts, which are either true or false. PL is not sufficient to represent the
complex sentences or natural language statements. The propositional logic has very limited expressive power. Consider the
following sentence, which we cannot represent using PL logic.

"Some humans are intelligent", or

"Sachin likes cricket."

To represent the above statements, PL logic is not sufficient, so we required some more powerful logic, such as first-order
logic.

First-Order logic:
First-order logic is another way of knowledge representation in artificial intelligence. It is an extension to propositional
logic.

FOL is sufficiently expressive to represent the natural language statements in a concise way.

First-order logic is also known as Predicate logic or First-order predicate logic. First-order logic is a powerful
language that develops information about the objects in a more easy way and can also express the relationship between
those objects.

First-order logic (like natural language) does not only assume that the world contains facts like propositional logic but
also assumes the following things in the world:

Objects: A, B, people, numbers, colors, wars, theories, squares, pits, wumpus, ......

Relations: It can be unary relation such as: red, round, is adjacent, or n-any relation such as: the sister
of, brother of, has color, comes between

Function: Father of, best friend, third inning of, end of, ......

As a natural language, first-order logic also has two main parts:

a. Syntax

b. Semantics

Syntax of First-Order logic:

The syntax of FOL determines which collection of symbols is a logical expression in first-order logic. The basic syntactic
elements of first-order logic are symbols. We write statements in short-hand notation in FOL.

1 of 6 24-Apr-21, 9:40 AM
Basic Elements of First-order logic:

Following are the basic elements of FOL syntax:

Constant 1, 2, A, John, Mumbai, cat,....

Variables x, y, z, a, b,....

Predicates Brother, Father, >,....

Function sqrt, LeftLegOf, ....

Connectives ∧, ∨, ¬, ⇒, ⇔

Equality ==

Quantifier ∀, ∃

Atomic sentences:

Atomic sentences are the most basic sentences of first-order logic. These sentences are formed from a predicate symbol
followed by a parenthesis with a sequence of terms.

We can represent atomic sentences as Predicate (term1, term2, ......, term n).

Example: Ravi and Ajay are brothers: => Brothers(Ravi, Ajay).


Chinky is a cat: => cat (Chinky).

Complex Sentences:

Complex sentences are made by combining atomic sentences using connectives.

First-order logic statements can be divided into two parts:

Subject: Subject is the main part of the statement.

Predicate: A predicate can be defined as a relation, which binds two atoms together in a statement.

Consider the statement: "x is an integer.", it consists of two parts, the first part x is the subject of the statement and
second part "is an integer," is known as a predicate.

2 of 6 24-Apr-21, 9:40 AM
Quantifiers in First-order logic:
A quantifier is a language element which generates quantification, and quantification specifies the quantity of specimen
in the universe of discourse.

These are the symbols that permit to determine or identify the range and scope of the variable in the logical expression.
There are two types of quantifier:

a. Universal Quantifier, (for all, everyone, everything)

b. Existential quantifier, (for some, at least one).

Universal Quantifier:

Universal quantifier is a symbol of logical representation, which specifies that the statement within its range is true for
everything or every instance of a particular thing.

The Universal quantifier is represented by a symbol ∀, which resembles an inverted A.

Note: In universal quantifier we use implication "→".

If x is a variable, then ∀x is read as:

For all x

For each x

For every x.

Example:

All man drink coffee.

Let a variable x which refers to a cat so all x can be represented in UOD as below:

3 of 6 24-Apr-21, 9:40 AM
∀x man(x) → drink (x, coffee).

It will be read as: There are all x where x is a man who drink coffee.

Existential Quantifier:
Existential quantifiers are the type of quantifiers, which express that the statement within its scope is true for at least one
instance of something.

It is denoted by the logical operator ∃, which resembles as inverted E. When it is used with a predicate variable then it is called
as an existential quantifier.

Note: In Existential quantifier we always use AND or Conjunction symbol (∧).

If x is a variable, then existential quantifier will be ∃x or ∃(x). And it will be read as:

There exists a 'x.'

For some 'x.'

For at least one 'x.'

Example:

Some boys are intelligent.

4 of 6 24-Apr-21, 9:40 AM
∃x: boys(x) ∧ intelligent(x)

It will be read as: There are some x where x is a boy who is intelligent.

Points to remember:
The main connective for universal quantifier ∀ is implication →.

The main connective for existential quantifier ∃ is and ∧.

Properties of Quantifiers:
In universal quantifier, ∀x∀y is similar to ∀y∀x.

In Existential quantifier, ∃x∃y is similar to ∃y∃x.

∃x∀y is not similar to ∀y∃x.

Some Examples of FOL using quantifier:

1. All birds fly.


In this question the predicate is "fly(bird)."
And since there are all birds who fly so it will be represented as follows.
∀x bird(x) →fly(x).

2. Every man respects his parent.


In this question, the predicate is "respect(x, y)," where x=man, and y= parent.
Since there is every man so will use ∀, and it will be represented as follows:
∀x man(x) → respects (x, parent).

3. Some boys play cricket.


In this question, the predicate is "play(x, y)," where x= boys, and y= game. Since there are some boys so we will use ∃, and
it will be represented as:
∃x boys(x) → play(x, cricket).

4. Not all students like both Mathematics and Science.


In this question, the predicate is "like(x, y)," where x= student, and y= subject.
Since there are not all students, so we will use ∀ with negation, so following representation for this:
¬∀ (x) [ student(x) → like(x, Mathematics) ∧ like(x, Science)].

5 of 6 24-Apr-21, 9:40 AM
5. Only one student failed in Mathematics.
In this question, the predicate is "failed(x, y)," where x= student, and y= subject.
Since there is only one student who failed in Mathematics, so we will use following representation for this:
∃(x) [ student(x) → failed (x, Mathematics) ∧∀ (y) [¬(x==y) ∧ student(y) → ¬failed (x, Mathematics)].

Free and Bound Variables:


The quantifiers interact with variables which appear in a suitable way. There are two types of variables in First-order logic
which are given below:

Free Variable: A variable is said to be a free variable in a formula if it occurs outside the scope of the quantifier.

Example: ∀x ∃(y)[P (x, y, z)], where z is a free variable.

Bound Variable: A variable is said to be a bound variable in a formula if it occurs within the scope of the quantifier.

Example: ∀x [A (x) B( y)], here x and y are the bound variables.

6 of 6 24-Apr-21, 9:40 AM
Knowledge Engineering in First-order logic
What is knowledge-engineering?
The process of constructing a knowledge-base in first-order logic is called as knowledge- engineering. In knowledge-
engineering, someone who investigates a particular domain, learns important concept of that domain, and generates a
formal representation of the objects, is known as knowledge engineer.

In this topic, we will understand the Knowledge engineering process in an electronic circuit domain, which is already familiar.
This approach is mainly suitable for creating special-purpose knowledge base.

The knowledge-engineering process:

Following are some main steps of the knowledge-engineering process. Using these steps, we will develop a knowledge base
which will allow us to reason about digital circuit (One-bit full adder) which is given below

1. Identify the task:

The first step of the process is to identify the task, and for the digital circuit, there are various reasoning tasks.

1 of 4 24-Apr-21, 9:40 AM
At the first level or highest level, we will examine the functionality of the circuit:

Does the circuit add properly?

What will be the output of gate A2, if all the inputs are high?

At the second level, we will examine the circuit structure details such as:

Which gate is connected to the first input terminal?

Does the circuit have feedback loops?

2. Assemble the relevant knowledge:

In the second step, we will assemble the relevant knowledge which is required for digital circuits. So for digital circuits, we
have the following required knowledge:

Logic circuits are made up of wires and gates.

Signal flows through wires to the input terminal of the gate, and each gate produces the corresponding output which
flows further.

In this logic circuit, there are four types of gates used: AND, OR, XOR, and NOT.

All these gates have one output terminal and two input terminals (except NOT gate, it has one input terminal).

3. Decide on vocabulary:

The next step of the process is to select functions, predicate, and constants to represent the circuits, terminals, signals, and
gates. Firstly we will distinguish the gates from each other and from other objects. Each gate is represented as an object
which is named by a constant, such as, Gate(X1). The functionality of each gate is determined by its type, which is taken as
constants such as AND, OR, XOR, or NOT. Circuits will be identified by a predicate: Circuit (C1).

For the terminal, we will use predicate: Terminal(x).

For gate input, we will use the function In(1, X1) for denoting the first input terminal of the gate, and for output terminal we
will use Out (1, X1).

The function Arity(c, i, j) is used to denote that circuit c has i input, j output.

The connectivity between gates can be represented by predicate Connect(Out(1, X1), In(1, X1)).

We use a unary predicate On (t), which is true if the signal at a terminal is on.

4. Encode general knowledge about the domain:

To encode the general knowledge about the logic circuit, we need some following rules:

If two terminals are connected then they have the same input signal, it can be represented as:

∀ t1, t2 Terminal (t1) ∧ Terminal (t2) ∧ Connect (t1, t2) → Signal (t1) = Signal (2).

Signal at every terminal will have either value 0 or 1, it will be represented as:

∀ t Terminal (t) →Signal (t) = 1 ∨Signal (t) = 0.

2 of 4 24-Apr-21, 9:40 AM
Firefox

Connect predicates are commutative:

∀ t1, t2 Connect(t1, t2) → Connect (t2, t1).

Representation of types of gates:

∀ g Gate(g) ∧ r = Type(g) → r = OR ∨r = AND ∨r = XOR ∨r = NOT.

Output of AND gate will be zero if and only if any of its input is zero.

∀ g Gate(g) ∧ Type(g) = AND →Signal (Out(1, g))= 0 ⇔ ∃n Signal (In(n, g))= 0.

Output of OR gate is 1 if and only if any of its input is 1:

∀ g Gate(g) ∧ Type(g) = OR → Signal (Out(1, g))= 1 ⇔ ∃n Signal (In(n, g))= 1

Output of XOR gate is 1 if and only if its inputs are different:

∀ g Gate(g) ∧ Type(g) = XOR → Signal (Out(1, g)) = 1 ⇔ Signal (In(1, g)) ≠ Signal (In(2, g)).

Output of NOT gate is invert of its input:

∀ g Gate(g) ∧ Type(g) = NOT → Signal (In(1, g)) ≠ Signal (Out(1, g)).

All the gates in the above circuit have two inputs and one output (except NOT gate).

∀ g Gate(g) ∧ Type(g) = NOT → Arity(g, 1, 1)

∀ g Gate(g) ∧ r =Type(g) ∧ (r= AND ∨r= OR ∨r= XOR) → Arity (g, 2, 1).

All gates are logic circuits:

∀ g Gate(g) → Circuit (g).

5. Encode a description of the problem instance:

Now we encode problem of circuit C1, firstly we categorize the circuit and its gate components. This step is easy if ontology
about the problem is already thought. This step involves the writing simple atomics sentences of instances of concepts, which
is known as ontology.

For the given circuit C1, we can encode the problem instance in atomic sentences as below:

Since in the circuit there are two XOR, two AND, and one OR gate so atomic sentences for these gates will be:

For XOR gate: Type(x1)= XOR, Type(X2) = XOR

For AND gate: Type(A1) = AND, Type(A2)= AND

For OR gate: Type (O1) = OR.

3 of 4 24-Apr-21, 9:40 AM
Firefox

And then represent the connections between all the gates.

Note: Ontology defines a particular theory of the nature of existence.

6. Pose queries to the inference procedure and get answers:

In this step, we will find all the possible set of values of all the terminal for the adder circuit. The first query will be:

What should be the combination of input which would generate the first output of circuit C1, as 0 and a second output to be 1?

∃ i1, i2, i3 Signal (In(1, C1))=i1 ∧ Signal (In(2, C1))=i2 ∧ Signal (In(3, C1))= i3

∧ Signal (Out(1, C1)) =0 ∧ Signal (Out(2, C1))=1

7. Debug the knowledge base:

Now we will debug the knowledge base, and this is the last step of the complete process. In this step, we will try to debug the
issues of knowledge base.

In the knowledge base, we may have omitted assertions like 1 ≠ 0.

4 of 4 24-Apr-21, 9:40 AM
Firefox

Inference in First-Order Logic


Inference in First-Order Logic is used to deduce new facts or sentences from existing sentences. Before understanding the FOL
inference rule, let's understand some basic terminologies used in FOL.

Substitution:

Substitution is a fundamental operation performed on terms and formulas. It occurs in all inference systems in first-order
logic. The substitution is complex in the presence of quantifiers in FOL. If we write F[a/x], so it refers to substitute a constant
"a" in place of variable "x".

Note: First-order logic is capable of expressing facts about some or all objects in the universe.

Equality:

First-Order logic does not only use predicate and terms for making atomic sentences but also uses another way, which is
equality in FOL. For this, we can use equality symbols which specify that the two terms refer to the same object.

Example: Brother (John) = Smith.

As in the above example, the object referred by the Brother (John) is similar to the object referred by Smith. The equality

1 of 4 24-Apr-21, 9:41 AM
Firefox

symbol can also be used with negation to represent that two terms are not the same objects.

Example: ¬(x=y) which is equivalent to x ≠y.

FOL inference rules for quantifier:


As propositional logic we also have inference rules in first-order logic, so following are some basic inference rules in FOL:

Universal Generalization

Universal Instantiation

Existential Instantiation

Existential introduction

1. Universal Generalization:

Universal generalization is a valid inference rule which states that if premise P(c) is true for any arbitrary element c in
the universe of discourse, then we can have a conclusion as ∀ x P(x).

It can be represented as: .

This rule can be used if we want to show that every element has a similar property.

In this rule, x must not appear as a free variable.

Example: Let's represent, P(c): "A byte contains 8 bits", so for ∀ x P(x) "All bytes contain 8 bits.", it will also be true.

2. Universal Instantiation:

Universal instantiation is also called as universal elimination or UI is a valid inference rule. It can be applied multiple
times to add new sentences.

The new KB is logically equivalent to the previous KB.

As per UI, we can infer any sentence obtained by substituting a ground term for the variable.

The UI rule state that we can infer any sentence P(c) by substituting a ground term c (a constant within domain x) from
∀ x P(x) for any object in the universe of discourse.

It can be represented as: .

Example:1.

IF "Every person like ice-cream"=> ∀x P(x) so we can infer that


"John likes ice-cream" => P(c)

Example: 2.

Let's take a famous example,

"All kings who are greedy are Evil." So let our knowledge base contains this detail as in the form of FOL:

∀x king(x) ∧ greedy (x) → Evil (x),

So from this information, we can infer any of the following statements using Universal Instantiation:

King(John) ∧ Greedy (John) → Evil (John),

King(Richard) ∧ Greedy (Richard) → Evil (Richard),

2 of 4 24-Apr-21, 9:41 AM
Firefox

King(Father(John)) ∧ Greedy (Father(John)) → Evil (Father(John)),

3. Existential Instantiation:

Existential instantiation is also called as Existential Elimination, which is a valid inference rule in first-order logic.

It can be applied only once to replace the existential sentence.

The new KB is not logically equivalent to old KB, but it will be satisfiable if old KB was satisfiable.

This rule states that one can infer P(c) from the formula given in the form of ∃x P(x) for a new constant symbol c.

The restriction with this rule is that c used in the rule must be a new term for which P(c ) is true.

It can be represented as:

Example:

From the given sentence: ∃x Crown(x) ∧ OnHead(x, John),

So we can infer: Crown(K) ∧ OnHead( K, John), as long as K does not appear in the knowledge base.

The above used K is a constant symbol, which is called Skolem constant.

The Existential instantiation is a special case of Skolemization process.

4. Existential introduction

An existential introduction is also known as an existential generalization, which is a valid inference rule in first-order
logic.

This rule states that if there is some element c in the universe of discourse which has a property P, then we can infer
that there exists something in the universe which has the property P.

It can be represented as:

Example: Let's say that,


"Priyanka got good marks in English."
"Therefore, someone got good marks in English."

Generalized Modus Ponens Rule:

For the inference process in FOL, we have a single inference rule which is called Generalized Modus Ponens. It is lifted version
of Modus ponens.

Generalized Modus Ponens can be summarized as, " P implies Q and P is asserted to be true, therefore Q must be True."

According to Modus Ponens, for atomic sentences pi, pi', q. Where there is a substitution θ such that SUBST (θ, pi',) =
SUBST(θ, pi), it can be represented as:

Example:

3 of 4 24-Apr-21, 9:41 AM
Firefox

We will use this rule for Kings are evil, so we will find some x such that x is king, and x is greedy so we can infer
that x is evil.

Here let say, p1' is king(John) p1 is king(x)

p2' is Greedy(y) p2 is Greedy(x)

θ is {x/John, y/John} q is evil(x)

SUBST(θ,q).

4 of 4 24-Apr-21, 9:41 AM
Firefox

1 of 7 24-Apr-21, 9:43 AM
Firefox

Forward Chaining and backward chaining in AI


In artificial intelligence, forward and backward chaining is one of the important topics, but before understanding forward and
backward chaining lets first understand that from where these two terms came.

Inference engine:
The inference engine is the component of the intelligent system in artificial intelligence, which applies logical rules to the
knowledge base to infer new information from known facts. The first inference engine was part of the expert system. Inference
engine commonly proceeds in two modes, which are:

a. Forward chaining

b. Backward chaining

Horn Clause and Definite clause:

Horn clause and definite clause are the forms of sentences, which enables knowledge base to use a more restricted and
efficient inference algorithm. Logical inference algorithms use forward and backward chaining approaches, which require KB in
the form of the first-order definite clause.

Definite clause: A clause which is a disjunction of literals with exactly one positive literal is known as a definite clause or
strict horn clause.

Horn clause: A clause which is a disjunction of literals with at most one positive literal is known as horn clause. Hence all
the definite clauses are horn clauses.

Example: (¬ p V ¬ q V k). It has only one positive literal k.

It is equivalent to p ∧ q → k.

A. Forward Chaining

Forward chaining is also known as a forward deduction or forward reasoning method when using an inference engine. Forward
chaining is a form of reasoning which start with atomic sentences in the knowledge base and applies inference rules (Modus

2 of 7 24-Apr-21, 9:43 AM
Firefox

Ponens) in the forward direction to extract more data until a goal is reached.

The Forward-chaining algorithm starts from known facts, triggers all rules whose premises are satisfied, and add their
conclusion to the known facts. This process repeats until the problem is solved.

Properties of Forward-Chaining:

It is a down-up approach, as it moves from bottom to top.

It is a process of making a conclusion based on known facts or data, by starting from the initial state and reaches the
goal state.

Forward-chaining approach is also called as data-driven as we reach to the goal using available data.

Forward -chaining approach is commonly used in the expert system, such as CLIPS, business, and production rule
systems.

Consider the following famous example which we will use in both approaches:

Example:

"As per the law, it is a crime for an American to sell weapons to hostile nations. Country A, an enemy of America,
has some missiles, and all the missiles were sold to it by Robert, who is an American citizen."

Prove that "Robert is criminal."

To solve the above problem, first, we will convert all the above facts into first-order definite clauses, and then we will use a
forward-chaining algorithm to reach the goal.

Facts Conversion into FOL:

It is a crime for an American to sell weapons to hostile nations. (Let's say p, q, and r are variables)
American (p) ∧ weapon(q) ∧ sells (p, q, r) ∧ hostile(r) → Criminal(p) ...(1)

Country A has some missiles. ?p Owns(A, p) ∧ Missile(p). It can be written in two definite clauses by using Existential
Instantiation, introducing new Constant T1.
Owns(A, T1) ......(2)
Missile(T1) .......(3)

All of the missiles were sold to country A by Robert.


?p Missiles(p) ∧ Owns (A, p) → Sells (Robert, p, A) ......(4)

Missiles are weapons.


Missile(p) → Weapons (p) .......(5)

Enemy of America is known as hostile.


Enemy(p, America) →Hostile(p) ........(6)

Country A is an enemy of America.


Enemy (A, America) .........(7)

Robert is American
American(Robert). ..........(8)

Forward chaining proof:


Step-1:

3 of 7 24-Apr-21, 9:43 AM
Firefox

In the first step we will start with the known facts and will choose the sentences which do not have implications, such as:
American(Robert), Enemy(A, America), Owns(A, T1), and Missile(T1). All these facts will be represented as below.

Step-2:

At the second step, we will see those facts which infer from available facts and with satisfied premises.

Rule-(1) does not satisfy premises, so it will not be added in the first iteration.

Rule-(2) and (3) are already added.

Rule-(4) satisfy with the substitution {p/T1}, so Sells (Robert, T1, A) is added, which infers from the conjunction of Rule (2)
and (3).

Rule-(6) is satisfied with the substitution(p/A), so Hostile(A) is added and which infers from Rule-(7).

Step-3:

At step-3, as we can check Rule-(1) is satisfied with the substitution {p/Robert, q/T1, r/A}, so we can add
Criminal(Robert) which infers all the available facts. And hence we reached our goal statement.

Hence it is proved that Robert is Criminal using forward chaining approach.

B. Backward Chaining:
Backward-chaining is also known as a backward deduction or backward reasoning method when using an inference engine. A
backward chaining algorithm is a form of reasoning, which starts with the goal and works backward, chaining through rules to
find known facts that support the goal.

Properties of backward chaining:

It is known as a top-down approach.

4 of 7 24-Apr-21, 9:43 AM
Firefox

Backward-chaining is based on modus ponens inference rule.

In backward chaining, the goal is broken into sub-goal or sub-goals to prove the facts true.

It is called a goal-driven approach, as a list of goals decides which rules are selected and used.

Backward -chaining algorithm is used in game theory, automated theorem proving tools, inference engines, proof
assistants, and various AI applications.

The backward-chaining method mostly used a depth-first search strategy for proof.

Example:

In backward-chaining, we will use the same above example, and will rewrite all the rules.

American (p) ∧ weapon(q) ∧ sells (p, q, r) ∧ hostile(r) → Criminal(p) ...(1)


Owns(A, T1) ........(2)

Missile(T1)

?p Missiles(p) ∧ Owns (A, p) → Sells (Robert, p, A) ......(4)

Missile(p) → Weapons (p) .......(5)

Enemy(p, America) →Hostile(p) ........(6)

Enemy (A, America) .........(7)

American(Robert). ..........(8)

Backward-Chaining proof:
In Backward chaining, we will start with our goal predicate, which is Criminal(Robert), and then infer further rules.

Step-1:

At the first step, we will take the goal fact. And from the goal fact, we will infer other facts, and at last, we will prove those
facts true. So our goal fact is "Robert is Criminal," so following is the predicate of it.

Step-2:

At the second step, we will infer other facts form goal fact which satisfies the rules. So as we can see in Rule-1, the goal
predicate Criminal (Robert) is present with substitution {Robert/P}. So we will add all the conjunctive facts below the first
level and will replace p with Robert.

Here we can see American (Robert) is a fact, so it is proved here.

5 of 7 24-Apr-21, 9:43 AM
Firefox

Step-3:t At step-3, we will extract further fact Missile(q) which infer from Weapon(q), as it satisfies Rule-(5). Weapon (q) is
also true with the substitution of a constant T1 at q.

Step-4:

At step-4, we can infer facts Missile(T1) and Owns(A, T1) form Sells(Robert, T1, r) which satisfies the Rule- 4, with the
substitution of A in place of r. So these two statements are proved here.

6 of 7 24-Apr-21, 9:43 AM
Firefox

Step-5:

At step-5, we can infer the fact Enemy(A, America) from Hostile(A) which satisfies Rule- 6. And hence all the statements
are proved true using backward chaining.

7 of 7 24-Apr-21, 9:43 AM
Firefox

Difference between backward


chaining and forward chaining
Following is the difference between the forward chaining and
backward chaining:

Forward chaining as the name suggests, start from the known


facts and move forward by applying inference rules to extract
more data, and it continues until it reaches to the goal,
whereas backward chaining starts from the goal, move
backward by using inference rules to determine the facts that
satisfy the goal.

Forward chaining is called a data-driven inference


technique, whereas backward chaining is called a goal-
driven inference technique.

Forward chaining is known as the down-up approach,


whereas backward chaining is known as a top-down
approach.

Forward chaining uses breadth-first search strategy,


whereas backward chaining uses depth-first search
strategy.

Forward and backward chaining both applies Modus ponens


inference rule.

Forward chaining can be used for tasks such as planning,


design process monitoring, diagnosis, and
classification, whereas backward chaining can be used for
classification and diagnosis tasks.

Forward chaining can be like an exhaustive search, whereas


backward chaining tries to avoid the unnecessary path of
reasoning.

In forward-chaining there can be various ASK questions from


the knowledge base, whereas in backward chaining there can
be fewer ASK questions.

Forward chaining is slow as it checks for all the rules,


whereas backward chaining is fast as it checks few required

1 of 2 24-Apr-21, 9:44 AM
Firefox

rules only.

S. Forward Chaining Backward Chaining


No.

1. Forward chaining starts Backward chaining starts


from known facts and from the goal and works
applies inference rule to backward through inference
extract more data unit it rules to find the required
reaches to the goal. facts that support the goal.

2. It is a bottom-up approach It is a top-down approach

3. Forward chaining is known Backward chaining is known


as data-driven inference as goal-driven technique as
technique as we reach to we start from the goal and
the goal using the available divide into sub-goal to
data. extract the facts.

4. Forward chaining reasoning Backward chaining


applies a breadth-first reasoning applies a depth-
search strategy. first search strategy.

5. Forward chaining tests for Backward chaining only


all the available rules tests for few required rules.

6. Forward chaining is Backward chaining is


suitable for the planning, suitable for diagnostic,
monitoring, control, and prescription, and debugging
interpretation application. application.

7. Forward chaining can Backward chaining


generate an infinite generates a finite number of
number of possible possible conclusions.
conclusions.

8. It operates in the forward It operates in the backward


direction. direction.

9. Forward chaining is aimed Backward chaining is only


for any conclusion. aimed for the required data.

2 of 2 24-Apr-21, 9:44 AM
Firefox

Reasoning in Artificial intelligence


In previous topics, we have learned various ways of knowledge representation in artificial intelligence. Now we will learn the
various ways to reason on this knowledge using different logical schemes.

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.

In artificial intelligence, the reasoning is essential so that the machine can also think rationally as a human brain, and can
perform like a human.

Types of Reasoning

In artificial intelligence, reasoning can be divided into the following categories:

1 of 4 24-Apr-21, 9:46 AM
Firefox

Deductive reasoning

Inductive reasoning

Abductive reasoning

Common Sense Reasoning

Monotonic Reasoning

Non-monotonic Reasoning

Note: Inductive and deductive reasoning are the forms of propositional logic.

1. 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.

The general process of deductive reasoning is given below:

2. 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:

2 of 4 24-Apr-21, 9:46 AM
Firefox

Premise: All of the pigeons we have seen in the zoo are white.

Conclusion: Therefore, we can expect all the pigeons to be white.

3. 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.

4. 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:

1. One person can be at one place at a time.

2. If I put my hand in a fire, then it will burn.

The above two statements are the examples of common sense reasoning which a human mind can easily understand and
assume.

5. 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.

3 of 4 24-Apr-21, 9:46 AM
Firefox

Any theorem proving is an example of monotonic reasoning.

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.

Advantages of Monotonic Reasoning:

In monotonic reasoning, each old proof will always remain valid.

If we deduce some facts from available facts, then it will remain valid for always.

Disadvantages of Monotonic Reasoning:

We cannot represent the real world scenarios using Monotonic reasoning.

Hypothesis knowledge cannot be expressed with monotonic reasoning, which means facts should be true.

Since we can only derive conclusions from the old proofs, so new knowledge from the real world cannot be added.

6. 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.

Advantages of Non-monotonic reasoning:

For real-world systems such as Robot navigation, we can use non-monotonic reasoning.

In Non-monotonic reasoning, we can choose probabilistic facts or can make assumptions.

Disadvantages of Non-monotonic Reasoning:

In non-monotonic reasoning, the old facts may be invalidated by adding new sentences.

It cannot be used for theorem proving.

4 of 4 24-Apr-21, 9:46 AM
Firefox

Probabilistic reasoning in Artificial intelligence


Uncertainty:
Till now, we have learned knowledge representation using first-order logic and propositional logic with certainty, which means
we were sure about the predicates. With this knowledge representation, we might write A→B, which means if A is true then B
is true, but consider a situation where we are not sure about whether A is true or not then we cannot express this statement,
this situation is called uncertainty.

So to represent uncertain knowledge, where we are not sure about the predicates, we need uncertain reasoning or
probabilistic reasoning.

Causes of uncertainty:

Following are some leading causes of uncertainty to occur in the real world.

1. Information occurred from unreliable sources.

2. Experimental Errors

3. Equipment fault

4. Temperature variation

5. Climate change.

Probabilistic reasoning:
Probabilistic reasoning is a way of knowledge representation where we apply the concept of probability to indicate the
uncertainty in knowledge. In probabilistic reasoning, we combine probability theory with logic to handle the uncertainty.

We use probability in probabilistic reasoning because it provides a way to handle the uncertainty that is the result of
someone's laziness and ignorance.

In the real world, there are lots of scenarios, where the certainty of something is not confirmed, such as "It will rain today,"

1 of 3 24-Apr-21, 9:47 AM
Firefox

"behavior of someone for some situations," "A match between two teams or two players." These are probable sentences for
which we can assume that it will happen but not sure about it, so here we use probabilistic reasoning.

Need of probabilistic reasoning in AI:

When there are unpredictable outcomes.

When specifications or possibilities of predicates becomes too large to handle.

When an unknown error occurs during an experiment.

In probabilistic reasoning, there are two ways to solve problems with uncertain knowledge:

Bayes' rule

Bayesian Statistics

Note: We will learn the above two rules in later chapters.

As probabilistic reasoning uses probability and related terms, so before understanding probabilistic reasoning, let's understand
some common terms:

Probability: Probability can be defined as a chance that an uncertain event will occur. It is the numerical measure of the
likelihood that an event will occur. The value of probability always remains between 0 and 1 that represent ideal uncertainties.

0 ≤ P(A) ≤ 1, where P(A) is the probability of an event A.

P(A) = 0, indicates total uncertainty in an event A.

P(A) =1, indicates total certainty in an event A.

We can find the probability of an uncertain event by using the below formula.

P(¬A) = probability of a not happening event.

P(¬A) + P(A) = 1.

Event: Each possible outcome of a variable is called an event.

Sample space: The collection of all possible events is called sample space.

Random variables: Random variables are used to represent the events and objects in the real world.

Prior probability: The prior probability of an event is probability computed before observing new information.

Posterior Probability: The probability that is calculated after all evidence or information has taken into account. It is a
combination of prior probability and new information.

Conditional probability:
Conditional probability is a probability of occurring an event when another event has already happened.

2 of 3 24-Apr-21, 9:47 AM
Firefox

Let's suppose, we want to calculate the event A when event B has already occurred, "the probability of A under the conditions
of B", it can be written as:

Where P(A⋀B)= Joint probability of a and B

P(B)= Marginal probability of B.

If the probability of A is given and we need to find the probability of B, then it will be given as:

It can be explained by using the below Venn diagram, where B is occurred event, so sample space will be reduced to set B,
and now we can only calculate event A when event B is already occurred by dividing the probability of P(A⋀B) by P( B ).

Example:

In a class, there are 70% of the students who like English and 40% of the students who likes English and mathematics, and
then what is the percent of students those who like English also like mathematics?

Solution:

Let, A is an event that a student likes Mathematics

B is an event that a student likes English.

Hence, 57% are the students who like English also like Mathematics.

3 of 3 24-Apr-21, 9:47 AM
Firefox

Bayes' theorem in Artificial intelligence


Bayes' theorem:
Bayes' theorem is also known as Bayes' rule, Bayes' law, or Bayesian reasoning, which determines the probability of an
event with uncertain knowledge.

In probability theory, it relates the conditional probability and marginal probabilities of two random events.

Bayes' theorem was named after the British mathematician Thomas Bayes. The Bayesian inference is an application of
Bayes' theorem, which is fundamental to Bayesian statistics.

It is a way to calculate the value of P(B|A) with the knowledge of P(A|B).

Bayes' theorem allows updating the probability prediction of an event by observing new information of the real world.

Example: If cancer corresponds to one's age then by using Bayes' theorem, we can determine the probability of cancer more
accurately with the help of age.

Bayes' theorem can be derived using product rule and conditional probability of event A with known event B:

As from product rule we can write:

P(A ⋀ B)= P(A|B) P(B) or

Similarly, the probability of event B with known event A:

P(A ⋀ B)= P(B|A) P(A)

Equating right hand side of both the equations, we will get:

The above equation (a) is called as Bayes' rule or Bayes' theorem. This equation is basic of most modern AI systems for
probabilistic inference.

It shows the simple relationship between joint and conditional probabilities. Here,

1 of 3 24-Apr-21, 9:48 AM
Firefox

P(A|B) is known as posterior, which we need to calculate, and it will be read as Probability of hypothesis A when we have
occurred an evidence B.

P(B|A) is called the likelihood, in which we consider that hypothesis is true, then we calculate the probability of evidence.

P(A) is called the prior probability, probability of hypothesis before considering the evidence

P(B) is called marginal probability, pure probability of an evidence.

In the equation (a), in general, we can write P (B) = P(A)*P(B|Ai), hence the Bayes' rule can be written as:

Where A1, A2, A3,........, An is a set of mutually exclusive and exhaustive events.

Applying Bayes' rule:

Bayes' rule allows us to compute the single term P(B|A) in terms of P(A|B), P(B), and P(A). This is very useful in cases where
we have a good probability of these three terms and want to determine the fourth one. Suppose we want to perceive the effect
of some unknown cause, and want to compute that cause, then the Bayes' rule becomes:

Example-1:

Question: what is the probability that a patient has diseases meningitis with a stiff neck?

Given Data:

A doctor is aware that disease meningitis causes a patient to have a stiff neck, and it occurs 80% of the time. He is also aware
of some more facts, which are given as follows:

The Known probability that a patient has meningitis disease is 1/30,000.

The Known probability that a patient has a stiff neck is 2%.

Let a be the proposition that patient has stiff neck and b be the proposition that patient has meningitis. , so we can calculate
the following as:

P(a|b) = 0.8

P(b) = 1/30000

P(a)= .02

Hence, we can assume that 1 patient out of 750 patients has meningitis disease with a stiff neck.

2 of 3 24-Apr-21, 9:48 AM
Firefox

Example-2:

Question: From a standard deck of playing cards, a single card is drawn. The probability that the card is king is
4/52, then calculate posterior probability P(King|Face), which means the drawn face card is a king card.

Solution:

P(king): probability that the card is King= 4/52= 1/13

P(face): probability that a card is a face card= 3/13

P(Face|King): probability of face card when we assume it is a king = 1

Putting all values in equation (i) we will get:

Application of Bayes' theorem in Artificial intelligence:


Following are some applications of Bayes' theorem:

It is used to calculate the next step of the robot when the already executed step is given.

Bayes' theorem is helpful in weather forecasting.

It can solve the Monty Hall problem.

3 of 3 24-Apr-21, 9:48 AM
5/1/2021

Bayesian Belief Network in artificial intelligence


Bayesian belief network is key computer technology for dealing with probabilistic events and to solve a problem which has
uncertainty. We can define a Bayesian network as:

"A Bayesian network is a probabilistic graphical model which represents a set of variables and their conditional dependencies
using a directed acyclic graph."

It is also called a Bayes network, belief network, decision network, or Bayesian model.

Bayesian networks are probabilistic, because these networks are built from a probability distribution, and also use
probability theory for prediction and anomaly detection.

Real world applications are probabilistic in nature, and to represent the relationship between multiple events, we need a
Bayesian network. It can also be used in various tasks including prediction, anomaly detection, diagnostics, automated
insight, reasoning, time series prediction, and decision making under uncertainty.

Bayesian Network can be used for building models from data and experts opinions, and it consists of two parts:

Directed Acyclic Graph

Table of conditional probabilities.

The generalized form of Bayesian network that represents and solve decision problems under uncertain knowledge is known
as an Influence diagram.

A Bayesian network graph is made up of nodes and Arcs (directed links), where:

1/5
5/1/2021

Each node corresponds to the random variables, and a variable can be continuous or discrete.

Arc or directed arrows represent the causal relationship or conditional probabilities between random variables. These
directed links or arrows connect the pair of nodes in the graph.
These links represent that one node directly influence the other node, and if there is no directed link that means that
nodes are independent with each other

In the above diagram, A, B, C, and D are random variables represented by the nodes of the network
graph.

If we are considering node B, which is connected with node A by a directed arrow, then node A is
called the parent of Node B.

Node C is independent of node A.

Note: The Bayesian network graph does not contain any cyclic graph. Hence, it is known as a directed acyclic graph or
DAG.

The Bayesian network has mainly two components:

Causal Component

Actual numbers

Each node in the Bayesian network has condition probability distribution P(Xi |Parent(Xi) ), which determines the effect of
the parent on that node.

Bayesian network is based on Joint probability distribution and conditional probability. So let's first understand the joint
probability distribution:

Joint probability distribution:


If we have variables x1, x2, x3,....., xn, then the probabilities of a different combination of x1, x2, x3.. xn, are known as Joint
probability distribution.

P[x1, x2, x3,....., xn], it can be written as the following way in terms of the joint probability distribution.

= P[x1| x2, x3,....., xn]P[x2, x3,....., xn]

2/5
5/1/2021
= P[x1| x2, x3,....., xn]P[x2|x3,....., xn]....P[xn-1|xn]P[xn].

In general for each variable Xi, we can write the equation as:

P(Xi|Xi-1,........., X1) = P(Xi |Parents(Xi ))

Explanation of Bayesian network:

Let's understand the Bayesian network through an example by creating a directed acyclic graph:

Example: Harry installed a new burglar alarm at his home to detect burglary. The alarm reliably responds at detecting a
burglary but also responds for minor earthquakes. Harry has two neighbors David and Sophia, who have taken a responsibility
to inform Harry at work when they hear the alarm. David always calls Harry when he hears the alarm, but sometimes he got
confused with the phone ringing and calls at that time too. On the other hand, Sophia likes to listen to high music, so
sometimes she misses to hear the alarm. Here we would like to compute the probability of Burglary Alarm.

Problem:

Calculate the probability that alarm has sounded, but there is neither a burglary, nor an earthquake occurred,
and David and Sophia both called the Harry.

Solution:

The Bayesian network for the above problem is given below. The network structure is showing that burglary and
earthquake is the parent node of the alarm and directly affecting the probability of alarm's going off, but David and
Sophia's calls depend on alarm probability.

The network is representing that our assumptions do not directly perceive the burglary and also do not notice the minor
earthquake, and they also not confer before calling.

The conditional distributions for each node are given as conditional probabilities table or CPT.

Each row in the CPT must be sum to 1 because all the entries in the table represent an exhaustive set of cases for the
variable.

In CPT, a boolean variable with k boolean parents contains 2K probabilities. Hence, if there are two parents, then CPT
will contain 4 probability values

List of all events occurring in this network:

Burglary (B)

Earthquake(E)

Alarm(A)

David Calls(D)

Sophia calls(S)

We can write the events of problem statement in the form of probability: P[D, S, A, B, E], can rewrite the above probability
statement using joint probability distribution:

P[D, S, A, B, E]= P[D | S, A, B, E]. P[S, A, B, E]

=P[D | S, A, B, E]. P[S | A, B, E]. P[A, B, E]

= P [D| A]. P [ S| A, B, E]. P[ A, B, E]

= P[D | A]. P[ S | A]. P[A| B, E]. P[B, E]

3/5
5/1/2021
= P[D | A ]. P[S | A]. P[A| B, E]. P[B |E]. P[E]

Let's take the observed probability for the Burglary and earthquake component:

P(B= True) = 0.002, which is the probability of burglary.

P(B= False)= 0.998, which is the probability of no burglary.

P(E= True)= 0.001, which is the probability of a minor earthquake

P(E= False)= 0.999, Which is the probability that an earthquake not occurred.

We can provide the conditional probabilities as per the below tables:

Conditional probability table for Alarm A:

The Conditional probability of Alarm A depends on Burglar and earthquake:

B E P(A= True) P(A= False)

True True 0.94 0.06

True False 0.95 0.04

False True 0.31 0.69

False False 0.001 0.999

Conditional probability table for David Calls:

The Conditional probability of David that he will call depends on the probability of Alarm.

A P(D= True) P(D= False)

True 0.91 0.09

False 0.05 0.95

Conditional probability table for Sophia Calls:

The Conditional probability of Sophia that she calls is depending on its Parent Node "Alarm."

4/5
5/1/2021

A P(S= True) P(S= False)

True 0.75 0.25

False 0.02 0.98

From the formula of joint distribution, we can write the problem statement in the form of probability distribution:

P(S, D, A, ¬B, ¬E) = P (S|A) *P (D|A)*P (A|¬B ^ ¬E) *P (¬B) *P (¬E).

= 0.75* 0.91* 0.001* 0.998*0.999

= 0.00068045.

Hence, a Bayesian network can answer any query about the domain by using Joint distribution.

The semantics of Bayesian Network:

There are two ways to understand the semantics of the Bayesian network, which is given below:

1. To understand the network as the representation of the Joint probability distribution.

It is helpful to understand how to construct the network.

2. To understand the network as an encoding of a collection of conditional independence statements.

It is helpful in designing inference procedure.

5/5

You might also like