AI First Three Units
AI First Three Units
AI First Three Units
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.
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."
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.
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.
4. Building a machine which can perform tasks that requires human intelligence such as:
Proving a theorem
Playing chess
5. Creating some system which can exhibit intelligent behavior, learn new things by itself, demonstrate, explain, and can
advise to its user.
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
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.
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)
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
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.
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
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.
Year 1972: The first intelligent humanoid robot was built in Japan which was named as WABOT-1.
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.
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.
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.
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.
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
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
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.
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.
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.
https://www.javatpoint.com/types-of-artificial-intelligence 3/3
4/6/2021
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.
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.
Rationality:
The rationality of an agent is measured by its performance measure. Rationality can be judged on the basis of following points:
2/5
4/6/2021
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:
Following are the main three terms involved in the structure of an AI agent:
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.
3/5
4/6/2021
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:
Goal-based agents
Utility-based agent
Learning agent
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.
1/4
4/6/2021
The Model-based agent can work in a partially observable environment, and track the situation.
Model: It is knowledge about "how things happen in the world," so it is called a Model-based agent.
These agents have the model, "which is knowledge of the world" and based on the model they perform actions.
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.
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.
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.
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:
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
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.
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.
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.
3/3
4/6/2021
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.
a. Search Space: Search space represents a set of possible solutions, which a system may have.
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.
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.
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.
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.
Breadth-first search
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.
1. Greedy Search
2. A* Search
3/3
4/6/2021
1. Breadth-first Search
2. Depth-first Search
3. Depth-limited 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.
Advantages:
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.
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.
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:
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:
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/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:
Disadvantages:
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.
Optimal: Depth-limited search can be viewed as a special case of DFS, and it is also not optimal even if ℓ>d.
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*/ε.
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.
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:
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:
Optimal:
IDDFS algorithm is optimal if path cost is a non- decreasing function of the depth of the node.
Bidirectional search can use search techniques such as BFS, DFS, DLS, etc.
Advantages:
Disadvantages:
6/7
4/6/2021
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.
7/7
4/6/2021
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.
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.
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:
A* Search Algorithm
f(n)= g(n).
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 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.
Advantages:
Best first search can switch between BFS and DFS by gaining the advantages of both the
algorithms.
2/7
4/6/2021
Disadvantages:
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
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.
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.
Advantages:
Disadvantages:
It does not always produce the shortest path as it mostly based on heuristics and
approximation.
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.
Solution:
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.
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.
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.
7/7
4/6/2021
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.
In this algorithm, we don't need to maintain and handle the search tree or graph as it only keeps a single current state.
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.
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
Global Maximum: Global maximum is the best possible state of state space landscape. It has the highest value of objective
function.
Flat local maximum: It is a flat space in the landscape where all the neighbor states of current states have the same value.
Steepest-Ascent 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.
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.
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.
c. If it is goal state, then return it and quit, else compare it to the SUCC.
e. If the SUCC is better than the current state, then set current state to SUCC.
Step 5: Exit.
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 is problem-solving techniques used in Artificial intelligence for limiting search in AI programs.
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.
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.
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.
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.
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.
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
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.
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.
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
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.
The following figure is showing part of the game-tree for tic-tac-toe game. Following are some key points of the game:
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.
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
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.
maxEva= -infinity
return maxEva
minEva= +infinity
return minEva
Initial call:
Minimax(node, 3, true)
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
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.
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.
That was the complete workflow of the minimax two player game.
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).
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.
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.
α>=β
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.
1/2
4/6/2021
maxEva= -infinity
if beta<=alpha
break
return maxEva
minEva= +infinity
if beta<=alpha
break
return minEva
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-base and
Inference system.
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
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.
function KB-AGENT(percept):
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:
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.
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.
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.
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:
2. Procedural Knowledge
Procedural knowledge is a type of knowledge which is responsible for knowing how to do something.
3. Meta-knowledge:
4. Heuristic knowledge:
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.
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
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.
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.
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.
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.
Example:
3. Inferential knowledge:
It guaranteed correctness.
a. Marcus is a man
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 knowledge, we can use various coding languages such as LISP language and Prolog language.
5 of 6 24-Apr-21, 9:31 AM
But it is not necessary that we can represent all cases in this approach.
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
1. Logical 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.
Semantics:
Semantics are the rules by which we can interpret the sentence in the logic.
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.
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.
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
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.
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.
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
Slots Filters
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
Weight 78
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.
4. Production Rules
Production rules system consist of (condition, action) pairs which mean, "If condition then action". It has mainly three parts:
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 (bus arrives at destination) THEN action (get down from the bus).
2. The production rules are highly modular, so we can easily remove, add or modify an individual 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.
d) 5 is a prime number.
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.
The propositions and connectives are the basic elements of the propositional logic.
A proposition formula which is always true is called tautology, and it is also called a valid sentence.
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.
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:
Compound proposition: Compound propositions are constructed by combining simpler or atomic propositions, using
parenthesis and logical connectives.
Example:
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.
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
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
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.
We cannot represent relations like ALL, some, or none with propositional logic. Example:
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.
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.
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:
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:
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
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:
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:
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.
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.
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.
The game ends if either agent dies or came out of the cave.
Environment:
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.
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].
Deterministic: It is deterministic, as the result and outcome of the world are already known.
One agent: The environment is a single agent as we have one agent only and Wumpus is not considered as an agent.
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.
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].
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.
Let Bi,j be true if agent perceives breeze in [i, j], (dead or alive).
Let Si,j be true if agent perceives stench in the square [i, j].
Let Gi,j be true if there is gold (and glitter) in the square [i, j].
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.
Following is the Simple KB for wumpus world when an agent moves from
room [1, 1], to room [2,1]:
2 of 5 24-Apr-21, 9:39 AM
visited (V11), and the room is Safe(OK11).
¬ W21, and ¬S11 which will give the output ¬ W11 ^ W12 ^ W12.
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:
Apply Modus Ponens to S12 and R4 which is S12 → W13 ∨. W12 ∨. W22
After applying Unit resolution formula on W13 ∨ W12 ∨ W22 ∨W11 and ¬
After applying Unit resolution on W13 ∨ W12 ∨ W22, and ¬W22, we will
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.
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, ......
a. Syntax
b. Semantics
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:
Variables x, y, z, a, b,....
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).
Complex Sentences:
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:
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.
For all x
For each x
For every x.
Example:
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.
If x is a variable, then existential quantifier will be ∃x or ∃(x). And it will be read as:
Example:
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 →.
Properties of Quantifiers:
In universal quantifier, ∀x∀y is similar to ∀y∀x.
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 Variable: A variable is said to be a free variable in a formula if it occurs outside the scope of the quantifier.
Bound Variable: A variable is said to be a bound variable in a formula if it occurs within the scope of the quantifier.
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.
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
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:
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:
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:
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 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.
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:
2 of 4 24-Apr-21, 9:40 AM
Firefox
Output of AND gate will be zero if and only if any of its input is zero.
∀ g Gate(g) ∧ Type(g) = XOR → Signal (Out(1, g)) = 1 ⇔ Signal (In(1, g)) ≠ Signal (In(2, g)).
All the gates in the above circuit have two inputs and one output (except NOT gate).
∀ g Gate(g) ∧ r =Type(g) ∧ (r= AND ∨r= OR ∨r= XOR) → Arity (g, 2, 1).
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:
3 of 4 24-Apr-21, 9:40 AM
Firefox
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
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.
4 of 4 24-Apr-21, 9:40 AM
Firefox
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.
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.
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).
This rule can be used if we want to show that every element has a similar property.
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.
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.
Example:1.
Example: 2.
"All kings who are greedy are Evil." So let our knowledge base contains this detail as in the form of FOL:
So from this information, we can infer any of the following statements using Universal Instantiation:
2 of 4 24-Apr-21, 9:41 AM
Firefox
3. Existential Instantiation:
Existential instantiation is also called as Existential Elimination, which is a valid inference rule in first-order logic.
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.
Example:
So we can infer: Crown(K) ∧ OnHead( K, John), as long as K does not appear in the knowledge base.
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.
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.
SUBST(θ,q).
4 of 4 24-Apr-21, 9:41 AM
Firefox
1 of 7 24-Apr-21, 9:43 AM
Firefox
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 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.
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 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."
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.
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)
Robert is American
American(Robert). ..........(8)
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-(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.
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.
4 of 7 24-Apr-21, 9:43 AM
Firefox
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.
Missile(T1)
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.
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
1 of 2 24-Apr-21, 9:44 AM
Firefox
rules only.
2 of 2 24-Apr-21, 9:44 AM
Firefox
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
1 of 4 24-Apr-21, 9:46 AM
Firefox
Deductive reasoning
Inductive reasoning
Abductive 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:
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.
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:
Conclusion It is raining.
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:
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
Example:
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.
If we deduce some facts from available facts, then it will remain valid for always.
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.
"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:
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.
For real-world systems such as Robot navigation, we can use non-monotonic reasoning.
In non-monotonic reasoning, the old facts may be invalidated by adding new sentences.
4 of 4 24-Apr-21, 9:46 AM
Firefox
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.
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.
In probabilistic reasoning, there are two ways to solve problems with uncertain knowledge:
Bayes' rule
Bayesian Statistics
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.
We can find the probability of an uncertain event by using the below formula.
P(¬A) + P(A) = 1.
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:
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:
Hence, 57% are the students who like English also like Mathematics.
3 of 3 24-Apr-21, 9:47 AM
Firefox
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.
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:
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
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.
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:
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:
It is used to calculate the next step of the robot when the already executed step is given.
3 of 3 24-Apr-21, 9:48 AM
5/1/2021
"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:
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.
Note: The Bayesian network graph does not contain any cyclic graph. Hence, it is known as a directed acyclic graph or
DAG.
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:
P[x1, x2, x3,....., xn], it can be written as the following way in terms of the joint probability distribution.
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:
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
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:
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(E= False)= 0.999, Which is the probability that an earthquake not occurred.
The Conditional probability of David that he will call depends on the probability of Alarm.
The Conditional probability of Sophia that she calls is depending on its Parent Node "Alarm."
4/5
5/1/2021
From the formula of joint distribution, we can write the problem statement in the form of probability distribution:
= 0.00068045.
Hence, a Bayesian network can answer any query about the domain by using Joint distribution.
There are two ways to understand the semantics of the Bayesian network, which is given below:
5/5