1. AI -- a realistic project

Less talk.  More action.

I've had an interest and have been "doing AI" for about 10 years.  I've 
got lots of opinions on the subject, surprisingly none of which have 
been represented here in recent discussions.  However, I'm a bit too 
tired this morning to go on a proper rant, so that will have to wait.

I propose that instead of sitting around trying to decide what do we 
need, what is best, why are we doing this, etc. we just jump in and try 
to accomplish *something*.  How about we build our simulated world that 
has some agreed-upon (if we can mangage that) physical laws & 
properties, and then various people can go off and build an "entity" 
(using any method of their choosing) that will live in this environment, 
at least until the rules of the world determine that it has been killed. 
 It should be very simple (in concept) which will allow us to get moving 
on this.  This does not imply that complex behavior cannot emerge or at 
least it allows for the possibility for something interesting happening 
that will take us down further roads.  So instead of trying to build 
Einstein's brain, we can just focus on a basic property: adaptability in 
the face of the (partially) unknown.


There would be three phases to such a project:

Phase #1:

First, we collaboratively design an environment -- a world.  This should 
be very simple!  We are really only designing the "rules" of the world 
-- we will plop our entity into many such worlds -- all with the same 
rules, but with different configurations (so it would have to know or 
figure out the rules and be able to adapt to any configuration, and not 
just memorize one environment.)  I have in mind something like a 
two-dimensional grid world that is guaranteed to be a minimum of X by X 
blocks and a maximum of Y by Y blocks (X & Y to be decided.)  In 
addition, there will be several (not too many) different types of 
objects that can exist in the world -- food, obstacles, other 
(mechanical) entities, etc.  The entity will be limited to certain 
simple actions like move, push object, consume object (eat a rock and 
die!), etc.  The world will be updated in discrete time-steps, and we 
make up rules such as:

-- an entity will die if it does not eat X often
-- each piece of food is worth X units of energy
-- food will grow and multiply in certain areas sometimes, other times 
it may start to dry up in one spot and spring up elsewhere (or there 
could be food *and* water, both needed)
-- are there (mechanistic to make it simple) predators or competitors 
for food?
-- etc.
-- Point is the environment is not static, but not erratic or random 
either.
-- You will be tempted to come up with lots of subtle rules (night & 
day, etc.) -- save those for next time!  Baby steps...

We equip our entity with certain sensors that allow it a (limited) view 
of its environment (it can't sense the whole world at once -- it must 
direct its attention and move about to discover things).

Then all those rules are coded into an engine that implements the world. 
 Who or how it is coded is not particularly important -- just so it 
correctly implements the agreed-upon rules, can show us what is 
happening, etc.  On each time-step, the engine will provide the entity 
with the current state of its sensors, and will accept an action (or 
non-action) as input from the entity.  Of course, it will also update 
any other goings-on within the world.  Optionally, each time-step could 
be a *literal* amount of time on a benchmark machine -- if the entity 
doesn't provide an action within a certain time-frame, time in the world 
goes marching on anyway (memshare library, anyone?).

That's phase #1 -- it is basically a game of adaptability, but one for 
which any of us won't know the best strategies beforehand (probably).  
It is also a game that has no guaranteed starting configuration -- the 
entity will simply be plopped into an existing world without knowing its 
exact size, or where the food is, or the best way around the obstacles 
and away from the predators.


Phase #2 -- Individuals or groups of individuals each take a copy of the 
engine (or make your own so long as it adheres to the standards -- 
however, there should be an "official" version) and go off and create an 
entity to live in such worlds.  Each person or group can take any 
approach they want using any resources -- you want to hand-code for 
every contingency?  Go ahead -- it will be a good benchmark.  You want 
to use a ton of memory and try to create a complete internal map & 
record of what's happened in the world?  Go ahead if you think it will 
work.  Like neural networks?  Use them.  Don't want to hard-code 
anything and instead concentrate on coming up with a system for 
learning?  Excellent.  This is not a competition, only an exhibition.  


Phase #3 -- Public tests of the various entities using random or 
specifically designed but previously unknown configurations of the 
world.  We note which approaches worked best, which ones worked most 
often, or for the longest time, etc.  Maybe replace previously 
mechanical competitors for food with some one else's entity so we have 
two or more intelligences running around the same environment. See who 
dies.  Basically we moodle over our results and let it naturally lead to 
new places.  If we ever get that far, that is.


In short, I believe the process itself will be far more fascinating than 
sitting around jabbering about it.  If this all sounds too basic and 
boring, then I'm sure you can come up with something great in no time 
and we can move on to making dolphins.  Just describing this relatively 
simple project should make it apparent that it really isn't so simple 
after all and trying to start right away with a consciousness is a bit 
unrealistic, to say the least....

new topic     » topic index » view message » categorize

2. Re: AI -- a realistic project

Andy,
I think your method of starting this project is a good one.Using
a simple grid,we can set up any type of environment we wish, from
a pac-man maze,or tic-tac-toe board, to a virtual fishtank or cage.
Their are quite a few different opinions on what sort of environment
to provide, so to start out with, a grid would be perfect. I like the
idea so well, I've already built a grid,here is the code:


--set grid
global procedure set_grid()
for i=1  to  705 by 50 do
draw_line(2,{{1,i},{700,i}})

end for
for i=1 to 705 by 50 do
draw_line(3,{{i,1},{i,700}})

end for
end procedure

set_grid()

I built this using graphics mode 261 and I think there are 14 rows
and 14 columns giving a total of 196 grids to place obstacles,stimuli,
the creature,etc. etc.
I used graphics mode 261 because it uses the most pixels and therefore
would look the best,and we dont need any speedy graphical capabilities
right away.
However I dont know how to set up a mouse properly in this mode, so
the interface will be keyboard driven to start with.
I need help deciding what kind of interface to add with it now that
I have the basic grid.Specifically I need code to get each projects
artwork into the proper tiles.


                                Thanks,
                                      JDUBE


>From: Andy Serpa <ac at onehorseshy.com>
>Reply-To: EUforum at topica.com
>To: EUforum <EUforum at topica.com>
>Subject: AI -- a realistic project
>Date: Fri,  8 Nov 2002 13:56:07 +0000
>
>
>Less talk.  More action.
>
>I've had an interest and have been "doing AI" for about 10 years.  I've
>got lots of opinions on the subject, surprisingly none of which have
>been represented here in recent discussions.  However, I'm a bit too
>tired this morning to go on a proper rant, so that will have to wait.
>
>I propose that instead of sitting around trying to decide what do we
>need, what is best, why are we doing this, etc. we just jump in and try
>to accomplish *something*.  How about we build our simulated world that
>has some agreed-upon (if we can mangage that) physical laws &
>properties, and then various people can go off and build an "entity"
>(using any method of their choosing) that will live in this environment,
>at least until the rules of the world determine that it has been killed.
>  It should be very simple (in concept) which will allow us to get moving
>on this.  This does not imply that complex behavior cannot emerge or at
>least it allows for the possibility for something interesting happening
>that will take us down further roads.  So instead of trying to build
>Einstein's brain, we can just focus on a basic property: adaptability in
>the face of the (partially) unknown.
>
>
>There would be three phases to such a project:
>
>Phase #1:
>
>First, we collaboratively design an environment -- a world.  This should
>be very simple!  We are really only designing the "rules" of the world
>-- we will plop our entity into many such worlds -- all with the same
>rules, but with different configurations (so it would have to know or
>figure out the rules and be able to adapt to any configuration, and not
>just memorize one environment.)  I have in mind something like a
>two-dimensional grid world that is guaranteed to be a minimum of X by X
>blocks and a maximum of Y by Y blocks (X & Y to be decided.)  In
>addition, there will be several (not too many) different types of
>objects that can exist in the world -- food, obstacles, other
>(mechanical) entities, etc.  The entity will be limited to certain
>simple actions like move, push object, consume object (eat a rock and
>die!), etc.  The world will be updated in discrete time-steps, and we
>make up rules such as:
>
>-- an entity will die if it does not eat X often
>-- each piece of food is worth X units of energy
>-- food will grow and multiply in certain areas sometimes, other times
>it may start to dry up in one spot and spring up elsewhere (or there
>could be food *and* water, both needed)
>-- are there (mechanistic to make it simple) predators or competitors
>for food?
>-- etc.
>-- Point is the environment is not static, but not erratic or random
>either.
>-- You will be tempted to come up with lots of subtle rules (night &
>day, etc.) -- save those for next time!  Baby steps...
>
>We equip our entity with certain sensors that allow it a (limited) view
>of its environment (it can't sense the whole world at once -- it must
>direct its attention and move about to discover things).
>
>Then all those rules are coded into an engine that implements the world.
>  Who or how it is coded is not particularly important -- just so it
>correctly implements the agreed-upon rules, can show us what is
>happening, etc.  On each time-step, the engine will provide the entity
>with the current state of its sensors, and will accept an action (or
>non-action) as input from the entity.  Of course, it will also update
>any other goings-on within the world.  Optionally, each time-step could
>be a *literal* amount of time on a benchmark machine -- if the entity
>doesn't provide an action within a certain time-frame, time in the world
>goes marching on anyway (memshare library, anyone?).
>
>That's phase #1 -- it is basically a game of adaptability, but one for
>which any of us won't know the best strategies beforehand (probably).
>It is also a game that has no guaranteed starting configuration -- the
>entity will simply be plopped into an existing world without knowing its
>exact size, or where the food is, or the best way around the obstacles
>and away from the predators.
>
>
>Phase #2 -- Individuals or groups of individuals each take a copy of the
>engine (or make your own so long as it adheres to the standards --
>however, there should be an "official" version) and go off and create an
>entity to live in such worlds.  Each person or group can take any
>approach they want using any resources -- you want to hand-code for
>every contingency?  Go ahead -- it will be a good benchmark.  You want
>to use a ton of memory and try to create a complete internal map &
>record of what's happened in the world?  Go ahead if you think it will
>work.  Like neural networks?  Use them.  Don't want to hard-code
>anything and instead concentrate on coming up with a system for
>learning?  Excellent.  This is not a competition, only an exhibition.
>
>
>Phase #3 -- Public tests of the various entities using random or
>specifically designed but previously unknown configurations of the
>world.  We note which approaches worked best, which ones worked most
>often, or for the longest time, etc.  Maybe replace previously
<snip>

