Raspberry PI 2

Fragment of a discussion from Talk:Raspberry Pi
Jump to navigation Jump to search

Sure, sure, let me know when you're willing to wait 4 days for what takes an hour on your desktop. :-) I've done GA on my quad core Core i7 (6-8 threads running safely) and let it run for days. I cringe at the thought of a cluster of P2-300s doing the same amount of work... weeks? years?

CPU power aside, I'd be curious to hear about your GA setup. I've looked into, but never done real battles with Robocode. I've only evolved guns with WaveSim. To evolve movement, I imagine you have a test bot loading the variable code from a .properties file, unless your GA code is compiling and outputting JARs, which is the ideal but a pain.

FWIW, GA with full bots is not hard with BerryBots - I've even written an example to solve a maze: http://berrybots.com/wiki/MazerEvolver .... But, alas, the automation API doesn't support the Raspberry Pi (yet?). The big hurdle is that the automation API supports user interaction - you specify what fields you want and it prompts the user with a GUI. I'd like to do an ncurses version for the Rpi at some point, but who knows if I'll get around to it - I'm more interested in the web UI at this point.

Voidious (talk)19:40, 24 July 2015

Hah I'm not so sure it will be that slow. We shall see I guess. Will be fun to find out whatever the result! :)

As for the GA I don't have it running yet, but I have in the past for previous test bots. This time will be similar but better I hope. Basically I have my own framework for testing a bot similar to Roborunner / RoboJogger but I can run diirectly from other code. This is all in C# just because its what I'm most comfortable in using (especially for threading). I plan to use this framework to run tests against bots as you describe by programmatically updating a settings file in the bots data directory. Do a run for every individual in the population, evolve, try again. This will be very slow to run I know. But I will probably evolve on a subset of the robots in the RR, not sure how many yet. You have a good idea of what gives good coverage? I dont want the GA to specialise against just a few bots as it will probably decrease performance vs the rest! :)

I will be evolving all parameters in the bot at once. GA is great for doing this, I think that doing movement/gun independently has advantages and disadvantages but I think the two are not mutually exclusive and the GA might find some interesting ways of setting variables such as firepower depending on how your bot moves compared to your target - and your targets will adjust movement & position depending on your position, which affects your targeting. We shall see!

If I get time I will do a write up of my stuff and maybe release the source for my framework if anyone isn't wanting to use RR/RJ for some reason like me! :D

Wolfman (talk)20:25, 24 July 2015