8 votes

Roi de Tokyo : Destruction totale

Quel est le nombre attendu de tours nécessaires pour obtenir le jet requis pour la destruction complète, sans évolution ni autre carte ?

5voto

user7881 Points 201

La probabilité d'obtenir une Destruction Complète en un tour est d'environ 20%. Le nombre de tours attendu est donc de 1/0,2, soit 5 tours en moyenne.

Le chiffre de 20 % provient de deux sources. Premièrement, j'ai trouvé une longue discussion sur ce sujet chez board game geek, qui donne le résultat final d'environ 20%. http://boardgamegeek.com/thread/1155539/king-tokyo-odds/page/2

Ensuite, j'ai écrit une rapide simulation Matlab pour calculer cela. La stratégie optimale est clairement de prendre tout dé qui est un double d'un autre dé, et de le relancer. En utilisant ce fait, j'obtiens le tableau suivant, qui a effectué 100 000 essais :

      % 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

Voici le script matlab que j'ai utilisé, au cas où vous seriez intéressé :

% 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');

AlleGamers.com

AlleGamers est une communauté de gamers qui cherche à élargir la connaissance des jeux vidéo.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X