I have also have created an image for my project, the glider.
Friday, January 1, 2010
New Year
I have also have created an image for my project, the glider.
LML
One of the biggest issues that my system will have is being able to understand and manipulate any language. My plan for this is to get the user to quantify there language into a set mark-up language. For this purpose I created a language mark-up language or LML.
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 modern languages. I also needed to be easy enough to learn so that anyone could use it. But one of the most important issues was the fact it needed to be efficient so that there isn't a gigantic overhead.
/$call$/(1+_Dup_Cha)
The above line is an example of LML. It indicates that a line from the “call” file is needed. The 1+ means there will be one or more instances of the line in the entity. Dup means that there can be identical lines in the system, the opposite of Dup is Uni which insures the line is unique. Cha means that the genetic logic can alter the line later with out the fear the program will break.
Implementing Corewar
Corewar is the first virtual environment that I have implemented. The entities that it runs are written in redcode, form of assembly. This is is a language with a very small grammar. It has only 16 calls. A small working bot can be written quickly but a complex and efficient one takes a lot of work.
@@Corewar
@@Main
/|/ Ver 5 of ml.
/|/ Core of corewars set
--;Gen:
--;Name:
--;Number of Copies:
;redcode-94
/$call$/(1+_Dup_Cha)
end
Above is the main centre of the redcode LML.
Below is one of the first entities in the redcode language, 00007.red.
;Gen:
;Name:
;Number of Copies:
;redcode-94
JMP <31,>
end
To display corewar battles I will be using Aries, a detailed and really good looking gui for corewar. For the actual evolution part I will use qMars[3]. This is a library that a client can pass redcode entities to and will return who wins as well as how well they won by and any other information I will need.
At the moment my system is not properly handling the fitness but this is an issue that can be fixed down the line.
Sunday, December 6, 2009
Thursday, November 19, 2009
Tuesday, October 27, 2009
FYP Presentaion









I won't answer these now but they will leak out eventually.
Friday, October 23, 2009
Updated timetable
Milestone 1 Deciding and coding of the XML format 31st Oct
Milestone 2 Programming of Genetic logic 28th Nov
Milestone 3 First working entity 25th Dec
Milestone 4 Second working VE 17th Jan
Incremental addition of more VE's as time permits
Those of you paying attention will notice that the distributed part of the project has been dropped. Time is the main reason for this tho I hope to re-include it again before the end.
There will be a post regarding my presentation up soon.............
Monday, October 12, 2009
Monday, October 5, 2009
Timeline Change
Expect a post with the update time table soon.
Friday, October 2, 2009
Forum Transcript
C# vs C++
1 Name: Anonymous : 2009-10-01 16:56
I'm not looking to start some sort of fanboy arguement.
Is the ease in development brought by C# worth more than the power/speed of C++?
I'm writing a genetic algorithim so speed is pretty important.
I can't find any legit benchmark test so I'm lookin for oppinions here.
2 Name: Anonymous : 2009-10-01 17:00
OMG PONIES
3 Name: Anonymous : 2009-10-01 17:01
I'm not looking to start some sort of fanboy arguement.
Now you have 2 problems.
4 Name: Anonymous : 2009-10-01 17:05
Who the fuck even uses C# ? Just use sepples.
5 Name: Anonymous : 2009-10-01 17:09
On behalf of C#, I have to say, that LINQ thing looks pretty interesting. But I never used it, so what the fuck do I know?
6 Name: Anonymous : 2009-10-01 17:15
>>1
Is the ease in development brought by C# worth more than the power/speed of C++?
C++ has no power or speed. However, in reality, ease of development trumps both of those most of the time anyway.
But for a genetic algorithm, use C. Preferably C calls from a Foreign Function Interface of a higher level language.
7 Name: Anonymous : 2009-10-01 17:19
C# is only good if you want to make money
8 Name: Anonymous : 2009-10-01 17:35
>>5
I have used LINQ and can tell you it's fucking amazing. Being able to write queries directly in the language is a major advantage, and that LINQ works against many different types of things (objects, XML, SQL, Entities, etc.) is even better.
9 Name: Anonymous : 2009-10-01 18:16
>>8
Does it gain you all that much over list expressions when you're not dealing with SQL? I haven't seen many compelling examples.
10 Name: Anonymous : 2009-10-01 19:04
>>1
Sepples is only worthwhile for things that absolutely need the performance and would benefit from the features of Sepples, e.g. inheritance.
Games are a specific problem domain that work decently with Sepples, but that's about it. Outside of gaming, there really isn't much use in Sepples.
Almost all other languages do other functions better, e.g. C for device drivers, C#, D, Delphi, etc. for userspace, and so on.
Thursday, October 1, 2009
Genetic Logic
This part is where the guts of the work will take place. I need a system that can interpret my markup language and apply generational logic to it. A mutation system and a way remove the least fit from every generation.
How will it do this?
There are a few(read thousands) libraries out there for genetic algorithms. I have not decided which one I will be using, or if i will be making my own.
Further reading
http://lancet.mit.edu/ga/
http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.19.1906&rep=rep1&type=pdf

