Autonomous Artifacts That Think - AI Agents
Version 1.004 2022-11-10
Version 1.003 2021-08-01
Version 1.002 2020-04-24
Version 1.001 probably during 2015
- Author:
- Richard Weyhrauch (IBUKI)
- Note:
- This is an original personal document of Richard Weyhrauch hosted
by IBUKI at http://rww.ibuki.com . This document is not in the public
domain. The copyright is held by him and anyone wanting to reprint it
must get his permission in writing. This document was written while he
was employed by IBUKI but on his own time, at at his own expense.
Abstract
This document addresses five aspects of building an AI agent:
what is a though/'mental image'; what constitutes a 'mental state'; what
does it mean to think; what does it mean to make a judgement; and how does
an artifact interact with the world and modify its 'mental state' as a result.
This document makes specific proposals about each issue. These ideas have
been tested at IBUKI in the following programs: IBML, SEUS, Mindbuilder, HEAD
and FRED, but IBUKI has not yet released these and their documentation is
proprietary.
Introduction
"The purpose of Language is to communicate our thoughts"
 
John Horne Tooke, "The Diversions of Purley" (1857)
Can a computer 'think'? What would be needed. I began thinking about this
question over 40 years ago with the development of
the FOL system at
the Stanford AI Lab. It has developed into a collection of three systems that
are defined 'mutually recursively' that integrate notions of representing
'objects', (a system of 'types'), representing change (computation systems),
and a new look at logic as a tool for carrying out (rather than explaining)
reasoning (the logic NEWFOL). Taken together, these three systems can be
used to build an AI agent that can think. NEWFOL uses the objects of the
type system and programs of
computation systems as replacements for parts of the original FOL system that
had theoretical deficiencies and answer questions left vague in the original
FOL semantics. These three systems together support building software that
can 'think'.
Can we build az AI agent —one who can talk to
us and have their own 'independent' thoughts about the world, one that
listens, speaks and interacts with the world using sensors and affectors and
can bridge the gap between perceptual and cognative data? NEWFOL explains
how to draw boundries between a 'thinking' system and its exterior opening
the possibility for genuine autonomy.
The Building of Mind
Here we are interested in both metaphysics and architecture.
We want to understand what it means to think and what machinery is needed to
make thinking happen, including what are the data structures of thought?.
Our answer is to define 'types', a collection of data structures that can be
used as 'mental models', i.e., thoughts.
ThoughtsWe propose [type]s, as formalized in
The Theory
of IBML (a Word file) as the data structures used as the 'mental images'
of things. In our HEAD each thought is a [type].
A 'mental state' is just a collection of thoughts.
The ambitious claim is that these [type]s are rich
enough to describe any thought, but even if that claim falls short, they
are semantically cleaner and more expressive then any of the current
'object' systems (JAVA, CLOS, RDF, ... ). One main difference is
that [type]s do not have instances, i.e., all objects can be subtyped!!!
The semantics of types is information theoretic rather than set theoretic,
meaning that in all cases knowing more about an object takes you down the
type hierarchy. This mimics 'real life' where we can always attribute more
properties to some object (a red 3 or a round square!!!). [type]s are
also updatable, meaning that an object can maintain its identity even when
our 'mental image' of it changes (our 'mental image' of a person may change
if we discover they have a dog or if we suddently come to know who their
mother is - we really don't imagine that this is a 'new'
person!!!!). The IBUKI system IBML (IBUKI Modeling Language) was designed
to be used either as a stand alone library of data structures in any
application or as part of a HEAD, IBUKIs implementation of 'mind'.
These [type]s are a decendent of the type theory described by Luca
Cardelli for the programming language AMBER. They were first enhanced
to be used as a modeling language for solving configuration problems.
It's current invocation is in the spirit of SKOS and RDF languages
(e.g., Protege) but they have a much richer semantics.
Mental Activity
Computation Systems were formalized
in Computation Statems
with Restartable Computations an
unpublished paper of Talcott and Weyhrauch. A computation system is what does
the 'thinking'. The restartable computations of a computation system is what
allows HEAD to not get caught 'thinking' to long about something or being in
an 'infinite loop' of thought. The computations of a computation system are
used in the definition of the simulation structures of NEWFOL, rather than
the programs of some programming language. This also introduces updating
operations and restartable computation into NEWFOL (logic) and thus into
HEAD in a semantically rigorous way.
Computation systems and SEUS starts with
the LISP 1.5 Manual, owes
its style to Scheme as described
in xxx, to
RUM in CLTs thesis and
to the abstraction of it all in an unpublished
paper xxx by Talcott and Weyhrauch.
Making Judgements - Predication
The proposal here is to use NEWFOL to organize thinking and reasoning into
NEWFOL contexts. NEWFOL 'fixes' 'fixes' the hole in the theory of the old FOL
system which left the semantics of the data used in the construction of
simplification structures vague. The use of [type]s as the representation of
objects of the 'domain' and SEUS programs to represent 'function' and
'predicate' symbols in simulation structures guarentees both: that NEWFOL
has a definable semantics; and, that it is realizable as data in the memory
of a modern competer. The semantics of NEWFOL (found here)
was developed by Richard Weyhrauch.
NEWFOL (the program) is a reimplementation of
the original FOL.
-------------------------------------------------------------------------------
History
The original FOL 'finitized' model theory using simulation structures,
which used LISP s-expressions for objects in the domain and LISP programs to
as the 'predicates' and 'functions' of a model. But the understanding of what
object was represented by what s-expression was still in the head of the FOL
system developers and the LISP interpreter falls well short of a computation
system. This was OK when FOL was used as a 'proof assistant' but falls short
as part of a cognative architecture. IBML and SEUS (as a computation system)
address these issues.
-------------------------------------------------------------------------------
Software that Thinks - the HEAD of our Thinker
The three systems outlined above form a coherent mutually recursive set of
finite data structures with a clean semantics. The mutual recursive nature of
these structures becomes apparent as soon as we realize that, if the three
systems and their semantics are to be understandable to our thinker then
there is: a 'mental image' (a [type]) of each od the three systems and every
associated notion; a NEWFOL context describing each system, including NEWFOL
itself (this context is called Meta in the old FOL), and the computation
system must be able to compute on both [type]s and NEWFOL contexts. We call
the joined systems HEAD. A version of HEAD has been coded in Allegro LISP
by IBUKI.
Meet FRED - The BODY
Just having a HEAD that thinks thinks, without interacting with the world
is pretty 'self centered'. BODY also includes sensors and effectors (perpherals)
We describe FRED, a full blown autonomous
artifact (containing both a HEAD and BODY) who can communicate with others
in its world, learn (or be taught
or told) new things, think about what it hears, tell you about its thoughts
and make decisions about its behavior (From now on I will personify FRED as
male and use 'he', 'him' and 'his' to refer to him). Like us, he can forget
things and change his focus when he encounters a new situation.
Conversation: Listening and Speaking
Fred can have conversations with others by 'listening' and 'speaking'. These
conversations can either be in a very structured languages (like programming
languages or the sentences of some logic) with strict semantics or in some
form of more 'natural Language' where 1) 'the purpose of language is to
communicate ones thoughts' (Horne Tooke) and, as a practical matter, 2) it's
likely that the participants in a conversation share a common 'domain of
consensus' (Maturana).
Change over time
The fact that hearing something changes us (without loosing our identity)
means that, at the lowest structural level, people are constantly updating
themselves. For the usual semantics of logic this is a problem. Functions
cannot 'change' their arguments and on the same arguments always return the
same value. Set theoretic objects do not change over time. Computer
programmers, on the other hand, make systems that change and update their
state all the time. FRED (and any person) as a thinking entity must also
change their state/ideas. This is one of the mose radical part of NEWFOL
from the point of view of logicians. The models of a NEWFOL context are not
sets but simulation structures build out of programs and computations
that allow the 'meaning' of statements to change over time - without there
being a 'new' context. This is the seed of how FRED can turn his experience
of the world (perception) into cognative structure (cognition).
Details
What's in FRED (or any autonomus thinking artifact)
There are several high level requirements that can be stated as challanges
to systems which claim they understand 'a lot'.
- Theoretical Requirements
- FRED must be capable of having a rich world model [ONTOLOGY]
- HEAD must be finite [FINITE-HEADS]
- FRED must be conversational [CONVER]
- The system must be autonomous [AUTONOMOUS]
- It must be able to understand some of its own metatheory [METATHEORY])
- It must implement some form of 'the gossip principle' (RWW [GOSSIP])
- The system must be 'in the world' where inputs arrive and effects happen asynchronously
- Practical Requirements
- Every part of FRED must exist as a finite thing
- Every part of FRED must a physical purchasable compenent
This note is about 1) and 2) and the practical requirements 8) and 9). It
outlines strictures we believe are capable of being used to 'build a mind'
and justify this claim by using it to 'solve' many of the problems of NLP,
philosophy and AI in a unified framework. It has a reference implementation
we use to try experiments. We hope IBUKI makes this available to everyone soon.
This work is the current state of my thinking about reasoning systems that
started with the FOL system [FOL] developed at the Stanford Artificial
Intelligence Labratory (SAIL) in the late 1970s and which was continued by
many people and is still actively persued by R. Weyhrauch and C. Talcott at
heir weekly meetings.
World Modeling
NEWFOL Contexts
A NEWFOL context makes explicit both the language that is used to
talk about things, the things the context is talking about and the connection
between the two. It also contains information about what it knows about the
objects.
We use NEWFOL contexts as the basic building blocks of world models.
This dscription leaves vague the details of 'whay is an object' and the
difference between a 'programs of a computetion system' a 'progran written in
a programming language'. These details are explored below.
A NEWFOL context, C, has three parts
C=<L,SS,F>
A language, L, a simulation structure, SS, and finite
collection of facts, F. To satisfy 8) Each of these pieces needs to
be realizable as a finite data structure. For building world models,
NEWFOL contexts (which are finite structures) are a replacement for the
usual (ie, the logician's) notion of theory (which are infinite structures).
The Language
A NEWFOL language specifies a set of symbols (words (possibly containing
spaces)) and the roles that they play when writing sentences of the language.
To satisfy the requirement that an NEWFOL context be a 'formal system' (again,
in the sense of logicians) we also require that there is a way of recognizing
an expression and a program that can tell us if an expression is well-formed.
The Simulation Structure
A NEWFOL simulation structure is collection of individuals, and
programs on them that determine the how the symbols in the language naming
functions, predicates, and relations are 'computed.. At first you could
imagine these as being defined in the usual way using set theory. For
building world models and NEWFOL contexts in general we need to be
more careful and replace set theoretic ideas with computer data and programs.
When building HEAD, NEWFOL the things in the simulation structuress
are the 'mental images' of things.
The Facts
An NEWFOL fact does not have meaning outside a NEWFOL context.
The facts, F, of a NEWFOL context is a the finite set of facts
(of C). Each fact of C has at least two attributes: a well-formed formula of
L and a justification, that encodes the reason why the fact is 'in' C.
Discussion: We know that the notion of justification is vague but it is an
important idea. When dealing with theories, it is common to think of the
facts of a theory as just a (usually deductively closed infinite)
collection of well-formed formulas. A NEWFOL fact is more like the end formula
ith its derivation as proofs of natural deduction as described by Prawitz.
Each fact comes (at the least) with an associated reason for being in its
context. [see
JUSTIFICATIONS
]
Signatures and Interpretations
We use the ordinary mathematical notion of 'signature' is the tool to
describe the content and relation between languages and simulation structures.
For C to be a NEWFOL context, L and SS must have the same signature, which
defines an implicit map between them. We say that the simulation structure,
SS, is an interpretation of the symbols of the language L.
Types - Objects - 'mental images'
Computation Structures
Content Independent Notions Involving NEWFOL Contexts
This section describes how the ordinary notions of logic can be restated
for contexts eliminating any hidden commitments to infimite structures. we
describe the changes NEWFOL makes to our understanding of theories without
losing basic logical ideas.
In addition, we begin (informally) to write down expressions that we later
use for wffs of facts in the languages of NEWFOL contexts. The infrastructure
described is not reductionist but rather is described by interdependent
definitions and takes a little bit of getting used to.
Generality and Uniformity
A NEWFOL context can name and contain facts about other contexts. Since
NEWFOL contexts will themselves be represented as finite data structures
They can appear in the simulation structures of contexts. This hierarchical
organization means that a single context can itself refer to many other
contexts (which in in turn can refer to others ... ). If you think of a
NEWFOL context as a theory then they directly formalize metatheory. If you
think of a NEWFOL context as the belief structure of an agent then they can
be used to formalize relations among the belief structures of multiple agents.
If you imagine that the structures in the model of a NEWFOL context are the
'mental images' of the things that the context mentiones, then we can build
contexts that 'know about', for example, Frege's notions of sense and
reference (Zinn und Bedeutung) as well as use and mention. ... .
These ideas and more are expanded in tbe NEWFOL docs and notes.
Inference
The fact that we can interpret the symbols of the language of an NEWFOL
context in its simulation structure allows us introduce the notion of
inference.
Consider the NEWFOL context C=<L,SS,F>.
Satisfaction
We extend the notion of interpretation to all the well-formed expressions
of L. We call this extended function 'SATISFIES' and use it to decide, for
any [wff] of L whether or not it holds or not - relative to C. We introduce
a relation
(1) (SATISFIED-BY wff C) =def= (SATISFIES wff SS)
where wff is in L.
Consistency
We say a set W of [wff]s of L is consistent and write
(2) (WFF-LIST-CONSIST W) =def= (FORALL w in W (CONTEXT-SATISFIES w C))
Let
(3) (context-get-wffs C) =def=
{w |(AND (list-member f F) (= (fact-get-wff f) w)))}
The consistency of a NEWFOL context as
(4) (CONTEXT-CONSIST C) =def= (WFF-LIST-CONSIST (context-get-wffs C))
We say a [wff], w, of L is consistent with C if
(5) (WFF-LIST-CONSIST (set-union {w} (content-get-wffs C)))
The exact meaning of 'definition' is described below. Note that
(context-get-wffs-of C)
is always finite set. We also remark here that there may be 'implicit' facts
of C not explicitly in the F, eg [sort] information. The NEWFOL language
documentation explains this. The 'implicit' [wff]s will be included by
context-get-wffs.
Conclusions
The notion that a wff of L can be concluded from C simply means that the
wff is consistent with C,
Discussion: Unlike tradional theories a [wff] does not need to be the wff
of a fact in C to be concluded from C. With respect to a NEWFOL contexts, C,
we distinguish 'a conclusions of C' from the 'facts of C'. Thus we seperate
the operation of concling a [wff], f, from and the operation of 'adding'
f as the wff of a fact of C. The new fact will have f as its wff and will
reference why f was a conclusion in its justification. See [SATvsVAL]
Rule of Inference
We define a rule of inference on contexts as any function, r, that
maps an NEWFOL context (with possible additional arguments) to an NEWFOL
context that preserves consistency, ie
(6) (IMPLIES (CONTEXT-CONSIST C) (CONTEXT-CONSIST (r C ...)))
There are several options here for the meaning of INPLIES. This is discussed
in [BEFORE-AFTER].
These notions are 'just like' those of classical logic, i.e., have the same
definitions, but when they refer to NEWFOL contexts they acquire more nuanced
meanings. This is an indication that the analysis by logicians of these
notions has been 'correct' but the logician's notion of theory has been wrong.
To summarize: NEWFOL replaces the notion of theory with that of a NEWFOL
context. The proof of the pudding will be artifacts like FRED. Until we
actually can chat with FRED (using contexts in his HEAD) and the differences
are actually make him viable.
77777777777777777777777777777777777777777777777777
Here we justify our claim that FOL contexts is powerful enough to model
everything in one unified way. Even if this claim eventually proves overly
optimistic, we show below that the use of FOL contexts makes a qualative
leap over existing systems for realizing goals above.
------------------------------------------------------------------------
Cognative Systems - Software that Thinks
One of IBUKI's goals it to build software that can think. This effort was
started by Richard Weyhrauch over 40 years ago with the development of
the FOL system at
the Stanford AI Lab. Today it survives as an integration system based on IBML,
SEUS, NEWFOL, three mutually recursively defined systems that implement RWWs
current understanding of what is needed to build a software system that can
think. NEWFOL uses IBML and SEUS as replacements for parts of the original FOL
system that had theoretical deficiencies and answer questions left vague in
the original FOL semantics. HEAD combines these three IBUKI Systems into an
app that can 'think'.
The system FRED implements the conversational requirements of a cognative
system. It listens, speaks and interact with the world using sensors and
effectors. FRED uses HEAD to think. This is a full cognative system that spans
the gap between perceptual and cognative data.
HEAD - The Building of Mind
This system is called HEAD rather then MIND because we are interested in
architecture not metaphysics. The goal here is not to end up
with some abstract ideas about what and how people might think, but to write
software that can think. This forces us to ask: what data structures are used
in HEAD?. IBUKI's answer to this question is the system IBML, an implementation
of the type theory of Richard Weyhrauch
(XXX).
IBMLIBML [type]s define HEAD's 'mental images' of things. We implement each
thought in HEAD as a [type] as defined in IBML. The ambitious claim is that
IBML [type]s are rich enough to describe any thought, but at the very least
they are semantically cleaner and more expressive then any of the current
'object' systems (JAVA, CLOS, RDF, ... ). One unexpected property of IBML is
that [type]s do not have instances, i.e., all objects can be subtyped!!! The
semantics of IBCL is information theoretic rather than set theoretic, meaning
that in all cases knowing more about an object takes you down the type
hierarchy. This mimics 'real life' where we can always attribute more
properties to some object (a red 3 or a round square!!!). IBML [type]s are
also updatable, meaning that an object can maintain its identity even when
our 'mental image' of it changes. (our 'mental image' of a person may change
if we discover they have a dog or if we suddently come to know who their
mother is - but we really don't usuall imagine that this is a 'new'
person!!!!). As a stand alone system IBML can be used in any application
that models information.
IBML [type]s are an extension of the type theory described by Lucca
Cardelli for the programming language AMBER. It was then enhanced to be used
as a modeling language for solving configuration problems. Its current
invocation is in the spirit of SKOS and RDF languages (e.g., Protege) but it
has a richer semantics.
SEUS
SEUS is what make 'thinking' happen.
SEUS is not just a programming language but is a full blown computation
system. The use of SEUS programs to define the semantics of NEWFOL,
rather than functions, whose definitions as set theoretic objects require
the availability of 'infinite objects' as the interpretations of 'function'
and 'predicate' symbols allows us to 1) replace functions (infinite things)
with SEUS programs (whose semantics only contains finite objects) and 2) to
introduce updating operations into logic in a semantically rigorous way.
NEWFOL
NEWFOL organizes HEAD's thinking and reasoning into first order contexts.
It implements a version of
the original FOL which
'fixes' the semantics of FOL to guarentee
that tures to part of the system,
i.e., so that it can be implemented in the memory of a computer. It is based on
the a logic system also
called NEWFOL by
Richard Weyhrauch. IBML and SEUS implement 'finite' fixes to the semantics of
the original FOL.
-------------------------------------------------------------------------------
History
The original FOL 'finitized' model theory using simulation structures,
which used LISP s-expressions for objects in the domain and LISP programs to
as the 'predicates' and 'functions' of a model. But the interpretation of an
s-expression was still in the head of the FOL system developers and the LISP
interpreter falls well short of a computation system. This was OK when FOL
was used as a 'proof assistant' but falls short as part of a cognative
architecture. IBML and SEUS (as a computation system) address these issues.
-------------------------------------------------------------------------------
Meet FRED
Just thinking, without interacting with the world is pretty 'self centered'.
FRED is a full blown (but extendable) autonomous system who can communicate
with others in its world, learn (or be taught or told) new things, think about
what it hears, tell you about its thoughts and make decisions about its
behavior. Like us, it can forget things and change its focus as it encounters
a new environment. (for details see
Meet Fred)
Conversation: Listening and Speaking
Fred has conversations with others by 'listening' and 'speaking'. These
conversations can either be in a very structured languages (like programming
languages or the sentenses of some logic) with strict semantics or in some
form of more 'natural Language' where 1) 'the purpose of language is to
communicate ones thoughts' (Horne Tooke) and, as a practical matter, 2) the
participants in a conversation share a common 'domain of consensus' (Maturana).
Change over time
The fact that hearing something changes us (without loosing our identity)
means that, at the lowest architectural level, people are constantly updated.
For current logical thought this is a problem. Functions cannot 'change' their
arguments always return either the same object or somethging 'new'. Set
theoretic objects do not change over time. Computer programmers, on the other
hand, make systems that change and update their state all the time. FRED (and
any person) as a thinking entity must also change their state/ideas. This is
one of the mose radical part of NEWFOL from the point of view of logicians.
The models of an FOL context are not sets but simulation structures build out
of programs and computations allowing the 'meaning' of statements to change
over time. (for details see
Programs that Update)
|