DERI Research Seminar
„Some philosophical problems from the
standpoint of artificial intelligence“
– John McCarthy & Patrick J. Hayes, 1969
Uwe Keller
Overview
Motivation
Philosophical questions
Formalisms: Situation Calculus
Remarks & open problems
Discussion of literature
DERI Research Seminar 03/2004
Motivation
A dream of CS researchers: Intelligent Agents
Requires …
General representation of the world in terms of which the inputs are
interpreted
Commitment on: what is knowledge and how is it obtained?
► Some of the major traditional problems of philosophy arise in AI
too!
More specifically: We want to build a program that …
decides what to do by inferring in a formal language that a certain
strategy will achieve its assigned goal.
► Hence, we have to formalize the notions
causality (“causes”), ability (“can”) and knowledge (“knows”).
DERI Research Seminar 03/2004
… Philosophical questions
Adequate representation of the world
„can“, „causes“, „knows“
Representation of the world
We have to decide …
What structure is the world to be regarded as having
How to represent information about …
the world & its laws of change in the machine
Adequacy of such a representation ?
Def.: A representation is metaphysically adequate if the world
could have that form without contradicting the facts of the
aspect of reality that interests us.
Examples (for different aspects of reality) …
Representation of the world as a collection of particles interacting
through forces between each pair of particles
Representation of the world as a giant quantum-mechanical wave
function
Representation as a system of interacting discrete automata
DERI Research Seminar 03/2004
Representation of the world (II)
Def.: A representation is epistemologically adequate for a person
or machine if it can used be practically to express the facts that
one actually has about the world.
►None of the given examples are adequate for representing e.g.
„John is at home“ or „dogs chase cats“!
Ordinary language …
is obviously adequate to express facts that people communicate to
each other in ordinary language, but …
is not adequate e.g. for expressing what people know about how to
recognize a particular face.
Later:
Give an epistemologically adequate formal representation of
common-sense facts for causality, ability and knowledge
DERI Research Seminar 03/2004
Automaton representation
Let S be a system of interacting discrete finite automata:
S = (Subautomata, Signals, Statefunctions, Outputfunctions)
Statefunction: ai(t+1) = Ai(ai(t), s1(t), …, sk(t)), t=0,1, … (time)
Outputfunction: si(t+1) = Si(ai(t))
Input/Output of S are defined as expected
Simplest examples of systems that interact over time; determ.
Automaton representation: Consider the world as such an S
Difficulties with this model in some situations:
Huge number of states, e.g. representing all the knowledge of a person
Geometric info about objects are hard to represent
System of fixed interconnections is inadequate
Most serious objection: Not epistemologically adequate: We don‘t
ever know a person well enough to list all his internal states. The kind
of information we do have about him has to be represented in some
other way („know“)
But: We may use it for concepts of „can“, „causes“ and „believes“
DERI Research Seminar 03/2004
Notion of „can“
Let S be a system of automata (SOA) without external inputs, p be a
subautomata with m output signals.
Let S* be the SOA which is obtained by disconnecting these m
signals from p and replacing them by external input lines
Then
The new system S* has always the same set of states as S
Let π be a condition on the state - „the box is under the bananas“
We‘ll write can(p,π,s) („subautomaton p can bring about the condition π
in state s“) …
if there is a sequence of outputs of S* which that will eventually put S into a
state a‘ that satisfies π(a‘)
In other words: In determining what p can achieve, we consider the effects
of sequences of ist actions, quite apart form the conditions what it actually will
do!
This seems to be in line with our common-sense notion of „can“
But needs further elaboration for actual coverage of common-sense notion and
for practical purposes!
DERI Research Seminar 03/2004
Notion of „can“ (II)
Now suppose that S admits external inputs.
Then, there are two possible definitions of „can“:
1.
Assert that can(p,π,s) if p can achieve π regardless of what
signals appear on external inputs („cana“)
2.
Note, that we‘re not requiring here that p have any way of knowing
what the external inputs were
p can achieve a goal if the goal would be achieved for arbitrary
inputs by some automaton put in place of p („canb“)
Counter-intuitive, since „can“ only depends on the place instead of
the function of automaton p
DERI Research Seminar 03/2004
Notion of „causes“
Besides the explication of „can“, the automata
representation of the world is very suited for defining
notions of causalty:
causes(p,π,s) = subautomaton p caused the condition π in s
causes(p,π,s) if changing the output of p would prevent π.
DERI Research Seminar 03/2004
… Formalisms
for proving that a strategy will achieve a goal
Situation, fluent, future operator action,
strategy, result of a strategy & knowledge
Situation
Definition
A situation s is the complete state of the universe at an
instant of time.
Sit := {s | s is situation}
Since the universe is too large, we‘ll never describe
the universe completely, but give only facts
These facts will be used to deduce further facts about
that situation, future situations, situations that persons can
bring about
Requires also to consider hypothetical situations
These situations can‘t be completely described, but with
sufficient details for some purposes. (Jones-sell-car)
DERI Research Seminar 03/2004
Fluents
Idea: Partial description of a situation s
Definition
A fluent f is a function with domain Sit
Range of f
{true,false}: propositional fluent
Sit: situational fluent
Fluents are often the values of functions
raining(x) is a fluent f s.t. raining(x)(s) is true iff. it is raining
at the place x in situation s
Also written as: raining(x,s), …
DERI Research Seminar 03/2004
Causality
Make assumptions about causality by means of a fluent F(π)
(where π is a fluent itself!)
F(π,s) asserts that the situation s will be followed (after some
time) by a situation that satisfies the fluent π
Example:
All x, All p [ raining(x) and at(p,x) and outside(x) -> F(wet(p))]
Expression of physical laws, …
Other useful operators
F(π,s): For some situation s‘ in the future of s holds π(s‘)
G(π,s): For all situation s‘ in the future of s holds π(s‘)
P(π,s): For some situation s‘ in the past of s holds π(s‘)
H(π,s): For all situation s‘ in the past of s holds π(s‘)
DERI Research Seminar 03/2004
Causality (II)
It seems also useful to to define the situational fluent next(π)
The next situation s‘ in the future of s for which π(s‘) holds
If there is no such fluent (not F(π,s)) then next(π) is undefined
DERI Research Seminar 03/2004
Actions
Fundamental role in our study of actions:
Situational fluent: result(p,σ, s) where …
p:Person, σ: Action/Strategy, s:Situation
The value of result(p,σ, s) is the situation that results when p
carries out σ, starting in situation s
When σ is nonterminating in that context, this value is undefined
With this fluent, we can express certain laws of ability:
e.g.: has(p,k,s) and fits(k,sf) and at(p,sf,s) -> open(sf,
result(p,open(sf,k)),s))
DERI Research Seminar 03/2004
Strategies
Actions can be combined into strategies
Simplest case: Finite sequence of actions
More general: ALGOL-like compound statement
containing actions written in the form of procedure calling
assignement statements and conditional GOTO statements
Example strategy:
begin
face(South)
n:=0;
b:
if n = 17 then goto a;
walk-a-block;n:=n+1;
goto b;
a:
turn-right;
c:
walk-a-block;
if name-on-street-sign <> ‚Chestnut Street‘ then goto c;
end;
DERI Research Seminar 03/2004
Strategies applied (I)
In order to apply mathematical theory of computation (Manna)
Write program differently: replace each occurrence of an action A
by an assignement statement „s:=result(p,A,s)“
For our example strategy this means …
begin
s:= result(p, face(South), s);
n:=0;
b:
if n = 17 then goto a;
s:=result(p,walk-a-block,s);n:=n+1;
goto b;
a:
s:=result(p,turn-right,s);
c:
s:=result(p,walk-a-block,s);
if name-on-street-sign <> ‚Chestnut Street‘ then goto c;
end;
Try to show: John can go home, provided that he initially
is in his office
DERI Research Seminar 03/2004
Strategies applied (II)
Ex s0 ( at(John, office(John), s0) and q1(0, result(John, face(South),s0)) )
->
Given
Ex n,s ( q1(n,s) and
initial condition:
at(John,
office(John),
s0) result(John,turn-right,s)))
if n = 17
then q2(result(John,
walk-a-block,
else not q1(n+1, result(John, walk-a-block, s)))
final condition:
at(John, home(John), s)
or
and
strategy
(program) S
Ex s our
( q2(s)
and
The Theory of
allows us tos))generate a sentence W
then Manna
not q2(result(John,walk-a-block,
else at(John, home(John), s))
of FOL
Proving
W will show that S terminates and that when it
begin
result(p,
face(South),
s);
terminates ss:=will
satisfy
at(John,
home(John), s)
if name-on-street-sign <> ‚Chestnut Street‘
n:=0;
b:
if n = 17 then goto a;
s:=result(p,walk-a-block,s);n:=n+1;
goto b;
a:
s:=result(p,turn-right,s);
c:
s:=result(p,walk-a-block,s);
if name-on-street-sign <> ‚Chestnut Street‘ then goto c;
end;
DERI Research Seminar 03/2004
Strategies applied (III)
Needed facts for proving W
Facts of geography
Fluent „name-on-street-sign“ will have the value ‚ChS‘ at that point
Facts giving the effects of action A expressed as predicates about
result(p,A,s) deducible from sentences about s
Axiomschema for induction
Ex s0 ( at(John, office(John), s0) and q1(0, result(John, face(South),s0)) )
->
Ex n,s ( q1(n,s) and
if n = 17 then q2(result(John, walk-a-block, result(John,turn-right,s)))
else not q1(n+1, result(John, walk-a-block, s)))
or
Ex s ( q2(s) and
if name-on-street-sign <> ‚Chestnut Street‘
then not q2(result(John,walk-a-block, s))
else at(John, home(John), s))
DERI Research Seminar 03/2004
… Remarks & open problems
in extenting the discussed formalism
result(p,o,s) …
Approximate character of result(p,o,s)
Using the situational fluent result(p,o,s) has 2 main
advantages over the can(p,π,s) from section 2:
permits more compact and transparent sentences
lends itself to the application of the mathematical theory of
computation
However
it‘s only an approximation to say that an action (other than
that which will actually occur) leads to a definite situation
(Spontaneous, emotional decision on actions in the real-world
vs. artifical operations under partial knowledge)
DERI Research Seminar 03/2004
Possible meanings for „can“
A computer program can readily be given much more
powerful introspection than a person has (self-simulation
possible!)
Various possible notions of „can(Program, Cond)“ for a
computer program:
The is a subprogram S and room for it in the memory which
would achieve Cond if it where in the memory and control were
transfered to S. No assertion is made that Program knows S or
even knows that S exists
S exists as above and that S will achieve Cond follows from
information in memory according to a proof that Program is
capable of checking
Program‘s standard problem-solving procedure will find S if
achieving Cond is ever accepted as a subgoal
DERI Research Seminar 03/2004
Frame Problem
As often for formalisms that „hypothetically“
execute State-Transitions:
What changes and what stays unchanged?
Explicit unchanged statements might be needed
to proof something. This can be a tedious task
DERI Research Seminar 03/2004
Questions ?
© Copyright 2026 Paperzz