DUEL_SIMULATION is a Python program which simulates N instances of a duel between two players.
Player 1 fires at player 2, and hits with a probability of P(1). If Player 1 misses, then Player 2 fires at Player 1, hitting with a probability of P(2).
The duel continues with alternating shots until only one player survives.
The simulation is intended to estimate the probabilities that a player will survive, and the number of turns required.
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) ).
The computer code and data files described and made available on this web page are distributed under the GNU LGPL license.
DUEL_SIMULATION is available in a C version and a C++ version and a FORTRAN90 version and a MATLAB version and a Python version.
BROWNIAN_MOTION_SIMULATION, a Python library which simulates Brownian motion in an M-dimensional region.
SNAKES_AND_LADDERS, Python programs which simulate the game of Snakes and Ladders.
You can go up one level to the Python source codes.