duel_simulation, an Octave code 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) ).
[ s, turn_average ] = duel_simulation ( p, duel_num )where
The computer code and data files described and made available on this web page are distributed under the MIT license
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.
matlab_simulation, an Octave 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.