| 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, its
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.
|