AIXI.CTWContextTreeFast.LogKtMultiplier C# (CSharp) Méthode

LogKtMultiplier() public méthode

public LogKtMultiplier ( int index, int symbol ) : double
index int
symbol int
Résultat double
        public double LogKtMultiplier(int index, int symbol)
        {
            var node = this.Nodes[index];

            if (node.NumberOf0S < this.CacheMultipliersBellow && node.NumberOf1S < this.CacheMultipliersBellow)
            {
                if (symbol == 1)
                    return this.Multipliers[node.NumberOf0S+node.NumberOf1S, node.NumberOf1S];
                else {
                    return this.Multipliers[node.NumberOf0S + node.NumberOf1S, node.NumberOf0S];
                }
            }

            double denominator = node.NumberOf0S + node.NumberOf1S + 1;
            double numerator;
            if (symbol == 1)
            {
                numerator = node.NumberOf1S + 0.5;
            }
            else
            {
                numerator = node.NumberOf0S + 0.5;
            }

            return Math.Log(numerator / denominator);
        }