Polarith AI
1.8
Context Class Reference

Description

Context builds the foundation of the AI system by providing access to all important modules (back-end class).

Derived Context<TValue, TStructure> using float as type for the objective values and Structure as type for the structural element (for the contained Sensor). It properly extends the Context<TValue, TStructure>.Evaluate and Context<TValue, TStructure>.MakeDecision methods for the specific types used.

In addition to Context<TValue, TStructure>, this derived class holds and provides additional information necessary for moving characters in 3D space.

Back-end class of AIMContext.

Public Fields

Vector3 DecidedDirection = Vector3.zero
 The evaluated direction in world coordinates, as against Decision only contains a version of this field in local coordinates. More...
 
Vector3 DecidedReceptorPosition = Vector3.zero
 The evaluated position in world coordinates, as against Decision only contains a version of this field in local coordinates. More...
 
Matrix4x4 LocalToWorldMatrix = Matrix4x4.identity
 Matrix that transforms a point from local space into world space. More...
 
Matrix4x4 WorldToLocalMatrix = Matrix4x4.identity
 Matrix that transforms a point from world space into local space. More...
 
float DeltaTime
 The time which has been necessary to compute the latest frame. More...
 

Properties

override IProblem< float > Problem [get]
 Holds objective values defining a MCO problem to be solved (read only). More...
 
override IDecision< float, StructureDecision [get]
 Container for storing the results from Evaluate. More...
 

Public Methods

override void Evaluate ()
 Processes the AI main loop for defining and solving the hold Problem writing the results into the Decision, therefore and for solving, the MakeDecision method gets called. More...
 
void BuildContext ()
 Sets up this Context instance based on the data which might have been already serialized through Unity. More...
 
float GetEpsilonConstraint (int index)
 If the given objective index is valid, the corresponding epsilon-constraint is returned. More...
 
bool IsObjectiveMinimized (int index)
 Determines whether the objective with the specified index is minimized when calling Evaluate. More...
 
bool IsObjectiveNormalized (int index)
 Determines whether the objective with the specified index is normalized when calling Evaluate. More...
 
bool IsObjectiveUnlimited (int index)
 Determines whether the objective with the specified index is unlimited. More...
 
void SetEpsilonConstraint (int index, float value)
 If the given objective index is valid, the corresponding epsilon-constraint is set to the specified value . More...
 
void SetObjectiveMinimized (int index, bool minimized)
 Allows to set whether the objective with the specified index is minimized when calling Evaluate. More...
 
void SetObjectiveNormalized (int index, bool normalized)
 Allows to set whether the objective with the specified index is normalized when calling Evaluate. More...
 
void SetObjectiveUnlimited (int index)
 Determines if the objective with the specified index is unlimited. More...
 
void ClearObjectives ()
 Removes all objectives including all values. More...
 
void ClearValues ()
 Removes all values but preserves the number of objectives. More...
 
void Reset ()
 Resets this instance to default values. More...
 

Protected Methods

override void MakeDecision ()
 This is the place for solving the given MCO Problem and collecting all information which are necessary for a complete Decision. More...
 
Imprint