Micro 825: Only YOU Can Prevent Forest Fires VIII GAME OVER

Micro Games (9 players or fewer). Archived during the 2023 queue overhaul.
Locked
User avatar
DrDolittle
DrDolittle
Jack of All Trades
User avatar
User avatar
DrDolittle
Jack of All Trades
Jack of All Trades
Posts: 6679
Joined: January 27, 2011

Post Post #20 (isolation #0) » Sat Sep 15, 2018 5:24 pm

Post by DrDolittle »

Are we playing civilly this game or going guns blazing
User avatar
DrDolittle
DrDolittle
Jack of All Trades
User avatar
User avatar
DrDolittle
Jack of All Trades
Jack of All Trades
Posts: 6679
Joined: January 27, 2011

Post Post #24 (isolation #1) » Sat Sep 15, 2018 7:20 pm

Post by DrDolittle »

yeah this issue is that threats are not credible since if you play guns blazing then you are town
User avatar
DrDolittle
DrDolittle
Jack of All Trades
User avatar
User avatar
DrDolittle
Jack of All Trades
Jack of All Trades
Posts: 6679
Joined: January 27, 2011

Post Post #74 (isolation #2) » Mon Sep 17, 2018 2:04 am

Post by DrDolittle »

I really like the 2 forest idea. Even if scum is absolutely awful they get 3 hits out of 7 people, ignoring that they know the YOU that was shot is not forest. This is extremely likely. But 2 forests requires scum to get a mis-shoot before going into positive EV category. If small balances are needed, mod can implement that the Pyro list skips over confirmed non-forests if Pyro desires (so the night is still instantaneous).
User avatar
DrDolittle
DrDolittle
Jack of All Trades
User avatar
User avatar
DrDolittle
Jack of All Trades
Jack of All Trades
Posts: 6679
Joined: January 27, 2011

Post Post #77 (isolation #3) » Mon Sep 17, 2018 6:58 am

Post by DrDolittle »

One pyro balances things in a wrong direction I think, because games would get more streaky depending on whether YOU is lucky and hits PYRO and whether PYRO is lucky at hits forrest. 2 of each is nice since it makes the game more 'mafia' and less luck.
User avatar
DrDolittle
DrDolittle
Jack of All Trades
User avatar
User avatar
DrDolittle
Jack of All Trades
Jack of All Trades
Posts: 6679
Joined: January 27, 2011

Post Post #79 (isolation #4) » Mon Sep 17, 2018 10:23 am

Post by DrDolittle »

I realized that in the case where there is only 4 yous, pyro could potentially run the strategy of hunting all yous instead. That would also result in game. Note this is different from hunting forests since some YOU is public knowledge after shooting.
(i.e. in a night scenario, 5 people are alive: {smokey, you, forrest, forrest, pyro}, and a you is outted (presumably from shooting to get to the night phase), pyro should choose to shoot you.
User avatar
DrDolittle
DrDolittle
Jack of All Trades
User avatar
User avatar
DrDolittle
Jack of All Trades
Jack of All Trades
Posts: 6679
Joined: January 27, 2011

Post Post #80 (isolation #5) » Mon Sep 17, 2018 11:19 am

Post by DrDolittle »

running a random simulation under the following rules:
YOU kills randomly only among the alive players that are not YOU, FOREST, or SMOKEY if SMOKEY has killed already.
PYRO only hunts for forests (if some YOU shot, or smokey killed, pyro doesn't kill them)
The YOU that makes the first kill continues making kills (irrelephant's suggestion)
PYRO gets a final shot if no PYRO is alive.
[So we are assuming a very civil town...]

2/2/1/4 gives pyro advantage of 0.575.
1/2/1/5 gives pyro advantage of 0.742 (significantly less than I anticipated)
2/2/2/3 gives pyro advantage of 0.509 (so smokey is better than you in EV, I guess)
1/1/1/6 gives pyro advantage of 0.501 (almost fair)

However, 1/1/1/6, games last 1.025 days on average, while 2/2/1/4, games last for 1.65 days on average. Compared to the baseline, 1/2/1/5 games last 1.60 days (so 2/2/1/4 and 1/2/1/5 is roughly indistinguishable).

Here's some (poorly written) matlab code in case you want to run the simulation yourselves. To change the ratio, simply move the numbers 1 to 9 between the 4 groups of forest, pyro, smokey, and you.
Spoiler: code
%% Smokey the bear
pwin = 0;
for iter = 1:10000
forest = [1];
pyro = [3,4];
smokey = [5];
you = [2,6,7,8,9];
outted = [];
dead = [];

while isempty(forest) + isempty(pyro) == 0
if isempty(you) == 0
targets = [you(you~=you(1)),smokey,pyro];
for nottarget = [dead,outted]
targets(targets == nottarget) = [];
end
tgt = randi([1,length(targets)]);
kill = targets(tgt);
if ismember(kill,smokey) == 1
dead = [dead, you(1)];
you(1) = [];
outted = [outted,kill];
elseif ismember(kill,pyro) == 1
outted = [outted,you(1)];
dead = [dead,kill];
pyro(pyro==kill) = [];
elseif ismember(kill,you) == 1
outted = [outted,you(1)];
dead = [dead,kill];
you(you==kill) = [];
end
end
targets2 = [you,smokey,forest];
for nottarget2 = [dead,outted]
targets2(targets2 == nottarget2) = [];
end
kill2 = targets2(randi([1,length(targets2)]));
if ismember(kill2,smokey) == 1
if isequal(pyro,[])
break
elseif length(pyro) == 1
dead = [dead, pyro(1)];
pyro(1) = [];
outted = [outted,kill2];
targets2 = [you,smokey,forest];
for nottarget2 = [dead,outted]
targets2(targets2 == nottarget2) = [];
end
kill2 = targets2(randi([1,length(targets2)]));
end
elseif ismember(kill2,forest) == 1
dead = [dead,kill2];
forest(forest==kill2) = [];
elseif ismember(kill2,you) == 1
dead = [dead,kill2];
you(you==kill2) = [];
end
end

if isempty(forest) == 1
pwin = pwin +length(dead);
end
end

pwin/iter
User avatar
DrDolittle
DrDolittle
Jack of All Trades
User avatar
User avatar
DrDolittle
Jack of All Trades
Jack of All Trades
Posts: 6679
Joined: January 27, 2011

Post Post #81 (isolation #6) » Mon Sep 17, 2018 11:27 am

Post by DrDolittle »

made a mistake on game length - need to multiply that number roughly by 2...
User avatar
DrDolittle
DrDolittle
Jack of All Trades
User avatar
User avatar
DrDolittle
Jack of All Trades
Jack of All Trades
Posts: 6679
Joined: January 27, 2011

Post Post #82 (isolation #7) » Mon Sep 17, 2018 11:34 am

Post by DrDolittle »

Recomputed the average days till game end...

1.8434 for the 1/1/1/6 setup
2.7767 for the 2/2/1/4 setup
2.2267 for the 1/2/1/5 setup

[forest, pyro,smokey,you] if that wasn't clear.

Spoiler: updated code
%% Smokey the bear
pwin = 0;
deadd = 0;
for iter = 1:10000
forest = [1];
pyro = [3];
smokey = [5];
you = [2,4,6,7,8,9];
outted = [];
dead = [];
count = 0;
while isempty(forest) + isempty(pyro) == 0
if isempty(you) == 0
targets = [you(you~=you(1)),smokey,pyro];
for nottarget = [dead,outted]
targets(targets == nottarget) = [];
end
kill = targets(randi([1,length(targets)]));
if ismember(kill,smokey) == 1
dead = [dead, you(1)];
you(1) = [];
outted = [outted,kill];
elseif ismember(kill,pyro) == 1
outted = [outted,you(1)];
dead = [dead,kill];
pyro(pyro==kill) = [];
elseif ismember(kill,you) == 1
outted = [outted,you(1)];
dead = [dead,kill];
you(you==kill) = [];
end
end
targets2 = [you,smokey,forest];
for nottarget2 = [dead,outted]
targets2(targets2 == nottarget2) = [];
end
kill2 = targets2(randi([1,length(targets2)]));
if ismember(kill2,smokey) == 1
if isequal(pyro,[])
break
elseif length(pyro) == 1
dead = [dead, pyro(1)];
pyro(1) = [];
outted = [outted,kill2];
targets2 = [you,smokey,forest];
for nottarget2 = [dead,outted]
targets2(targets2 == nottarget2) = [];
end
kill2 = targets2(randi([1,length(targets2)]));
end
elseif ismember(kill2,forest) == 1
dead = [dead,kill2];
forest(forest==kill2) = [];
elseif ismember(kill2,you) == 1
dead = [dead,kill2];
you(you==kill2) = [];
end
count = count + 1;
end

if isempty(forest) == 1
pwin = pwin+1;
end
deadd = deadd + count;
end

deadd/iter
User avatar
DrDolittle
DrDolittle
Jack of All Trades
User avatar
User avatar
DrDolittle
Jack of All Trades
Jack of All Trades
Posts: 6679
Joined: January 27, 2011

Post Post #87 (isolation #8) » Mon Sep 17, 2018 12:31 pm

Post by DrDolittle »

doesnt this argument go down a slippery slope? If A wants to prevent B, and B is willing to prevent C, then C should prevent before B, before A
User avatar
DrDolittle
DrDolittle
Jack of All Trades
User avatar
User avatar
DrDolittle
Jack of All Trades
Jack of All Trades
Posts: 6679
Joined: January 27, 2011

Post Post #90 (isolation #9) » Mon Sep 17, 2018 12:36 pm

Post by DrDolittle »

does the same argument apply to that A is not a confirmed YOU so his threat is not credible (assuming we are still in day 1)
User avatar
DrDolittle
DrDolittle
Jack of All Trades
User avatar
User avatar
DrDolittle
Jack of All Trades
Jack of All Trades
Posts: 6679
Joined: January 27, 2011

Post Post #92 (isolation #10) » Mon Sep 17, 2018 1:40 pm

Post by DrDolittle »

realized that I could just simulate the scenario:

2/2/1/4 drops pyro advantage of 0.575 -> 0.517.
1/2/1/5 drops pyro advantage of 0.742 -> 0.697
1/1/1/6 gives pyro advantage of 0.501 -> 0.491

Honestly looks pretty solid.
Locked

Return to “Mayfair Club [Micro Games]”