[tt] [croquet-dev] Distributed Neuron in Croquet? Questions.

Eugen Leitl <eugen at leitl.org> on Thu Oct 25 16:54:11 UTC 2007

----- Forwarded message from zachary at distributedneuron.net -----

From: zachary at distributedneuron.net
Date: Thu, 25 Oct 2007 12:39:54 -0400
To: croquet-dev at duke.edu
Subject: Re: [croquet-dev] Distributed Neuron in Croquet? Questions.
User-Agent: Internet Messaging Program (IMP) H3 (4.1.4)
Reply-To: croquet-dev at duke.edu, zachary at distributedneuron.net

Thanks for the fast replies and honest answers!  Its very much appreciated.

>If P2P multi-user interaction isn't really a
>requirement for your project, then you might want to look elsewhere.

Multi-user interaction is a definite requirement.  P2P is not ideal as  
a classical server-client setup would also suffice, but it is also not  
a negative.

My project is distributed in nature.  Classical brain simulation is  
often done on a supercomputer or cluster because of the computational  
requirements.  I've opted to evolve smaller "brains" and distribute  
the computation to volunteer clients.  Each client runs on a  
volunteer's ordinary PC.  Each client runs a small neural network and  
controls a single organism in the environment.  The environment should  
contain the organisms of other clients so they can interact.   
Interaction is simple - moving, eating, "sensing" each other (vision,  
smell, etc), reproducing.

I'm much more interested in the multi-user environment of Croquet than  
the 3D capabilities.  Infact, my client most likely won't even show  
the 3D environment, it eats up valuable processing time.  All I need  
is a place that can hold organisms, allowing them to interact in a  
spatial manner.


>2) You can just make sure that there is someone running the simulation.

After thinking about it, this will happen automatically.  The  
simulation is a product of clients participating, guaranteeing someone  
will always be inside.


>Yes. But don't assume it's slow. For many activities, it isn't.
>Profile and know.
>
>However, remember the definition of the core model.  The simulation
>state must be replicated on each participant, such that a snapshot gets
>everything and such that all computation provides the same answers.
>Getting C++ to do that is going to be very hard.  Very hard.

I think I'm still ok, after reading about the Core model.  I can  
effectively treat my neural network code as a blackbox - feeding it  
input and receiving output.  This output (move, eat, etc) is the  
"behavior" of the client and what will be sent to other clients.  The  
only computation that needs to be done after receiving a snapshot is  
updated behavioral messages.  Just like real life, organisms only need  
to know superficial information about others such as their position  
and appearance.

Can Squeak interface with DLLs?  I could separate my neural network  
code into a DLL.  Squeak handles all network and environment  
operations, feeding the neural network DLL inputs (spatial  
information, vital statistics, etc).  The DLL returns behavioral  
outputs which Squeak sends to other clients.

Does this make sense?  Is this possible?  The biggest reason I don't  
want to port my code is A) performance worries which may or may not be  
an issue and B) its a ton of code I'd have to convert.  I just don't  
have time to rewrite 4 months of work :)


Unrelated, but the router timestamps may work in my favor.  I've been  
struggling with a way to keep various clients working at the same  
speed.  Your computer may be much faster than mine, meaning your  
organism can update its behavior more often than mine.  This could  
impart an advantage (such as responding to threats quicker) that is  
independent of the genome, allowing unfit genomes to survive longer  
than the should.  By controlling the timestamps I could ensure that  
all clients have equal opportunity to play on the same speed.

Thanks again for the help!
-Zach



----- End forwarded message -----
-- 
Eugen* Leitl <a href="http://leitl.org">leitl</a> http://leitl.org
______________________________________________________________
ICBM: 48.07100, 11.36820 http://www.ativel.com http://postbiota.org
8B29F6BE: 099D 78BA 2FD3 B014 B08A  7779 75B0 2443 8B29 F6BE

More information about the tt mailing list