>
>

new topic     » goto parent     » topic index » view message » categorize

3. Re: AI -- a realistic project

Aside: Plants can adjust to their environment... they even COMPETE for
cryin' out loud... Does that make them intelligent?

Okay, onto the issues:

> The entity, will be a 'worm'.
>
> We will use the rate of population to guage the intelligence of our
> worm.

I don't see how that is a measurement of intelligence. If reproduction is
going to be instinctual, then you'll have to find something else. How about
we also put poisons in the environment and see if they can learn to avoid
them? Let's see if, after reproducing, the parent organism ever takes a role
in helping the child organism develop. HAHAHAHA. Maybe the parental instinct
is too complicated right now... so nevermind. :)

Why have reproduction at all? Why not just start out with a worm and see how
he does in the environment? (or "she," no gender bias intended... ;) )

That reduces the complexity of the instinct programming to just survival,
although we still need autonomic functions like "move" and "consume" and
blah blah blah.

> The sensory perception is limited to visual stimulus, in a radial
> FOV(sees in a circle around itself). To simplify things, these odd
> creatures will see in a square, instead of a circle.

How about the worm can see straight ahead only. Then, a sign of intelligence
in the future is if it starts swinging its head back and forth to survey its
surroundings... kinda like a visual radar. That would be neat to see
develop.

> The little guys also need some basic properties(genes), to define their
> existence:
>  They must have a maximum potential, for storable nutrients:
>    max health = 100 units
>  Define the range of vision (how far can it see): radius = 50
>  We will also define basic motor skills as properties:
>    IDLE (do nothing): costs 0.1 unit of health

Why wouldn't IDLE IMPROVE health?! What about a subset of IDLE being SLEEP?
Prolly too complicated. Just like any creature that exercises, it is during
the rest period that health improves (or at least the muscles regen and get
stronger).

I guess the way it works is if there's been a prior period of activity, IDLE
will actually improve health. However, too much IDLEing and health starts to
diminish, especially with no fuel.

>    LOCATE (search in a circle around itself locate objects)

This is moving its visual sensor back and forth to survey its immediate
surroundings... I want to see if it will learn to do this on its own or if
it needs to be an instinct.

