Software developers 

Framsticks-related software development

Status neurons

Is there a way to connect a neuron to the internal food stock counter of a
creature to know if it is hungry?

Same question with the solidity of a stick (to escape a fight if one of the
body sticky is near definitive damage)?

Is there a SIMPLE way to know if a stick is under water or in air?

btw, Framsticks is great ;)

Didier

Evaluation aims

Is it possible to define/create a creature that has more than one 'mode',
and to swich between them?
This could be for instance a creature that can move very fast, but does so
only when it is 'hungry', so when energy level is low.
When not 'hungry', it is bettter to idle to save energy.

Frans

Hardwire Neuron

I am hobbist whom has been tinkering about with robots for some years. After
recently downloading framsticks, I could see its potential for developing
robots.My problem is finding a circuit diagram, of a hardwire neuron with
exitory/inhibitory weighted inputs and a 3 state(+1,0,-1) output, as
describe in framsticks.The examples I've found so far have been based on
Mark Tildens PDC (not weighted, 2 state output).Please Please Please is
there anybody out there that can point me in the right direction?

yours hopfully

Alun Cross

lunax333.msn.com
P.S.
isn't Framsticks brill?

designing neural networks

This is my 4th post today, and so far I've seen nobody but me post. Oh well,
I'll make it my goal to get this forum active again.

I've been fiddling around with designs for new creatures, and thinking about
how to design neural networks to get the desired behavior. I was thinking
about the problem people keep describing with the smell sensors, and how
best to approach the issue. Part of the difficulty, as I understand it, is
that the difference in the values of two sensors on a creature is too tiny
in proportion to the overall signal to be used effectively to direct
movement.
The easy fix for this aspect at least is to not use the smell values
themselves, but the difference between them.
Designing a network to do this is fairly simple, and here is the simplest
possible version in f0 code:
X[*:0.5][*:0.4][-2:1,-1:-1]
for the sake of simplicity I'm using hardwired neuron values, but the
process works just as well if they are any two neurons. The third neuron may
still have a very tiny value, but that can be corrected with a higher weight
when other neurons use it as an input. Of course, finding a single weight
that works at all distances from the energy source is a different matter.
It seems to me that you could get the most out of your training time if your
network is set up from the begining to provide it's central brain (which I'm
assuming for the purpose of this discussion you'll be evolving rather than
designing) with inputs containing the actual values it should utilize,
rather than hoping it will simultaneously evolve to correctly process the
sensory data and to use that processed data to make the correct decisions.

I think it would be a great help if there were a repository not of
creatures, but of neural-net functions, like my example above, or the
standard sinoid curve networks.
Intrest/reactions/comments? or even better, anyone have any neural net
functions of their own to throw out?

Will Thomas

making f0 genotypes

I've been playing with f1 genotypes for a while now, and I had an idea that
couldn't be done in f1, so I was going to learn f0, but I've got two
questions now.

1) is there any good way to design them without the framsticks program going
crazy? When I attempt to type in f0 genotypes, it gives me an error message
almost every keystroke about an access violation, framsticks.exe attempting
to read invalid memory addresses. Plus, it will sometimes just render a
genotype completely invalid and useless, and won't even show the sticks in
the body window.

2) is there no way to evolve f0 types? I had assumed you could, but my
simulator won't populate the world with them, it seems. Very strange.

Thanks for any answers,

Will

Buggers

I'm pretty new to Framsticks, after a few days fiddling around with existing
critters and the evolution parameters, I designed my first critter from
stratch. I gave it 3 pairs of legs arranged somewhat like an ant's. The
original genome for the morphology was something like this:

Gopher's Bugger Morph1
X(CCrrX(X),MX(CCrrX(X),MX(CCrrX(X),,CCrrX(X)),CCrrX(X)),CCrrX(X))

For the neural network, I went a little crazy. On each of the muscled
sticks, I added 10 neurons. 2 are control-neurons, one for rotation and one
for bend. 4 define a cross-connected decision layer. Another 4 are what I
think of as control-relay neurons, two to each control-neuron. Each
control-neuron takes as input two of the control-relay neurons. Each neuron
in these pairs gets input from the other in their pair and the 4 neurons in
the decision-layer. The decision-layer's neurons take as input all other
neurons in the decision-layer, as well as both control neurons. This set of
10 neurons is duplicated in both muscled sticks, with one modification. The
4 decision-layer neurons in the muscle closest to the head also take as
input the 4 decision-layer neurons of the /next/ segment.
The completed initial genotype is as follows:

