Machine Self-Reference
Machine Self-Reference
The robot pictured below has a transparent front and is
facing an (expandable) board, a little to its right, and a
mirror, a little
to its left.
It's transparent front enables it to see in the mirror its
complete underlying mechanism, flowchart, or program.
The board serves for input, output, and intermediate computations.
Such a self-referential or
self-reflecting robot has data access, then, to a
complete (low level) self model.
It is depicted
already having copied onto the board
a portion of its ``program'' (corrected for mirror reversal). Note that the
robot's self copy is projected externally
to the robot itself. In this way infinite
regress is not required for the robot
to have complete (low level) self
knowledge.
The use this robot makes of its complete (low level) self
knowledge is
whatever was built into it, but it could have been anything algorithmic.
For general computer programs, in contexts where mirrors may not be available,
a quiescent (low level) self-model can be obtained by a mechanism logically
similar to the self-replication mechanism employed by single-celled organisms.
See the second reference under
REPRESENTATIVE PUBLICATIONS
below or click
here for an brief essay of mine on the subject.
For more information on self-replication mechanisms, see
Moshe Sipper's
Page on Machine Self-Replication.
For connections to self-modification, see this
link
to the work of J-Paul Moulin.
I am interested in three aspects of machine self-reference.
(1) Its potential profound
philosophical importance as a model of perfect
(low-level) self
knowledge. In Western philosophy, self
knowledge is thought to
be important.
See
Greg Riccardi's paper from his doctoral dissertation and
Jim Royer's doctoral dissertation, each
done under my direction and referenced just
below, for some preliminary
attempts to mathematically understand what use is self
knowledge. In these works machine self-reference is treated as a
(connotational) control structure. For example, the Royer reference presents
the result that, as control structures, neither self-reference
nor if-then-else can be built solely
from the other, but together they enable
the construction of any control structure: self-knowing and
decision-branching are complementary.
On my
Computational Learning Theory page,
control structures are also mentioned --- click
here
to see the reference there.
For more recent attempts to understand mathematically the power of
machine self-knowledge, see my first two papers with Sam Moelius
below.
Also,
see my NSF Nugget,
Theory of Program Self-Reflection.
The third
of my papers below with Sam Moelius features applications of infinitary
machine self-reference for insight regarding computer virus detection.
(2) Its potential
practical importance in Artificial Intelligence.
(3) Its
theoretical application, as a tool, to provide succinct, elegant proofs
of results in theoretical computer science.
For example
theoretical applications, see the papers below and also those in:
Historically, machine (or program)
self-reference started with the well-known mathematical
logician
Steven Kleene
(see references just below).
Kleene's predecessor was the
mathematical logician of the century
Kurt Gödel
who introduced the use
of self-referential sentences in formal languages of arithmetic.
I plan to write a paper revisiting
self-referential sentences, which paper will be
based on machine self-reference.
I also plan to write a paper, based on a new machine self-reference argument,
which will point toward the nicely controverisal
philosophical stance that human cognition is mechanistic. Regarding this
latter issue, see also my article
Turing Machine,
Encyclopedia of Artificial Intelligence, 2-nd edition (edited by S.
Shapiro), John Wiley and Sons, 1992.
In progress is
an article employing machine reference to the understanding
of the self-modeling component of human consciousness.
An expanded variant of the
conference slide version of this article is referenced
below.