ryanvarick.com

Location: ryanvarick.com » Capstone » Artificial Life Simulation (edit)

Analog-based artificial life simulation

I believe analog is a useful platform for artificial life research. Like neural networks, advanced search strategies such as genetic algorithms are used heavily by analog researchers. This suggests the possibility of further similarities. Neural networks are often used to control agents in virtual worlds. My goal is to develop a similar application, in analog, to explore the extent of these similarities.

The purpose of this experiment is twofold:

  1. Demonstrate the viability of analog as a research platform for artificial life by successfully producing a simple agent-based system.
  2. Explore two approaches to agent representation in analog-based artifical life systems.

See also:

Application

This application is modelled after the classic video game Snake. The extended analog computer (EAC) acts as the brain of a snake on a simple two-dimensional world. At each time interval, the distance to the current unit of food is computed and sent to the snake's senses. That is, the distance to the food is sent to the EAC. Using this input, the EAC produces an output response, or movement, to be intrepreted by the world. The snake's goal is to consume as many units of food as possible given a fixed period of time.

Representation

Each snake specifies the configuration of the EAC during its run. This configuration is represented by a genome, which is used by the genetic algorithm to (hopefully) produce increasingly fit snakes. Through discussions with Prof. Larry Yaeger, I have identified two potential representation strategies:

  1. The neural network way
  2. The analog way

Neural network representation (NNR) affixes input senses and outputs at global, pre-specified coordinates, while analog representation (AR) determines inputs and outputs at evaluation. More importantly, NNR uses additional sources and sinks to "massage" the voltage gradient at various points, while AR provides no such capability. In essence, NNR attempts to compensate for analog's lack of a hidden layer by introducing extraneous, fixed, and arbitrary inputs on the sheet. AR assumes that all connections are either sensory or output appendages.

I think this is important for a number of reasons. NNR is interesting because, as far as I know, no one has attempted to port a neural network configuration onto the EAC [actually I believe Mills may have mentioned this before in one of this papers -V]. The concept of "weights" exists in analog as a physical property of the configuration: the distance between sources, sinks, and LLAs should be sufficient to simulate the effects of varied neuronal potential. However, the idea of hidden layers has no explicit counterpart in analog, as far as I know. If this experiment succeeds, then I think the idea of adding arbitrary sources and sinks to the sheet will prove to be a useful tool for porting neural network applications. Demonstrating analog systems to be capable of acting as neural networks is certainly an important step forward [again, I need to review the latest work in this area -V].

More interesting though, in my opinion, is whether or not NNR is the right approach. Prof. Yaeger identified out a number of potential problems with AR. First, AR has potentially unstable evolutionary traits. Good solutions might easily be lost to mutation or other slight pertubations of the genome. Second, the intrepretation of inputs and outputs is much more complicated and slightly more arbitrary. In my first experiment, I used an even-odd approach to seeding sources and sinks, and only used the first LLA to determine the output response. NNR certainly takes care of the guesswork as far as deciding how to handle input and output, but I am concerned that it unnecessarily restricts the EAC by presupposing a solution at encoding time. By assigning inputs and outputs at fixed locations, we are forced to rely on the placement of additional sources and sinks to "correct" for initial placement. Something about that seems off.

Finally, I am worried that NNR is not as attractive as AR. While NNR certainly seems to capture the spirit of neural networks, I fail to see how it maps to the real world. Imagination is a large part of artificial life. Using AR, it is trivial to imagine that an EAC configuration with 10 sources and sinks and 5 LLA is a "creature" with 10 "eyes" and 5 "legs." By associating each connection with a sense or an output, the real world representation is very easy to imagine. With NNR, however, this is not the case. NNR assigns inputs and outputs ahead of time. Ok, fine, each "snake" has the same number of "eyes" and "legs." The problem comes when you introduce the "hidden layer" of sources and sinks -- the extra connections used to shape the gradient. What do these mean in the real world? They are physically the same as the connections used for the input senses (wires), but they have a different implied meaning.

All the components of neural networks -- the nodes, the weights, and the hidden layer -- exist physically. All the components of the EAC exist physically. I am concerend that NNR requires abstract thinking to represent the hidden layer in analog. Hopefully this experiment will shed some light on the situation.

Site information

Introduction

Ryan is a user experience professional and freelance interaction designer in the San Francisco bay area. Get to know him on Facebook, Myspace, or LinkedIn.

ResumePortfolioEducationContact Information

Sections

Site Tools

Recently updated