>    MOVE (Left,Right,Up,Down): costs 0.1 unit of health per move for
> adult worms. larva costs 0.2 units to move
>    EAT (whatever is in the pixel directly in front of the worm, doesn't
> matter if there is nothing there):
>      costs 1 unit of health

We could simulate digestion by having it eat and then during subsequent
turns the health steadily increases. The first turn it eats it loses one
point of health. The next turn it gains 5% of the total value available...
and on until 100% is derived. Throw in some random factors for imperfections
in the biology (just for fun) and maybe it never really gets 100% of the
potential health benefits of its fuel...

> The environment will be a black screen, randomly speckled with
> red/green/blue dots(food). Worms will be graphically defined as white
> pixels.

Can we let babies start out as one pixel and adults be three-five pixels?
That would be fun.

You know, we'd have to actually give a food value to the worms themselves...
For example, what if we simulate a famine in the land. Will the worms resort
to cannibalism?!

> Green dots provide 3 units of 'adult' nutrients
>   (these are only beneficial to fully matured worms)
> Blue dots provide 3 units of 'larva' nutrients
>   (only beneficial to larva stage worms)
> Red dots provide 2 units of both, 'adult' and 'larva' nutrients
>   (beneficial to all worms, though not as good as a green or blue)

I'd still like to see some poison... Maybe this:

Green - 3 units of adult nutrients; -1 to larva (too harsh for their young
tumtums)
Blue - 3 units of larva nutrients; 1 for adults
Yellow - 2 units of either adult or larva
Red - poison; -2 units to either adult or larva

Another aside: We just got an ant farm recently. Ants are incredible
biological robots, are they not?!

new topic     » goto parent     » topic index » view message » categorize

4. Re: AI -- a realistic project

Hi all,
Most of us agree that a very low intelligence entity,like CK's
worm would be the best starting point.But untill we can agree on an
outline (like Chris Bensler's) of it's life cycles, we are stuck
with just coming up with tenets that would fit ANY lifeform in
ANY environment.
  So we have to ask ourselves the question,at the onset, are we
building something specific or a just a general framework that
anyone can work on in their own inspiration?
  I personally am a go with the flow type of guy,I dont care
which direction I go in, as long as there is direction.

                                       -JDUBE



>From: "C. K. Lester" <cklester at yahoo.com>
>Reply-To: EUforum at topica.com
>To: EUforum <EUforum at topica.com>
>Subject: Re: AI -- a realistic project
>Date: Fri, 8 Nov 2002 13:06:42 -0600
>
>
>Aside: Plants can adjust to their environment... they even COMPETE for
>cryin' out loud... Does that make them intelligent?
>
>Okay, onto the issues:
>
> > The entity, will be a 'worm'.
> >
> > We will use the rate of population to guage the intelligence of our
> > worm.
>
>I don't see how that is a measurement of intelligence. If reproduction is
>going to be instinctual, then you'll have to find something else. How about
>we also put poisons in the environment and see if they can learn to avoid
>them? Let's see if, after reproducing, the parent organism ever takes a 
>role
>in helping the child organism develop. HAHAHAHA. Maybe the parental 
>instinct
>is too complicated right now... so nevermind. :)
>
>Why have reproduction at all? Why not just start out with a worm and see 
>how
>he does in the environment? (or "she," no gender bias intended... ;) )
>
>That reduces the complexity of the instinct programming to just survival,
>although we still need autonomic functions like "move" and "consume" and
>blah blah blah.
>
> > The sensory perception is limited to visual stimulus, in a radial
> > FOV(sees in a circle around itself). To simplify things, these odd
> > creatures will see in a square, instead of a circle.
>
>How about the worm can see straight ahead only. Then, a sign of 
>intelligence
>in the future is if it starts swinging its head back and forth to survey 
>its
>surroundings... kinda like a visual radar. That would be neat to see
>develop.
>
> > The little guys also need some basic properties(genes), to define their
> > existence:
> >  They must have a maximum potential, for storable nutrients:
> >    max health = 100 units
> >  Define the range of vision (how far can it see): radius = 50
> >  We will also define basic motor skills as properties:
> >    IDLE (do nothing): costs 0.1 unit of health
>
>Why wouldn't IDLE IMPROVE health?! What about a subset of IDLE being SLEEP?
>Prolly too complicated. Just like any creature that exercises, it is during
>the rest period that health improves (or at least the muscles regen and get
>stronger).
>
>I guess the way it works is if there's been a prior period of activity, 
>IDLE
>will actually improve health. However, too much IDLEing and health starts 
>to
>diminish, especially with no fuel.
>
> >    LOCATE (search in a circle around itself locate objects)
>
>This is moving its visual sensor back and forth to survey its immediate
>surroundings... I want to see if it will learn to do this on its own or if
>it needs to be an instinct.
>
> >    MOVE (Left,Right,Up,Down): costs 0.1 unit of health per move for
> > adult worms. larva costs 0.2 units to move
> >    EAT (whatever is in the pixel directly in front of the worm, doesn't
> > matter if there is nothing there):
> >      costs 1 unit of health
>
>We could simulate digestion by having it eat and then during subsequent
>turns the health steadily increases. The first turn it eats it loses one
>point of health. The next turn it gains 5% of the total value available...
>and on until 100% is derived. Throw in some random factors for 
>imperfections
>in the biology (just for fun) and maybe it never really gets 100% of the
>potential health benefits of its fuel...
>
> > The environment will be a black screen, randomly speckled with
> > red/green/blue dots(food). Worms will be graphically defined as white
> > pixels.
>
>Can we let babies start out as one pixel and adults be three-five pixels?
>That would be fun.
>
>You know, we'd have to actually give a food value to the worms 
>themselves...
>For example, what if we simulate a famine in the land. Will the worms 
>resort
>to cannibalism?!
>
> > Green dots provide 3 units of 'adult' nutrients
> >   (these are only beneficial to fully matured worms)
> > Blue dots provide 3 units of 'larva' nutrients
> >   (only beneficial to larva stage worms)
<snip>

