duel_simulation


duel_simulation, a Fortran90 code which simulates N instances of a duel between two players.

Player A fires at player B, and hits with a probability of A_ACCURACY. If Player A misses, then Player B fires at Player A, hitting with a probability of B_ACCURACY.

The duel continues with alternating shots until only one player survives.

The simulation is intended to estimate the probabilities that a player will survive.

The exact probability that player 1 will survive is

P(1) / ( P(1) + P(2) - P(1) * P(2) )
while player 2's chance is
P(2) * ( 1 - P(1) ) / ( P(1) + P(2) - P(1) * P(2) ).

Licensing:

The information on this web page is distributed under the MIT license.

Languages:

duel_simulation is available in a C version and a C++ version and a Fortran90 version and a MATLAB version and an Octave version and a Python version.

Related Data and codes:

duel_simulation_test

f90_simulation, a Fortran90 code which uses simulation to study card games, contests, and other processes which have a random element. Usually, the purpose is to try to predict the average behavior of the system over many trials.

Reference:

  1. Paul Nahin,
    Duelling Idiots and Other Probability Puzzlers,
    Princeton University Press, 2000,
    ISBN13: 978-0691009797,
    LC: QA273.N29.
  2. Martin Shubik,
    "Does the Fittest Necessarily Survive?",
    in Readings in Game Theory and Political Behavior,
    edited by Martin Shubik,
    Doubleday, 1954,
    LC: H61.S53.

Source Code:


Last revised on 18 June 2020