コード例 #1
0
ファイル: SingleCandidate.cs プロジェクト: majitaki/OSM2018
        public SingleCandidate(int can_index, I_Agent agent)
        {
            this.CanIndex         = can_index;
            this.CanWeight        = OpinionBeliefUpdater.GetWeightForScale(agent.InitBelief, agent.GreenSigma, agent.RedSigma, can_index);
            this.AwaCounts        = 0;
            this.AwaCurrentRounds = 0;

            this.BeliefScaleList = new List <double>();
            this.BeliefScaleList.Add(agent.InitBelief);

            var current_belief = agent.InitBelief;

            while (current_belief < agent.GreenSigma)
            {
                current_belief = OpinionBeliefUpdater.UpdateBelief(current_belief, CanWeight, InfoEnum.Green);
                this.BeliefScaleList.Add(current_belief);
            }

            current_belief = agent.InitBelief;
            while (current_belief > agent.RedSigma)
            {
                current_belief = OpinionBeliefUpdater.UpdateBelief(current_belief, CanWeight, InfoEnum.Red);
                this.BeliefScaleList.Add(current_belief);
            }
        }