Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Topics - shvarz

Pages: 1 ... 7 8 [9] 10 11
121
Off Topic / Definition of intelligence
« on: May 13, 2005, 01:26:02 PM »
I wrote a post for LJ, which led to some interesting discussions, so I figured I may translate it to English and post here to see what you guys think about that.

We, humans, certainly believe that we are intelligent.  It is a phylosophical question whether we are, but we undoubtedly posess some of the attributes of intellligence: language, use of tools, cultural and social institutes and so on...  I can argue that these attributes and institutes are result of evolution and that micro-societies (tribes?) that did not posess them were more likely to die out.

Now if we look at DBs, we can see that (at least in theory) similar institutes can be developed and evolved.  The sims are simple right now, but I have already seen disappearance of cannibalism in my sim.  Given enough complexity we can imagine situations in which almost any our social institute has an advantage.

Now let's get back to intelligence.  We wouldn't call bots intelligent simply because they are not cannibalistic.  But what if they have complex language capable of describing abstract concepts?  What if they build houses?  Have kindergardens?  Write books?  Dance? Pray?  Make computers and run their own artificial life sims?  Would you at some point call these bots intelligent?  Don't answer yet, it gets a bit more complex.

DBs (and any other art life sime) is a deterministic system.  Give it the same seed for randomizer and the sim will repeat itself perfectly (there are more complex ways to introduce randomness, but let's not go there yet).  Now imagine that you were talking to a bot about the meaning of life and had a perfectly reasonble conversation.    However, if you start the sim over and ask the bot the same questions at exactly same point in sim, then you will get exactly same answers.  It becomes obvious that you were not talking to an intelligent being, you were talking to a very complex program.  Give it inupt "A" and it will always return "B".  That is not intelligence.

But why?  What is different?  Well, we intuitively feel that we, humans, on any given input "A" can give a vast number of outputs.  The person asking the question has no way to know in advance, which answer we give until we do.  So is the answer - unpredictability?  But unpredictability by whom?  Bots can't predict each other's answers, they don't have enough information on how DBs works.  But they are predictable to us.  So, we need to make them unpredictable to us, humans.  How?  Well, we can hook up a Geiger counter to computer and seed a truly random number into the sim at each and every cycle.

Ingenious?  No, it is not.  Think about it - if before you were talking to a very complicated program, now you are talking to a very complicated generator of random answers.  Right?  10 electorns hit geiger counter, the answer is "B", 20 electrons - "D".  

This is not intelligence.

In order to consider the oponent intelligent we must assume that it is capable of giving many different answers, but it does not choose the answer randomly.  This is described by the concept of "free will".  The problem, however, is that "free will" is a phylosophical concept and does not have a measurable manifistation in our world.  We can only state that we feel free will in ourselves, but we have no clue about others.

As a reuslt, our definition of intelligence relies not on some scientific observation, but on a belief in existence of free will in other people.  We believe that they have free will, they believe that we have free will.  Mutual agreement to stabilize our psyche.  The most basic and, probably, the most ancient sociological institute in human history.

So, where does it leave us?  Still in the same place - intelligence is undefinable by scientific methods and is a matter of opinion only.

Ironic, isn't it?

122
Evolution and Internet Sharing Sims / Evolving Dom ternia E
« on: May 06, 2005, 02:35:37 PM »
OK, here are the results of 57 million cycles of simulation, trying to evolve a robot that can live in highest friction environment possible in DB.

I started with Dominicus Invincibalis as hunter and Alga grexa as food.  The mutations in Alga grexa were disabled, but I tweaked it here and there at different times and at the end it changed so much, that I decided to give it a different name.  Now it is called Alga ternia.

I am attaching the archive with 4 files:
1. Alga ternia
2. Dom ternia E (this is the final result of evolution)
3. Compare.xls file to easily see the changes between starting DomInv and Dom ternia
4. Ternia evolution.set settings file for you to see the conditions

The original bot had genome of ~370 commands, the new bot has ~490 commands.  There are some deletions, some replacements, but most of mutations (from ~170 total) are obviously insertions.  Whether that is the way mutation algorithm works or it is just the fact that insertions are less likely to disrupt an efficient pre-designed DNA is not clear (I am inclined to beleive the latter).

There were no Big Berthas or cannibots for a very long time.  Big Berthas never appeared.  The final version I am posting actually is cannibalistic.  I have some intermediate evolution steps saved, so I can go and check when that developed.

The final version easily beats DomInv in sims and it is not due to the fact that Dom ternia can eat the DomInv, the non-cannibalistic versions were also able to do that.  How it beats it, I am not sure.  Those who like to pick through robot DNA may figure it out and tell us :)  One of the most curious things that I noticed was that the bot lost the ability to produce -4 shots at some point, but later gained it back.  Very strange...

