Monday 17 November 2008

WorkSheet 4

The final worksheet.
No comments on this sheet, it was sent off for comments but was never returned.

Introduction

What is the topic and aim of the project?

This project will investigate Artificial Intelligence (A.I) with several aspects of Artificial Life (A-Life) and thetechniques that can be combined to create an effective life-like A.I. system.

Issues

What issues do you want to address.

Several issues will have to be addressed to be able to effectively fulfill the project aim and answer the research question.
Due to time constraints, it was decided to create an eco-system populated by animals. Animals were chosen over humans as it would be much easier to model their basic instincts and behaviours.

The techniques utilised will need to allow the agents to successfully navigate through the game universe in order to fulfill their needs such as feeding; drinking; hunting and evading; exploring; mating etc.

The A.I. technique will need to be able to represent the agents’ basic cogitative abilities and therefore must be able to determine the most appropriate course of action given an agent’s current situation, eg an agent needs to feed, therefore it should hunt down / locate a food source instead of "socialising and exploring" with with other agent’s of the same species.

These methods mentioned above need to be combined as efficiently and effectively as possible to see if the self-sustaining aspect of the eco-system can “emerge”.

If the system can become self-sustaining, boundaries that allow the system to stay in equilibrium will then have to be found and applied to the game universe.

These boundaries could then be applied to a "God" A.I. This A.I. technique would have knowledge of the entire universe and would be able to monitor the state of the eco-system. This would then allow any user or developer to receive an advance warning if the system starts to fall, or has fallen, out of balance. If desired, this “God” A.I would be able to adjust the balance of the eco-system to help maintain equilibrium. This would be done indirectly so that it would not appear to be cheating by spawning agents out of nowhere. Instead, it would be able to adjust a few specific variables that have the greatest effect on the game universe, such as the rate that vegetation grows at, how often agents need to feed or how often they breed. This would allow the user to experiment and “play” within these boundaries so as to not destroy the balance. 

Research Question

What is your current research question?

“Is it possible for a combination of A.I. and A-Life techniques to not only be used to create an enduring eco-system, but also to calculate the boundaries that allow this system to remain in a state of equilibrium.”

Addressing the Question

How do you envisage yourself carrying out the project – a short exposition of the project.

 

To be able to address the question effectively, a great amount of research will have to be conducted into the many existing A.I. and A-Life techniques that would be capable of accurately mimicking animal behaviour and managing an eco-system. This research has already begun and as such, the following techniques have been selected on the basis of best relevance to the question stated above: Fuzzy Logic; Flocking; Path Finding; Chasing and Evading; Potential Function Based Movement. An in- depth and extensive literature review of each of these techniques will now have to be conducted to find the most suitable. This review will consist of looking at the general theory behind each of the techniques, the pros and cons in relation to the research question and the specific ways that they can be, and have been, applied to game situations.

After the literature review has been concluded, the most relevant way to advance the investigation into the techniques listed above would be the creation of an application demonstrating the selected techniques in action. Since the application is going to model animal behaviour, it was decided that the most appropriate simulation to create would be that of a constant eco-system. This constant eco-system should be able to function and remain in a state of balance with or without user interaction. The agents within the eco-system will be almost fully autonomous and will go about their ‘daily lives’ just like real life animals. It is essential that the eco-system be able to reach a state of equilibrium so that:

  • Firstly, it can be observed if the selected techniques can perform such a task.
  • Secondly, so that the boundaries can be established that  will allow the eco-system to remain in this state of harmony. ( Since there will be a great number of variables being used in each of the techniques, the variables that will have the strongest effect on the overall outcome of each technique will be identified and these will be altered to establish boundaries.) 
  • And finally, if the selected techniques are capable of keeping the eco-system within a state of equilibrium after some form of ‘natural’ disaster and / or user interaction has upset this balance.

To be able to create this demonstration program, an appropriate engine must be sought out and reviewed.

 

The game universe that the eco-system will be demonstrated in will be made up of a terrain with randomly located lakes positioned throughout it. Around and nearby to these lakes will be vegetation. This vegetation will be used to give the herbivores a source of food, and a hunting ground for the carnivores to prowl when hungry.

 

Methods must then be chosen to be able to employ the selected techniques. The best way to select the methods would be through meticulous analysis of the literature review.

 

Progress

What have you managed to do so far and how has this influenced your vision?

 

General background research into A.I. has been conducted. This research is still continuing and there is still much more to be done. This general research has shown common problems encountered in the field of A.I. along with a few suggestions on how to get around them. Methods and techniques that previous commercial games have implemented along with the problems, successes and failures that these games have encountered have also been identified. 

Research into low level A-life techniques such as Flocking, Chasing and Evading, Fuzzy Logic, Potential Functions and Path Finding has also begun. There are copious amounts of information available on each of these techniques, however, the part that is proving most difficult is finding information that is relative to this project. There are no freely available code examples to examine, therefore all these techniques are going to have to be coded from scratch.

No comments: