AI IN VIRTUAL REALITY


The first AI conception , based on modified structural automatons, was developed during 2004-2006 years.
Working prototype of AI Engine, as implementation of the conception basics, was finished in January , 2007.

This prototype was used to create Computer Players in project RTS game "Tribulation Forces" for company LeftBehind Games.

Company issued the version in November, 2007. Minimum documentation is attached bellow in ZIP file.

There are a few words about next generation of AI Engine.


Next generation of AI Engine is based on the following architecture conception:


1. Wide usage of expert system with knowledge base which consists of weighted alternative

nodes as source for synthesis of roles.

Every node is represented with set of versions. Every node version is re-estimated during

role activities in which the version is used in different contexts.

Evaluates requests in form of predicates from components 2,3,4,7, 8,9,10.


2. Agent Researcher , which is able to collect data from environment (ex., game world) and

to expand knowledge base. Responsible for gathering significant object parameter

fluctuations in context of actions/transactions/processes and generation of pairs like

(action/event) => transition (state I -> state J) to form input for component in p 1.


         3. Genetic Component – to generate new node alternatives with crossover of available nodes.

It is applicable as for behavior nodes, as for data nodes in semantic network ,

and may use as node versions, as nodes connected with appropriate association.

Difference between these types of node is very relative one and disappears on definite abstraction level. For example, the parameter ‘weight’ of the car may be considered as measure of interaction between two entities – Earth and the car .


        4. Target Programming Component – to generate new branches in roles.

It implements main principles of target programming. For example, target is divided by

sub-targets , some of which have already known branches(node trees), and others can be

reproduced with components 1,3 in sequential or parallel way , i.e.

(T(arget)i-1 ->OUT ->IN->Ti) => Ti+1, or ( OUTi-1 + OUT i) => IN ->Ti+1.


5. Fuzzy parameter estimations Component – allows to make decision about : turning on/off role
sensors/activities, forming new pairs (action - state) for Agent Researcher etc.
It provides fuzzy operations with n-dimensional spaces of object parameters.


        6. Object (role) parameters support – optimization of roles with different behavior types.

It contains optimization methods in according to different criteria for role objects and allows to fulfill synthesis of appropriate role activities to develop object behavior/structure and, therefore, to achieve their optimal states.


        7.Role Synthesis Component – to generate as totally synthetic roles as previously scripted ones

and combined roles. Contains aggregation methods for components 4,6 .


        8.Semantic networks component – support of role data classification including expansion with

new synthetic roles. Allows to construct data model for generated synthetic roles and uses

methods of components 3,4 .


        9.Behavior type Constructor – expandable repository of role node templates – behavior type generator,
            based on external meta-instructions.

Provides methods to realize self-learning ability for synthetic roles. Based on rules, which allows to make choice between alternative nodes. The rules can be as defined by human players directly, as generated from data , collected by spy agents like Agent Researcher.


        10. Associative Component – support of classifiers to set up hypothesis about right context

                while making decisions. A few types of associations will be supported by the classifiers.

Associations are used in image and behavior recognition .

Example:

We have node consisted from nodes 2,4,7. It can be completed with conditions:

‘1’ : 2,4,!7; 2,!4

‘0’ : !2,4,7 .

One level context can be defined as just parent node, say, 1.

This conditions together with context present member of semantic association.

Binary presentation of the node is :

‘1’: 110; 10

‘0’ : 011

and defines direct association member. Replaying all directly associated nodes, it’s possible to choose the most similar context.

And vice versa, having context means chance to find the best behavior or data .


This kind of architecture provides realization of learning / self-learning principles,

makes possible to build also spontaneous game world with or without external instructions.

  


Document
AIEngine