Well, let me know what you think.

123
Off Topic / Off-topic???
« on: May 06, 2005, 12:37:10 PM »
OK, I figured that evolution is such a project that it can never be "finished", so I decided to post my results of adapting Dom. Inv. to high-friction, KE, running food environment.

The only thing is...   where do I post it?  This kind of post does not fit into any of the existing forums.  Surely I should not post the results of evolution done in DB in DB's off-topic forum?  That would be quite ironic :)

124
Off Topic / I did it,
« on: May 02, 2005, 01:59:54 PM »
I managed to crash DB!  For the first time since the 2.36.5 came out!

Don't know what caused it though.  It was running fine for a very long time and then kaboom!

One thing I noticed was that I did not do a very good job at cleaning up DNA before starting the sim.  The DNA had gene numbers between genes, like this:
Code: [Select]

cond
start
blah
stop
2
cond
start
blah
stop
3
etc


Also at the end of DNA I had an extra "cond" line:
Code: [Select]
cond
start
blah
stop
cond
end

But it did not cause a crash right away, so that may not be it.  The crash happened after almost 4 hours of running.

BTW, the problem with DNA I described above is due to the fact that I can't make PY's robot generator in "Snapshot analyzer" to work and I have to clean up DNA manually.  Whenever I click that button, Excel just freezes for me.

125
Bugs and fixes / A tiny puny bug
« on: April 28, 2005, 03:35:21 PM »
When you go through "File->Autosave" menu, you end up on "internet sharing" window instead of the "autosave" window of options.

126
DNA - General / gene does not work
« on: April 26, 2005, 08:47:55 PM »
How come the following gene does not work in my Alga grexa?

Code: [Select]
cond
  *.robage
  4
  <
start
  1000
  .strbody
  store
stop


it shows up fine in DNA console, it is shown as executed, but nothing happens - body remains the same, energy is not spent....

127
Old Suggestions Awaiting Programming / Give me the body
« on: April 26, 2005, 07:29:16 PM »
Maybe we should allow users to specify the starting body points...

128
Bugs and fixes / Is this a bug?
« on: April 22, 2005, 06:10:13 PM »
Here is something weird I noticed.  Just to re-cap, I am evolving Dom. Inv. to conditions with high friction and running food.  I started with Alga grexa as running food, but I was modifying it a bit to adjust for increasing friction.  Mostly I was increasing it's speed.  Now I am at friction 7.0 and I noticed something weird about the way Alga grexa is behaving: it often sits in one place, almost not running.  PY suggested that it is because veggies get body points when fed and that Grexa accumulates those body points and becomes so fat that it can't move.
So I added a gene that converts body into energy when body exceeds 5000, but that did not seem to help.  And about the same time I noticed that the whole energy flow in my sim started toget messed up: slight changes to amount of energy given to veggies led to huge variations in bot populations.  And another strange thing: Veggies would grow like crazy, yet I saw some of them simply go "puff!" and disappear as if from not geting enough energy.  Crazy stuff!!!

So I went to console and started poking around: What I see is that two veggies are almost identical, they have tons of energy (they are maxed out at 32000) and they have somewhere around 5000 body points (of course).  Yet one of them runs at pretty high speed, but the other one can barely move.  I am attaching the settings file and the new grexa.  Take a look and see if you can spot something weird or if you can explain what is going on.

