0% found this document useful (0 votes)
163 views91 pages

IAI Unit1

Artificial Intelligence (AI) is a rapidly evolving technology that enables machines to mimic human intelligence and perform tasks such as learning, reasoning, and problem-solving. It has numerous applications across various sectors including healthcare, finance, and entertainment, while also presenting advantages like high accuracy and speed, as well as disadvantages such as high costs and lack of emotional understanding. The history of AI spans several decades, marked by significant milestones and developments, leading to its current state and future potential.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
163 views91 pages

IAI Unit1

Artificial Intelligence (AI) is a rapidly evolving technology that enables machines to mimic human intelligence and perform tasks such as learning, reasoning, and problem-solving. It has numerous applications across various sectors including healthcare, finance, and entertainment, while also presenting advantages like high accuracy and speed, as well as disadvantages such as high costs and lack of emotional understanding. The history of AI spans several decades, marked by significant milestones and developments, leading to its current state and future potential.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 91

Artificial Intelligence (AI)

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

Here, one of the booming technologies of computer science is Artificial Intelligence


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

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

Artificial Intelligence is composed of two words Artificial and Intelligence, where


Artificial defines "man-made," and intelligence defines "thinking power", hence AI
means "a man-made thinking power."

So, we can define AI as:

"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.

Goals of Artificial Intelligence


Following are the main goals of Artificial Intelligence:

1. Replicate human intelligence


2. Solve Knowledge-intensive tasks
3. An intelligent connection of perception and action
4. Building a machine which can perform tasks that requires human intelligence such as:
o Proving a theorem
o Playing chess
o Plan some surgical operation
o Driving a car in traffic
5. Creating some system which can exhibit intelligent behavior, learn new things by itself,
demonstrate, explain, and can advise to its user.

What Comprises to Artificial Intelligence?


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:

o Mathematics
o Biology
o Psychology
o Sociology
o Computer Science
o Neurons Study
o Statistics

Advantages of Artificial Intelligence


Following are some main advantages of Artificial Intelligence:

o 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.
o 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.
o High reliability: AI machines are highly reliable and can perform the same action
multiple times with high accuracy.
o 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.
o 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.
o Useful as a public utility: AI can be very useful for public utilities such as a self-driving
car which can make our journey safer and hassle-free, facial recognition for security
purpose, Natural language processing to communicate with the human in human-
language, etc.

Disadvantages of Artificial Intelligence


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

o High Cost: The hardware and software requirement of AI is very costly as it requires
lots of maintenance to meet current world requirements.
o 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.
o 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.
o Increase dependency on machines: With the increment of technology, people are
getting more dependent on devices and hence they are losing their mental capabilities.
o 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.

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
o 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
o 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.
o 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.

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

7. AI in Travel & Transport


o 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
o 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.
o Various Industries are currently working for developing self-driven cars which can make
your journey more safe and secure.

9. AI in Robotics:
o 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.
o 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
o 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
o 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
o AI is providing a competitive edge to the e-commerce industry, and it is becoming
more demanding in the e-commerce business. AI is helping shoppers to discover
associated products with recommended size, color, or even brand.

13. AI in education:
o AI can automate grading so that the tutor can have more time to teach. AI chatbot can
communicate with students as a teaching assistant.
o 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.

History of Artificial Intelligence


Artificial Intelligence is not a new word and not a new technology for researchers. This
technology is much older than you would imagine. Even there are the myths of
Mechanical men in Ancient Greek and Egyptian Myths. Following are some milestones
in the history of AI which defines the journey from the AI generation to till date
development.
Maturation of Artificial Intelligence (1943-1952)
o Year 1943: The first work which is now recognized as AI was done by Warren
McCulloch and Walter pits in 1943. They proposed a model of artificial neurons.
o Year 1949: Donald Hebb demonstrated an updating rule for modifying the connection
strength between neurons. His rule is now called Hebbian learning.
o Year 1950: The Alan Turing who was an English mathematician and pioneered
Machine learning in 1950. Alan Turing publishes "Computing Machinery and
Intelligence" in which he proposed a test. The test can check the machine's ability to
exhibit intelligent behavior equivalent to human intelligence, called a Turing test.