Gopher's Bugger Alpha
X(CCrrMX(X),MX[@0:0,2:0,3:0][|0:0,3:0,4:0][1:0,4:0,5:0,6:0,7:0][-1:0,4:0,5:0
,6:0][1:0,2:0,3:0,4:0,5:0][-1:0,1:0,2:0,3:0,4:0][-6:0,-5:0,1:0,2:0,3:0,10:0,
11:0,12:0,13:0][-7:0,-6:0,-1:0,1:0,2:0,9:0,10:0,11:0,12:0][-8:0,-7:0,-2:0,-1
:0,1:0,8:0,9:0,10:0,11:0][-9:0,-8:0,-3:0,-2:0,-1:0,7:0,8:0,9:0,10:0](CCrrMX(
X),MX[@0:0,2:0,3:0][|0:0,3:0,4:0][1:0,4:0,5:0,6:0,7:0][-1:0,4:0,5:0,6:0][1:0
,2:0,3:0,4:0,5:0][-1:0,1:0,2:0,3:0,4:0][-6:0,-5:0,1:0,2:0,3:0][-7:0,-6:0,-1:
0,1:0,2:0][-8:0,-7:0,-2:0,-1:0,1:0][-9:0,-8:0,-3:0,-2:0,-1:0](CCrrMX(X),X,CC
rrMX(X)),CCrMrX(X)),CCrrMX(X))

I was trying to design a neural net that would be good at learning to walk.
I was somewhat successful, with most of my walkers consistantly managing a
distance of 30-40 within a few million steps. However, by 10 million things
began to plateau, and now progress has slowed to a crawl.

I have a world 100x100, with 10 framsticks at a time. Selection critera is
distance 1, others 0. My population is 30% identical, 70% mutants, and 0%
crossbreeds. There's no morphology mutation, and all neural mutations are
default/5 with the exception of Change Neuron Input Weight which is set to
1. I set the other neural mutations low because I wanted to test the
effectiveness of my designed nets as much as to produce a fast walker.

I'm now at around 17M steps, and the genotypes range in distance traveled
from ~49 to ~52, and as I said earlier progress has slowed to a crawl. I
suspect this is because of the extremely large number of neuron input
weights. 20 neurons, 88 inputs.

reactions/suggestions?

Will Thomas, aka Gopher

Maciej Komosinski's picture

Framsticks on TV TODAY!

Today 0:30-1:30 local time (at night) Framsticks will
be presented in TVN, Polish TV. If I manage to find a PC
outside the firewall, then a live video conference will be
possible. The TV station is in Warsaw, I'll be in Poznan.
Szymon Ulatowski will be in their studio in Warsaw.

Mac

http://www.tvn.pl/ctjren.htm

Food gradients instead of food balls?

I've been thinking about why it is relatively easy to evolve creatures that
can move pretty fast but so much more difficult to evolve a creature that
can find food. I've heard the idea put forward in this forum ( I think by
MacKo himself) that the smell sensors are too strong, but I'm not sure that
this is the key problem.

I'm wondering if instead the problem would be solved if the food balls could
be replaced with food gradients. A food gradient would have a center where
the energy was at its highest concentration, with diminishing concentration
farther away from the center. This would be a diffuse field at lest ten
times the radius of the current food balls.

The advantage of the graidients is that any move up the gradient would
bestow an advantge and any move down the gradient would bestow a detriment.
There can thus be many more increments of fitness than in the current
situation. Right now, a creature that moves half of the way toward a
foodball is no more fit than a creature that moves only a quarter of the
way.

Currently, selecting for speed instead of foodfinding is easier because in
selecting for velocity, there are many more oppurtunities for incremental
progress. A creature that moves a little bit faster is a little bit fitter.
But with food balls instead of the food gradients, a creature that moves a
little bit toward the food is not necessarily a little bit fitter for it.

The question might arise of how biologically realistic the food gradients
might be. I think they are quite realistic if we compare them to the
nutrients in solution that bacteria, euglena, or small animals depend on. It
is my understanding that studies of chemotaxis in, say, the nemotode worm c
elegans invovle nutrient gradients, not discrete pieces of nutrient.

--
___________________________________________
P E T E M A N D I K
Assistant Professor and
Associate Director, Cognitive Science Laboratory
Department of Philosophy
William Paterson University of New Jersey
265 Atrium Building
300 Pompton Road
Wayne, NJ 07470
(973)-720-2173
mandikp@wpunj.edu
http://www.wpunj.edu/cohss/philosophy/faculty/mandik

Generation counter...

Please implant a genotype generation counter in v2 this could be done
without any complications and it would give a better indication of how long
a genotype have been evolving.

Example of generation counter:

Generation 1
|
--- Gen. 2
| |
| ---Gen. 3
| |
| ---Gen. 3
|
--- Gen. 2
|
---Gen. 3
|
---Gen. 3
|
---Gen. 4

Hope you can figure out what i mean...

Regards
Johannes Hansen

Where did you get the physic model of the world ?

I am trying to make(program) a model of the world to train some sceletal
structures using the reinforcement algorythm, but i can't find documents
(only document 's i can find are about physics of rigid body) and the model
you use is really good.
Maybe you could give me some useful links ?

Qzma

Pages

Subscribe to RSS - Software developers