129
Off Topic / Sin City
« on: April 21, 2005, 11:59:14 AM »
Went to see it yesterday.  Awesome!  I am not into comics and not into film noir, but this was a very-very good movie!

130
Off Topic / My very first post
« on: April 20, 2005, 05:25:03 PM »
The following is my very first post in DB community.  It was dated by July 29, 2003, 12:01 PM.

Time flies!

Quote
Hi all!!!

First of all, big thanks to Udik for developing such a cool program. I've played with it for a while, and found it absolutely amazing!

Now to business: When playing around with the program I found a variant of Flamma, which created a lot of permanent links with each other and with pretty much anything they could get their hands on. Could you tell me what exactly those links do?

Also, I noticed that when I let this variant run with plenty of food, the program became very unstabe and crashed after 3-6 minutes (I tried it about 10-15 times). It gives an error message like "Run error 6" and closes. Did anyone else experience it? I can save my simulation and post it here for everyone to try.

Another bug that I found is that when I have a simulation running and at the same time try to create a new simulation, then all the stats at the bottom of the program stop and do not work correctly. The population graph (and maybe some others, I did not check) continues from the previous simulation and does not start over.

Thanks for any help! 

131
Off Topic / Home network
« on: April 15, 2005, 09:42:01 PM »
OK, I am a total noob in networking, but I want to set up some kind of network in my home between the desktop and the laptop.  The most needed ability is to move files quickly and without a hassle, but being able to use "Play over LAN" in games would also be nice.

Can someone help me out or point in the direction where I need to look?  If yes, then read on.

My desktop is hooked up to 54g wireless router through LAN cable, the router is hooked up to cable internet.  The laptop has 54g ability and I can get to the web through the router.  Desktop's OS is Win2000, laptop's is WinXP.

Where do I start?

132
Off Topic / what version?
« on: April 14, 2005, 06:06:31 PM »
OK, I am confused as to where the latest version is and what is its number...  There is the unofficial PY's version and official (but lacking PY's changes) Nums' version.  Are we going to have these combined?

As for me, I'm sticking with 2.36.1 - it is so amazingly stable that I can forgive all other small problems :)

133
Evolution and Internet Sharing Sims / Mutation Sims
« on: April 12, 2005, 01:53:02 PM »
Following Nums' advice I decided to share some of my experience in running evolution sims that actually get some positive results.  It does not imply that this is the only way to do it, just one of them.  Besides, the approach will be different depending on your starting bot, your goals and other stuff.

I wanted to evolve a bot that can live on variable-in-abundance food source in large, high-friction environment.

My veggie was Alga Grexa, which runs around and follows any bot that it meets.  As a result they tend to accumulate in groups of 2-5 and run in circles.  This also means that they will survive well in places with low number of predators, multiply and then spread through the field.

My starting bot was Dominator Invincibalis.  Simply because it already had two essential features that a bot needs to survive in environment I wanted to create: it waited until food came to it and it was very good at killing the food.  It also did some other things, but that was not important.

Important things to consider before you start (run sample sims to figure these out):

1. Sim size.  It should be fairly large, because you need a lot of bots for evolution and that means you need a lot of space.  But very large sims result in pretty large variation in your population (until bots are adapted).  I started with size 5.

2. Energy input.  This is very important!  It should be barely enough for bots to survive, but it should not be too low to result in random "dying out".  Run several sims until you get reliable "predator-prey cycles" - your predator population should go up and down in more or less evenly spaced cycles.  The lowest number of predators in these cycles should not get below 25-30, or you'll get "dying outs".  Cycling between 50 and 150 is good.  Try to set "repopulate veggies" value as low as possible, and not to reseed too many veggies (and not to give your veggies too much energy).  If your "predator-prey" cycles are following the "reseeding" cycles, then you are doing something wrong!

