RE: Implementation

From: Hans Moravec <>
Date: Mon, 02 Aug 1999 17:03:30 -0400

Gilles HENRI <
> i.e. is HLUT actually implementing a knowledge of time?

The first, naive, idea about implementing an HLUT probably didn't
consider the passage of time. It indexed the answers simply by
concatenating all the inputs so far.

But time clearly is important in conversations, and is easily added to
the HLUT. A simple way is to prefix each input by a special
timestamp. The timestamps become part of the lookup index string.

Simple timestamps, though, don't allow the HLUT to spontaneously say,
after a long period of silence, "Hey, is anybody there?".

A better solution is to operate the HLUT synchronously, in tiny clock
ticks. In each clock interval the HLUT either receives a letter of
input or nothing, which is marked by a special symbol. The letters
and silences are appended and at each tick the entire history string
so far is used to look up an output in the table, which in a single
clock tick is itself just a single letter or silence.

The HLUT is usually presented as a literal table to make its control
simplicity as stark as possible. But the structure of the data is
more clear if you imagine it as a tree. In the case of the
synchronous HLUT, the tree might have 256 branches at each node (one
for every possible ASCII character input - 0 represents silence).
One node at a time is active. Each millisecond (say) the activation
advances one level deeper into the tree. Which of the 256
possibilities becomes the next active node depends on the input at
that instant. Each node, when first activated, outputs a particular
character (or silence).

For a human lifetime of 100 years = 3x10^12 milliseconds, the
synchronous HLUT tree would have about 256^(3x10^12) nodes =~
10^(10^13) nodes (or branches), each corresponding to one input
letter and carrying one output letter.

The input letters are the same in any HLUT of this kind, and would
surely be implicit with position. The pattern of output letters
makes the HLUT who it is.

The flattened, pure-table, version of the tree could simply be a
string of 10^(10^13) output letters, with the input index being
implicit in just the position along the string.

The contents of that long string make the HLUT who it is. They
make it a conscious being if they encode coherent, intelligent,
appropriate conversations that exhibit memory, learning and
Received on Mon Aug 02 1999 - 14:05:46 PDT

This archive was generated by hypermail 2.3.0 : Fri Feb 16 2018 - 13:20:06 PST