Author Topic: F1  (Read 5194 times)

Offline Griz

  • Bot Overlord
  • ****
  • Posts: 608
    • View Profile
F1
« on: October 13, 2005, 07:24:21 PM »
finally have 2.37 working ...
and attempting to figure out the F1 matches.
 
it runs ... but I have no way of selecting how long a round or match runs ...
am not able to input number of cycles or times for either.

is there a tutorial or info on how to set this up ...
how the rounds and matches are supposed to work?

I was able to save all the surviving robots into a .snp file ...
I can read it with notepad ... but it's a jumble of numbers.
is there, or will there be ... a reader of some sort that can
pick out or sort the survivors by lifespan, number of offspring ... etc ...
some way to select individuals to move on to another match/round?
seems to me this might be a way to 'evolve' bots ...
use a bit of mutation and select the mutated 'offspring' that survive
and run them off against one another to futher evolve more efficient
bots.

as I say ... it runs as a simulation ...
but I have no control over rounds or time of match.

any help will be appreciated.
thanks.

~griz~
不知
~griz~
[/color]
   "The selection of Random Numbers is too important to be left to Chance"
The Mooj  a friend to all humanity
[/color]

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
F1
« Reply #1 on: October 13, 2005, 09:05:55 PM »
I'm assuming you've found and are running the "league mode"?

In league mode, a file is either read or created that pertains to the league (F1/F2, etc.).  All the bots in your startup list minus Alga_Minimalis I believe are considered contenders, and are run through the league table, battling their way up the ladder.

Alternatively, you can run F1 contest mode, which is basically just a single match.  In it, the bots that are in your list all battle at the same time.

A winner is proclaimed when one bot has sqr(number of battles) + number of battles / 2 wins.

This can be anywhere from 5 rounds to something like 200.

Thre are some controls in F1 that are things like max cycles, time, etc.  These are as yet unimplemented features that I keep forgetting to either implement or hide from the user.

Snapshot files are readable into Excel as a "comma deliminated file".  There is even an excel utility available on the FTP called "snapshot" that will analyze them for you (though I forget how it works, I only tried using it the one time).

All this should totally go into the wiki.  *Note to self*
« Last Edit: October 13, 2005, 09:07:06 PM by Numsgil »

Offline Griz

  • Bot Overlord
  • ****
  • Posts: 608
    • View Profile
F1
« Reply #2 on: October 13, 2005, 11:48:53 PM »
Quote
I'm assuming you've found and are running the "league mode"?
you are correct, sir.

Quote
In league mode, a file is either read or created that pertains to the league (F1/F2, etc.).
All the bots in your startup list minus Alga_Minimalis I believe are considered contenders,
and are run through the league table, battling their way up the ladder.
this is where I hit a snag ...
nothing like what you describe happens ...
it just runs a sim with all the bots in my list but never ends, and I can't limit/select the number of cycles or the time.

Quote
Alternatively, you can run F1 contest mode, which is basically just a single match.
In it, the bots that are in your list all battle at the same time.
I didn't try that ... as I had no idea what it meant.
btw ... the 'search' function here on the forum doesn't find/return anything I enter into the search box. so I couldn't determine if there were any relevant threads.

Quote
A winner is proclaimed when one bot has sqr(number of battles) + number of battles / 2 wins.
This can be anywhere from 5 rounds to something like 200
will play with it a bit.

Quote
Thre are some controls in F1 that are things like max cycles, time, etc.
These are as yet unimplemented features that I keep forgetting to either implement
or hide from the user.
ah. ;)
so where does the initial league file come from? apparently something isn't being read in.

Quote
All this should totally go into the wiki. *Note to self*
yes ... I scoured it as well but found nada!


Quote
Snapshot files are readable into Excel as a "comma deliminated file".
There is even an excel utility available on the FTP called "snapshot" that will
analyze them for you (though I forget how it works, I only tried using it the
one time).
that would be great ...
although the 'contest' I ran didn't work like you say ...
and mutations were not disabled ...
that resulted in some pretty longlived bots that I saved in the snapshot file.
so if I had a way to then go in and rank them for survivability ... life span and
perhaps points for number of offspring ... I would end up with mutated/evloved
forms that could continue to be refined.
I did that by hand in this case ... seeking out a few ... but it took forever to look
throught the 40 that I ended up with ... and finding those with mutations ...
that were not just straight copies of the original.

ok

will check out the reader ... and see about getting VB6 ...
having only a dialup connection, it's gonna take awhile.
will let it download while I catch up on much needed beauty sleep. ;)

anyone with any hints on the league stuff ...
I'm open to suggestion.   B)

~griz~
不知
~griz~
[/color]
   "The selection of Random Numbers is too important to be left to Chance"
The Mooj  a friend to all humanity
[/color]

Offline PurpleYouko

  • Bot God
  • *****
  • Posts: 2556
    • View Profile
F1
« Reply #3 on: October 14, 2005, 08:54:14 AM »
I am not sure if the league files come with a new installation.

I had to remake all of mine from scratch. The best thing to do is just to add 2 or 3 bots to your list and run them.

If you have a full F1 league file then running a single bot against it can take several hours. If your list contains multiple bots then "running the league" could take days.

In normal f1 mode, just select 2 bots to battle each other and set it going. The default settings will give you 10 rounds but this will be extended infinitely if the program determines a statistical draw after 10. I have often seen several hundred rounds before a winner is found. On one occasion I left the contest running for an entire weekend. On Monday morning the two bots were still battling it out and were at about 2500 wins each. I decided to call it a draw.
There are 10 kinds of people in the world
Those who understand binary.
and those who don't

:D PY :D

Offline Griz

  • Bot Overlord
  • ****
  • Posts: 608
    • View Profile
F1
« Reply #4 on: October 14, 2005, 10:04:38 AM »
Quote
I am not sure if the league files come with a new installation.

I had to remake all of mine from scratch. The best thing to do is just to add 2 or 3 bots to your list and run them.

If you have a full F1 league file then running a single bot against it can take several hours. If your list contains multiple bots then "running the league" could take days.

In normal f1 mode, just select 2 bots to battle each other and set it going. 
ahha!!!
my bots were too closely matched to ever resolve a round, much less a match!
I did insert just one 'The One' when I got tired of watching after an hour ...
and  of course he proceeded to eat their lunches ... but it was no contest.
I never did let that play out to the 10 matches.
well alrighty then ...
will select 2 or 3 who are not too closely matched ...
and let them run to establish a league.

thanks!

btw Num ...
the Excel reader works great!
I can load in the Snapshot file of saved bots ...
and sort them by age/offspring/kills ... whatever ...
and view the mutations from the parent ...
then make a selection of wothy offspring to continue on.
this is what evolving is to me ... what ALife is about ...
not so much trying to control from the top down ...
as is attempted in AI ...
but allowing things to evolve from the bottom up ...
grass roots ... like Ole Ma Nature does it.
imnsho ... THAT is what we should attempt to simulate.

'puter also downloaded VB6 for me in the dead of night ...
so will fire that up soon as well.
looking forward to hunkerin' down by the wood stove this
winter and doin' some DB'n. ;)

thanks for all the help ...
this stuff is great!

~griz~
不知
~griz~
[/color]
   "The selection of Random Numbers is too important to be left to Chance"
The Mooj  a friend to all humanity
[/color]

Offline PurpleYouko

  • Bot God
  • *****
  • Posts: 2556
    • View Profile
F1
« Reply #5 on: October 14, 2005, 10:53:03 AM »
I am currently working (when I get the time) on a newer version of the snapshot utility.
It still includes all the present features but now has a bot debugger that allows you to download a full DNA file, display all the steps of the genome then step through it while looking at all the stack and memory values.

I still need to add a bunch more of the commands into it before it is fully functional and now that Num has brought out a radically changed mathematical environment for the stack with V2.4, I am going to have to make a separate version that works with that.  <_<

Not sure when I will get it finished but it should be a really good utility to help figure out what is going on in the kind of mangled DNA that mutations routinely chuck out at us.
There are 10 kinds of people in the world
Those who understand binary.
and those who don't

:D PY :D

Offline Griz

  • Bot Overlord
  • ****
  • Posts: 608
    • View Profile
F1
« Reply #6 on: October 14, 2005, 11:11:11 AM »
excellent.

btw ... where would the F1 League file be saved/stored?
where does the program read it from?
I thought I created a new one ... although it isn't a good one ...
just an experiment to see if it would work and where it got stashed ...
planning on being able to delete or alter it later ...
but I can find no trace of it anywhere ... as a new written file.

tanks
~griz~
不知
~griz~
[/color]
   "The selection of Random Numbers is too important to be left to Chance"
The Mooj  a friend to all humanity
[/color]

Offline PurpleYouko

  • Bot God
  • *****
  • Posts: 2556
    • View Profile
F1
« Reply #7 on: October 14, 2005, 11:30:46 AM »
You can find it in "DarwinbotsII/leagues" the file name is F1leaguetable.txt.

Here is a copy of the league table from my computer.

Note. When you add robots to run against the league it copies their DNA file into "DarwinbotsII/leagues/F1league/" (or f2league depending on which league you run)
The program looks for robots in that folder to use in the league so if the table contains robots that don't exist in that folder you will experience one of the many lovely crashes that DB is still so good at.  :D
There are 10 kinds of people in the world
Those who understand binary.
and those who don't

:D PY :D

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
F1
« Reply #8 on: October 14, 2005, 11:53:02 AM »
Quote
I am currently working (when I get the time) on a newer version of the snapshot utility.
It still includes all the present features but now has a bot debugger that allows you to download a full DNA file, display all the steps of the genome then step through it while looking at all the stack and memory values.

I still need to add a bunch more of the commands into it before it is fully functional and now that Num has brought out a radically changed mathematical environment for the stack with V2.4, I am going to have to make a separate version that works with that.  <_<

Not sure when I will get it finished but it should be a really good utility to help figure out what is going on in the kind of mangled DNA that mutations routinely chuck out at us.
OOh, we should double add it.  Both to the excel utility and to the main program.  I was thinking it would be really cool to be able to basically debug a bot with controls like that in VB, but from inside DB.

Stack: It shouldn't be too terribly radically new.  Old values are now lost instead of overflowing the stack, but that should be the only thing.
« Last Edit: October 14, 2005, 11:53:42 AM by Numsgil »

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
F1
« Reply #9 on: October 14, 2005, 11:54:59 AM »
You should probably upload your whole F1 league folder PY, cause otherwise you have to be real careful that the bot names match the league table names.

League running isn't perfect.  Only a handful of people use it, so it gets limited attention.

Offline PurpleYouko

  • Bot God
  • *****
  • Posts: 2556
    • View Profile
F1
« Reply #10 on: October 14, 2005, 12:04:49 PM »
Quote
Stack: It shouldn't be too terribly radically new. Old values are now lost instead of overflowing the stack, but that should be the only thing

I was referring more to the new operators and stuff that manipulate the stack.

Also I have one question that I think I know the answer to but I just want to make sure.

Are old values lost off the bottom of the stack now?
There are 10 kinds of people in the world
Those who understand binary.
and those who don't

:D PY :D

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
F1
« Reply #11 on: October 14, 2005, 12:07:23 PM »
Yeah, that's the idea anyway.  I think someone indicated that the stack was behaving strangely, so I need to go back through and double check everything real carefully.