3. Mutation rates.  These will depend greatly on DNA size of your bot.  For bots with short genomes mutation rates should be higher, with long genomes - lower.  If you are not sure, always go for lower rate!  My starting bot, DI, had ~ 400 DNA commands and I set all mutation rates to 25000 and that worked fairly well.  Mutation rate of mutation rate..  I don't think this is important.  I had it disabled completely.

4. Friction.  I wanted to adapt bots to friction.  You may go for something else.  Advice here is: Be patient. Don't start with very harsh conditions right away.  I set my initial friction to .3, because from sample sims I could see that DI still survived at that friction.  Then later I adjusted the slider higher and higher but very slowly, by about .01 every 2 million cycles.  Simultaneously I raised the energy input, because moving in higher friction would require more energy.

OK, now you are ready to start the sim!  Start it and open "Population" and "Average mutation" graphs.  Turn off the visual output and let simulation run.  Keep an eye on the graphs.  You should see cycles in population and slow, very slow rise in "average mutation".

Interpreting "Average mutation" graph: It is not as easy as it may seem.  Your average mutations will always go up over long periods of time.  It does not indicate that your bots are actually adapting, it may simply mean accumulation of neutral mutations.  One good way to distinguish "neutral" from "good" mutations is to look at the graph: "neutral" mutations will result in "Average" going up and down erratically, while "good" mutation results in slow but steady increase.  

Tracking the adaptations: Every now and then (1-2 million cycles) stop the sim and make a snapshot of your population (or just pick a random bot).  Choose the DNA that is the most frequent and compare it to the parent (I do that in Excel).  Highlight somehow the places where changes have occured.  Save.  Repeat.  After some time you'll see that some mutations persist - these are likely to be "good" mutations.  Don't start a new sim with only the new mutant bots!  Your best chance to get adaptations is to keep the whole population!  Just let the program run for as long as your patience allows you (and then a bit longer).  You can always go back to your saved sequences if you have to.  If your program crashed, or you had to reboot then it is fair game to take the latest mutant and start new simulation only with it.  BUT BEFORE YOU DO THAT:

Make sure your evolution is going the way you want: Before you start a new sim, take you parental bot (the one you started with) and put it in competition with your latest mutant.  If your mutant wins (or at least stays even) then all is well, keep mutating.  If your mutant bot is losing, then something is wrong, and you need to start over. :(  The easiest way to remedy that is to reduce you mutation rates even further.

Well, that is about all.  Ask me question if you have them!

134
Old Suggestions Awaiting Programming / Limit on number of bots
« on: April 12, 2005, 12:27:28 AM »
I just lost about 3 million cycles of evolution sim due to overflow caused by the number of bots going above 2000.  Can we fix it somehow?  I understand that it might be difficult and/or cpu-time-consuming, but maybe we can have some temporary fix?  Like make the program check for the total number of bots and prevent any further reproduction once it reaches some level (like 1800 or so)?

Please...

135
Suggestions / Interface suggestion
« on: April 07, 2005, 08:15:29 PM »
Here is what I was thinking about when I said that current interface can be simplified:

All options about the physical state of the world should be moved to one screen within options and presented in terms that are obvious and relate to our normal experience.

So the "World" section would include:

1) World size (already there, but we can add custom names like "droplet", "puddle", "pond", "ocean")
2) World type - toroidal, non-toroidal (already there).  "Toroidal" should disable gravity by default (but can be turned back in advance options)
3) World media with 5 options
   - space
   - air
   - water
   - earth surface
   - earth soil
4) Size of organisms with 5 options:
   - bacteria
   - eukaryotic cell
   - dust mite (not sure what else is the size of ~400 micrometers)
   - insect
   - animal

3) and 4) together should automatically assign values to "friction", "brownian motion"  and "movement factor" (I have a proposed table in excel, can share).  It should be possible to assign these things manually, but only in advanced options.

5) Gravity.  Several choices like "space", "Moon", "Earth", "Jupiter"

6) Other related stuff, like "Day/Night", "Boyuancy"

7) Instead of "Pondmode" have a more general "Sideways view/Top-bottom view".  With "Top-bottom" automatically disabling gravity.

Pages: 1 ... 7 8 [9] 10 11