The birth of Artificial Intelligence (1952-1956)


o 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 for some
theorems.
o Year 1956: The word "Artificial Intelligence" first adopted by American Computer
scientist John McCarthy at the Dartmouth Conference. For the first time, AI coined as
an academic field.

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

The golden years-Early enthusiasm (1956-1974)


o Year 1966: The researchers emphasized developing algorithms which can solve
mathematical problems. Joseph Weizenbaum created the first chatbot in 1966, which
was named as ELIZA.
o Year 1972: The first intelligent humanoid robot was built in Japan which was named
as WABOT-1.

The first AI winter (1974-1980)


o The duration between years 1974 to 1980 was the first AI winter duration. AI winter
refers to the time period where computer scientist dealt with a severe shortage of
funding from government for AI researches.
o During AI winters, an interest of publicity on artificial intelligence was decreased.

A boom of AI (1980-1987)
o 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.
o In the Year 1980, the first national conference of the American Association of Artificial
Intelligence was held at Stanford University.

The second AI winter (1987-1993)


o The duration between the years 1987 to 1993 was the second AI Winter duration.
o Again Investors and government stopped in funding for AI research as due to high cost
but not efficient result. The expert system such as XCON was very cost effective.

The emergence of intelligent agents (1993-2011)


o Year 1997: In the year 1997, IBM Deep Blue beats world chess champion, Gary
Kasparov, and became the first computer to beat a world chess champion.
o Year 2002: for the first time, AI entered the home in the form of Roomba, a vacuum
cleaner.
o Year 2006: AI came in the Business world till the year 2006. Companies like Facebook,
Twitter, and Netflix also started using AI.

Deep learning, big data and artificial general


intelligence (2011-present)
o Year 2011: In the year 2011, IBM's Watson won jeopardy, a quiz show, where it had to
solve the complex questions as well as riddles. Watson had proved that it could
understand natural language and can solve tricky questions quickly.
o Year 2012: Google has launched an Android app feature "Google now", which was
able to provide information to the user as a prediction.
o Year 2014: In the year 2014, Chatbot "Eugene Goostman" won a competition in the
infamous "Turing test."
o Year 2018: The "Project Debater" from IBM debated on complex topics with two
master debaters and also performed extremely well.
o 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.

Types of Artificial Intelligence:


Artificial Intelligence can be divided in various types, there are mainly two types of
main categorization which are based on capabilities and based on functionally of AI.
Following is flow diagram which explain the types of AI.
AI type-1: Based on Capabilities
1. Weak AI or Narrow AI:
o 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.
o 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.
o Apple Siriis a good example of Narrow AI, but it operates with a limited pre-defined
range of functions.
o IBM's Watson supercomputer also comes under Narrow AI, as it uses an Expert system
approach combined with Machine learning and natural language processing.
o 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:
o General AI is a type of intelligence which could perform any intellectual task with
efficiency like a human.
o The idea behind the general AI to make such a system which could be smarter and
think like a human by its own.
o Currently, there is no such system exist which could come under general AI and can
perform any task as perfect as a human.
o The worldwide researchers are now focused on developing machines with General AI.
o 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:
o 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.
o 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.
o Super AI is still a hypothetical concept of Artificial Intelligence. Development of such
systems in real is still world changing task.

Artificial Intelligence type-2: Based on


functionality
1. Reactive Machines
o Purely reactive machines are the most basic types of Artificial Intelligence.
o Such AI systems do not store memories or past experiences for future actions.
o These machines only focus on current scenarios and react on it as per possible best
action.
o IBM's Deep Blue system is an example of reactive machines.
o Google's AlphaGo is also an example of reactive machines.

2. Limited Memory
o Limited memory machines can store past experiences or some data for a short period
of time.
o These machines can use stored data for a limited time period only.
o 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
o Theory of Mind AI should understand the human emotions, people, beliefs, and be able
to interact socially like humans.
o 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
o 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.
o These machines will be smarter than human mind.
o Self-Awareness AI does not exist in reality still and it is a hypothetical concept.

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:

o Simple Reflex Agent


o Model-based reflex agent
o Goal-based agents
o Utility-based agent
o Learning agent

1. Simple Reflex agent:


o The Simple reflex agents are the simplest agents. These agents take decisions on the
basis of the current percepts and ignore the rest of the percept history.
o These agents only succeed in the fully observable environment.
o The Simple reflex agent does not consider any part of percepts history during their
decision and action process.
o 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.
o Problems for the simple reflex agent design approach:
o They have very limited intelligence
o They do not have knowledge of non-perceptual parts of the current state
o Mostly too big to generate and to store.
o Not adaptive to changes in the environment.

2. Model-based reflex agent


o The Model-based agent can work in a partially observable environment, and track the
situation.
o A model-based agent has two important factors:
o Model: It is knowledge about "how things happen in the world," so it is called
a Model-based agent.
o Internal State: It is a representation of the current state based on percept
history.
o These agents have the model, "which is knowledge of the world" and based on the
model they perform actions.
o Updating the agent state requires information about:
a. How the world evolves
b. How the agent's action affects the world.

3. Goal-based agents
o The knowledge of the current state environment is not always sufficient to decide for
an agent to what to do.
o The agent needs to know its goal which describes desirable situations.
o Goal-based agents expand the capabilities of the model-based agent by having the
"goal" information.
o They choose an action, so that they can achieve the goal.
o 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.
4. Utility-based agents
o 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.
o Utility-based agent act based not only goals but also the best way to achieve the goal.
o 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.
o The utility function maps each state to a real number to check how efficiently each
action achieves the goals.
5. Learning Agents
o A learning agent in AI is the type of agent which can learn from its past experiences, or
it has learning capabilities.
o It starts to act with basic knowledge and then able to act and adapt automatically
through learning.
o A learning agent has mainly four conceptual components, which are:
a. Learning element: It is responsible for making improvements by learning from
environment
b. Critic: Learning element takes feedback from critic which describes that how
well the agent is doing with respect to a fixed performance standard.
c. Performance element: It is responsible for selecting external action
d. Problem generator: This component is responsible for suggesting actions that
will lead to new and informative experiences.
o Hence, learning agents are able to learn, analyze performance, and look for new ways
to improve the performance.
Agents in Artificial Intelligence
An AI system can be defined as the study of the rational agent and its environment.
The agents sense the environment through sensors and act on their environment
through actuators. An AI agent can have mental properties such as knowledge, belief,
intention, etc.

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

o Human-Agent: A human agent has eyes, ears, and other organs which work for
sensors and hand, legs, vocal tract work for actuators.
o Robotic Agent: A robotic agent can have cameras, infrared range finder, NLP for
sensors and various motors for actuators.
o 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.

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

Following are the main four rules for an AI agent:

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


o Rule 2: The observation must be used to make decisions.
o Rule 3: Decision should result in an action.
o Rule 4: The action taken by an AI agent must be a rational action.

Rational Agent:
A rational agent is an agent which has clear preference, models uncertainty, and acts
in a way to maximize its performance measure with all possible actions.
A rational agent is said to perform the right things. AI is about creating rational agents
to use for game theory and decision theory for various real-world scenarios.

For an AI agent, the rational action is most important because in AI reinforcement


learning algorithm, for each best possible action, agent gets the positive reward and
for each wrong action, an agent gets a negative reward.

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


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

o Performance measure which defines the success criterion.


o Agent prior knowledge of its environment.
o Best possible actions that an agent can perform.
o The sequence of percepts.

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

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

1. Agent = Architecture + Agent program

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

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

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

1. 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:

o P: Performance measure
o E: Environment
o A: Actuators
o S: Sensors

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

PEAS for self-driving cars:

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

Performance: Safety, time, legal drive, comfort

Environment: Roads, other vehicles, road signs, pedestrian

Actuators: Steering, accelerator, brake, signal, horn

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


Example of Agents with their PEAS representation
Agent Performance Environment Actuators Sensors
measure

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

Staff

