Lecture 8 - Computer Science at CCSU

Download Report

Transcript Lecture 8 - Computer Science at CCSU

Knowledge-based agents: they keep track of the
world by means of an internal state which is
constantly updated by the agent itself
A Knowledge-Based Agent (KBA) is an agent who:
– has knowledge about the world it is functioning in, and
– can reason about its possible courses of actions.
To build KBAs, we must decide on:
– how to represent the agent’s knowledge, i.e. to address the socalled knowledge representation problem.
– how to carry out the agent’s reasoning.
Knowledge-based agent vs conventional computer
program from a design point of view
KBA
1. Identify knowledge needed to
solve the problem.
2. Select a representation framework
in which this knowledge can be
expressed.
3. Represent knowledge in the
selected framework.
4. Run the problem, i.e. apply the
reasoning mechanism of the
selected logic to infer all possible
consequences of initial
knowledge.
Computer program
1. Design an algorithm to solve the
problem.
2. Decide on a programming
language to encode the
algorithm.
3. Write a program.
4. Run the program.
Basic architecture of a knowledge-based agent.
Adding new facts
Fact 1
Fact 2
....
Fact n
represented
as sentences
in some KR
language
Knowledge base
Rule 1
Rule 2
.....
Rule k
define what
follows from
the facts in
the KB
Inference engine
Knowledge-based agent
Returning actions
Building the KB: declarative vs evolutionary
approach



Declarative approach: building the initial knowledge base (the so-called
“background knowledge”) is part of the design process. This knowledge
reflects the designer’s knowledge about the agent’s world. The agent will
add new facts as it perceives the world or reasons about the world my
means of its own inference engine.
Evolutionary approach: the initial knowledge base is empty, but the agent
possesses a learning capability by means of which it will gradually build
its background knowledge. Such an agent can be fully autonomous, but
research suggests that this process will be very inefficient.
The combination of declarative and evolutionary approaches may be a
good compromise: the agent is provided with some background
knowledge, which it gradually expands and refines by means of its
learning capability.
KBAs can be described at three different levels
depending on the particular aspect of their
design that we want to concentrate on.



Knowledge (epistemological) level: defines an agent in terms of the
knowledge that it possesses.
Logical level: defines how agent knowledge in encoded into formulas
from the selected knowledge representation language.
Implementation level: defines how agent knowledge is stated in the
selected implementation language (for example, in LISP).
Example: Wumpus World. This is a grid of squares surrounded by walls,
where each square may contain gold that the agent is hunting for, and
a pit which is deadly for the agent - thus, it wants to avoid it. A wumpus
leaves in this world, and the agent does not want to encounter him,
because this might turn deadly for the agent. The agent has some
knowledge about this world that may allow it to get to the gold, grab it
and safely escape.
The Wumpus World (WW) represented at the
knowledge level (as shown on Fig. 7.2 AIMA)
This is a static world with only one wumpus, one gold, and three pits.
– Percepts:





Stench, meaning that the wumpus is either in the same square where the
agent is, or in one of the directly adjacent squares;
Breeze, meaning that there is a pit in the squares directly adjacent to the one
where the agent currently is;
Glitter, meaning that the gold is the square where the agent is;
Scream, meaning that the wumpus was killed;
Bump, meaning that the agent bumps into a wall.
– Actions:





Go forward to the next square;
Turn left 90 degrees and Turn right 90 degrees;
Grad the gold;
Shoot the wumpus, this action can be performed only once;
Climb the wall, which can happen only in square [1,1] to get out of the cave.
– Goals:


Get to the gold, grab it, return back to square [1,1] and get out of the cave.
Stay alive.
The role of reasoning in the WW: why a searchbased agent cannot handle it?
Figures 7.3 and 7.4 represent an instance of the WW at the logical level.
Initial state [1,1] can be characterized as follows:
– percept: [None, None, None, None, None]. Following the rules of the game,
the agent can conclude that [1,2] and [2,1] are save, i.e. the following two
new facts will be added to the KB: not W[1,2], not P[1,2], not W[2,1], not
P[2,1].
– possible actions: go forward, turn left and go forward. Assume that the
agent has (arbitrary) decided to go forward, thus moving to
Next state [2,1]:
– percept: [None, Breeze, None, None, None]. Following the rules of the
game, the agent can conclude that either [2,2] or [3,1] contain a pit, i.e. the
following new fact will be added to the KB: P[2,2] v P[3,1]. Also, not W[2,2]
and not W[3,1].
– possible actions: return back to [1,1] because the agent remembers that
there is another save alternative there that it has not explored yet.
Next state [1,1]:
– percept: [None, None, None, None, None].
– possible actions: go to [1,2] or return to [2,1]. Assuming that the agent is smart
enough to avoid loops, it will choose this time to go [1,2].
Next state [1,2]:
– percept: [Stench, None, None, None, None]. The agent concludes that the
wumpus is either in [1,3] or [2,2]. But since no stench was felt in [2,1], the wumpus
cannot be in [2,2], and therefore it must be in [1,3] (W[1,3] is added to the KB).
Also, the agent concludes that there is no pit in [2,2], and therefore the pit was at
[3,1] (not P[2,2], P[3,1] are added to the KB).
– possible actions: turn right and go forward.
Next state [2,2]:
– percept: [None, None, None, None, None]. The agent concludes that [2,3] and
[3,2] are safe (not P[3,2], not P[2,3], not W[3,2], not W[2,3] are added to the
KB).
– possible actions: turn left and go forward, and go forward. Assume that the agent
has (arbitrary) decided to turn left and go forward.
Next state [2,3]:
– percept: [Stench, Breeze, Glitter, None, None]. The agent concludes that it has
reached one of his goal (finding the gold), now it must grab it, and safely get back
to [1,1] where the exit from the cave is.
– actions that follow next are trivial because the agent must remember its path, and
it just goes backwards.
Knowledge representation: expressing knowledge
in a form understandable by a computer.
Choosing an appropriate language to represent knowledge is the first and the
most important step in building an intelligent agent. Each language has 2 sides:
– Syntax: defines how to build sentences (formulas).
– Semantics: defines the meaning and the truth value of sentences by
connecting them to the facts in the outside world.
If the syntax and the semantics of a language are precisely defined, we call that
language a logic, i.e
Logic = Syntax + Semantics
Connection between sentences in the KR
language and facts in the outside world
Internal
Representation
Entails
Sentences
Sentences
Outside world
Facts
Facts
Follows
There must exist an exact correspondence between the sentences entailed by
the agent’s logic and the facts that follow from other facts in the outside world. If
this requirement does not hold, our agent will be unpredictable and irrational.
Entailment and inference
Entailment defines if sentence A is true with respect to a given KB (written as
KB |== A), while inference defines whether sentence A can be derived from the
KB (written as KB |-- A).
Assume that the agent’s KB contains only true sentences comprising his
explicit knowledge about the world. To find out all consequences (“implicit”
knowledge) that follow from what the agent already knows, he can “run” an
inference procedure. If this inference procedure generates only entailed
sentences, then it is called sound, and if the inference procedure generates all
entailed sentences it is called complete. Ideally, we want to provide our agent
with a sound and complete inference procedure.
Proof theory: defines sound reasoning, i.e.
reasoning performed by a sound inference
procedure
Assume that A is derivable from a given KB by means of inference
procedure i (written as KB |--i A). If i is sound, the derivation process is
called a proof of A.
Note that we do not require inference procedure i to be complete; in some
cases this is impossible (for example, if the KB is infinite). Therefore,
we have no guarantee that a proof for A will be found even if KB |== A.
Knowledge representation languages: why do
we need something different than programming
languages or natural language?
Programming languages (Java, LISP, etc.)
1. Good for representing certain and
concrete information. For example,
“there is a wumpus is some square”
cannot be represented.
2. Require a complete description of the
state of the computer, For example,
“there is a pit in either [2,2] or [3,1]”
cannot be represented.
3. Follows from (1) and (2) -- not
expressive enough.
4. Good for describing well-structured
worlds where sequences of events can
be algorithmically described.
Natural language
1. Expressive enough, but too much
context-dependent.
2. Too ambiguous, because of the fuzzy
semantics of connectives and
modalities (or, some, many, etc.)
3. Because NL has communication, as
well as representation role, often
knowledge sharing is done without
explicit knowledge representation.
4. Too vague for expressing logical
reasoning.
To formally express knowledge we need a language which is expressive
and concise, unambiguous and context independent, and computationally
efficient. Among the languages that fulfill at least partially these requirements are:
– Propositional Logic (PL). It can represent only facts, which are true or
false.
– First-Order Logic (FOL). It can represent objects, facts and relations
between objects and facts, which are true or false.
– Temporal Logic. This is an extension of FOL which take the time into
account.
– Probabilistic Logic. Limits the representation to facts only, but these facts
can be uncertain, true or false. To express uncertainty, it attaches a degree
of belief (0..1) to each fact.
– Truth Maintenance Logic. Represents facts only, but these can be both
unknown and uncertain, in addition to true and false.
– Fuzzy Logic. Represents facts which are not only true or false, but true to
some degree (the degree of truth is represented as a degree of belief).
Introduction to logic: basic terminology
Interpretation establishes a connection between sentences of the
selected KR language and facts from the outside world.
Example: Assume that A, B and C are sentences of our logic. If we refer to
the “Moon world”, A may have the following interpretation “The moon is
green”, B -- “There are people on the moon”, and C -- “It is sunny and nice
on the moon, and people there eat a lot of green cheese".
Given an interpretation, a sentence can be assigned a truth value. In PL, for
example, it can be true or false, where true sentences represent facts that hold
in the outside world, and false sentences represent facts that do not hold.
Sentences may have different interpretations depending on the
meaning given to them.
Example: Consider English language. The word “Pope” is to be understood as
a “microfilm”, and the word “Denver” is to be understood as “pumpkin on the
left side of the porch”. In this interpretation, sentence “The Pope is in
Denver” means “the microfilm is in the pumpkin”.
Assume that we can enumerate all possible interpretations in all possible worlds
that can be given to the sentences from our representation. Then, we have the
following three types of sentences:
 Valid sentences (or tautologies). These are true in all interpretations.