>
>

new topic     » goto parent     » topic index » view message » categorize

5. Re: AI -- a realistic project

> C. K. Lester wrote:
> > Aside: Plants can adjust to their environment... they even COMPETE for
> > cryin' out loud... Does that make them intelligent?
>
> Plants don't 'learn' to compete/overtake other plants, that is part of
> their natural characteristics.

So competition is instinctual to them?

> > > The entity, will be a 'worm'.
> > > We will use the rate of population to guage the intelligence of our
> > > worm.
> > I don't see how that is a measurement of intelligence. If reproduction
is
> > going to be instinctual, then you'll have to find something else. How
about
> > we also put poisons in the environment and see if they can learn to
avoid
> > them? Let's see if, after reproducing, the parent organism ever takes a
role
> > in helping the child organism develop. HAHAHAHA. Maybe the parental
> > instinct is too complicated right now... so nevermind. :)
>
> The intelligence comes from selecting the right food to eat, and the
> optimal location to breed, based on the amount of food in the immediate
> area.

Okay, so how is this different than our plants who "move into the sunlight"
or "drop their seeds at the right time" based on wind speed/velocity? In
other words, so far you've described instinct, not intelligence.

> Larva can only eat blue food. Adults can only eat green food. Red
> food can be eaten by both, but provides only minimal nutrients. It's not
> practical for the worm to eat the red food, unless the distance to get
> to the blue or green, outweight, the profit.

If larva can only eat blue food, are you going to program that directly into
them? If so, you've simply created a robot. There's no learning needed. Eat
blue food only. Not that difficult to follow.

But if you program in "eat only things that increase health," then it will
have to LEARN what exactly it is that increases health (by experimentation
(guided or not)), and you have a learning entity (not necessarily
intelligent).

> It would also reproduce faster, by eating to proper food, because it
> will spend less time eating, and more time breeding.

In a real world example, are viruses that propagate faster than others
"smarter" than those others? No.
What about rats? rabbits? They're two of the most prolific breeders on our
planet (or so the stereotype suggests). Are they "smart" just because they
happen to be able to reproduce so efficiently? I say no.

> > Why have reproduction at all? Why not just start out with a worm and see
how
> > he does in the environment? (or "she," no gender bias intended... ;) )
> >
> To start with, we could, but I don't think it would take long to
> graduate from there. In any case, the survival skills will need to be in
> place before we can implement reproduction.
>
> Besides, we want it to be a little bit interesting don't we? :P

Sure, interesting... but complicated beyond reason? No. :)