2.
Cleanness Room Wheels Camera
Vacuum
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 -
Percentage of parts in Conveyor belt Jointed Arms Camera
picking
Robot correct bins. with parts,
Hand Joint angle sensors.
Bins
Search Algorithms in Artificial Intelligence
Search algorithms are one of the most important areas of Artificial Intelligence. This
topic will explain all about the search algorithms in AI.

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

Search Algorithm Terminologies:


o Search: Searchingis a step by step procedure to solve a search-problem in a given
search space. A search problem can have three main factors:
a. Search Space: Search space represents a set of possible solutions, which a
system may have.
b. Start State: It is a state from where agent begins the search.
c. Goal test: It is a function which observe the current state and returns whether
the goal state is achieved or not.
o 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.
o Actions: It gives the description of all the available actions to the agent.
o Transition model: A description of what each action do, can be represented as a
transition model.
o Path Cost: It is a function which assigns a numeric cost to each path.
o Solution: It is an action sequence which leads from the start node to the goal node.
o Optimal Solution: If a solution has the lowest cost among all solutions.

Properties of Search Algorithms:


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

Completeness: A search algorithm is said to be complete if it guarantees to return a


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

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


its task.

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

Types of search algorithms


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

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

It can be divided into five main types:

o Breadth-first search
o Uniform cost search
o Depth-first search
o Iterative deepening depth-first search
o Bidirectional Search

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

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

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

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

1. Greedy Search
2. A* Search
Presentation for use with the textbook, Algorithm Design and
Applications, by M. T. Goodrich and R. Tamassia, Wiley, 2015

Breadth-First Search
L0
A

L1
B C D

L2
E F

© 2015 Goodrich and Tamassia Breadth-First Search 1


Breadth-First Search
q Breadth-first search q BFS on a graph with n
(BFS) is a general vertices and m edges
technique for traversing takes O(n + m ) time
a graph
q BFS can be further
q A BFS traversal of a
extended to solve other
graph G
n Visits all the vertices and
graph problems
edges of G n Find and report a path
n Determines whether G is with the minimum
connected number of edges
n Computes the connected between two given
components of G vertices
n Computes a spanning n Find a simple cycle, if
forest of G there is one
© 2015 Goodrich and Tamassia Breadth-First Search 2
BFS Algorithm
q The algorithm uses “levels” Li and a mechanism for setting and getting
“labels” of vertices and edges.

© 2015 Goodrich and Tamassia Breadth-First Search 3


Example
L0
A
A unexplored vertex
A visited vertex L1
B C D
unexplored edge
discovery edge E F
cross edge

L0 L0
A A

L1 L1
B C D B C D

E F E F

© 2015 Goodrich and Tamassia Breadth-First Search 4


Example (cont.)
L0 L0
A A

L1 L1
B C D B C D

L2
E F E F

L0 L0
A A

L1 L1
B C D B C D

L2 L2
E F E F

© 2015 Goodrich and Tamassia Breadth-First Search 5


Example (cont.)
L0 L0
A A

L1 L1
B C D B C D

L2 L2
E F E F

L0
A

L1
B C D

L2
E F

© 2015 Goodrich and Tamassia Breadth-First Search 6


Properties
Notation A
Gs: connected component of s
Property 1 B C D
BFS(G, s) visits all the vertices and
edges of Gs
E F
Property 2
The discovery edges labeled by
BFS(G, s) form a spanning tree Ts
L0
of Gs A
Property 3
For each vertex v in Li L1
B C D
n The path of Ts from s to v has i
edges L2
n Every path from s to v in Gs has at E F
least i edges
© 2015 Goodrich and Tamassia Breadth-First Search 7
Analysis
q Setting/getting a vertex/edge label takes O(1) time
q Each vertex is labeled twice
n once as UNEXPLORED
n once as VISITED
q Each edge is labeled twice
n once as UNEXPLORED
n once as DISCOVERY or CROSS
q Each vertex is inserted once into a sequence Li
q Method incidentEdges is called once for each vertex
q BFS runs in O(n + m) time provided the graph is
represented by the adjacency list structure
n Recall that Σv deg(v) = 2m
© 2015 Goodrich and Tamassia Breadth-First Search 8
Applications
q We can use the BFS traversal algorithm, for a
graph G, to solve the following problems in
O(n + m) time
n Compute the connected components of G
n Compute a spanning forest of G
n Find a simple cycle in G, or report that G is a
forest
n Given two vertices of G, find a path in G between
them with the minimum number of edges, or
report that no such path exists

