public override void BuildLayer()
 {
     foreach (var currentTeam in InputVariablesGroups)
     {
         var teamPerformance = CreateOutputVariable(currentTeam);
         AddLayerFactor(CreatePlayerToTeamSumFactor(currentTeam, teamPerformance));
         OutputVariablesGroup.Add(new[] { teamPerformance });
     }
 }
Пример #2
0
        public override void BuildLayer()
        {
            for (var i = 0; i < InputVariablesGroups.Count - 1; ++i)
            {
                var strongerTeam = InputVariablesGroups[i][0];
                var weakerTeam   = InputVariablesGroups[i + 1][0];

                var currentDifference = CreateOutputVariable();
                AddLayerFactor(CreateTeamPerformanceToDifferenceFactor(strongerTeam, weakerTeam, currentDifference));

                OutputVariablesGroup.Add(new[] { currentDifference });
            }
        }
Пример #3
0
        public override void BuildLayer()
        {
            foreach (var currentTeam in mTeams)
            {
                var currentTeamSkills = new List <KeyedVariable <TPlayer, GaussianDistribution> >();
                foreach (var currentTeamPlayer in currentTeam)
                {
                    var playerSkill = CreateSkillOutputVariable(currentTeamPlayer.Key);
                    AddLayerFactor(CreatePriorFactor(currentTeamPlayer.Key, currentTeamPlayer.Value, playerSkill));
                    currentTeamSkills.Add(playerSkill);
                }

                OutputVariablesGroup.Add(currentTeamSkills);
            }
        }
Пример #4
0
        public override void BuildLayer()
        {
            foreach (var currentTeam in InputVariablesGroups)
            {
                var currentTeamPlayerPerformances = new List<KeyedVariable<TPlayer, GaussianDistribution>>();

                foreach (var playerSkillVariable in currentTeam)
                {
                    var playerPerformance = CreateOutputVariable(playerSkillVariable.Key);
                    AddLayerFactor(CreateLikelihood(playerSkillVariable, playerPerformance));
                    currentTeamPlayerPerformances.Add(playerPerformance);
                }

                OutputVariablesGroup.Add(currentTeamPlayerPerformances);
            }
        }