Beispiel #1
0
        public override Dictionary <Strategy, double> CalculateSatisfaction(Random random, CandidateComparerCollection <Voter> voters)
        {
            var randomVoter  = voters.Poll(random, 1);
            var winner       = randomVoter.Comparers.Single().FirstPreference;
            var satisfaction = GetSatisfactionWith(voters)(new [] { winner });

            // *literally* strategy-proof!
            return(Enum.GetValues <Strategy>().ToDictionary(a => a, _ => satisfaction));
        }
        public override Dictionary <Strategy, double> CalculateSatisfaction(Random random, CandidateComparerCollection <Voter> voters)
        {
            // This is here for comparison purposes, not analysis.
            var satisfaction = GetSatisfactionWith(voters)(voters.GetBeatMatrix().GetSchulzeSet());

            return(new Dictionary <Strategy, double>
            {
                { Strategy.Honest, satisfaction },
            });
        }