© 2015 Goodrich and Tamassia Breadth-First Search 9


DFS vs. BFS
Applications DFS BFS
Spanning forest, connected
√ √
components, paths, cycles
Shortest paths √

Biconnected components √

L0
A A

L1
B C D B C D

L2
E F E F

DFS BFS
© 2015 Goodrich and Tamassia Breadth-First Search 10
DFS vs. BFS (cont.)
Back edge (v,w) Cross edge (v,w)
n w is an ancestor of v in n w is in the same level as
the tree of discovery v or in the next level
edges

L0
A A

L1
B C D B C D

L2
E F E F

DFS BFS
© 2015 Goodrich and Tamassia Breadth-First Search 11
Presentation for use with the textbook, Algorithm Design and
Applications, by M. T. Goodrich and R. Tamassia, Wiley, 2015

Depth-First Search
A

B D E

© 2015 Goodrich and Tamassia Depth-First Search 1


Subgraphs
q A subgraph S of a graph
G is a graph such that
n The vertices of S are a
subset of the vertices of G
n The edges of S are a Subgraph
subset of the edges of G
q A spanning subgraph of G
is a subgraph that
contains all the vertices
of G

Spanning subgraph

© 2015 Goodrich and Tamassia Depth-First Search 2


Application: Web Crawlers
q A fundamental kind of algorithmic operation that we
might wish to perform on a graph is traversing the
edges and the vertices of that graph.
q A traversal is a systematic procedure for exploring a
graph by examining all of its vertices and edges.
q For example, a web crawler, which is the data
collecting part of a search engine, must explore a
graph of hypertext documents by examining its
vertices, which are the documents, and its edges,
which are the hyperlinks between documents.
q A traversal is efficient if it visits all the vertices and
edges in linear time.
© 2015 Goodrich and Tamassia Depth-First Search 3
Connectivity
q A graph is
connected if there is
a path between
every pair of Connected graph
vertices
q A connected
component of a
graph G is a
maximal connected
subgraph of G Non connected graph with two
connected components

© 2015 Goodrich and Tamassia Depth-First Search 4


Trees and Forests
q A (free) tree is an
undirected graph T such
that
n T is connected
n T has no cycles
Tree
This definition of tree is
different from the one of
a rooted tree
q A forest is an undirected
graph without cycles
q The connected
components of a forest
are trees Forest

© 2015 Goodrich and Tamassia Depth-First Search 5


Spanning Trees and Forests
q A spanning tree of a
connected graph is a
spanning subgraph that is
a tree
q A spanning tree is not
unique unless the graph is
a tree Graph
q Spanning trees have
applications to the design
of communication
networks
q A spanning forest of a
graph is a spanning
subgraph that is a forest
Spanning tree
© 2015 Goodrich and Tamassia Depth-First Search 6
Depth-First Search
q Depth-first search (DFS) q DFS on a graph with n
is a general technique vertices and m edges
for traversing a graph takes O(n + m ) time
q A DFS traversal of a q DFS can be further
graph G extended to solve other
n Visits all the vertices and graph problems
edges of G n Find and report a path
n Determines whether G is between two given
connected vertices
n Computes the connected n Find a cycle in the graph
components of G q Depth-first search is to
n Computes a spanning graphs what Euler tour
forest of G
is to binary trees

© 2015 Goodrich and Tamassia Depth-First Search 7


DFS Algorithm from a Vertex

© 2015 Goodrich and Tamassia Depth-First Search 8


Example
A
A unexplored vertex
A visited vertex
B D E
unexplored edge
discovery edge C
back edge

A A

B D E B D E

C C

© 2015 Goodrich and Tamassia Depth-First Search 9


Example (cont.)
A A

B D E B D E

C C

A A

B D E B D E

C C

© 2015 Goodrich and Tamassia Depth-First Search 10