Example: (A v not A) is always true even if we refer to the “Moon world”
(“There are people on the moon or there are no people on the moon”).
 Satisfiable sentences. These are true in some interpretations and false in
others. Example: “The snow is red and the day is hot” is a satisfiable
sentence if this is the case on Mars.
 Unsatisfiable sentences. These are false in all interpretation. Example:
(A & not A).
Propositional logic
To define any logic, we must address the following three questions:
1. How to make sentences (i.e. define the syntax).
2. How to relate sentences to facts (i.e. define the semantics).
3. How to generate implicit consequences (i.e. define the proof theory).
From the syntactic point of view, sentences are finite sequences of primitive
symbols. Therefore, we must first define the alphabet of PL. It consists of the
following classes of symbols:
– propositional variables A, B, C ...
– logical constants true and false
– parentheses (, )
– logical connectives &, v, <=>, =>, not
Well-formed formulas (wff)
Given the alphabet of PL, a wff (or sentence, or proposition) is inductively
defined as:
– a propositional variable;
– A v B, where A, B are sentences;
– A & B, where A, B are sentences;
– A => B, where A, B are sentences;
– A <=> B, where A, B are sentences;
– not A, where A is a sentence;
– true is a sentence;
– false is a sentence.
The following hierarhy is imposed on logical operators: not, &, v, =>, <=>.
Composite statements are evaluated with respect to this hierarhy, unless
parentheses are used to alter it.
Example: ((A & B) => C) is equivalent to A & B => C
(A & (B => C)) is a different sentence.
The semantics of PL is defined by specifying
the interpretation of wwfs and the meaning of
logical connectives.



If a sentence is composed by only one propositional symbol, then it
may have any possible interpretation. Depending on the interpretation,
the sentence can be either true or false (i.e. satisfiable).
If a sentence is composed by a logical constant (true or false), then its
interpretation is fixed:
– true has as its interpretation a true fact;
– false has as its interpretation a false fact.
If a sentence is composite (complex), then its meaning is derived from
the meaning of its parts as follows (such semantics is called
compositional, and this is known as a truth table method):
P
Q
not P
P&Q
PvQ
P => Q
P <=> Q
F
F
T
F
F
T
T
F
T
T
F
T
T
F
T
F
F
F
T
F
F
T
T
F
T
T
T
T
Example: using a truth table, define the validity of
P & (Q & R) <=> (P & Q) & R
P
Q
R
Q&R
P & (Q & R)
(P & Q) & R
F
T
F
T
F
T
F
T
F
F
T
T
F
F
T
T
F
F
F
F
T
T
T
T
F
F
F
F
F
F
T
T
F
F
F
F
F
F
F
T
F
F
F
F
F
F
F
T
P & (Q & R)<=>(P & Q) & R
T
T
T
T
T
T
T
T
This formula is valid, because it is true in all possible interpretations of its
propositional variables. It is known as the “associativity of conjunction” law.
Model and entailment
Any world in which a sentence is true under a particular interpretation is
called a model of that sentence under that interpretation.
With a notion of a model at hand, we can provide the following more precise
definition of entailment:
Sentence A is entailed by a given KB, if the models of KB are all
models of A, or stated differently whenever KB is true, A is also true.
Models of complex sentences are defined in terms of the models of their
parts (see diagrams on Fig. 6.12 AIMA)