Ai Notes Unit i It is Unom Syllabus Based 1st Unit Notes
Ai Notes Unit i It is Unom Syllabus Based 1st Unit Notes
ARTIFICIAL INTELLIGENCE
What is Artificial Intelligence?
It is a branch of Computer Science that pursues creating the computers or machines as
intelligent as human beings.
It is the science and engineering of making intelligent machines, especially intelligent
computer programs.
It is related to the similar task of using computers to understand human intelligence,
but AI does not have to confine itself to methods that are biologically observable
Definition:
Artificial Intelligence is the study of how to make computers do things, which, at
the moment, people do better.
According to the father of Artificial Intelligence, John McCarthy, it is “The science
and engineering of making intelligent machines, especially intelligent computer
programs”.
Artificial Intelligence is a way of making a computer, a computer-controlled
robot, or a software think intelligently, in the similar manner the intelligent
humans think.
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:
o 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.
o With the help of AI, you can create your personal virtual Assistant, such as Cortana,
Google Assistant, Siri, etc.
o With the help of AI, you can build such Robots which can work in an environment
where survival of humans can be at risk.
o 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:
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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:
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.
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:
Turing Test in AI
In 1950, Alan Turing introduced a test to check whether a machine can think like a human
or not, this test is known as the Turing Test. In this test, Turing proposed that the computer
can be said to be an intelligent if it can mimic human response under specific conditions.
Turing Test was introduced by Turing in his 1950 paper, "Computing Machinery and
Intelligence," which considered the question, "Can Machine think?"
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.
Applications of AI
It refers to problem solving
Search and control strategies,
Speech recognition,
Natural language understanding,
Computer vision,
Expert systems, etc.
Following are some sectors which have the application of Artificial Intelligence:
1. AI in Astronomy
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.
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.
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
Downloaded by SANTHANALAXMI K ([email protected])
lOMoARcPSD|35336379
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.
AI Vocabulary
Intelligence relates to tasks involving higher mental processes, e.g. creativity, solving
problems, pattern recognition, classification, learning, induction, deduction, building
analogies, optimization, language processing, knowledge and many more. Intelligence
is the computational part of the ability to achieve goals.
Intelligent behaviour
It is depicted by perceiving one’s environment, acting in complex environments,
learning and understanding from experience, reasoning to solve problems and discover
hidden knowledge, applying knowledge successfully in new situations, thinking
abstractly, using analogies, communicating with others and more.
Science based goals of AI
It pertain to developing concepts, mechanisms and understanding biological intelligent
behaviour. The emphasis is on understanding intelligent behaviour.
Engineering based goals of AI
It relate to developing concepts, theory and practice of building intelligent machines.
The emphasis is on system building.
AI Techniques
It depict how we represent, manipulate and reason with knowledge in order to solve
problems. Knowledge is a collection of ‘facts’. To manipulate these facts by a program,
a suitable representation is required. A good representation facilitates problem solving.
Learning
It means that programs learn from what facts or behaviour can represent. Learning
denotes changes in the systems that are adaptive in other words, it enables the system
to do the same task(s) more efficiently next time.
Problems of AI:
Intelligence does not imply perfect understanding; every intelligent being has limited
perception, memory and computation.
Many points on the spectrum of intelligence versus cost are viable, from insects to
humans.
AI seeks to understand the computations required from intelligent behaviour and to
produce computer systems that exhibit intelligence.
Aspects of intelligence studied by AI include perception, communication using
human languages, reasoning, planning, learning and memory.
The following questions are to be considered before we can step forward:
1. What are the underlying assumptions about intelligence?
2. What kinds of techniques will be useful for solving AI problems?
3. At what level human intelligence can be modelled?
4. When will it be realized when an intelligent program has been built?
Branches of AI:
A list of branches of AI is given below. However some branches are surely missing,
because no one has identified them yet.
Some of these may be regarded as concepts or topics rather than full branches.
Logical AI
In general the facts of the specific situation in which it must act, and its goals are all
represented by sentences of some mathematical logical language.
The program decides what to do by inferring that certain actions are appropriate for
achieving its goals.
Search
Artificial Intelligence programs often examine large numbers of possibilities for
example, moves in a chess game and inferences by a theorem proving program.
Discoveries are frequently made about how to do this more efficiently in various
domains. f
Pattern Recognition
When a program makes observations of some kind, it is often planned to compare
what it sees with a pattern.
For example, a vision program may try to match a pattern of eyes and a nose in a
scene in order to find a face. More complex patterns are like a natural language text, a
chess position or in the history of some event.
These more complex patterns require quite different methods than do the simple
patterns that have been studied the most.
Representation
Usually languages of mathematical logic are used to represent the facts about
the world.
Inference
Others can be inferred from some facts. Mathematical logical deduction is
sufficient for some purposes, but new methods of non-monotonic inference have been
added to the logic since the 1970s.
The simplest kind of non-monotonic reasoning is default reasoning in which a
conclusion is to be inferred by default. But the conclusion can be withdrawn if there is
evidence to the divergent.
For example, when we hear of a bird, we infer that it can fly, but this conclusion can
be reversed when we hear that it is a penguin.
It is the possibility that a conclusion may have to be withdrawn that constitutes the
non-monotonic character of the reasoning.
Normal logical reasoning is monotonic, in that the set of conclusions can be drawn
from a set of premises, i.e. monotonic increasing function of the premises.
Circumscription is
another form of non-monotonic reasoning.
Common sense knowledge and Reasoning
This is the area in which AI is farthest from the
human level, in spite of the fact that it has been an active research area since the 1950s.
While there has been considerable progress in developing systems of non-monotonic
reasoning and theories of action, yet more new ideas are needed.
Learning from experience
There are some rules expressed in logic for learning. Programs
can only learn what facts or behaviour their formalisms can represent, and unfortunately
learning systems are almost all based on very limited abilities to represent information.
Planning
Planning starts with general facts about the world (especially facts about the effects
of actions), facts about the particular situation and a statement of a goal From these,
planning
programs generate a strategy for achieving the goal.
In the most common cases, the strategy is just a sequence of actions.
Epistemology
This is a study of the kinds of knowledge that are required for solving problems in the
world.
Ontology
Ontology is the study of the kinds of things that exist. In AI the programs and
sentences deal with various kinds of objects and we study what these kinds are and
what their basic properties are
. Ontology assumed importance from the 1990s.
Heuristics
A heuristic is a way of trying to discover something or an idea embedded in a
program. The term is used variously in AI.
Heuristic functions are used in some approaches to search or to measure how far a
node in a search tree seems to be from a goal.
Heuristic predicates that compare two nodes in a search tree to see if one is better
than the other, i.e. constitutes an advance toward the goal, and may be more useful.
Genetic programming
Genetic programming is an automated method for creating a working computer
program from a high-level problem statement of a problem. Genetic programming
starts from a high-level statement of ‘what needs to be done’ and automatically creates
a computer program to solve the problem.
Applications of AI
AI has applications in all fields of human study, such as finance and economics,
environmental
engineering, chemistry, computer science, and so on. Some of the applications of AI are
listed
below:
Perception
■ Machine vision
■ Speech understanding
■ Touch ( tactile or haptic) sensation
Robotics
Natural Language Processing
■ Natural Language Understanding
■ Speech Understanding
■ Language Generation
■ Machine Translation
Planning
Expert Systems
Machine Learning
Theorem Proving
Symbolic Mathematics
Game Playing
AI Technique:
Artificial Intelligence research during the last three decades has concluded that
Intelligence requires knowledge.
To compensate overwhelming quality, knowledge possesses less desirable properties.
A. It is huge.
B. It is difficult to characterize correctly.
C. It is constantly varying.
D. It differs from data by being organized in a way that corresponds to its
application.
E. It is complicated.
In order to characterize an AI technique let us consider initially OXO or tic-tac-toe and use
a series of different approaches to play the game.
Example-1: Tic-Tac-Toe
Each player make a 3*3 gride by X and O in turn.
The player who play in respective mark in a horizontal,vertical,diagonal line win the
game
If both the player fail to reach above criteria and all boxes in the grid are filled,then
the game is draw.
State spaces are good representations for board games such as Tic-Tac-Toe. The position
of a game can be explained by the contents of the board and the player whose turn is next.
The board
can be represented as an array of 9 cells, each of which may contain an X or O or be
empty.
• State:
Player to move next: X or O.
Board configuration:
Search Tree
The sequence of states formed by possible moves is called a search tree. Each level of
the tree is called a ply.
Since the same state may be reachable by different sequences of moves, the state
space may in general be a graph. It may be treated as a tree for simplicity, at the cost
of duplicating states.
whether the answer obtained is correct, or not, and further what is meant by ‘correct’.
For example, consider the following situation:
2.1 Text
Rani went shopping for a new Coat. She found a red one she really liked.
When she got home, she found that it went perfectly with her favourite dress
2.2 Question
1. What did Rani go shopping for?
82. What did Rani find that she liked?
3. Did Rani buy anything?
Method 1
2.3 Data Structures
A set of templates that match common questions and produce patterns used to match
against inputs.
Templates and patterns are used so that a template that matches a given question is
associated with the corresponding pattern to find the answer in the input text.
For example, the template who did x y generates x y z if a match occurs and z is the
answer to the question. The
given text and the question are both stored as strings.
2.4 Algorithm
Answering a question requires the following four steps to be followed:
Compare the template against the questions and store all successful matches to produce
a set of text patterns.
Pass these text patterns through a substitution process to change the person or voice and
produce an expanded set of text patterns.
Apply each of these patterns to the text; collect all the answers and then print the
answers.
2.5 Example
In question 1 we use the template WHAT DID X Y which generates Rani go shopping for
z and after substitution we get Rani goes shopping for z and Rani went shopping for z
giving z [equivalence] a new coat In question 2 we need a very large number of templates
and also a scheme to allow the insertion of ‘find’ before ‘that she liked’; the insertion of
‘really’ in the text; and the substitution of ‘she’ for ‘Rani’ gives the answer ‘a red one’.
Question 3 cannot be answered.
Method 2
2.7 Data Structures
A structure called English consists of a dictionary, grammar and some semantics about
the vocabulary we are likely to come across.
This data structure provides the knowledge to convert English text into a storable
internal form and also to convert the response back into English.
The structured representation of the text is a processed form and defines the context
of the input text by making explicit all references such as pronouns.
There are three types of such knowledge representation systems: production rules of
the form ‘if x then y’, slot and filler systems and statements in mathematical logic.
The system used here will be the slot and filler system.
Take, for example sentence:
‘She found a red one she really liked’.
Event2
instance: finding
instance: liking
tense: past
tense: past
agent: Rani
modifier: much
object: Thing1
object: Thing1
Thing1
instance: coat
colour: red
The question is stored in two forms: as input and in the above form.
2.8 Algorithm
Convert the question to a structured form using English know how, then use a
marker to indicate the substring (like ‘who’ or ‘what’) of the structure, that should
be returned as an answer. If a slot and filler system is used a special marker can be
placed in more than one slot.
The answer appears by matching this structured form against the structured text.
The structured form is matched against the text and the requested segments of the
question are returned.
2.9 Examples
Both questions 1 and 2 generate answers via a new coat and a red coat respectively.
Question 3 cannot be answered, because there is no direct response.
Downloaded by SANTHANALAXMI K ([email protected])
lOMoARcPSD|35336379
For example:
Rani walked up to the salesperson: she asked where the toy department was.
Rani walked up to the salesperson: she asked her if she needed any help.
Whereas in the original text the linkage of ‘she’ to ‘Rani’ is easy, linkage of ‘she’ in
each of the above sentences to Rani and to the salesperson requires additional
knowledge about the context via the people in a shop. must be given here: that is – to
generate unambiguous English knowledge base is a complex task and must be left
until later in the course. The problems of handling pronouns are difficult.
For example:
Rani walked up to the salesperson: she asked where the toy department was.
Rani walked up to the salesperson: she asked her if she needed any help.
Whereas in the original text the linkage of ‘she’ to ‘Rani’ is easy, linkage of ‘she’ in
each of the above sentences to Rani and to the salesperson requires additional
knowledge about the context via the people in a shop.
Method 3
2.11 Data Structures
World model contains knowledge about objects, actions and situations that are
described
in the input text. This structure is used to create integrated text from input text. The
diagram shows how the system’s knowledge of shopping might be represented and stored.
This information is known as a script and in this case is a shopping script. (See figure 1.1
next page )
1.8.2.12 Algorithm
Convert the question to a structured form using both the knowledge contained in
Method and the World model, generating even more possible structures, since even
more knowledge is being used.
Sometimes filters are introduced to prune the possible answers.
To answer a question, the scheme followed is: Convert the question to a structured
form
as before but use the world model to resolve any ambiguities that may occur.
The structured form is matched against the text and the requested segments of the
question are returned.
2.13 Example
Both questions 1 and 2 generate answers, as in the previous program. Question 3 can
now be answered. The shopping script is instantiated and from the last sentence the
path through step 14 is the one used to form the representation. ‘M’ is bound to the red
coat-got home. ‘Rani buys a red coat’ comes from step 10 and the integrated text
generates that she bought a red coat.
Question: Why couldn’t Rani’s brother reach her?
Answer: Because she was not in.
This answer is derived because we have supplied an additional fact that a person cannot be
in two places at once. This patch is not sufficiently general so as to work in all cases and
does not provide the type of solution we are really looking for.
Are we trying to produce programs that do the tasks the same way that people do?
OR
Are we trying to produce programs that simply do the tasks the easiest way that is
possible?
Programs in the first class attempt to solve problems that a computer can easily solve
and
do not usually use AI techniques.
AI techniques usually include a search, as no direct method is
Available, the use of knowledge about the objects involved in the problem area and
abstraction on which allows an element of pruning to occur, and to enable a solution to
be found in real time; otherwise, the data could explode in size.
Examples of these trivial problems in the first class, which are now of interest only to
psychologists are EPAM (Elementary Perceiver and Memorizer) which memorized
garbage syllables.
The second class of problems attempts to solve problems that are non-trivial for a
computer and use AI techniques. We wish to model human performance on these:
1. To test psychological theories of human performance. Ex. PARRY [Colby, 1975] – a
program to simulate the conversational behavior of a paranoid person.
2. To enable computers to understand human reasoning – for example, programs that
answer questions based upon newspaper articles indicating human behavior.
3. To enable people to understand computer reasoning. Some people are reluctant to
accept computer results unless they understand the mechanisms involved in arriving at the
results.
4. To exploit the knowledge gained by people who are best at gathering information. This
persuaded the earlier workers to simulate human behavior in the SB part of AISB
simulated behavior. Examples of this type of approach led to GPS (General Problem
Solver).
Questions for Practice:
1. What is intelligence? How do we measure it? Are these measurements useful?
2. When the temperature falls and the thermostat turns the heater on, does it act because it
believes the room to be too cold? Does it feel cold? What sorts of things can have beliefs
or feelings? Is this related to the idea of consciousness?
3. Some people believe that the relationship between your mind (a non-physical thing) and
your brain (the physical thing inside your skull) is exactly like the relationship between a
computational process (a non-physical thing) and a physical computer. Do you agree?
4. How good are machines at playing chess? If a machine can consistently beat all the best
human chess players, does this prove that the machine is intelligent?
5. What is AI Technique? Explain Tic-Tac-Toe Problem using AI Technique.
Analyze the problem – find few important features that may have impact on the
appropriateness of various possible techniques for solving the problem
Isolate and represent task knowledge necessary to solve the problem
Choose the best problem-solving technique(s) and apply to the particular problem
Problem definitions
A problem is defined by its ‘elements’ and their ‘relations’. To provide a formal
description of a problem, we need to do the following:
a. Define a state space that contains all the possible configurations of the relevant objects,
including some impossible ones.
b. Specify one or more states that describe possible situations, from which the
problem solving process may start. These states are called initial states.
c. Specify one or more states that would be acceptable solution to the problem.These states
are called goal states.
Specify a set of rules that describe the actions (operators) available.
The problem can then be solved by using the rules, in combination with an appropriate
control
strategy, to move through the problem space until a path from an initial state to a goal
state is found. This process is known as ‘search’. Thus:
Search is fundamental to the problem-solving process.
Search is a general mechanism that can be used when a more direct method is not
known.
Search provides the framework into which more direct methods for solving
subparts of a problem can be embedded. A very large number of AI problems are
formulated as search problems.
Problem space
A problem space is represented by a directed graph, where nodes represent search
state and paths represent the operators applied to change the state.
To simplify search algorithms, it is often convenient to logically and programmatically
represent a problem space as a tree. A tree usually decreases the complexity of a
search at a cost. Here, the cost is due to duplicating some nodes on the tree that were
linked numerous times in the graph,
e.g. node B and node D.
Downloaded by SANTHANALAXMI K ([email protected])
lOMoARcPSD|35336379
A tree is a graph in which any two vertices are connected by exactly one path.
Alternatively, any connected graph with no cycles is a tree.
Problem solving: The term, Problem Solving relates to analysis in AI. Problem solving
may be characterized as a systematic search through a range of possible actions to reach
some predefined goal or solution.
Problem-solving methods are categorized as
special purpose and
general purpose.
• A special-purpose method is tailor-made for a particular problem, often exploits very
specific features of the situation in which the problem is embedded.
• A general-purpose method is applicable to a wide variety of problems. One General-
purpose technique used in AI is ‘means-end analysis’: a step-by step, or incremental,
reduction of the difference between current state and final goal.
2.3 DEFINING PROBLEM AS A STATE SPACE SEARCH
To solve the problem of playing a game, we require the rules of the game and targets
for winning as well as representing positions in the game.
The opening position can be defined as the initial state and a winning position as a
goal state. Moves from initial state to other states leading to the goal state follow
legally. the rules are far too abundant in most games especially in chess, where they
exceed the number of particles in the universe.
Thus, the rules cannot be supplied accurately and computer programs cannot handle
easily.
The storage also presents another problem but searching can be achieved by hashing.
The number of rules that are used must be minimized and the set can be created by
expressing each rule in a form as possible.
The representation of games leads to a state space representation and it is common
for well-organized games with some structure.
This representation allows for the formal definition of a problem that needs the
movement from a set of initial positions to one of a set of target positions.
It means that the solution involves using known techniques and a systematic search.
This is quite a common method in Artificial Intelligence.
2.3.1 State Space Search
A state space represents a problem in terms of states and operators that change
states.
A state space consists of:
A representation of the states the system can be in. For example, in a board game,
the board represents the current state of the game.
A set of operators that can change one state into another state. In a board game, the
operators are the legal moves from any given state. Often the operators are
represented as programs that change a state representation to represent the new
state.
An initial state. A set of final states; some of these may be desirable, others
undesirable.
This set is often represented implicitly by a program that detects terminal states.
2.3.2 The Water Jug Problem
In this problem, we use two jugs called four and three;
four holds a maximum of four gallons of water and three a maximum of three gallons
of water. How can we get two gallons of water in the four jug?
The state space is a set of prearranged pairs giving the number of gallons of water in
the pair of jugs at any time, i.e., (four, three) where four = 0, 1, 2, 3 or 4 and three =
0, 1, 2 or 3.
The start state is (0, 0) and the goal state is (2, n) where n may be any but it is limited
to three holding from 0 to 3 gallons of water or empty.
Three and four shows the name and numerical number shows the amount of water in
jugs for solving the water jug problem.
The major production rules for solving this problem are shown below:
The problem solved by using the production rules in combination with an appropriate
control strategy, moving through the problem space until a path from an initial state to a
goal state is found. In this problem solving process, search is the fundamental concept.
For simple problems
it is easier to achieve this goal by hand but there will be cases where this is far too
difficult.
2.4 PRODUCTION SYSTEMS
Production systems provide appropriate structures for performing and describing
search processes. A production system has four basic components as enumerated
below.
A set of rules each consisting of a left side that determines the applicability of the rule
and a right side that describes the operation to be performed if the rule is applied.
A database of current facts established during the process of inference.
A control strategy that specifies the order in which the rules will be compared with
facts in the database and also specifies how to resolve conflicts in selection of several
rules or selection of more facts.
A rule firing module.
The production rules operate on the knowledge database. Each rule has a precondition—
that is,
either satisfied or not by the knowledge database. If the precondition is satisfied, the rule
can be
applied. Application of the rule changes the knowledge database. The control system
chooses which applicable rule should be applied and ceases computation when a
termination condition on the knowledge database is satisfied.
Example: Eight puzzle (8-Puzzle)
The 8-puzzle is a 3 × 3 array containing eight square pieces, numbered 1 through 8, and
one empty space. A piece can be moved horizontally or vertically into the empty space, in
effect
exchanging the positions of the piece and the empty space. There are four possible moves,
UP
(move the blank space up), DOWN, LEFT and RIGHT. The aim of the game is to make a
sequence of moves that will convert the board from the start state into the goal state:
This example can be solved by the operator sequence UP, RIGHT, UP, LEFT, DOWN.
State representation:
1. BOAT position: original (T) or final (NIL) side of the river.
2. Number of Missionaries and Cannibals on the original side of the river.
3. Start is (T 3 3); Goal is (NIL 0 0).
Operators:
This puzzle involves a set of rings of different sizes that can be placed on three different
pegs.
• The puzzle starts with the rings arranged as shown in Figure 2.4(a)
• The goal of this puzzle is to move them all as to Figure 2.4(b)
• Condition: Only the top ring on a peg can be moved, and it may only be
placed on a smaller ring, or on an empty peg.
In this Tower of Hanoi puzzle:
• Situations encountered while solving the problem are described as states.
A graph consists of a set of nodes (vertices) and a set of edges (arcs). Arcs establish
relationships (connections) between the nodes; i.e., a graph has several paths to a
given node.
The Operators are directed arcs between nodes.
A search process explores the state space. In the worst case, the search explores all
possible paths between the initial state and the goal state.
• Problem solution
In the state space, a solution is a path from the initial state to a goal state or,
sometimes, just a goal state.
A solution cost function assigns a numeric cost to each path; it also gives the cost
of applying the operators to the states.
A solution quality is measured by the path cost function; and an optimal solution
has the lowest path cost among all solutions.
The solutions can be any or optimal or all.
The importance of cost depends on the problem and the type of solution asked
• Problem description
A problem consists of the description of:
The current state of the world,
The actions that can transform one state of the world into another,
The desired state of the world.
The following action one taken to describe the problem:
State space is defined explicitly or implicitly
A state space should describe everything that is needed to solve a problem and
nothing that is not needed to solve the problem.
Initial state is start state
Goal state is the conditions it has to fulfill.
The description by a desired state may be complete or partial.
Operators are to change state
Operators do actions that can transform one state into another;
Operators consist of: Preconditions and Instructions;
Preconditions provide partial description of the state of the world that must be true in
order to perform the action, and
Instructions tell the user how to create the next state.
Operators should be as general as possible, so as to reduce their number.
Elements of the domain has relevance to the problem Knowledge of the starting
point.
Problem solving is finding a solution Find an ordered sequence of operators that
transform the current (start) state into a goal state.
Restrictions are solution quality any, optimal, or all
Finding the shortest sequence, or
finding the least expensive sequence defining cost, or
finding any sequence as quickly as possible.
This can also be explained with the help of algebraic function as given below.
PROBLEM CHARACTERISTICS
Heuristics cannot be generalized, as they are domain specific.
Production systems provide ideal techniques for representing such heuristics in the
form of IF-THEN rules. Most problems requiring simulation of intelligence use
heuristic search extensively.
Some heuristics are used to define the control structure that guides the search process,
as seen in the example described above.
But heuristics can also be encoded in the rules to represent the domain knowledge.
Since most AI problems make use of knowledge and guided search through the
knowledge,
AI can be described as the study of techniques for solving exponentially hard
problems in polynomial time by exploiting knowledge about problem domain.
To use the heuristic search for problem solving, we suggest analysis of the problem for the
following considerations:
De composability of the problem into a set of independent smaller sub
problems
Possibility of undoing solution steps, if they are found to be unwise
Predictability of the problem universe
Possibility of obtaining an obvious solution to a problem without comparison
of all other possible solutions
Type of the solution: whether it is a state or a path to the goal state
Role of knowledge in problem solving
Nature of solution process: with or without interacting with the user
The general classes of engineering problems such as planning, classification, diagnosis,
monitoring and design are generally knowledge intensive and use a large amount of
heuristics.
Downloaded by SANTHANALAXMI K ([email protected])
lOMoARcPSD|35336379
Depending on the type of problem, the knowledge representation schemes and control
strategies for search are to be adopted. Combining heuristics with the two basic search
strategies have been discussed above.
There are a number of other general-purpose search techniques which are essentially
heuristics based. Their efficiency primarily depends on how they exploit the
domain specific knowledge to abolish undesirable paths. Such search methods are
called ‘weak methods’, since the progress of the search depends heavily on the way
the domain knowledge is exploited.
A few of such search techniques which form the centre of many AI systems are
briefly
presented in the following sections.
Problem Decomposition
Suppose to solve the expression is: + (X³ + X² + 2X + 3sinx) dx
This problem can be solved by breaking it into smaller problems, each of which we can
solve by using a small collection of specific rules. Using this technique of problem
decomposition, we can solve very large problems very easily. This can be considered as an
intelligent behaviour.
Can Solution Steps be Ignored?
Suppose we are trying to prove a mathematical theorem: first we proceed considering
that proving a lemma will be useful. Later we realize that it is not at all useful. We
start with another one to prove the theorem. Here we simply ignore the first method.
Consider the 8-puzzle problem to solve: we make a wrong move and realize that
mistake. But here, the control strategy must keep track of all the moves, so that we can
backtrack to the initial state and start with some new move.
Consider the problem of playing chess. Here, once we make a move we never recover
from that step.
These problems are illustrated in the three important classes of problems mentioned
below:
1. Ignoble, in which solution steps can be ignored. Eg: Theorem Proving
2. Recoverable, in which solution steps can be undone. Eg: 8-Puzzle
3. Irrecoverable, in which solution steps cannot be undone. Eg: Chess
Is the Problem Universe Predictable?
Consider the 8-Puzzle problem. Every time we make a move, we know exactly
what will happen.
This means that it is possible to plan an entire sequence of moves and be confident
what the resulting state will be. We can backtrack to earlier moves if they prove
unwise.
Suppose we want to play Bridge. We need to plan before the first play, but we
cannot play with certainty.
So, the outcome of this game is very uncertain. In case of 8-Puzzle, the outcome is
very certain.
To solve uncertain outcome problems, we follow the process of plan revision as the
plan is carried out and the necessary feedback is provided.
The disadvantage is that the planning in this case is often very expensive.
Is Good Solution Absolute or Relative?
Consider the problem of answering questions based on a database of simple facts such as
the following:
1. Siva was a man.
2. Siva was a worker in a company.
3. Siva was born in 1905.
4. All men are mortal.
5. All workers in a factory died when there was an accident in 1952.
6. No mortal lives longer than 100 years.
Suppose we ask a question: ‘Is Siva alive?’
By representing these facts in a formal language, such as predicate logic, and then
using formal inference methods we can derive an answer to this question easily.
There are two ways to answer the question shown below:
How to represent each node of the search process? This is the knowledge
representation problem or the frame problem. In games, an array suffices; in other
problems, more complex data structures are needed.
Finally in terms of data structures, considering the water jug as a typical problem do
we use a graph or tree?
The breadth-first structure does take note of all nodes generated
but the depth-first one can be modified.
Check duplicate nodes
1. Observe all nodes that are already generated, if a new node is present.
2. If it exists add it to the graph.
3. If it already exists, then
a. Set the node that is being expanded to the point to the already existing node
corresponding to its successor rather than to the new one. The new one can be thrown
away.
b. If the best or shortest path is being determined, check to see if this path is better or
worse than the old one. If worse, do nothing.
Better save the new path and work the change in length through the chain of successor
nodes if necessary
Example: Tic-Tac-Toe
State spaces are good representations for board games such as Tic-Tac-Toe. The position
of a game can be explained by the contents of the board and the player whose turn is next.
The board
can be represented as an array of 9 cells, each of which may contain an X or O or be
empty.
• State:
Player to move next: X or O.
Board configuration:
Search Tree
The sequence of states formed by possible moves is called a search tree. Each level of
the tree is called a ply.
Since the same state may be reachable by different sequences of moves, the state
space may in general be a graph. It may be treated as a tree for simplicity, at the cost
of duplicating states.