DFS and Maze Traversal
q The DFS algorithm is
similar to a classic
strategy for exploring
a maze
n We mark each
intersection, corner
and dead end (vertex)
visited
n We mark each corridor
(edge ) traversed
n We keep track of the
path back to the
entrance (start vertex)
by means of a rope
(recursion stack)
© 2015 Goodrich and Tamassia Depth-First Search 11
Properties of DFS
Property 1
DFS(G, v) visits all the
vertices and edges in
the connected A
component of v
Property 2 B D E
The discovery edges
labeled by DFS(G, v)
form a spanning tree of C
the connected
component of v

© 2015 Goodrich and Tamassia Depth-First Search 12


The General DFS Algorithm
q Perform a DFS from each unexplored
vertex:

© 2015 Goodrich and Tamassia Depth-First Search 13


Analysis of DFS
q Setting/getting a vertex/edge label takes O(1) time
q Each vertex is labeled twice
n once as UNEXPLORED
n once as VISITED
q Each edge is labeled twice
n once as UNEXPLORED
n once as DISCOVERY or BACK
q Method incidentEdges is called once for each vertex
q DFS runs in O(n + m) time provided the graph is
represented by the adjacency list structure
n Recall that Σv deg(v) = 2m

© 2015 Goodrich and Tamassia Depth-First Search 14


Path Finding (not in book)
q We can specialize the DFS
algorithm to find a path Algorithm pathDFS(G, v, z)
between two given setLabel(v, VISITED)
vertices u and z using the S.push(v)
template method pattern if v = z
return S.elements()
q We call DFS(G, u) with u for all e ∈ G.incidentEdges(v)
as the start vertex if getLabel(e) = UNEXPLORED
q We use a stack S to keep w ← opposite(v,e)
track of the path between if getLabel(w) = UNEXPLORED
the start vertex and the setLabel(e, DISCOVERY)
current vertex S.push(e)
q As soon as destination pathDFS(G, w, z)
vertex z is encountered, S.pop(e)
we return the path as the else
contents of the stack setLabel(e, BACK)
S.pop(v)
© 2015 Goodrich and Tamassia Depth-First Search 15
Cycle Finding (not in book)
Algorithm cycleDFS(G, v, z)
q We can specialize the setLabel(v, VISITED)
DFS algorithm to find a S.push(v)
simple cycle using the for all e ∈ G.incidentEdges(v)
if getLabel(e) = UNEXPLORED
template method pattern
w ← opposite(v,e)
q We use a stack S to S.push(e)
keep track of the path if getLabel(w) = UNEXPLORED
setLabel(e, DISCOVERY)
between the start vertex
pathDFS(G, w, z)
and the current vertex S.pop(e)
q As soon as a back edge else
T ← new empty stack
(v, w) is encountered, repeat
we return the cycle as o ← S.pop()
the portion of the stack T.push(o)
until o = w
from the top to vertex w return T.elements()
S.pop(v)
© 2015 Goodrich and Tamassia Depth-First Search 16
Hill Climbing Algorithm

Tushar B. Kute,
http://tusharkute.com
Hill Climbing

• Hill climbing algorithm is a local search algorithm which


continuously moves in the direction of increasing
elevation/value to find the peak of the mountain or best
solution to the problem.
• It terminates when it reaches a peak value where no
neighbor has a higher value.
• Hill climbing algorithm is a technique which is used for
optimizing the mathematical problems.
• One of the widely discussed examples of Hill climbing
algorithm is Traveling-salesman Problem in which we
need to minimize the distance traveled by the salesman.
Hill Climbing

• It is also called greedy local search as it only


looks to its good immediate neighbor state and
not beyond that.
• A node of hill climbing algorithm has two
components which are state and value.
• Hill Climbing is mostly used when a good
heuristic is available.
• In this algorithm, we don't need to maintain and
handle the search tree or graph as it only keeps
a single current state.
Hill Climbing Features

• Generate and Test variant: Hill Climbing is the


