8

What is the expected number of turns required to get the required roll for Complete Destruction, given no evolutions or other cards?

5

The probability of getting a Complete Destruction in 1 turn is roughly 20%. So, the expected number of turns is 1/0.2 or 5 turns on average.

The 20% number comes from two sources. First, I found a lengthy discussion at board game geek on this topic, which gives the final result of approximately 20%. http://boardgamegeek.com/thread/1155539/king-tokyo-odds/page/2

Secondly, I wrote a quick Matlab simulation to compute this. The optimal strategy is pretty clearly to take any die that's a duplicate of another die, and reroll it. Using that fact, I get the following table, which performed 100,000 trials:

      % of the time, you get 1-6 different numbers
      on 6 dice after 3 rolls
             1     2     3     4     5     6
Roll 1 :   0.0   2.0  23.2  50.1  23.1   1.6
Roll 2 :   0.0   0.0   3.3  35.2  52.7   8.8
Roll 3 :   0.0   0.0   0.4  17.4  62.3  19.8

Here is the matlab script I used, in case you're interested:

% King of Tokyo, Total Destruction

% Object of total destruction card, is to get 1-6 on 6 different dice
% in three rolls.

NUMTRIALS = 100000;

results.numUniqueRoll1 = zeros(1,6);
results.numUniqueRoll2 = zeros(1,6);
results.numUniqueRoll3 = zeros(1,6);

for ix = 1 : NUMTRIALS
    n1 = numel(unique(randi(6, 1, 6)));
    results.numUniqueRoll1(n1) = 1 + results.numUniqueRoll1(n1);

    n2 = n1 + sum(unique(randi(6,1,6-n1)) > n1);
    results.numUniqueRoll2(n2) = 1 + results.numUniqueRoll2(n2);

    n3 = n2 + sum(unique(randi(6,1,6-n2)) > n2);
    results.numUniqueRoll3(n3) = 1 + results.numUniqueRoll3(n3);
end

fprintf('  %% of the time, you get 1-6 different numbers\n');
fprintf('      on 6 dice after 3 rolls\n');
fprintf('             1     2     3     4     5     6\n');
fprintf('Roll 1 :');
fprintf('%6.1f', 100*results.numUniqueRoll1/NUMTRIALS);
fprintf('\nRoll 2 :');
fprintf('%6.1f', 100*results.numUniqueRoll2/NUMTRIALS);
fprintf('\nRoll 3 :');
fprintf('%6.1f', 100*results.numUniqueRoll3/NUMTRIALS);
fprintf('\n');

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.