[comp.theory.cell-automata] source for Gosper's Hashlife

fontenot@rice.edu (Dwayne Jacques Fontenot) (01/29/91)

Hello,

Does anyone know where I can get some source or a pseudo-code algorithm
for Bill Gosper's "Hashlife"?

The information I have says that the hashlife algorithm was designed in 1982
and that it uses self-referential hash tables to store lookup patterns for
John Conway's game of life. The algorithm is somewhat adaptive in that it
"learns" which patterns to store and works up from relatively small patterns
(4 x 4) to arbitrarily large ones.

As you might deduce from the above, the algorithm starts out slowly and then
accelerates logarithmically. I deduce that it uses memory in the same way ;-)

The algorithm has the intriguing property of storing, in the hash table, all
the information to recreate the life universe at any time in its history.
Gosper was described as running backwards and forwards in time to see how
interesting forms were produced.

The description I saw (in the book, Mind Children) was not complete enough
(in my opinion, anyway) for me to implement the alogorithm.
I would like to implement this algorithm, but I believe I need a better
description than was given in the book. Source code of any kind would be
even better...

Thank you for your time,

Dwayne Fontenot
fontenot@uncle-bens.rice.edu

ACW@YUKON.SCRC.Symbolics.COM (Allan C. Wechsler) (02/23/91)

    Date: Mon, 28 Jan 1991 15:35 EST
    From: fontenot@rice.edu (Dwayne Jacques Fontenot)

    Hello,

    Does anyone know where I can get some source or a pseudo-code algorithm
    for Bill Gosper's "Hashlife"?

    The information I have says that the hashlife algorithm was designed in 1982
    and that it uses self-referential hash tables to store lookup patterns for
    John Conway's game of life. The algorithm is somewhat adaptive in that it
    "learns" which patterns to store and works up from relatively small patterns
    (4 x 4) to arbitrarily large ones.

    As you might deduce from the above, the algorithm starts out slowly and then
    accelerates logarithmically. I deduce that it uses memory in the same way ;-)

    The algorithm has the intriguing property of storing, in the hash table, all
    the information to recreate the life universe at any time in its history.
    Gosper was described as running backwards and forwards in time to see how
    interesting forms were produced.

    The description I saw (in the book, Mind Children) was not complete enough
    (in my opinion, anyway) for me to implement the alogorithm.
    I would like to implement this algorithm, but I believe I need a better
    description than was given in the book. Source code of any kind would be
    even better...

    Thank you for your time,

    Dwayne Fontenot
    fontenot@uncle-bens.rice.edu

I am forwarding your message to Gosper in case he hasn't seen the
request.