variant of Generate and Test method. The Generate
and Test method produce feedback which helps to
decide which direction to move in the search space.
• Greedy approach: Hill-climbing algorithm search
moves in the direction which optimizes the cost.
• No backtracking: It does not backtrack the search
space, as it does not remember the previous states.
State-space Diagram

• 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.
State-space Diagram
Different regions in the state space

• Local Maximum: Local maximum is a state which is better


than its neighbor states, but there is also another state
which is higher than it.
• Global Maximum: Global maximum is the best possible state
of state space landscape. It has the highest value of
objective function.
• Current state: It is a state in a landscape diagram where an
agent is currently present.
• Flat local maximum: It is a flat space in the landscape where
all the neighbor states of current states have the same
value.
• Shoulder: It is a plateau region which has an uphill edge.
Types of Hill Climbing Algorithm

• Simple hill Climbing


• Steepest-Ascent hill-climbing
• Stochastic hill Climbing
Simple Hill Climbing

• Simple hill climbing is the simplest way to implement a


hill climbing algorithm. It only evaluates the neighbor
node state at a time and selects the first one which
optimizes current cost and set it as a current state.
• It only checks it's one successor state, and if it finds
better than the current state, then move else be in the
same state. This algorithm has the following features:
– Less time consuming
– Less optimal solution and the solution is not
guaranteed
Simple Hill Climbing

• Step 1: Evaluate the initial state, if it is goal state then return


success and Stop.
• Step 2: Loop Until a solution is found or there is no new
operator left to apply.
• Step 3: Select and apply an operator to the current state.
• Step 4: Check new state:
– If it is goal state, then return success and quit.
– Else if it is better than the current state then assign new
state as a current state.
– Else if not better than the current state, then return to
step2.
• Step 5: Exit.
Steepest-Ascent hill climbing

• The steepest-Ascent algorithm is a variation of


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

• Step 1: Evaluate the initial state, if it is goal state then return success and
stop, else make current state as initial state.
• Step 2: Loop until a solution is found or the current state does not
change.
– Let SUCC be a state such that any successor of the current state will be
better than it.
– For each operator that applies to the current state:
• Apply the new operator and generate a new state.
• Evaluate the new state.
• If it is goal state, then return it and quit, else compare it to the SUCC.
• If it is better than SUCC, then set new state as SUCC.
• If the SUCC is better than the current state, then set current state to
SUCC.
• Step 5: Exit.
Steepest-Ascent hill climbing

• Stochastic hill climbing does not examine for all


its neighbor before moving.
• Rather, this search algorithm selects one
neighbor node at random and decides whether
to choose it as a current state or examine
another state.
Problems in Hill Climbing Algorithm

• 1. Local Maximum:
– A local maximum is a peak state in the landscape
which is better than each of its neighboring
states, but there is another state also present
which is higher than the local maximum.
– Solution: Backtracking technique can be a
solution of the local maximum in state space
landscape. Create a list of the promising path so
that the algorithm can backtrack the search
space and explore other paths as well.
Problems in Hill Climbing Algorithm
Problems in Hill Climbing Algorithm

• 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.
• 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.
Problems in Hill Climbing Algorithm
Problems in Hill Climbing Algorithm

• 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.
Problems in Hill Climbing Algorithm
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.
Simulated Annealing

• 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.
Thank you
This presentation is created using LibreOffice Impress 7.0.1.2, can be used freely as per GNU General Public License

/mITuSkillologies @mitu_group /company/mitu- MITUSkillologies


skillologies

Web Resources
https://mitu.co.in
http://tusharkute.com

[email protected]
[email protected]
Simulated Annealing

