Monday, September 28, 2009
Markup Language
This part is needed to force the user to translate there language into a format that my genetic logic can deal with, need to be broad enough to be able to cover most/all modern languages, needs to be easy enough to learn, needs to be efficient so that there isn't a gigantic overhead
How will it do this?
I will be creating my own style markup language. The exact style has yet to be decided. With a combination of several levels and termination sets it should work well with the genetic logic.
This is NOT a compiler, tho I will be reading compiler books and papers as the natural language processing is similar.
Further reading
Aho, A. V., Lam, M. S., Sethi, R., & Ullman, J. D. ('2006'). Compilers - Principles, Techniques and Tools.
Sunday, September 27, 2009
Distributed System
Pass out the files containing all information that a system will need to run the VE and genetic algorithm. Return a log file to the master machine. Run checks to insure the others machines are accessible and how far along they are in there current generation.
How will it do this?
A simple combination of messages and acknowledgments will do for the running checks bit. FTP protocols will be used to send the Files across.
A separate tread will be need to listen for calls so that ongoing work will not be effected.
Further reading
www.code.google.com/edu/parallel/dsd-tutorial.html
Book: Optimization using distributed genetic algorithms
ISBN: 978-3-540-54148-6
Publisher: Springer Berlin / Heidelberg
Plans
I'll be throwing up three posts in quick succession detailing exactly what ,why and how these sections will work.
First up, Distributed logic.
Thursday, September 24, 2009
Some Interesting Reading
http://www.cs.bgu.ac.il/~sipper/papabs/eurogprobo-final.pdf
There is loads more out there, I post them as I come across them. Respect to these guys.
This weekend is going to be very educating.
Monday, September 21, 2009
My big crazy over the top timeline!!!!
_______________________________________________
Plan 1
Milestone 1: Set up of distributed system: 4th Oct
Milestone 2: Deciding and coding of the XML format: 18th Oct
Milestone 3: Programming of Genetic logic: 1st Nov
Time off for exam studying.
Milestone 4: First working entity: 25th Dec
Milestone 5: Second working VE: 17th Jan
Out there ideas: Getting CStike working. Having 5 VE's. Full How-To guide. Having an external party use my system.
_______________________________________________
Plan 2
Milestone 1: Set up of distributed system: 11th Oct
Milestone 2: Deciding and coding of XML format: 1st Nov
Time off for exam studying.
Milestone 3: Program genetic logic: 25th Dec
Milestone 4: First working entity: 17th Jan
Milestone 5: Second working VE: 14th Feb
Out there ideas: 3 working VE's.
_______________________________________________
Plan 3
Milestone 1: Deciding I'm screwed. 3weeks before deadline
Milestone 2: Desperately creating genetic logic. 1.5 weeks
Milestone 3: Forcing Corewar to work with it. 1 week
Milestone 4: Manically writing report. .5 week
Out there ideas: Not failing
_______________________________________________
All these plan are subject to change depending on other events. I'll set up a widget to track how I'm going with my milestones.
Monday, September 14, 2009
Confusing? My posts? Never!
My program will be passed a potential syntax, all possible calls, cmd's for compilation of the previously mentioned syntax, IP addresses of other available machines and a virtual environment (VE). Using the potential syntax the program will genetically create AI's for the passed virtual environment.
What this means is that, my program will be able to efficiently create controller class for any object in any virtual environment. Manually creating controller classes can take upwards of a month for large and complex VE's. Even then you don't know if your result is the most efficient. My system will be structured in such a way that one person will need less than 8 hours to set it running and you are guarantied to the get the most efficient output. (eventually)
For all those still confused I'll be outting together a flow chart later.
OS Decided
Saturday, September 12, 2009
Virtual Enviroments
Corewar
This will probably be my first test field. It's a game created in the 80's and and tho old is still activity being played by large groups on the Internet. Two bots created in RedCode, a form of assembly, fight over the memory locations on a virtual computer. The game contains a relatively small set of commands so it will hopefully be an easy and simple environment to test my system to on.
Edited to correct glaring mistakes on my part
RoboCode
This is another game quite similar to Care War. It is of far greater complexity tho, so once I have decided the system works I will escalate it to this. The idea of the game to have two or more bots, which have been written in Java, fight. There have been several other bots for robocode written genetically so it will give me a good idea how my genetic algorithm logic compares (expect a post on this soon)
Engineering VE
For my 3rd Environment I'd like to work on a system where the fitness of the current generation was not in comparison to another. I'm currently looking to find a free VE that involves possible robotic arm movement or something similar. Preferably with industry applications. The college has a program like this is a separate research stream. I'll see what I can do about robing it.
Counter Strike 1.6
This is the most complex set up I could figure. This is only if I have time to spare towards the end of the development cycle. A relatively complex VE that would require advanced movement, action and reaction algorithms to be considered fit in. There is issues due to the waypoint technology some bots are based on, an alternative method would need to be found. A 3rd party interface like BotMans setup would also be required.
But a man can dream.
There you go. Potential Virtual Environments that I plan on testing my system with. This will probably change issues arise.