Showing posts with label AI. Show all posts
Showing posts with label AI. Show all posts

Saturday, 27 October 2012

Fuzzy Inference, Decision Trees and the ART Network

I managed to schedule a meeting with Dr David King last Thursday, as a published researcher on the implementation of Neural Networks and Fuzzy Inference Systems, his advice was invaluable in consolidating my own research question.

We started by scaling back my research question, to the key thing that drives it - which I identified as wanting to make NPC's less predictable, this allowed Dr King to be on the same page as me going forward with my proposal.

Dr King also suggested that I could my project more scalable by comparing a number of techniques of increasing difficulty, this means should I fail to implement my desired endpoint. I can scale back my question and still have something completed to write about.

With that in mind Dr King suggested a number of techniques of varying difficulty as well as a few texts to look into to research these techniques and others alongside. A few in particular have caught my interest:


  • Fuzzy Inference Systems - Though not a massive technical leap, Fuzzy Inference Systems provide a very quick to implement way of producing unpredictability particularly if you treat the continuous output as probability. So rather than being 90% State A, 10% State B it would be State A 9 times out of 10 and State B 1 time out of 10. Of course states are hard typed so it any expansion on an existing system would require additional code on each of these fuzzy inference systems.
  • Adaptive Resonance Theory Neural Networks - ART Networks are a really interesting expansion on the traditional ANN, Artificial Neural Networks suffer from the problem that once trained a neural network can't have complimentary training, you must start from scratch. An ART Network manages to get around this issue however Dr King suggests that he has yet to see a working implementation of it.
This meeting has certainly generated many useful leads and I hope I get the chance to discuss my findings with Dr King again.

Tuesday, 9 October 2012

Multi-layer Finite State Machines

So I was chatting to a friend in White Space today about my Honours project, a very vague and confusing topic to begin with, however I described as wanting to look at the evolution of behaviour in NPCs in response to new and untrained situations.

Anyway, my friend Russell - described his theory of a strong NPC behaviour routine as taking the form of a three layer finite state machine, as part of comprehending his approach I labelled these layers like this.

  • Objective Layer
    This state machine holds ultimately what you're trying to achieve, for example "Get up and go to work"
  • Step Layer
    This next level of abstraction looks at the steps necessary to complete the Objective Layer, for example "Get Dressed" and "Leave House".
  • Action Layer
    The final layer deals with the individual actions required to achieve the next step, for example "Get out of bed", "Walk to wardrobe", "Drive to work"

I have to admit that I really like the robust nature of this system and feel it could work quite well with what I intend to do, in combination with other AI procedures to produce a classification of unique experiences or so.