> Reproduction is the next logical step after survival, and if we are to
> have an effective creature, it would be nice if it can have the
> oppurtunity to break it's mold, through genetic inheritance and
> mutation.

I disagree that "reproduction is the next logical step after survival."
According to what model?! Even if you use an evolutionary model, propagating
oneself is self-destructive! By reproducing, you are actually decreasing
your chances of survival because you are introducing competitive
consumers... these consumers will be consuming the same resources as you,
thereby introducing conflict, especially when resources are low. What causes
a man to kill another (basically)? Fear of death. So, are you going to have
worms who find out how to kill other worms that are competing for fuel?

> > > The sensory perception is limited to visual stimulus, in a radial
> > > FOV(sees in a circle around itself). To simplify things, these odd
> > > creatures will see in a square, instead of a circle.
> >
> > How about the worm can see straight ahead only. Then, a sign of
> > intelligence
> > in the future is if it starts swinging its head back and forth to survey
> > its
> > surroundings... kinda like a visual radar. That would be neat to see
> > develop.
> >
>
> Let's stick with KISS for now. It's easier for it to see in a square
> chunk, then to see in a straight line ahead.

I wholly disagree! With a straight-line ahead vision, there's less to
process! That means SIMPLER.

> Also, if it only sees
> straight ahead, I could picture it just going in circles, or wandering
> to it's death, looking for food.
>
> A neat idea, might be to have it not see, but sense the presense of
> food, like 'hot or cold'. The problem with that idea, is how to
> differentiate between red/green/blue/white?

Okay, here's a resolution: give it a sense of smell. In fact, give it a
great sense of smell, such that it can sense/detect/smell an item of food
many pixels away. (The strength of the odor diminishes over space (and
time), but the odor eminates over, say, a 1,000,000 square pixel area.)
Then, when it gets close, it can use its primitive vision to determine if
its a good food or not... In fact, maybe give each type of food a different
smell (that's logical), and it will just go towards the good smells!

Actually, I think we've just made a case to cut out vision for now and just
use smell.

> > I guess the way it works is if there's been a prior period of activity,
IDLE
> > will actually improve health. However, too much IDLEing and health
starts to
> > diminish, especially with no fuel.
>
> I know what you mean, and I agree.  But for our simplistic purpose, I
> chose not to go that way. Saving us the trouble of working out the "idle
> threshold" formula. The worm regains it's energy by eating.

I don't think the idle threshold would be too difficult to implement. Since
we're just going to be simulating a lot of functionality, we just have a
simple sequence of energy...

blue_pellet[ABSORPTION] = { 0.05 , 0.10 , 0.25 , 0.50 , 0.10 }

On the first turn after eating a blue pellet, five percent (0.05) of the
potential energy is added. On each subsequent turn, add the additional
percentage of energy until 100% (or thereabouts) (but no less than is
sustainable by the worm- see below) is achieved.

For idling, any activity reduces energy but increases potential health...

ATROPHY = {20, 0.01, 0.01, 0.05, 0.010...}

Where ATROPHY[1] is the starting turn when IDLEness becomes detrimental. Of
course, this is only the function of lack of activity, NOT lack of fuel
intake!

(ATROPHY won't be considered in the below example.)

Health at start:    20
Energy at start (as a function of health):    40 (health * 2)


(so max energy is 40)

Turn One:    walking (-1.0 energy)    (+0.01 potential health after 5 turns
of rest)
    Energy: 39    Health:    20
Turn Two:    jogging (-1.5 energy)    (+0.03 potential health after 5 turns
of rest)
    Energy: 37.5    Health:    20
Turn Three:    sprinting (-3.0 energy)    (+1.00 potential health after 10
turns of rest)
    Energy: 34.5    Health:    20
Turn Four:    IDLE (+0.05 energy)
    Energy: 35.0    Health:    20
Turn Five:    IDLE (+0.05 energy)
    Energy: 35.5    Health:    20
...
Turn Nine:    (after 5 turns of rest) - add the 0.01 and 0.03 from the
walking and jogging activity
    Energy: 37.5    Health:    20.04 (now max potential energy is 40.08!)
...
Turn 14:    (after 10 turns) - add the 1.00 from the sprinting
    Energy: 40.5    Health:    21.04 (now max potential energy is 42.08!)

I don't think it would be too difficult to program those things... we'll see
as time goes on.

> > >    LOCATE (search in a circle around itself locate objects)
> >
> > This is moving its visual sensor back and forth to survey its immediate
> > surroundings... I want to see if it will learn to do this on its own or
> > if it needs to be an instinct.
> >
>
> I think it would be a neat experiment to try after we get the worm to
> work. For the time being, I think it will be easier if our worm can
> actually see all around itself.

How "seeing" all around itself is easier than just seeing straight ahead is
beyond me at the moment. I propose surveying 5 to 10 pixels, whereas you
suggest surveying 100 or more (10x10 square)... Am I not wrapping my brain
around this properly?

> The idea is to see how well the worm can manage the food. If there is a
> red dot 5 pixels away, and a green dot 10 pixels away, which one should
> it go to?

Now I see. But "managing the food" is a learned activity that won't come
into play until much relative time has passed and development has occurred.
Or is it just going to be instinct to "eat blue" or "eat green" at a certain
stage in development?

Are you going to start your baby off as an adult or as an infant? If as an
infant, what are you going to do to ensure its survival? Are you going to
raise it yourself? If an adult, how can you possibly program everything an
adult would know?

> If the worm has to travel 5 pixels (cost 0.5 health units) to eat a red
> dot (costs 1 to eat, gives 2, gross=1 unit), it only gains a total of
> 0.5 health.
> If thew worm travels 10 pixels (cost 1 health unit) to eat a green dot
> (costs 1 to eat, gives 3, gross=2), it will gain 1 health unit. So it is
> beneficial for the worm to determine the distance vs profit. THIS is the
> intelligence of our worm. Deciding what to eat next.

All you're having it do is an If...Then...Else...End if series of questions.
Is it going to learn that? or are you going to program it as instinct? :)

> > > The environment will be a black screen, randomly speckled with
> > > red/green/blue dots(food). Worms will be graphically defined as white
> > > pixels.
> >
> > Can we let babies start out as one pixel and adults be three-five
> > pixels? That would be fun.
> >
> > You know, we'd have to actually give a food value to the worms
themselves...
> > For example, what if we simulate a famine in the land. Will the worms
resort
> > to cannibalism?!
> >
>
> Agreed.. _after_ :D

Which part? (Growth is not a conscious thing, so we could simply emulate
that.)

Assigning worms an energy value (upon being consumed) isn't any more
difficult than assigning that to any other fuel source.

Assigning worms a sequential list of valuable energy sources as an
instinct...?

1. green objects
2. blue objects
3. red objects
4. other objects
5. other worms

:)

new topic     » goto parent     » topic index » view message » categorize

6. Re: AI -- a realistic project

----- Original Message -----
From: "C. K. Lester" <cklester at yahoo.com>

> Aside: Plants can adjust to their environment... they even COMPETE for
> cryin' out loud... Does that make them intelligent?

In some way they are. Boundary between plants and animals is not that big.
There are some creatures in sea (I don't remember which) which we don't know
if they are animals or plants (I remember this from school :)


> Why have reproduction at all? Why not just start out with a worm and see
how
> he does in the environment? (or "she," no gender bias intended... ;) )

If you want death in this enviroment then you need reproduction too of
course.

new topic     » goto parent     » topic index » view message » categorize

7. Re: AI -- a realistic project

The most interesting AI project that I've seen - and one that could easil=
y be=20
adapted to Euphoria code - is the one used in the 'Creatures' game. The w=
ord=20
'game' here is a bit of a misnomer, since it's more a simulation of AI=20
creatures (called 'Norns').

Unfortunately, some of the nicer articles are no longer available on the =
web,=20
but this is probably the best overview:

   http://www.creatures.co.uk/library/science/sci_1exercise.htm

In addition to using a neural net, the creatures also have simulated=20
biochemistry, which turns out to be useful for quite a number of reasons.=
=20
Most valuably, they connect drive reduction to rewards, which allow a=20
generalized system of learning.

There are some nice sites which detail the inner workings of the Norn=20
biochemistry, as well as the file formats. For example:

   http://www.double.co.nz/creatures/

-- David Cuny

new topic     » goto parent     » topic index » view message » categorize

Search



Quick Links

User menu

Not signed in.

Misc Menu