I propose to develop a digital life form called a Tile Walker. This digital intelligent life form inhabits a world of tiles. Each tile is 32 x 32 pixels, and each pixel contains 24 bits of color info. The Tile Walker can move up, down, left or right to an adjacent tile, one tile at a time. She can detect whether any pixels in the current tile have changed, and can modify any of those pixels. She can hear/speak one 7-bit ASCII character at a time.
A couple of years ago I read a book about the brain called On Intelligence, by Jeff Hawkins, which describes the overall framework for how human intelligence works. In order to develop the Tile Walker software, I would have to build on the ideas in Hawkins' book. If the Tile Walker can be made to exhibit intelligent behaviour, I can turn her loose on the Internet and see what happens.
The Tile Walker's memory would be photographic: all pixel changes, tile changes, incoming and outgoing characters in her past would be available and on call. However, in order to make this mountain of data easier to deal with, her working memory would be more hierarchical and probably based on some kind of neural network, mirroring the organization of knowledge in the human cerebral cortex.
The Tile Walker's brain would have 4GB of data in her neural network, or 32 billion bits. It would take up at least 1GB of RAM, and currently unused neurons would be swapped out to secondary storage. If each neuron contains say 32 kilobits of data, then up to one million neurons would fit in her memory. That's not counting the photographic, total recall portion of her memory, which would occupy several GB of secondary storage.
Let's say half of each neuron's data (16 kilobits) is devoted to connections to neurons in the 3 nearest cortical regions plus the current cortical region, and the other half is devoted to more distant neurons. If each cortical region has 1024 neurons, then there exist 1024 cortical regions, and each neuron can connect to up to 1024 local neurons (12 bits per local address plus 4 bits for connection strength). Each neuron can also connect to up to 16,384 divided by 24 (20 bits per global address plus 4 bits for connection strength) = 2048 / 3 = 667 + 16 = 683 global neurons.
I have shown in the preceding 2 paragraphs that current computers are capable of modeling a neural network composed of a million neurons. The human brain has very roughly 20 billion neurons. Hopefully all you need is one million neurons to model intelligence in the Tile Walker's simplified world. If some way can be found to wire together her neurons in such a way as to simulate the human brain (within her limited tile-based world), then maybe digital intelligence can make its way to every one's desktop (or laptop). And when future computers come with 4 or more GB of RAM standard, then everybody can have a Tile Walker on their desktop alongside whatever apps they may happen to have in operation at any given time.
Monday, January 4, 2010
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment