I know I’ve got two posts in a row, here, but sheesh, that was over twelve hours ago, a sixth of a Day. Post, people, post! I’d especially like to hear from Inner Stickler, with the engineering report, and Ichini Sanshigo, so we can be sure we’ll have a Doctor examination toDay.
Meanwhile: It might be infamous by now, but I’ve got my computer program up and running for this game now. Yes, I know that it gave useless results last game, but that’s because I incorrectly assumed four Scum instead of three, a fault which I have corrected this time around: I’m not assuming anything more here about the numbers than that we have at least one and no more than three Scum (four Scum is still technically possible, but in that case we’re screwed no matter what anyone does). The other assumption is that a greater proportion of the votes cast by Town are for Scum than the end-of-Day votes cast by Scum are, an assumption which, if anything, has been too conservative for the other games I’ve used it in. Basically, my program looks at all possible arrangements of Town and Scum, and sees how many remain which satisfy the assumptions.
The current code, if anyone wants to double-check it:[spoiler]
[noparse]#include <stdio.h>
#define n_players 10 /* Number of players under analysis */
#define max_scum 3 /* Maximum expected number of Scum */
#define min_scum 1 /* Minimum expected number of Scum */
main()
{
int players[n_players]; /* Stores the alignment of each player. 0 = Town, 1 = Scum */
unsigned int players_binary;
unsigned int players_binary_shifting;
char names[n_players][20] = {"ColdPhoenix", "Normal Phase", "Ichini Sanshigo", "Inner Stickler", "Chronos", "ComeToDarkCookies", "DiggitCamara", "Hal Briston", "Darth Sensitive", "Scuba_Ben"};
int n_scum;
int buses; /* Number of times Scum voted for Scum */
int attacks; /* Number of times Town voted for Scum */
int i;
int score[n_players];
int total_scenarios = 0;
int town_votes;
int scum_votes;
for(i=0;i<n_players;i++) score* = 0; /* Initialize everyone's score */
for(players_binary=0; players_binary < 1024; players_binary++) {
players_binary_shifting = players_binary;
for(i=0;i<n_players;i++) {
players* = players_binary_shifting & 1; /* Populate the players[] array according to the value of players_binary */
players_binary_shifting = players_binary_shifting >> 1;
}
n_scum = 0;
buses = 0;
attacks = 0;
for(i=0;i<n_players;i++) {
if(players* == 1) n_scum++; /* Count the number of Scum */
}
/* Count number of votes cast by Town */
town_votes = 0;
if(!players[0]) town_votes += 6; // ColdPhoenix cast 6
if(!players[1]) town_votes += 4; // Normal cast 4
if(!players[2]) town_votes += 1; // Ichini cast 1
if(!players[3]) town_votes += 2; // Stickler cast 2
if(!players[4]) town_votes += 3; // Chronos cast 2
if(!players[5]) town_votes += 2; // Cookies cast 2
if(!players[6]) town_votes += 1; // Diggit cast 1
if(!players[7]) town_votes += 1; // Hal cast 1
if(!players[8]) town_votes += 2; // Darth cast 2
if(!players[9]) town_votes += 10; // Scuba cast 10
/* Count number of votes cast by Scum */
scum_votes = 0;
if(players[0]) scum_votes += 4; // ColdPhoenix cast 4
if(players[1]) scum_votes += 2; // Normal cast 2
if(players[2]) scum_votes += 1; // Ichini cast 1
if(players[3]) scum_votes += 2; // Stickler cast 2
if(players[4]) scum_votes += 2; // Chronos cast 2
if(players[5]) scum_votes += 2; // Cookies cast 2
if(players[6]) scum_votes += 1; // Diggit cast 1
if(players[7]) scum_votes += 1; // Hal cast 1
if(players[8]) scum_votes += 1; // Darth cast 1
if(players[9]) scum_votes += 7; // Scuba cast 7
/* Count number of buses-- Only counting final votes */
if(players[9] && players[0]) buses++; // Scuba voted Phoenix
if(players[5] && players[0]) buses++; // Cookies voted Phoenix
if(players[1] && players[0]) buses++; // Normal voted Phoenix
if(players[3] && players[0]) buses++; // Stickler voted Phoenix
if(players[9] && players[1]) buses++; // Scuba voted Normal
if(players[6] && players[1]) buses++; // Diggit voted Normal
if(players[4] && players[1]) buses++; // Chronos voted Normal
if(players[0] && players[1]) buses++; // Phoenix voted Normal
if(players[3] && players[1]) buses++; // Stickler voted Normal
if(players[8] && players[1]) buses++; // Darth voted Normal
if(players[9] && players[3]) buses++; // Scuba voted Stickler
if(players[0] && players[3]) buses++; // Phoenix voted Stickler
if(players[9] && players[5]) buses++; // Scuba voted Cookies
if(players[9] && players[6]) buses++; // Scuba voted Diggit
if(players[9] && players[7]) buses++; // Scuba voted Hal
if(players[0] && players[7]) buses++; // Phoenix voted Hal
if(players[9] && players[8]) buses++; // Scuba voted Darth
if(players[4] && players[8]) buses++; // Chronos voted Darth
if(players[2] && players[8]) buses++; // Ichini voted Darth
/* Count number of attacks-- End of day */
if(!players[9] && players[0]) attacks++; // Scuba voted Phoenix
if(!players[5] && players[0]) attacks++; // Cookies voted Phoenix
if(!players[1] && players[0]) attacks++; // Normal voted Phoenix
if(!players[3] && players[0]) attacks++; // Stickler voted Phoenix
if(!players[9] && players[1]) attacks++; // Scuba voted Normal
if(!players[6] && players[1]) attacks++; // Diggit voted Normal
if(!players[4] && players[1]) attacks++; // Chronos voted Normal
if(!players[0] && players[1]) attacks++; // Phoenix voted Normal
if(!players[3] && players[1]) attacks++; // Stickler voted Normal
if(!players[8] && players[1]) attacks++; // Darth voted Normal
if(!players[9] && players[3]) attacks++; // Scuba voted Stickler
if(!players[0] && players[3]) attacks++; // Phoenix voted Stickler
if(!players[9] && players[5]) attacks++; // Scuba voted Cookies
if(!players[9] && players[6]) attacks++; // Scuba voted Diggit
if(!players[9] && players[7]) attacks++; // Scuba voted Hal
if(!players[0] && players[7]) attacks++; // Phoenix voted Hal
if(!players[9] && players[8]) attacks++; // Scuba voted Darth
if(!players[4] && players[8]) attacks++; // Chronos voted Darth
if(!players[2] && players[8]) attacks++; // Ichini voted Darth
/* Count number of buses-- Withdrawn votes */
/*
*/
/* Count number of attacks-- Withdrawn votes */
if(!players[9] && players[2]) attacks++; // Scuba voted Ichini
if(!players[1] && players[3]) attacks++; // Normal voted Stickler
if(!players[9] && players[4]) attacks++; // Scuba voted Chronos
if(!players[0] && players[4]) attacks++; // Phoenix voted Chronos
if(!players[0] && players[5]) attacks++; // Phoenix voted Cookies
if(!players[1] && players[7]) attacks++; // Normal voted Hal
if(!players[9] && players[9]) attacks++; // Scuba voted Scuba
if(!players[8] && players[9]) attacks++; // Darth voted Scuba
if((min_scum<=n_scum) && (n_scum<=max_scum)) /* Throw out cases with wrong number of Scum */
if((attacks)*scum_votes > (buses)*town_votes) /* Throw out cases with Scum not voting Scummily */
/* Add other assumptions (delete or add any considered appropriate) */
if(!players[4]) // Assume Chronos innocent
if(!players[1]) // Normal came up Town
if(!players[6]) // Diggit came up Town
if(players[4]==players[9]) // Chronos and Scuba declared masons
if((players[4])||(!players[2])) // Chronos found Ichini Town
{
total_scenarios++;
/* Output all scenarios */
for(i=0;i<n_players;i++) {
/* if(players* == 0) printf("%s ",names*); */
if(players* == 1) {
printf("%s |",names*);
score*++;
}
}
printf("
");
}
}
/* Output scores */
fprintf(stderr,"Total number of possibilities: %d
",total_scenarios);
for(i=0;i<n_players;i++) fprintf(stderr,"%s %d
",names*,score*);
return(0);
}[/noparse]
[/spoiler]
And the results (number of scenarios for which each player comes up Scum):
Assuming I’m Town (as I know to be true):
Total number of possibilities: 20
ColdPhoenix 6
Normal Phase 0
Ichini Sanshigo 0
Inner Stickler 8
Chronos 0
ComeToDarkCookies 8
DiggitCamara 0
Hal Briston 9
Darth Sensitive 11
Scuba_Ben 0
Without assuming I’m Town (since most of you can’t be sure about me):
Total number of possibilities: 26
ColdPhoenix 7
Normal Phase 0
Ichini Sanshigo 1
Inner Stickler 9
Chronos 6
ComeToDarkCookies 9
DiggitCamara 0
Hal Briston 10
Darth Sensitive 11
Scuba_Ben 6
Darth Sensitive’s numbers really stand out, here: From my point of view, he’s Scum in over half of all possible scenarios. It gets even more extreme if we assume at least two Scum (as I think likely), in which case he shows up as Scum in 10 of the 15 possible scenarios.
To sum up, the voting record, on the whole, makes it look very likely that Darth is Scum. Therefore, I will
Vote Darth Sensitive
Another point about these results, incidentally: It looks to me that our Doctor, if she ever shows up, would get more information for Town by examining Hal, Stickler, or Cookies, than by examining myself or Scuba.