public override void BuildLayer() { foreach (var currentTeam in InputVariablesGroups) { var teamPerformance = CreateOutputVariable(currentTeam); AddLayerFactor(CreatePlayerToTeamSumFactor(currentTeam, teamPerformance)); OutputVariablesGroup.Add(new[] { teamPerformance }); } }
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 }); } }
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); } }
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); } }