Agent and the Knowledge Representation-6_411
-
Upload
ubiquitous-computing-and-communication-journal -
Category
Documents
-
view
218 -
download
0
Transcript of Agent and the Knowledge Representation-6_411
-
8/7/2019 Agent and the Knowledge Representation-6_411
1/10
-
8/7/2019 Agent and the Knowledge Representation-6_411
2/10
ability to reuse methods in different branches of
the hierarchy.
The authority for decision making and
control in concentrated in a single problem solver
at each level of hierarchy . Interaction is through
vertical communication from superior to sub-
ordinate agent and vice-versa . [3,4]
2.2 Modular Organization
A modular organization is one in which
different functional components are separated
from one another, a technique adopted from
software engineering. This is in contrast to a
composite organization in which there is no
separation between functions. Modular
organization is also distinct from hierarchical
organization. Modular organization is chiefly
concerned with the horizontal design of a system
whereas hierarchical organization involves a
consideration of the vertical nature of the design.
Thus, each level in a hierarchical system may be
sub-divided into functionally-distinct modules.
3 KNOWLEDGE REPRESENTATION
Knowledge means intellectual acquaintance with
perception of fact or truth. Representation is a
way of describing certain fragments or
information so that any reasoning system can
easily adopt it for inferencing purposes.
Knowledge Representation system should
provide way of representing complex knowledge
and should possess the following characteristics:
1. The representation scheme should have a set
of well defined syntax and semantics. Thiswill help in representing various kinds of
knowledge .
2. The knowledge representation scheme shouldhave a good expressive capacity . A good
expressive capacity will catalyze the
inferencing mechanism in its reasoning
process.The philosophy behind Subsumption Architecture
is that the world should be its own model.
According to Brooks, storing models of the world
is dangerous in dynamic, unpredictable
environments because representations might be
incorrect or outdated. What is needed is the abilityto react quickly to the present. Thus, sensor
readings should be mapped quickly and directly to
actuator commands in a decentralized fashion.
Agents designed according to Subsumption
Architecture are generally non-symbolic. They
have no global representation, and are
decentralized.
In ATALANTIS architecture the control
layer uses procedural knowledge while the
deliberative layer uses declarative knowledge.
THEO is frame based architecture .For an
architecture to be frame-based means that it is
organized around the representation of all of its
knowledge in frames. This is important because it
allows a uniform representation of knowledge. In
a frame based system, all knowledge is
represented as slots of some concept which
describe properties of that concept
All knowledge in PRODIGY including
control rules, domain knowledge, learned
knowledge is represented in the PRODIGY
description language (PDL). PDL is based on
first-order predicate calculus and includes
variables, disjunction and conjunction, universal
and existential quantification, and conditional
representation.
In Icarus, the Concept tree in Labyrinth stores
all knowledge. The other components of the
architecture have access to this knowledge
explicitly. For example, Daedalus retrieves
explicit plans from Labyrinth. The use ofdeclarative representations allows each module to
reason about the available knowledge . [8]
The symbolic world model or global database
in AIS is formed from a uniform and declarative
based conceptual network. Within this
representation, sub-networks can represent
actions, events, and control plans through
symbolic abstraction. The generality of the
conceptual network representation permits
encoding complete knowledge from different
problem domains, enhancing multi-faceted
expertise. The network-type representation
facilitates explanation as well .All knowledge in MAX agents exists in
nested logic frames including the rules and
operators. Separating rules and operators
integrates a domain theory, in which rules specify
actions and actions satisfy rules. With a
production memory architecture knowledge is
brought to bear on a problem by executing some
operator that uses that knowledge, i.e. it adds
symbols and it deletes symbols in some logical or
rational fashion
Homer uses both Black-box representation
and heterogeneous representation .SOAR uses
Black-box representation .Teton , RALPH-MEAand Entropy Reduction Engine architectures use
both Declarative and Procedural representation .
3.1 Symbolic World Model
For some of the architectures under consideration ,
there (usually) exists a level that enables the
system to store knowledge in some basic
framework. This framework is based on symbols
which serve to represent relations between the
agent and its environment, and hence knowledge,
within the system. Such symbolic abstraction
-
8/7/2019 Agent and the Knowledge Representation-6_411
3/10
occurs at the symbol level and derives its power
from the physical symbol system hypothesis.
Thus, symbolic abstraction enables, or at least
facilitate, many architecture capabilities including
planning and learning. Soar's productions use
symbols to store information . Such systems have
memory ,symbols ,operations ,interpretation and
capacities to operate on symbols. [4]
3.2 Size Of The Knowledge Base
There are physical limits to the size of the
knowledge base that may be supported by an
individual agent. But, in addition to the physical
limit on memory , there may be limitations
imposed by the agent's architecture and style of
control. For example, Homer experiences a
processing slow-down as its episodic knowledge
base increases in size. Since productions can be
easily added to the knowledge base or learned in
Soar, the knowledge base may grow incrementally
to cover a wider range of behaviors. The ultimatesize of the knowledge base is dictated only by the
desired functionality; no absolute limits are made
by the architecture or the representation.
3.3 Glass Box Approach
Glass box knowledge representation may be
defined as the ability of rules to examine each
other. Glass box representation is useful for
modular architectures, so that all modules have
access to all knowledge. Glass box representation
allows the rules and the architecture to share
responsibility to examine, activate and rewards
other rules. Also, learning is facilitated by glass
box representation because learning modules may
write. Related properties are uniform access to
knowledge and homogeneous representation .
Knowledge in Prodigy is stored in a global
database which is freely available to all other
modules. Knowledge is represented uniformly to
simplify access by other modules. The declarative
representation of knowledge allows the
architecture to analyze its own actions and
decisions.
3.4 Black Box Approach
Black box knowledge representation may be
defined as the inability of rules to examine other
rules. Architectures with this property are limited
in their direct inferencing ability to see what other
rules are up to. Such representations are less
fragile to changes and more modular and easier to
understand.
Black-box knowledge representation does not rule
out meta-reasoning, but it would make it more
circuituitous. Some knowledge is shared amongst
all execution architectures, such as possible states
and actions. However, each architecture also
requires its own specific knowledge. This
knowledge includes utility values of actions and
states, which are not shared amongst architectures
in part because each architecture needs a different
type of utility value. Each execution architecture
operates independently and in parallel with the
others, with no interaction of the knowledge of
different architectures occurring. Each individual
execution architecture does not have its own meta-
knowledge in regards to what it knows. RALPH-
MEA uses this technique .
3.5 Declarative Representation
A declarative representation declares every
piece of knowledge and permits the reasoning
system to use rules of inference to come out with
a new piece of information .A classic example of a
declarative representation is logic. The primaryadvantages of declarative knowledge is the ability
to use knowledge in ways that the system designer
did not foresee. Often times, whether knowledge
is viewed as declarative or procedural is not an
intrinsic property of the knowledge base, but is a
function of what is allowed to read from it.
Production systems, for example, are declarative if
productions may view themselves, and are
procedural it they cannot. (cf. glass-box/black-box
control knowledge).
A particular architecture may use both
declarative and procedural knowledge at different
times, taking advantage of their differentadvantages. The architectures that use Declarative
representation are ERE , ICARUS , MAX ,
Prodigy and THEO . ERE uses Uniform
conceptual graph to store information . Homer ,
ICARUS , MAX and Theo use Frames . The
Prodigy use Prodigy description language .
3.7 Procedural Representation
Architectures with procedural representations
encode how to do some task. In other words,
procedural knowledge is skill knowledge. One
advantage of procedural representations is
possibly faster usage in a performance system.
Productions are a common means of representingprocedural knowledge.
Use of procedural knowledge in an agent
raises the questions of whether the agent can
"know what it knows" . That the agent can
demonstrate that it "knows what it knows" is
illustrated in a Soar system which includes the
ability to explain its actions. Procedural
representation is where knowledge is intrinsically
bound up in the routines and procedures which use
it . These procedures and routines know how to do
-
8/7/2019 Agent and the Knowledge Representation-6_411
4/10
a particular task which would be regarded as
intelligent .
3.8 Global Representation and Uniform Access to
Knowledge
In architectures with global knowledge,
different modules may read and/or write to
common database(s). Often this knowledge is
used to representing a world-view of what the
agent believes is true in its environment. An
advantage of having global knowledge is that
different modules may share their data and
abilities for more intelligent combined behavior.
This makes modular architectures more effective.
Also, such knowledge is necessary for
representing world-views: without it an
architecture may only react to its present sensor
readings (e.g. Subsumption Architecture.)[9].
A related property is knowledge
homogeneity, which is a measure of how similar
knowledge is represented by the architecture.
Homer's memory modules contains stateinformation which is globally available. The
planning module retrieves goals from the generic
memory. The interpreter and perception modules
enter events into memory. Although the world
state is uniformly accessible, other types of
knowledge in Homer is restricted
3.8 Efficiency of Knowledge Access
As the knowledge bases of these architectures
grow increasingly large, an efficient way of
accessing specific knowledge in the knowledge
bases becomes increasingly important. While this
is an issue for almost all architectures, MAX has
good and bad aspects for efficient knowledgeaccess. The good aspects are that all knowledge is
homogeneously represented and uniformly
accessed using frames. The bad aspects are that all
knowledge is declaratively stored.. In the case of
SOAR , with a very large knowledge base
containing perhaps a million or more productions,
accessing the knowledge in an efficient manner is
an important issue for the architecture. During the
Elaboration Phase in Soar, all the productions in
the memory that apply are fired in parallel. This
parallel operation allows the architecture to access
all the relevant knowledge in the long-term
memory in an efficient, tractable way.3.9 Knowledge Consistency
Knowledge consistency is the property that a
knowledge database contain no contradictions. It
is extremely important for knowledge
representations that may only either assert or deny
statements, with no measure of partial belief. One
such system is first order predicate calculus.
Because all statements may be either true or false,
it may be possible to store only part of the
statements , from which all true statements (or all
false statements) may be derived. Statements that
can't be derived from the basis set are assumed
false (or true). This is the closed-world
assumption. The primary advantage of knowledge
consistency is ability to store less statements.
An architecture that tolerates knowledge
inconsistency generally treats its knowledge base
as a set of competing hypotheses, or as a set of
statements that it has varying amounts of
confidence in. Often there is a numerical measure
of belief. The flexibility in representation and
flexibility in learning and reasoning are some of
the advantages .
Prodigy is a consistent knowledge
architecture while MAX is a inconsistent
knowledge architecture .
3.10 Homogeneous (Uniform) Knowledge
Representation
Architectures with global access to
knowledge may store it in a uniform format in a
central database, or may have it in a non-uniformformat in a distributed fashion. The uniform
method is often employed in systems with a
general knowledge representation scheme like
frames or first order predicate calculus. The non-
uniform method is often used in loosely-coupled
architectures for storing special knowledge not for
general use . Access all knowledge easily ,
interfaces not required to be changed by addition
or change of modules and easy to modify module
to accommodate new knowledge are the some of
the advantages of knowledge uniformity . The
design limitation , inefficiency to work on a few
modules and wastage of memory are some of theadvantages .
In Prodigy, all types of rules- inference rules,
operators, and control rules, are represented
uniformly. This allows the control rules to apply
to both inferences and operators, guiding the
application of rules. This representation allows
Prodigy to glass box approach.
3.11 Heterogeneous Knowledge Representation
The non-uniform method is often used in
loosely-coupled architectures for storing speciality
knowledge not for general use. A heterogeneous
knowledge representation is based on associatinga finite automaton with first order logic. A number
of knowledge representation problems raised by
the electromyography test features are examined
in this study and the expert system architecture
allowing such a knowledge modeling are laid out.
[6] .Entropy Reduction Engine uses
Heterogeneous Knowledge Representation .
3.12 No Explicit Representation
Usually the representation of knowledge
takes some form. Examples include: first-order
-
8/7/2019 Agent and the Knowledge Representation-6_411
5/10
predicate logic, frames, networks, scripts, etc.
However, knowledge does not have to be
represented explicitly. The subsumption and
ATLANTIS agents rely completely on the world
for information. There is no explicit knowledge
representation -- no global representation of state
nor any underlying symbol level. "The world is its
own best model"[7].
4 SPECIFIC EXAMPLES OF
REPRESENTATIONS AND MEMORY
STRUCTURES
4.1 Associative Memory
Associative memory refers to a memory
organization in which the memory is accessed by
its content . Thus, reference clues are "associated"
with actual memory contents until a desirable
match is found. Production systems are obvious
examples of systems that employ such a memory.Associative memory stands as the most likely
model for cognitive memories, as well. Humans
retrieve information best when it can be linked to
other related information. This linking is fast,
direct and labyrinthian in the sense that the
memory map is many-to-many and homomorphic
[8].
Associative Memory is a primary property of the
Soar .
4.2 Episodic Knowledge
Two particular types of knowledge --
procedural and declarative -- have been used
extensively in the design and development of
cognitive architectures. However, neither of these
types of knowledge characterize the knowledge
that humans use to remember events. Such
remembrances are called episodic knowledge.
Since this knowledge is, by definition,
experiential, it must learned by the agent rather
than pre-encoded (of course, it is possible to
conceive of episodic knowledge being pre-
encoded but, once running, additions to the
episodic memory would then be learned). This
knowledge can confer the capability to perform
protracted tasks or to answer queries about
temporal relationships and to utilize temporal
relationships.Episodic knowledge is a key feature of the Homer
architecture.
4.3 First-order Logic Representation
Many of the architectures analyzed build
upon a substrate of First Order Predicate Calculus.
This is a very descriptive declarative
representation with a well founded method of
deriving new knowledge from a database. Its
flexibility makes it a good choice when more than
one module may add to or utilize a common
database (c.f. Prodigy). Unfortunately, this
flexibility has limitations. First-order predicate
logic is composed of statements that are assumed
to be true. The statements are composed of atoms
,predicates, two substatements joined by a
conjunction, disjunction, or implication, a negated
substatement, and a statement with an existential
or universal quantifier (in this case, atoms in the
statements can be replaced by variables in the
quantifier). [1]
4.4 Strips-like Operator Representation
STRIPS, or the Stanford Research Institute
Problem Solver, was proposed by Fikes and
Nilsson in 1971[1] and included a representation
for operators that was intended to solve the frame
problem. STRIPS uses well-formed formulas of
the first-order predicate calculus and specifies
operators by a precondition list, an add-list and a
delete-list. The preconditions must be satisfied by
the current state before an operator is applied. Theeffects of the operator are given by the add and
delete lists. The add-list adds new, instantiated
well-formed formulas (or wffs, logical descriptions
of the world) to the current state. The delete-list
removes wffs from the current state.
Although STRIPS did resolve some of the
issues related to the frame problem, it (and all
systems that use a STRIPS-like representation)
suffers from a requirement for explicitness -- all
actions (including secondary effects) must be
included in the model of the operator. In complex
worlds, this is often impossible [10].
4.5 Frame-Like RepresentationMarvin Minsky in the book on computer
vision proposed frames as means of representing
common-sense knowledge. Here knowledge is
organized in to small packets called frames. The
contents of the frame are certain slots which have
values.
To example the concept of frames, try to
recall the structure of our computer centre.
Various equipments like computer system, dump
terminals, printers, air-conditions, un-interrupted
power supplies etc. are placed at some position in
the computer centre. By this time we have formed
an image of computer centre in mind and it iseasy for us to identify without going there where
things are kept. Suppose we visit a new computer
center. Our mind now considers a series of
permutation and combinations . The frame of the
computer centre in mind is oriented towards the
present situation with some slots being added (for
new objects) and some slots being removed. For
every equipment /object, we form a frame.
A frame can be defined as a data structure that
has slots for various objects and a collection of
-
8/7/2019 Agent and the Knowledge Representation-6_411
6/10
frames consists of various objects and a collection
of frames consists of expectations for a give
situation. A frame structure provides facilities for
describing objects, facts about situations,
procedures in what to do when a situation is
encountered. Because of there facilities a fames
provides, frames are used to represent the two
types of knowledge, namely declarative factual
and procedural. Like a semantic network, one of
the chief properties of frames is that they provide
a natural structure for inheritance. ISA Links
connect classes to larger parent classes and
properties of the subclasses may be determined at
both the level of the class itself and from parent
classes.
In addition, the values of a particular attribute
need not necessarily be filled with a value but may
also indicate a procedure to run to obtain a value.
This is known as an attached procedure. Attached
procedures are especially useful when there is a
high cost associated with computing a particularvalue, when the value changes with time or when
the expected access frequency is low. Instead of
computing the value for each instance, the values
are computed only when needed. However, this
computation is run during execution (rather than
during the establishment of the frame network)
and may be costly.
THEO , Homer , Meta Reasoning
Architecture extensively use frames for
representation .
In the Table1A and Table 1 B , Rows indicate the
Memory , Knowledge and knowledgerepresentation and the column indicates the
particular architecture . Y in the cell means that
the architecture corresponding to column has the
type of memory or knowledge and knowledge
representation .
Table 1A
Memory,Knowledge
&
Representation
Subsumption
ATLANTIS
THEO
PRODIGY
ICARUS
ADAPTIVEINTELLIGENT
SYSTEMS
Forward &Back-ward Y Y
Chaining
Impasse-drivenControl Y YSerial
Processing Y YParrellelProcessing Y Y
AsynchronousProcessing Y YInterruptibleProcessing Y YOpen-Loopprocessing Y
Closed -LoopProcessing Y
HierarchicalOrganization Y Y Y YModularOrganization Y Y Y Y
SymbolicWorldModel Y Y Y Y Y
Size of theKnowledge -Base Y YGlass Box
approach Y YBlack BoxApproach Y Y
DeclarativeRepresentation Y Y YProceduralRepresentationGlobalRepresentation Y Y Y Y
Uniform
Access toKnowledge Y YKnowledgeConsistency Y YHomogenous ( Uniform)KnowledgeRepresentation Y Y Y Y
-
8/7/2019 Agent and the Knowledge Representation-6_411
7/10
HeterogeneousKnowledgeRepresentationNo-Explicit
Representation Y
AssociateMemory
EpisodicKnowledgeMeta-Knowledge YFirst-OrderLogicRepresentation Y
STRIPS-LIKEOPERATORREPRESENTATION Y
Frame -LikeRepresentation YNetworkrepresentation Y Y
Table 1B
Memory,Knowledge&
Representation
METAREASONING
ARCHITECTURE
HOMER
SOAR
TETON
RALPH-MEA
ENGINE
Forward &Back-wardChaining YImpasse-drivenControl Y Y YSerialProcessing Y Y Y Y
ParallelProcessing Y Y Y
AsynchronousProcessing Y
InterruptibleProcessing Y Y
Open-Loopprocessing Y
Closed -LoopProcessingHierarchicalOrganization Y Y
ModularOrganization Y Y Y YSymbolicWorld Model Y Y Y Y YSize of theKnowledge -Base YGlass Boxapproach Y Y
Black BoxApproach Y Y YDeclarativeRepresentation Y Y YProceduralRepresentation Y Y
GlobalRepresentation Y Y Y Y Y YUniformAccess to
Knowledge Y YKnowledgeConsistency Y
Homogenous( Uniform)KnowledgeRepresentation Y
HetrogenousKnowledgeRepresentation Y Y YNo-Explicit
RepresentationAssociateMemory YEpisodicKnowledge Y
Meta-Knowledge Y Y Y YFirst-OrderLogicRepresentation
-
8/7/2019 Agent and the Knowledge Representation-6_411
8/10
STRIPS-LIKEOPERATORREPRESENTATION Y YFrame - LikeRepresentatio
n Y YNetworkrepresentation
Table 2
Sl
N
o
Architect
ure
Features
1 Subsumpt
ion
Complicated Intelligent
behavior
Into
Simple behavior modules
Organized into
layers
2 THEO Plan-Then-Complie
By this
Integrating learning ,
planning and knowledge
representation
3 ICARUS Specific representation of
long term memory .It uses
3 independent
asynchronous modules
responsible for
1.Perception
2.Planning3.Effecting
4 PRODIG
Y
Storing the knowledge in a
form of first order predicate
logic (FOPL) called
Prodigy Description
language (PDL) .
Has a modular architecture
that stores the knowledge
symbolically.
5 ATLANT
IS
Integrating planning and
reacting in a heterogeneous
asynchronous architecture
for mobile agents .
It consists of 3 layers:
1.Control layer
2.sequencing layer
3.deliberative layer
6 Adaptive
Intelligen
t System
(AIS)
To reason about and
interact with other dynamic
entities in real time .
--- problem solving
techniques
--- when encountering un-
expected situation , decides
whether to and how to
respond .
--- focus attention on the
most critical aspects of
current situation .
--- operating continuously
without rebooting .
--- able to coordinate with
external agent .
(more or less similar to
human being )
7 Meta
Reasonin
g (MAX)
Many ideas in MAX may
traced to Prodigy.
--- rule-based forward
chaining engine that
operates on productions .
--- is designed to support to
modular agents.
--- they are used to
respond to a dynamicenvironment in a timely
manner .
--- modules are categorized
in to Behavior and monitor
.
--- Some of the modules
are:
1.attention focusing
2.multiple problem solving
strategies
3.execution monitoring
4.goal-directed exploration5.explantion-based learning
6.process interruption
7.intelligent resumption
8 HOMER --- Is not designed for
general intelligence .
--- underlying philosophy is
to synthesize several key
areas of AI to form one
complete system . (like
planning, learning , natural
language understanding ,
robotic navigation ) .
HOMER answers questionsposed by users and carries
out instructions given by
users .
--- is a modular structure.
It consists of :
1.memory
2.planner
3.natural language
interpreter and generator .
4.reflective processes
-
8/7/2019 Agent and the Knowledge Representation-6_411
9/10
5.plan executer
9 SOAR --- originally known as
STATE OPERATOR AND
RESULT .
--- main goal is that full
range of capabilities to behandled by an intelligent
agent from highly routines
to extremely difficult open-
problems
--- the underlying SOAR
architecture is the view that
symbolic system is
necessary and sufficient
condition for general
intelligence . This is known
as Physical Symbolic
system Hypothesis (PSSH)
--- ultimate aim is to get
general intelligent agent--- is based on a production
system ie. It uses explicit
production rules to govern
its behaviors .
10 Teton --- is a problem solver
--- uses two memory areas
1.Short-Term
memory
2. Long-Term
memory
--- like human beings ,interruption are allowed .
--- it has a feature called
Execution Cycle which
always look for what to do
next .11 RALPH-
MEA
--- is a multiple execution
architecture
--- like human being ,
selecting best one from the
environment
--- RALPH MEA uses
Execution Architecture
(EA) to select from onestate to best one .
--- it uses the following :
1.Condition action
2.Action utility
3.Goal based
4.Decision Theoretic
12 Entropy
Reductio
n Engine
(ERE)
--- focuses on problems
that require planning ,
scheduling and control
--- uses many different
problem solving methods
such as :
1.problem reduction
2.temporal projection
3.rule-based execution
5 CONCLUSION
The problem of AI is to describe and build agents
that receive percepts from the environment and
perform actions, and each such agent is
implemented by a function that maps percepts to
actions. It explains the role of learning as
extending the reach of the designer into unknown
environments, and shows how it constrains agentdesign, favoring explicit knowledge representation
and reasoning . It analyzes basic techniques for
addressing complexity . The idea is to Integrate
state-of-the art AI techniques into intelligent agent
designs, using examples from twelve agents to
full knowledge-based agents with natural
language capabilities and so on . This leads to the
study of Multi-Agent systems and its applications
. In depth analysis of various Agent architectures
and their capabilities is to build a Multi Agent
System that will be suitable for our future work on
Supply Chain Management
REFERENCE
[1] Elavine Rich , Kevin Knight and Shivshankar
, Artificial Intelligence by The Mcgraw Hill
Publishing Company limited .
[2] Kurt Vanlehn , Rule-Learning Events in the
acquisition of a complex skill ,
Journal article by, Journal of the Learning Science
,vol 8 , 1999
[3] Philip E. Agre , Hierarchichy and History in
Simons Architecture of Complexity Journal of
Learning Science 12(3) , 2003
[4] Newell a , Unified theories of Cognition ,
Harvad University Press , Cambridge ,
Massachusetts , 1990
[5] Levesque H , Brachman R , A fundamental
trade off in Knowledge representation and
reasoning , 1998
[6] Vincent Rialle , Annick Vila , Yves Besnard ,
Artificial Intelligence in Medicine 1991
[7] Vincent C.Muller , Is there a future for AI
without representation , springer Verlag , 2007
[8] Pat Langley , Dongkyu Choi , Seth Rogers ,
Interleaving Learning Laboratory Centre for the
-
8/7/2019 Agent and the Knowledge Representation-6_411
10/10
study and languages and information , Stanford
University , Stanford .
[9] A.S Maida , A Uniform architecture for rule-
based meta-reasoning and representation :- case
study . , IEEE Computer Society Press.
[10] Artificial Intelligence: Modern Approach by
Stuart J. Russell , Peter Norvig Prentice HallSeries in Artificial Intelligence.