next up previous
Next: About this document ...

What Will Self-Aware Computer Systems Be?
John Mccarthy, Stanford University
August 9, 2004

$\bullet$ Darpa Wants To Know, And There's A Workshop Tomorrow.

$\bullet$ The Subject Is Ready For Basic Research.

$\bullet$ Short Term Applications May Be Feasible.

$\bullet$ Self-Awareness Is Mainly Applicable To Programs With Persistent Existence.


$\bullet$ Easy aspects of state: battery level, memory available, etc.

$\bullet$ Ongoing activities: serving users, driving a car

$\bullet$ Knowledge and lack of knowledge

$\bullet$ purposes, intentions, hopes, fears, likes, dislikes

$\bullet$ Actions it is free to choose among relative to external constraints. That's where free will comes from.

$\bullet$ Permanent aspects of mental state, e.g. long term goals, beliefs,

$\bullet$ Episodic memory--only partial in humans, probably absent in animals, but readily available in computer systems.


$\bullet$ Human self-awareness is weak but improves with age.

$\bullet$ Five year old but not three year old. I used to think the box contained candy because of the cover, but now I know it has crayons. He will think it contans candy,

$\bullet$ Simple examples: I'm hungry, my left knee hurts from a scrape, my right knee feels normal, my right hand is making a fist.

$\bullet$ Intentions: I intend to have dinner, I intend to visit New Zealand some day. I do not intend to die.

$\bullet$ I exist in time with a past and a future. Philosophers argue a lot about what this means and how to represent it.

$\bullet$ Permanent aspects of ones mind: I speak English and a little French and Russian. I like hamburgers and caviar. I cannot know my blood pressure without measuring it.


$\bullet$ What are my choices? (Free will is having choices.)

$\bullet$ Habits: I know I often think of you. I often have breakfast at the Pennsula Creamery.

$\bullet$ Ongoing processes: I'm typing slides and also getting hungry.

$\bullet$ Juliet hoped there was enough poison in Romeo's vial to kill her.

$\bullet$ More: fears, wants (sometimes simultaneous but incompatible)

$\bullet$ Permanent compared with instantaneous wants.


$\bullet$ consider

$\bullet$ Infer

$\bullet$ decide

$\bullet$ choose to believe

$\bullet$ remember

$\bullet$ forget

$\bullet$ realize

$\bullet$ ignore


$\bullet$ Easy self-awareness: battery state, memory left

$\bullet$ Straightorward s-a: the program itself, the programming language specs, the machine specs.

$\bullet$ Self-simulation: Any given number of steps, can't do in general ``Will I ever stop?'', ``Will I stop in less than $n$ steps in general--in less than $n$ steps.

$\bullet$ Its choices and their inferred consequences (free will).

$\bullet$ ``I hope it won't rain tomorrow''. Should a machine hope and be aware that it hopes? I think it should sometimes.

$\bullet$ $\lnot Knows(I,TTelephone(MMike))$, so I'll have to look it up.


We had $\lnot Knows(I,TTelephone(MMike))$, and I'll have to look it up.

Suppose $Telephone(Mike) = \lq\lq 321\mbox{-}7580''$. If we write

$\lnot Knows(I,Telephone(Mike))$, then substitution would give
$\lnot Knows(I, \lq\lq 321\mbox{-}7580'')$, which doesn't make sense.

There are various proposals for getting around this. The most advocated is some form of modal logic. My proposal is to regard individual concepts as objects, and represent them by different symbols, e.g. doubling the first letter.

There's more about why this is a good idea in my ``First order theories of individual concepts and propositions''

We write

c: p

to assert $p$ while in the context $c$. Terms also can be written using contexts. $c:e$ is an expression $e$ in the context $c$.

The main application of contexts as objects is to assert relations between the objects denoted by different expressions in different contexts. Thus we have

c:Does(Joe,a) = SpecializeActor(c,Joe):a,

or, more generally,

SpecializesActor(c,c',Joe) \rightarrow c:Does(Joe,a)) = c':a.

Such relations between expressions in different contexts allows using a situation calculus theory in which the actor is not explicitly represented in an outer context in which there is more than one actor.

We also need to express the relation between an external context in which we refer to the knowledge and awareness of AutoCar1 and AutoCar1's internal context in which it can use ``I''.


Pat is aware of his intention to eat dinner at home.

c(Awareness(Pat)): Intend(I, MMod(AAt(HHome),EEat(DDinner))) \\
\end{array}\end{displaymath} (1)

$Awareness(Pat)$ is a context. $Eat(Dinner)$ denotes the general act of eating dinner, logically different from eating $Steak7642$.
$Mod(At(Home),Eat(Dinner))$ is what you get when you apply the modifier ``at home'' to the act of eating dinner. $Intend(I,X)$ says that I intend $X$. The use of $I$ is appropriate within the context of a person's (here Pat's) awareness.

We should extend this to say that Pat will eat dinner at home unless his intention changes. This can be expressed by formulas like

\lnot Ab17(Pat,x,s) \land Intends(Pa...
... \rightarrow (\exists s' > s)Occurs(Does(Pat,x),s).
\end{array}\end{displaymath} (2)

in the notation of (McCarthy 2002).


$\bullet$ AutoCar1 is driving John from Office to Home. AutoCar1 is aware of this. Autocar1 becomes aware that it is low on hydrogen. AutoCar1 is permanently aware that it must ask permission to stop for gas, so it asks for permission. Etc., Etc. These facts are expressed in a context $C0$.

C0: \\
Driving(I,John,Home1) \\
...sBecomes(Want(I,SStopAt(GGasStation1))) \\
\end{array}\end{displaymath} (3)


$\bullet$ Does the lunar explorer require self-awareness? What about the entries in the recent DARPA contest?

$\bullet$ Do self-aware reasoning systems require dealing with referential opacity? What about explicit contexts?

$\bullet$ Where does tracing and journaling involve self-awareness?

$\bullet$ Does an online tutoring program (for example, a program that teaches a student Chemistry) need to be self aware?

$\bullet$ What is the simplest self-aware system?

$\bullet$ Does self-awareness always involve self-monitoring?

$\bullet$ In what ways does self-awareness differ from awareness of other agents? Does it require special forms of representation or architecture?


Some Philosophical Problems from the Standpoint of Artificial Intelligence
John McCarthy and Patrick J. Hayes
Machine Intelligence 4, 1969

Actions and other events in situation calculus
John McCarthy

next up previous
Next: About this document ...
John McCarthy