Premchand Akella
Agenda
• Motivation
• The algorithm
• Its applications
• Examples
• Conclusion
Introduction
• Various algorithms proposed for placement
in circuits.
• Constructive placement vs Iterative
improvement.
• Simulated Annealing – an iterative
improvement algorithm.
Motivation
• Annealing in metals
• Heat the solid state metal to a high temperature
• Cool it down very slowly according to a specific
schedule.
• If the heating temperature is sufficiently high to
ensure random state and the cooling process is
slow enough to ensure thermal equilibrium, then
the atoms will place themselves in a pattern that
corresponds to the global energy minimum of a
perfect crystal.
Simulated Annealing
Step 1: Initialize – Start with a random initial placement.
Initialize a very high “temperature”.
Step 2: Move – Perturb the placement through a defined
move.
Step 3: Calculate score – calculate the change in the score
due to the move made.
Step 4: Choose – Depending on the change in score, accept or
reject the move. The prob of acceptance depending on the
current “temperature”.
Step 5: Update and repeat– Update the temperature value by
lowering the temperature. Go back to Step 2.
The process is done until “Freezing Point” is reached.
Algorithm for placement
Algorithm SIMULATED-ANNEALING
Begin
temp = INIT-TEMP;
place = INIT-PLACEMENT;
while (temp > FINAL-TEMP) do
while (inner_loop_criterion = FALSE) do
new_place = PERTURB(place);
ΔC = COST(new_place) - COST(place);
if (ΔC < 0) then
place = new_place;
else if (RANDOM(0,1) < e-(ΔC/temp)) then
place = new_place;
temp = SCHEDULE(temp);
End.
Parameters
• INIT-TEMP = 4000000;
• INIT-PLACEMENT = Random;
• PERTURB(place)
1. Displacement of a block to a new position.
2. Interchange blocks.
3. Orientation change for a block.
• SCHEDULE.
Cooling schedule
Convergence of simulated annealing

AT INIT_TEMP Unconditional Acceptance

HILL CLIMBING Move accepted with


probability
= e-(^C/temp)
COST FUNCTION, C

HILL CLIMBING

HILL CLIMBING

AT FINAL_TEMP

NUMBER OF ITERATIONS
Algorithm for partitioning
Algorithm SA
Begin
t = t0 ;
cur_part = ini_part;
cur_score = SCORE(cur_part);
repeat
repeat
comp1 = SELECT(part1);
comp2 = SELECT(part2);
trial_part = EXCHANGE(comp1, comp2, cur_part);
trial_score = SCORE(trial_part);
δs = trial_score – cur_score;
if (δs < 0) then
cur_score = trial_score;
cur_part = MOVE(comp1, comp2);
else
r = RANDOM(0,1);
if (r < e-(δs/t)) then
cur_score = trial_score;
cur_part = MOVE(comp1, comp2);
until (equilibrium at t is reached)
t = αt (0 < α < 1)
until (freezing point is reached)
End.
Qualitative Analysis
• Randomized local search.
• Is simulated annealing greedy?
• Controlled greed.
• Once-a-while exploration.
• Is a greedy algorithm better? Where is the
difference?
• The ball-on-terrain example.
Ball on terrain example – Simulated Annealing vs
Greedy Algorithms

The ball is initially placed at a random


position on the terrain. From the current
position, the ball should be fired such that it
can only move one step left or right.What
algorithm should we follow for the ball to
finally settle at the lowest point on the
terrain?
Ball on terrain example – SA vs Greedy Algorithms
Initial position
of the ball Simulated Annealing explores
more. Chooses this move with a
small probability (Hill Climbing)

Greedy Algorithm
gets stuck here!
Locally Optimum
Solution.

Upon a large no. of iterations,


SA converges to this solution.
Applications
• Circuit partitioning and placement.
• Strategy scheduling for capital products
with complex product structure.
• Umpire scheduling in US Open Tennis
tournament!
• Event-based learning situations.
Jigsaw puzzles – Intuitive usage of Simulated
Annealing
• Given a jigsaw puzzle such
that one has to obtain the
final shape using all pieces
together.
• Starting with a random
configuration, the human
brain unconditionally
chooses certain moves that
tend to the solution.
• However, certain moves that
may or may not lead to the
solution are accepted or
rejected with a certain small
probability.
• The final shape is obtained
as a result of a large number
of iterations.
Conclusions
• Simulated Annealing algorithms are usually
better than greedy algorithms, when it comes to
problems that have numerous locally optimum
solutions.
• Simulated Annealing is not the best solution to
circuit partitioning or placement. Network flow
approach to solving these problems functions
much faster.
• Simulated Annealing guarantees a convergence
upon running sufficiently large number of
iterations.
Thank You!

You might also like