Monday 30 March 2009

Update

I've spent the last few days completly re-writting sections of my dissertation. The fuzzy logic section of the literature review, as well as the FIS and FuSM sections have been reworded. The FIS and FuSM methodology has also had some re-wording and extra information put into them. Made a start on the Environment section of the methodology but decided to leave it untill the project has finished as I'm planning to redo parts of the environment code if I get the chance.

I've started writing up the results plan. There is so much that can be tested with this project that I'm having to spend a good deal of time working out what I will include in the results section along with an explanation about what the result is telling me. I can see this taking a good few days, I will mostly likely have to schedule another meeting with my technical supervisor to go over it just before I finalise it and begin the testing.

I've also for the first time been able to run the application with everything in it and the manager running which has reveled to me several hidden bugs as well as things that I had simply forgotten about. I'm going through these and trying to fix them as they come up. However, with the manager running, the ecosystem does seem to maintain itself within a state of balance which is what I had been hopeing for.

Tuesday 24 March 2009

Progress

I think that is now me officially finished implmenting the techniques into the application. The fuzzy inference system now feeds the final defuzzified value as input into the fuzzy state machine which then performs transitions based upon the input. 

All that really remains to be done with the techniques now is continue to tune them so that they work better together. Some of the techniques simply feed into empty functions, these will have to added to so that they now have an effect of the ecosystem. The fuzzy state machine at the moment does not actually do anything to the plant that it is monitoring, however this should not take long to adjust.

Continued to reword my FIS implentation section. I have one last thing to check on it before it is ready to be added into the first draft of my dissertation.

Monday 23 March 2009

Progress Update

Earlier today I managed to get a defuzzification method working on the Fuzzy Inference System within the application and am now able to return a single crisp numerical value. This value will then be fed into the FuSM. This now means that all the techniques that were going to be implemented within the application have been created and added. Now that these techniques are in place I can focus on making them work together.

More work has continued on the creating of freely growing vegetation within the environment. While in theory the methodology in place for this should work fine, after about 40 new plants have been created the graphics side of the application locks up. The program itself does not die as the console window continues to print of data as the ecosystem ages. A cause and a solution to this problem have yet to be found.

Yesterday I completely re-done the  FIS methodology section as I found some much better research on it. I now have to go back and finish off the methodology for the FIS, writing about the Defuzzification method, and then further update the FuSM.

The implmentation of the environment itself also has to be written up.

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