Saturday, 21 March 2009

more updates

While I wait to have another discussion about my FiS within the application, I moved on to "tune up" parts of the ecosystem itself. While doing so, an architecture problem was uncovered. This problem related to how much vegetation and water could be present within the ecosystem at any one time. While on its own it does not appear to be very problematic, however since it had been continually build ontop of and the fact that several other components of the ecosystem were dependant on this a solution had to be found. The solution I was looking for would allow a limitless number of plants and lakes to be formed, simply creating new instances of the respective classes on the fly as the program ran. Two attemps at solving this earlier on were through the use of the STL - namely lists and maps. Therefore much of the day has been spent tyring to implment these as solutions. However, in the end, a much more straight forward solution was devised.

If the plant life was allowed to become unlimited, then the ecosystem itself may become to overpopulated resulting in the death of everything. Therefore an array of 100 pointers to the vegetation class was created which would remain nulled untill a new plant appears. Since the herbivores will always be eating, there will never be the full 100 plants on screen which means when one dies off completely, it can be remade in a new location, giving the impression of freely growing vegetation.

Some basic tests have been carried out with this approach, a new tree has been grown at the end of each system day. This method itself seems to be working fine, however a slighty annoying bug has developed which results occasionally in 2 plants being created instead off one as well as the positions of the lakes changing when a new tree appears.

With the dissertation, the Methodology section is almost finished, all that needs to be added to it is the end of the FIS section. Once that is done, I will need to go back and include the FIS into the RQ aswell as the literature review section as these were written before the FIS was included into the project.

EDIT:
Fixed the problem of the lakes changing position aswell as the vegetation. As it turns out, one of the positional arrays was not large enough so for some reason the data was then moving into a different array altering the positions of the lakes

Friday, 20 March 2009

FiS update

Managed to implement a Fuzzy Inference System within the application. However it still needs a proper defuzzification method applied to it. At present, it simply takes the output state with the highest DOM and uses it.

The FiS does not run constantly, it simply takes in a snapshot of the current system at the end of each "day" and then calculates the state of a specific vegetation piece. It was mentioned previously that the FiS will take in three seperate input states, however, for simplicity and untill I can implement the Combs Method effectively the FiS will only deal with two input states. These states are based on how much water is left within the system, and how much the piece of vegetation in question has been eaten. The output states of the FiS are as follows:

High yield - vegetation produces alot more resource than normal
Normal Yield - vegetation produces the standard amount
Low Yield - vegetation produces around 1/4 of the standard yield
DeadYield - the vegetation does not grow back as often

This is currently only applied to a single vegetation piece. Once the defizzufication method is applied fully, it will then be implemented on the majority of the vegetation

Tuesday, 17 March 2009

Progress meeting

Had my second progress meeting where I explained why I have not achieved much the last week or so. However, now that the dare application and math test are out of the way, I am now able to focus more on the honours application.

Also had a meeting with Dr. King today. I have been looking into the Combs Method for the Fuzzy Inference System. The combs method cuts down the amount of rules required by a FIS to come to a result. While this result is not as accurate as the normal method, the CPU time saved is rather helpful. It saves resource use-age by reducing the amount of rules required from an exponential equation to a linear equation which would be very helpful as has been shown in the literature review section of the dissertation, ecosystems are increadibly complex and as such would require alot of rules.

The rest of tonight and tomorrow will have to be written off as I am attending the code works, jobs in digital fair which takes place in Newcastle tomorrow. 

However, since I now have a normal fuzzy inference system running correctly (still minus the defuzzification part) I have decieded just to go ahead and implement a normal FIS into the application and then change it later when I manage to successfully implement the combs method

Friday, 13 March 2009

Week Update

Not much progress has been made this week as alot of time has been spent on the dare application as the deadline is only a few days away now. Also on the horizon is the annual Game In Scotland event which is happening on Saturday, because of this alot of time has been spent (and will continue to be spent) on polishing up demos and the CV for the event.

I had another meeting with my technical supervisor, i discussed more of my ideas and thoughts about the FIS and explained that I have been working on the AI coursework so that I can then hopefully port it over to the demonstration application once it is ready. I have now almost completly finished the methodology section and I'm now just waiting on constructiong the FIS before writing about it in the Dissertation.

I have also contined to take some of the base results from the application which will be used later for the next section of the dissertation, the results section

Tuesday, 10 March 2009

Progress

The math exam is over which gives me alot more time to focus on the project. The methodology section of the dissertation is coming along very well and is now almost finished. I hope to have more done on it for my meeting with my supervisor later this week. 

Since I am planning on trying out a Fuzzy Inference System (FIS) within the application, I have decided to spend more time on my A.I. coursework for Dr. King as this also entails creating a FIS. I have been doing research on FIS's reading up on several academic and other papers which has helped boost my understanding of them. I have constructed the basic FIS class (minus a defuzzification method) and have been testing it out. While it seemed to work at first, it does not return sensible values for all of the inputs, therefore I will have to spend some more time trying to find out why. 

Had my first progress meeting today. I will post up my progress report later on today

Saturday, 7 March 2009

Update for this week

Unfortunately not much progress has been made with the project as a whole this week. Maths revision has continued to take up the majority of my time. Some progress has bee made with the dissertation as I continue to work away at the methodology section. Some minor additions have been made to the application, such as printing out some of the ecosystem information onto the screen. Once the math exam is over and the dare application has been submitted i should hopefully be able to concentrate more on my project as a whole

Tuesday, 3 March 2009

News

I have been continuing with my dissertation and have managed to make a start on the methodology section, writing up my implentation of the A-Life algorithms used within the application.

Work on the demonstration project itself has been rather slow to non existant due to other university and outside deadlines. This will most likly continue for the rest of the week therefore I do not expect much progress to be made on the application itself. There is a math class test which counts for 10% of the mathematics module on the 9th of this month, therefore alot of my time will be focused on revising for this. The deadline for the Dare to be Digital application is also looming closer which has resulted in longer dare related meetings.

I have however continued to think about how I will implement the fuzzy state machine into the demonstration application. I will also be able to continue the write up of the methodology section