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 }, }); }