Skip to main content

Evaluation Function Constructor


Info

Program Developer
GSC Game World
GSC Game World
Described Version0.564
DocumentationDeepWiki External link

About

Program for creating evaluation functions.

Switches

KeyDescription
-p <name>Obligatory switch with project name
-paPerform operations for all projects
-c[d]

Convert text to binary data and generate initial patterns.

    d - Show duplicates being found in text data

-g{c,p[s],b}

    gc - Generate configurations from atomic features based on test data.
    gp - generate patterns from configurations being generated.
    gps - Show all configurations during generation.
    gb - Generate pattern basis from patterns being generated
-f[p,u]

Fit weights of pattern configurations.

    p - Force to use probabilistic weight fitting algorithm.
    u - Force to use previous parameters if exist

-lList stats on test data
-sList sorted stats on test data
-wList pattern configuration weights
-b[f]

Build evaluation function.

    f - Save parameters in float (default is double)

-vValidate evaluation function
-aAppend log file
-h, -?, -iHelp

Config file

Parameters contained in efc.ini.

File Names

KeyDescription
LogDataDual output log file
TextDataHuman-readable training data
BinaryDataBinary test data with duplicates removed
ConfigDataConfigurations organized by cardinality
PatternDataFiltered pattern specifications
CoreDataComplete specification (test + patterns)
ParametersDataOptimized double-precision weights
EFDataFinal packaged evaluation function

Weight Fitting Parameters

These four parameters control the gradient descent optimization algorithm that learns pattern weights from training data. The algorithm implements momentum-based gradient descent with configurable convergence criteria.

KeyDescription
EpsilonConvergence Threshold. Defines the minimum per-test-example improvement in squared error required to continue optimization
AlphaLearning Rate. Scales the gradient magnitude during parameter updates. Larger values take bigger steps in parameter space
BetaMomentum Coefficient. Weights the previous update direction in the current update, enabling momentum to accelerate convergence and escape shallow local minima.
MaxIterationCountSafety Limit. Hard upper bound on optimization iterations to prevent infinite loops or excessive runtime

Probabilistic Weight Fitting Parameters

These parameters enable stochastic perturbation during optimization to escape local minima. When active, random subsets of parameters are temporarily frozen while others are updated, creating exploration dynamics.

KeyDescription
RandomFactorExploration Rate. Together determine the fraction of parameters randomly frozen during each update cycle. Each parameter has RandomProbability / RandomFactor chance of being frozen
RandomProbability
RandomUpdateRefresh Interval. Controls how many iterations use the same random mask before regenerating. Lower values increase variability, higher values provide stability
RandomStartSeedReproducibility. Initializes the pseudo-random number generator for reproducible experiments. Same seed produces identical random sequences

Configuration Generation Parameters

These parameters control the complexity and filtering of patterns generated during the configuration and pattern generation stages. They determine which variable combinations are considered as features for the evaluation function.

KeyDescription
MatchThresholdMinimum Pattern Frequency. Defines the minimum number of test examples in which a configuration must appear to be considered as a viable pattern. Acts as a frequency filter during configuration generation
MaxCardinalityPattern Complexity Limit. Limits the maximum number of variables that can be combined in a single pattern. Controls the combinatorial explosion during configuration generation

Patterns Generation Parameters

KeyDescription
PatternExistanceCoefficientCoverage Threshold. Filters patterns based on their coverage ratio: count / complexity. A pattern must appear in at least this fraction of its possible instantiations to be kept

Function Types

Primary Functions

KeyDescription
Distance
GraphPointType0
EquipmentType
ItemDeterioration
EquipmentPreference
MainWeaponType
MainWeaponPreference
ItemValue
WeaponAmmo
DetectorType
PersonalHealth
PersonalMorale
PersonalCreatureType
PersonalWeaponType
PersonalAccuracy
PersonalIntelligence
PersonalRelation
PersonalGreed
PersonalAggressiveness
PersonalEyeRange
PersonalMaxHealth
EnemyHealth
EnemyCreatureType
EnemyWeaponType
EnemyEquipmentCost
EnemyRukzakWeight
EnemyAnomality
EnemyEyeRange
EnemyMaxHealth
EnemyAnomalyType
EnemyDistanceToGraphPoint

Complex Functions

KeyDescription
WeaponEffectiveness
CreatureEffectiveness
IntCreatureEffectiveness
AccWeaponEffectiveness
FinCreatureEffectiveness
VictoryProbability
EntityCost
Expediency
SurgeDeathProbability
EquipmentValue
MainWeaponValue
SmallWeaponValue
TerrainType
WeaponAttackTimes
WeaponSuccessProbability
EnemyDetectability
EnemyDetectProbability
AnomalyDetectProbability
AnomalyInteractProbability
AnomalyRetreatProbability
BirthPercentage
BirthProbability
BirthSpeed