Unit 5 - Notes
Unit 5 - Notes
Basic plan generation systems - Strips -Advanced plan generation systems – K strips -
Strategic explanations -Why, Why not and how explanations. Learning - Machine
learning, adaptive Learning.
PLANNING
Planning refers to the process of computing several steps of a problem solving procedure
before executing any of them.
STRIPS
• Its name is derived from STanford Research Institute Problem Solver.
• An automated planner.
• Planning system for a robotics project: SHAKEY.
• Developed by Richard Fikes and Nils Nilsson in 1971 at SRI International.
• Classical Planning System.
• Knowledge Representation: First Order Logic.
• Algorithm: Forward chaining on rules.
STRIPS-Like Planning Formulation
• A finite, nonempty set of instances.
• A finite, nonempty set of predicates, which are binary-valued (partial) functions of
one of more instances. Each application of a predicate to a specific set of instances is
called a positive literal. A logically negated positive literal is called a negative literal.
• A finite, nonempty set of operators, each of which has:
1) preconditions, which are positive or negative literals that must hold for the
operator to apply, and
2) effects, which are positive or negative literals that are the result of applying
the operator.
• An initial set which is expressed as a set of positive literals. Negative literals are
implied. For any positive literal that does not appear in , its corresponding negative
literal is assumed to hold initially.
• A goal set which is expressed as a set of both positive and negative literals.
STRIPS Planner
• STRIPS maintains two additional data structures:
– State List - all currently true predicates.
– Goal Stack - a push down stack of goals to be solved, with current goal on top
of stack. ƒ
• If the current goal is not satisfied by present state,
- Find goal in the add list of an operator, and push operator and preconditions
list on stack. (=Sub goals).
• When a current goal is satisfied, OP it from stack. ƒ
• When an operator is on top of the stack,
– record the application of that operator – update the plan sequence and
– use the operator’s add and delete lists to update the current state.
Reasoning Loop
• If the top item on the goal stack is:
– empty (the goal stack is empty), return the actions executed
• they form the plan to achieve the goal
– a goal, and it is satisfied in the current state, remove it from the stack (no
replacement necessary)
– a complex goal, break it into sub goals, placing all sub goals on the goal stack
(the original goal is pushed down into the goal stack)
– a predicate, find an action that will make it true, then place that action (with
variables bound appropriately) and its preconditions on the goal stack
(preconditions first)
– an action and its preconditions are satisfied, perform the action, updating the
world state using the delete and add lists of the action (if the pre-conditions are
not satisfied, add them to the goal list without removing the action).
– Add this action to the partial plan.
STRIPS Limitation
• Expressive power of description language for the operators:
– Operator changes exactly, what is specified in its add list and delete list.
• Problems with the strategy: Sussman anomaly
The Sussman Anomaly demonstrates a scenario where a naïve goal-directed AI planner struggles
to sequence actions correctly due to interdependent subgoals. It arises in STRIPS-like planners
(which use state-space search and planning rules).
Imagine a blocks-world domain, where we have three blocks (A, B, and C) and a robotic arm that
can pick up and stack them.
Initial State:
A is on the table.
B is on the table.
C is on A.
Goal State:
A should be on B.
B should be on C.
Challenge: A simple goal regression planner (which solves subgoals independently) will face a
problem:
At each succeeding step of the problem solving process, the top goal on the stack will be
pursued. When a sequence of operators that satisfies is found, that sequence is applied to the
state description, yielding a new description. Next, the goal that is then at the top of the stack
is explored and an attempt is made to satisfy it, starting from the situation that was produced
as a result of satisfying the first goal. This process continues until the goal is empty.
Then as one last check, the original goal is compared to the final state derived from
the application of the chosen operators. If any components of the goal are not satisfied in that
state, then those unsolved parts of the goal are reinserted on to the stack and the process
resumed.
STACK(C,A)
ON(B,D)
ON(C,A) ON(B,D) OTAD
CLEAR(A)
HOLDING(C)
CLEAR(A) HOLDING(C)
STACK(C,A)
ON(B,D)
ON(C,A) ON(B,D) OTAD
CLEAR(A) is not true. To make CLEAR(A) true, B must be un-stacked from A. This is done
by the operator UNSTACK(B,A).
UNSTACK(B,A)
HOLDING(C)
CLEAR(A) HOLDING(C) STACK(C,A)
ON(B,D)
ON(C,A) ON(B,D) OTAD
ON(B,A)
CLEAR(B)
ARMEMPTY
ON(B,A) CLEAR(B) ARMEMPTY
UNSTACK(B,A)
HOLDING(C)
CLEAR(A) HOLDING(C)
STACK(C,A)
ON(B,D)
ON(C,A) ON(B,D) OTAD
Here, ON(B,A) is true, CLEAR(B) is true, ARMEMPTY is true. So, they are
popped out from the goal stack. Thus, all the preconditions of UNSTACK(B,A) is
true. So, UNSTACK(B,A) is placed in the solution list.
HOLDING(C)
CLEAR(A) HOLDING(C)
STACK(C,A)
ON(B,D)
ON(C,A) ON(B,D) OTAD
PICKUP(C)
CLEAR(A) HOLDING(C)
STACK(C,A)
ON(B,D)
ON(C,A) ON(B,D) OTAD
The preconditions for PICKUP(C) are pushed inside the goal stack.
ONTABLE(C)
CLEAR(C)
ARMEMPTY
ONTABLE(C) CLEAR(C) ARMEMPTY
PICKUP(C)
CLEAR(A) HOLDING(C)
STACK(C,A)
ON(B,D)
ON(C,A) ON(B,D) OTAD
STACK(B,D)
ONTABLE(C) CLEAR(C) ARMEMPTY
PICKUP(C)
CLEAR(A) HOLDING(C)
STACK(C,A)
ON(B,D)
ON(C,A) ON(B,D) OTAD
CLEAR(D)
HOLDING(B)
CLEAR(D) HOLDING(B)
STACK(B,D)
ONTABLE(C) CLEAR(C) ARMEMPTY
PICKUP(C)
CLEAR(A) HOLDING(C)
STACK(C,A)
ON(B,D)
ON(C,A) ON(B,D) OTAD
Here, CLEAR(D) and HOLDING(B) are true. This means that the preconditions of
STACK(B,D) is true. Thus, CLEAR(D) and HOLDING(B) are popped out and
STACK(B,D) is placed in the solution list.
Now, ONTABLE(C), CLEAR(C) and ARMEMPTY are true. So they are popped out
and PICKUP(C) is placed on the solution list.
Solution List={ UNSTACK(B,A), STACK(B,D), PICKUP(C)}
CLEAR(A) HOLDING(C)
STACK(C,A)
ON(B,D)
ON(C,A) ON(B,D) OTAD
Here, CLEAR(A) and HOLDING(C) are true. Thus, CLEAR(A) and HOLDING(C) are
popped out from the goal stack. STACK(C,A) is placed in the solution list.
Solution List={ UNSTACK(B,A), STACK(B,D), PICKUP(C), STACK(C,A)}
HIERARCHICAL PLANNING
To solve hard problems, problem solver may have to generate long plans.
To do this efficiently, eliminate some of the details of the problem until a solution that
addresses the main issues is found. Then an attempt can be made to fill in the
appropriate details.
ABSTRIPS is an approach, which actually planned in a hierarchy of abstraction
spaces, in which each of the preconditions at a lower level of abstractions were
ignored.
Example: Suppose we want to visit a friend in Europe, but you have a limited amount of cash
to spend. It makes sense to check air fare first, since finding an affordable flight will be most
difficult part of the task. You should not worry about getting your drive way, planning a route
to airport, or parking your car until you are sure you have a flight.
REACTIVE SYSTEMS
Hierarchical planning and Non-linear planning systems are deliberative planning process,
in which a plan for completing an entire task is constructed prior to action. The idea of
reactive systems is to avoid planning altogether, and instead use the observable situation as a
clue to which one can simply react.
It chooses actions one at a time; it does not anticipate and select an entire action sequence
before it does the first thing.
Example: Thermostat
The job of the thermostat is to keep temperature constant inside a room. The real
thermostat uses simple pair of situation-action rule.
If the temperature in the room is k degrees above the desired temperature, then turn
the air condition on.
If the temperature in the room is k degrees below the desired temperature, then turn
the air condition off.
An intelligent system with limited resources must decide when to start thinking, when
to stop thinking and when to act. Some mechanisms foe suspending plan execution is needed
so that the system can turn its attention to high priority goals. Finally some situations require
immediate attention and rapid action. For this reason, some deliberative planners compile out
relative sub systems based on their problem solving experiences.
Advantages:
1. Robustness – operate robustly in domains that are difficult to model
completely and accurately
2. Extremely responsive – attractive for real time tasks like driving and walking.
Other planning Systems
Triangle Tables: Provide a way of recording the goals that each operator is expected
to satisfy as well as goals that must be true for it to execute correctly. If something
unexpected happens during the execution of a plan, the table provides the information
required to patch the plan.
Meta-planning: A technique for reasoning not just about the problem being solved
but also about the planning process itself.
Macro-operators: Allow a planner to build new operators that represent commonly
used sequence of operators.
Case based planning: Re-uses old plans to make new ones.
The goal stack planning method attacks problems involving conjoined goals by solving
the goals one at a time, in order. A plan generated by this method contains sequence of
operators for attaining the first goal, followed by the complete sequence for the second goal.
But, the difficult problems cause goal interactions.
The operators used to solve one sub problem may interfere with the solution to a previous
sub problem. Most sub problems require an intertwined plan in which multiple sub-problems
are worked on simultaneously. Such plan is called a nonlinear plan because it is not
composed of a linear sequence of complete sub-plans.
The initial plan consists of no steps and by studying the goal state ideas for the
possible steps are generated. There is no order or detail at this stage. Gradually more detail is
introduced and constraints about the order of subsets of the steps are introduced until
a completely ordered sequence is created.
In this problem means-end analysis suggests two steps with end conditions ON(A,B)
and ON(B,C) which indicates the operator STACK giving the layout shown below where the
operator is preceded by its preconditions and followed by its post conditions:
ON(A,B) ON(B,C)
CLEAR(B) CLEAR(C)
*HOLDING(A) *HOLDING(B)
STACK(A,B) STACK(B,C)
ARMEMPTY ARMEMPTY
ON(A,B) ON(B,C)
CLEAR(B) CLEAR(C)
HOLDING(A) HOLDING(B)
Many planning methods have introduced heuristics to achieve goals or preconditions. The
TWEAK planning method brought all these together under one formalism. Other methods
that introduced/used the following heuristics are mentioned in brackets in the following
section.
CLEAR(A) CLEAR(C)
ONTABLE(A) ONTABLE(B)
*ARMEMPTY *ARMEMPTY
PICKUP(A) PICKUP(B)
ONTABLE(A) ONTABLE(B)
ARMEMPTY ARMEMPTY
HOLDING(A) HOLDING(B)
In this case we need to state that a PICKUP step should precede a corresponding STACK
step. That is to say
PICKUP(A) STACK(A,B)
PICKUP(B) STACK(B,C)
This gives four steps partially ordered and four unachieved conditions
We can use the promotion heuristic to force one operator to precede another so that the
postcondition of one operator STACK(A,B) does not negate the precondition CLEAR(B) of
another operator PICKUP(B). This ordering is represented by
PICKUP(B) STACK(A,B)
Making PICKUP(B) precede PICKUP(A) ensures that the arm is empty and all the conditions
for PICKUP(B) are met.
This is written
PICKUP(B) PICKUP(A).
Unfortunately a postcondition of the first operator is that the arm becomes not empty, so we
need to use the declobbering heuristic to achieve the preconditions of the second operator
PICKUP(A).
Declobbering
*CLEAR(x)
*ON(x,A)
*ARMEMPTY
UNSTACK(x,A)
ON(x,A)
ARMEMPTY
HOLDING(x)
CLEAR(A)
The variable x can be bound to the block C by the simple establishment heuristic since C is
on A in the initial state. The preconditions CLEAR(C) and ARMEMPTY are negated by
STACK(B,C) and by PICKUP(B) or PICKUP(A) however.
UNSTACK(C,A) STACK(B,C)
UNSTACK(C,A) PICKUP(A)
UNSTACK(C,A) PICKUP(B)
Promotion involves adding a step and this clobbers one of the preconditions of PICKUP(B)
viz ARMEMPTY, always a potential problem with this heuristic.
However all is not lost as there is an operator, PUTDOWN that has the required
postcondition and given that the operator UNSTACK(C,A) had generated the precondition
for it of HOLDING(C) we can produce an extra operator successfully
HOLDING(C)
PUTDOWN(C)
HOLDING(C)
ONTABLE(C)
ARMEMPTY
1. UNSTACK(C,A)
2. PUTDOWN(C)
3. PICKUP(B)
4. STACK (B,C)
5. PICKUP(A)
6. STACK(A,B)
Let us finish this section by looking at the formal form of the TWEAK algorithm:
EXPLANATION
In order for an expert system to be an effective tool, people must be able to interact
with it easily. To facilitate this interaction, the expert system must have the following two
capabilities in addition to ability to perform its underlying task.
Explain its reasoning: In many of the domains in which expert systems operate, people will
not accept results unless they have been convinced of the accuracy of the reasoning process
that produced those results. This is particularly true, for example, in medicine, where a doctor
must accept ultimate responsibility for a diagnosis, even if that diagnosis was arrived at with
considerable help from the program.
Acquire new knowledge and modification of old knowledge. Since expert systems derive this
power from the richness of the knowledge bases they of exploit, it is extremely important that
those knowledge bases be as complete and as accurate as possible. But often there exists no
standard codification of that knowledge; rather it exists only inside the heads of human
experts. One way to get this knowledge in to program is through interaction with human
expert. Another way is to have the program learn expert behavior from raw data.
LEARNING
Learning process is the basis of knowledge acquisition process. Knowledge
acquisition is the expanding the capabilities of a system or improving its performance at
some specified task. The acquired knowledge may consist of various facts, rules, concepts,
procedures, heuristics, formulas, relationships or any other useful information.
Rote Learning
It is the simplest form of learning. It requires the least amount of inference and is
accomplished by simply copying the knowledge in the same form that it will be used
directly into the knowledge base. It includes learning my imitation, simple memorization
and learning by being performed.
For example we may use this type of learning when we memorize multiplication
tables. In this method we store the previous computed values, for which we do not have for
recomputed them later. Also we can say rote learning is one type of existing or base
learning.
For example, in our childhood, we have the knowledge that ―sun rises in the east‖.
So in our later stage of learning we can easily memorize the thing. Hence in this context, a
system may simply memorize previous solutions and recall them when confronted with the
same problem. Generally access of stored value must be faster than it would be to re-
compute. Methods like hashing, indexing and sorting can be employed to enable this.
One drawback of rote learning is it is not very effective in a rapidly changing
environment. If the environment does change then we must detect and record exactly what
has changed. Also this technique must not decrease the efficiency of the system.
Learning by Taking Advice
In this process we can learn through taking advice from others. The idea of advice
taking learning was proposed in early 1958 by McCarthy. In our daily life, this learning
process is quite common. Right from our parents, relatives to our teachers, when we start
our educational life, we take various advices from others. We know the computer programs
are written by programmers. When a programmer writes a computer program he or she
gives many instructions to computer to follow, the same way a teacher gives his/her advice
to his students. The computer follows the instructions given by the programmer. Hence, a
kind of learning takes place when computer runs a particular program by taking advice
from the creator of the program.
Mostow describes a program called FOO, which accepts advice for playing hearts, a
card game. A human user first translates the advice from English in to a representation that
FOO can understand.
Example: (avoid(take-points me)(trick))
Describes about problem solving can be performed without the aid of teacher.
Learning by Parameter Adjustment
Many programs rely on an evaluation procedure that combines information from several
sources in to a single summary statistic. Pattern classification program often combine several
features to determine the correct category in to which a given stimulus should be placed. In
designing such programs, it is often difficult to know a priori how much weight should be
attached to each feature being used. One way to finding the correct weights is to begin with
some estimate of the correct settings and then to let program modify the settings on the basis
of its experience. Features that appear to be good predictors of overall success will have their
weights increased, while those that do not will have their weights decreased.
Learning with Macro-Operators
For example, suppose you are faced with the problem of getting to a downtown post
office. Your solution may involve getting in your car, starting it and driving it along a certain
route. Substantial planning may go in to choosing the appropriate route, but, you need not
plan about how to go about starting your car. You are free to treat START-CAR as an atomic
action, even though it really consists of several actions: sitting down, adjusting the mirror,
inserting the key and turning the key. Sequence of actions that can be treated as a whole are
called macro-operators. A MACROP is just like a regular operator except that it consists of
sequence of actions, not just a single one.
Suppose we are given an initial blocks world situation in which ON(C, B) and ON(A,
Table) are both true. STRIPS can achieve goal ON(A,B) by devising a plan with the four
steps UNSTACK(C,B), PUTDOWN(C), PICKUP(A), STACK(A,B). STRIPS now build a
MACROP with preconditions ON(C,B ), ON(A, Table) and post conditions ON(C, Table),
ON(A,B).
Learning by Chunking
Chunking is a process similar to macro-operators. Its computational basis is in
production systems. SOAR also exploits chunking so that the performance can increase with
experience. SOAR solve problem by firing productions which are stored in long term
memory. When SOAR detects a useful sequence of production firings, it creates a chunk
which is essentially a large production that does the work of an entire sequence of smaller
ones.
SOAR learns how to place a given tile without permanently disturbing the previously
placed tiles. Given the way that SOAR learns, several chunks may encode a single macro-
operator, and one chunk may participate in a number of macro sequences. Chunks are
generally applicable toward any goal state. Chunks learned during the initial stages of solving
a problem are applicable in the later stages of the same problem solving episode. After a
solution is found, the chunks remain in memory, ready for use in the next problem.
Before classification can be done, the classes it will use must be defined. This can be done in
variety of ways, including:
Isolate a set of features that are relevant to the task domain. Define each class by a
weighted sum of values of these features. Each class is then defined by a scoring
function.
For example if the task is weather prediction, the parameters can be such
measurements as rainfall and the location of cold fronts. Different functions can
be written to combine these parameters to predict sunny, rainy, or snowy
weather.
Isolate a set of features that are relevant to the task domain. Define each class as
structure composed of those features.
For example, if the task is to identify animals, the body of each type of animal
can be stored as a structure, with various features representing such as things as
color, length of neck, and feathers
The idea of producing a classification program that can evolve its own class definitions is
appealing. This task of constructing class definitions is called concept learning, or
induction.
If classes are described by scoring functions then concept learning can be done using the
technique of coefficient adjustment. If classes are defined structurally, some other techniques
are necessary.
1. Select one know instance of the concept. Call this the concept definition.
2. Examine definitions of other known instance of the concept. Generalize the definition
to include them.
3. Examine descriptions of near misses. Restrict the definition to exclude these.
Both steps 2 and 3 rely on comparison and both similarities and differences need to be
identified.
2. Version Spaces
The goal of version space is to produce a description that is consistent with all
positive examples but no negative examples in the training set. Version space works by
maintaining a set of possible descriptions and evolving that set as new examples and near
misses are presented. Some sort of representational knowledge is needed for examples so that
we can describe exactly what the system sees in the example.
The algorithm for narrowing version space is called the candidate elimination
algorithm
Algorithm: Candidate Elimination
Given: A representation language and a set of positive and negative examples expressed in
the language.
Compute: a concept description that is consistent with all positive examples and none of the
negative examples.
1. Initialize G to contain one element: the null description.
2. Initialize S to contain one element: the first positive example.
3. Accept a new training example.
If it is a positive example, first remove from G any descriptions that do not cover the
example. Then update s set to contain the most specific set of descriptions in the version
space that cover the example and the current elements of the set S.
If it is a negative example, first remove S from any descriptions that cover the
example. Then, update the G set to contain the most general set of descriptions in the version
space that do not cover the example. That is, specialize the elements of G as little as possible
so that the negative example is no longer covered by any of the elements of G.
4. If S and G are both singleton sets, then if they are identical, output their value and halt. If
they are both singleton sets but they are different, then the training cases were inconsistent.
Output this result and halt. Otherwise go to step 3.
3. Decision trees
A method for approximating discrete-valued target functions, in which the learned function is
represented by a decision tree or sets of if-then rules. Decision tree learning uses a decision
tree as a predictive model, which maps observations about an item to conclusions about the
item's target value.
Task: Distinguish dolphins from other similar looking fishes
Features: Length (numeric), Gills (yes| no), Beak (yes| no), Teeth (categorical — Many |
Few)
EXPLANATION BASED LEARNING
The EBL module uses the results from the problem-solving trace (ie. Steps in solving
problems) that were generated by the central problem solver (a search engine that searches
over a problem space). It constructs explanations using an axiomatized theory that describes
both the domain and the architecture of the problem solver. The results are then translated as
control rules and added to the knowledge base. The control knowledge that contains control
rules is used to guide the search process effectively.
Consider the problem of learning the concept bucket. We want to generalize from a
single example of a bucket. At first collect the following information.
1. Input Examples:
Owner (object, X) K has part (object, Y) K is(object, Deep) K Color
(Object, Green) K … … (Where Y is any thin material)
2. Domain Knowledge:
is (a, Deep) K has part (a, b) K is a(b, handle) ‹
liftable (a) has part (a, b) K is a (b, Bottom) K is (b,
flat) ‹ Stable (a)
has part (a, b) K is a (b, Y) K is (b, Upward — pointing) ‹ Open — vessel (a)
3. Goal: Bucket
B is a bucket if B is liftable, stable and open-vessel.
4. Description of Concept: These are expressed in purely structural forms like Deep,
Flat, rounded etc.
GENETIC ALGORITHM
Genetic algorithms are based on the theory of natural selection and work on
generating a set of random solutions and making them compete in an area where only the
fittest survive. Each solution in the set is equivalent to a chromosome. In the field of
genetics, a population is subjected to an environment which places demands on the
members. The members which adapt well are selected for matting and reproduction.
Generally genetic algorithm uses three basic genetic operators like reproduction,
crossover and mutation. These are combined together to evolve a new population. Starting
from a random set of solutions the algorithm uses these operators and the fitness function
to guide its search for the optimal solution. The fitness function guesses how good the
solution in question is and provides a measure to its capability. The main advantage of the
genetic algorithm formulation is that fairly accurate results may be obtained using a very
simple algorithm.
These are some examples of ―Intelligent tasks‖ — tasks that are ―easy‖ for humans
but ―extremely difficult‖ for a machine to achieve Artificial Intelligence is about building
systems that can efficiently perform such ―intelligent tasks‖
One of the important aspects that enable humans to perform such intelligent tasks is
their ability to learn from experiences (either supervised or unsupervised)
Machine learning tasks are typically classified into three broad categories, depending
on the nature of the learning "signal" or "feedback" available to a learning system.
o Prediction
o Classification (discrete labels),
o Regression (real values)
Prediction
Classification
Example 1
Suppose you have a basket and it is filled with different kinds of fruits. Your task is to
arrange them as groups. For understanding let me clear the names of the fruits in our basket.
You already learn from your previous work about the physical characters of fruits. So
arranging the same type of fruits at one place is easy now. Your previous work is called
as training data in data mining. You already learn the things from your train data; this is
because of response variable. Response variable means just a decision variable.
Example 2
Credit scoring
Differentiating between low-risk and high-risk customers from their income and savings
Discriminant: IF income > θ1 AND savings > θ2
THEN low-risk ELSE high-risk
Regression
Given example pairs of heights and weights of a set of people, find a model to predict the
weight of a person from her height
Unsupervised learning, no labels are given to the learning algorithm, leaving it on its
own to find structure in its input. Unsupervised learning can be a goal in itself (discovering
hidden patterns in data) or a means towards an end.
o Clustering
Example
Suppose you have a basket and it is filled with some different types fruits, your task is
to arrange them as groups.
This time you don’t know anything about the fruits, honestly saying this is the first
time you have seen them. You have no clue about those.
So, how will you arrange them? What will you do first???
You will take a fruit and you will arrange them by considering physical character of
that particular fruit.
Suppose you have considered color.
Then you will arrange them on considering base condition as color.
Then the groups will be something like this.
RED COLOR GROUP: apples & cherry fruits.
GREEN COLOR GROUP: bananas & grapes.
So now you will take another physical character such as size.
RED COLOR AND BIG SIZE: apple.
RED COLOR AND SMALL SIZE: cherry fruits.
GREEN COLOR AND BIG SIZE: bananas.
GREEN COLOR AND SMALL SIZE: grapes.
Job done happy ending.
Here you did not learn anything before, means no train data and no response variable.
This type of learning is known as unsupervised learning.
Clustering comes under unsupervised learning.
Heuristic Reinforcement
NEURAL NETWORK
A neural network consists of inter connected processing elements called neurons that work
together to produce an output function. The output of a neural network relies on the
cooperation of the individual neurons within the network to operate. Well-designed neural
networks are trainable systems that can often ―learn‖ to solve complex problems from a set
of exemplars and generalize the ―acquired knowledge‖ to solve unforeseen problems, i.e.
they are self-adaptive systems. A neural network is used to refer to a network of biological
neurons. A neural network consists of a set of highly interconnected entities called nodes or
units. Each unit accepts a weighted set of inputs and responds with an output.
Mathematically let I = (I1, I2, … … In) represent the set of inputs presented to the unit
U. Each input has an associated weight that represents the strength of that
particular connection. Let W = (W1, W2, … … Wn) represent the weight vector
corresponding to the input vector X. By applying to
V, these weighted inputs produce a net sum at U given by
(1) Artificial neural networks are extremely powerful computational devices (Universal
computers).
(2) ANNs are modeled on the basis of current brain theories, in which information is
represented by weights.
(3) ANNs have massive parallelism which makes them very e f f i c i e n t .
(4) They can learn and generalize from training data so there is no need for enormous
feats of programming.
(5) Storage is fault tolerant i.e. some portions of the neural net can be removed and there
will be only a small degradation in the quality of stored data.
(6) They are particularly fault tolerant which is equivalent to the ―graceful degradation‖
found in biological systems.
(7) Data are naturally stored in the form of associative memory which contrasts with
conventional memory, in which data are recalled by specifying address of that data.
(8) They are very noise tolerant, so they can cope with situations where normal symbolic
systems would have difficulty.
(9) In practice, they can do anything a symbolic/ logic system can do and more.
(10) Neural networks can extrapolate and intrapolate from their stored information. The
neural networks can also be trained. Special training teaches the net to look for
significant features or relationships of data.
TYPES OF NEURAL NETWORKS
Single Layer Network
A single layer neural network consists of a set of units organized in a layer. Each
unit Un receives a weighted input Ijwith weight Wjn. Figure shows a single layer neural
network with j inputs and outputs.
Step1: Build a network with the choosen number of input, hidden and output u n i t s .
Step2: Initialize all the weights to low random values.
Step3: Randomly, choose a single training pair.
Step4: Copy the input pattern to the input layer.
Step5: Cycle the network so that the activation from the inputs generates the activations in
the hidden and output layers.
Step6: Calculate the error derivative between the output activation and the final o u t p u t .
Step7: Apply the method of back propagation to the summed products of the weights and
errors in the output layer in order to calculate the error in the hidden units.
Step8:Update the weights attached the each unit according to the error in that unit, the
output from the unit below it and the learning parameters, until the error is sufficiently
low
ADAPTIVE LEARNING
Adaptive learning refers broadly to a learning process where the content taught or the
way such content is presented changes or ―adapts‖ based on the responses of the individual
student.
Adaptive learning is an educational method which uses computers as interactive
teaching devices, and to orchestrate the allocation of human and mediated resources
according to the unique needs of each learner. Computers adapt the presentation of
educational material according to students' learning needs, as indicated by their responses to
questions, tasks and experiences. The technology encompasses aspects derived from various
fields of study including computer science, education, psychology, and brain science.
Adaptive learning has been implemented in several kinds of educational systems such
as adaptive educational hypermedia, intelligent tutoring systems, Computerized adaptive
testing, and computer-based pedagogical agents, among others.
The goal of an adaptive learning system is to personalize instruction in order to improve or
accelerate a student’s performance again.
Adaptive learning systems have traditionally been divided into separate components or
'models'.
TEXT BOOKS
1. Kevin Night and Elaine Rich, Nair B., ―Artificial Intelligence (SIE)‖, Mc Graw Hill-
2008. (Units I,II,VI,V)
2. Dan W. Patterson, ― Introduction to AI and ES‖; Pearson Education, 2007. (Unit-III).
REFERENCES
1. Peter Jackson, ―Introduction to Expert Systems‖, 3rd Edition, Pearson Education, 2007.
2. Stuart Russel and Peter Norvig; ―AI - A Modern Approach‖, 2nd Edition, Pearson
Education 2007.
3. Deepak Khemani; ―Artificial Intelligence‖, Tata Mc Graw Hill Education 2013.
4. [Link]
Strips in Artificial Intelligence
-Representation of states
Planners decompose the world into logical conditions and represent a state as a
conjunction of positive literals.
The closed-world assumption(complete description) is used, meaning that any
conditions that are not mentioned in a state are assumed false
Example,
Cold ∧ Dark – state of a certain country (propositional literals)
In(Dani, E3) ∧ In(Student1, E3) ∧ In(Student2, E3) (first-order literals)
-Representation of goals
A goal is a partially specified state, represented as a conjunction of positive
ground literals.
A propositional state s satisfies a goal g if s contains all the atoms in g.
For example, the state Rich ∧ Famous ∧ Miserable satisfies the goal Rich ∧
Famous
-Representation of actions
An action is specified in terms of the preconditions that must hold before it can be
executed and the effects that ensue when it is executed.
For example, an action for flying a plane from one location to another is:
Action(Fly(p, from,to)
– Add: What new facts become true after the action is executed (add to KB)
– Remove: What facts become false after the action is executed (remove from KB)
EXAMPLE 1 :
Solution : go(A,B)
* preconditions: at(A)
* add list: at(B)
* delete list: at(A)
EXAMPLE 2 :
For example, to say that Robot (name of agent) know that block A is on block B,
then write,
K( Robot, On(A,B))
The sentence formed by combining K with the term Robot and the formula
On(A,B) gets a new formula, the intended meaning of which is ―Robot knows that
block A is on block B‖.
The words ―knows‖ and ―belief‖ is different in meaning. That means an agent can
believe a false proposition, but it cannot know anything that is false.
Some examples,
K(Agent1, K(Agent2, On(A,B) ) ], means Agent1 knows that Agent2 knows that
A is on B.
K(Agent1, On(A,B)) V K(Agent1, On(A,C) ) means that either Agent1 knows that
A is on B or it knows that A is on C.
K(Agent1, On(A,B)) V K(Agent1, ¬On(A,B) ) means that either Agent1 knows
whether or not A is on B.
Knowledge Axioms:
The operators ∧ and V have compositional semantics (depends on truth value) ,
but the semantics of K are not compositional. The truth value of K(Agent1,
On(A,B) ) for example, cannot necessarily be determined from the properties of K,
the denotation of Agent1 and the truth value of On(A,B). K Operator is said to be
referentially opaque.
We can treat speech acts just like other agent systems. Our agent can use a plan-
generating system to make plans comprising speech acts and other actions. To do
so, it needs a model of the effects of these actions.
Consider for example, Tell( A, φ ) , where A is Agent and φ is true.
We could model the effects of that action by the STRIPS rule :
Tell( A, φ ) :
Delete : ¬K(A, φ)
Add : K(A, φ)
The precondition Next_to(A) ensures that our agent is close to agent A to enable
communication.
The precondition φ is imposed to ensure that our agent actually believes φ before
it can inform another agent about the truth.
The precondition ¬K(A, φ) ensure that our agent does not communicate redundant
information.
We define a speech act (like telling another agent a fact) using a STRIPS-style rule:
Action: Tell(A, ϕ)
What is K-STRIPS?
K-STRIPS extends the classical STRIPS (Stanford Research Institute Problem Solver) model to
handle knowledge-based actions. It is useful in multi-agent planning, where agents must track
and update what others know.
In standard STRIPS:
World Facts:
o On(A, Table) (Block A is on the table).
o On(B, A) (Block B is on A).
o On(C, Table) (Block C is on the table).
Agent Knowledge:
o K(X,On(B,A))K(X, On(B, A))K(X,On(B,A)) (Agent X knows B is on A).
o ¬K(Y,On(B,A))\neg K(Y, On(B, A))¬K(Y,On(B,A)) (Agent Y does not know B is on A).
plaintext
CopyEdit
Tell(Y, On(B, A)) :
Preconditions:
- Next_to(Y) (X must be close to Y to communicate)
- K(X, On(B, A)) (X must know the fact before telling)
- ¬K(Y, On(B, A)) (Y must not already know it)
Delete List:
- ¬K(Y, On(B, A)) (Y no longer "does not know" the fact)
Add List:
- K(Y, On(B, A)) (Y now knows the fact)
Key Observations:
Initial State
plaintext
CopyEdit
On(A, Table), On(B, A), On(C, Table)
K(X, On(B, A))
¬K(Y, On(B, A))
Next_to(Y)
Plan Execution
Final State
plaintext
CopyEdit
On(A, Table), On(B, A), On(C, Table)
K(X, On(B, A))
K(Y, On(B, A)) ✅ Goal Achieved!
Delete List:
- K(Y, On(B, A)) (Remove false belief)
Add List:
- ¬K(Y, On(B, A)) (Y no longer believes it)
Why ABSTRIPS?
Predicate Level
At(Robot, A) Critical
Unlocked(DoorAB) Intermediate
Has_Key(Robot, Key1) Detail
Instead of planning every action at once, ABSTRIPS solves high-level predicates first, postponing
fine details.
� Scenario: A robot must move from Room A to Room C, but doors may be locked.
Move(A, B)
Move(B, C)
� Handling Preconditions:
� Further Breakdown:
Instead of a rigid sequence, ABSTRIPS partially orders actions, solving higher-level goals first.
✔ Plan Execution:
�⃣ Unlock(DoorAB)
�⃣ Move(A, B)
�⃣ Unlock(DoorBC)
�⃣ Move(B, C)
� Example:
STRIPS Plan: Find Key → Unlock Door → Move → Unlock Next Door → Move
ABSTRIPS Plan: Move(A, C) → Unlock(DoorAB) (only if needed) → Move(A, B) →
Unlock(DoorBC) → Move(B, C)