# duel_simulation

duel_simulation, a MATLAB 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) ).

### Usage:

[ s, turn_average ] = duel_simulation ( p, duel_num )
where
• p is a vector of length 2 containing the probabilities that player 1 and player 2 will hit.
• duel_num is the number of duels to simulate.
• s is a vector of length 2 containing the probabilities that player 1 or player 2 survives.
• turn_average is the average number of turns to complete the duel.

### Licensing:

The computer code and data files described and made available on this web page are distributed under the GNU LGPL license.

### Languages:

duel_simulation is available in a C version and a C++ version and a FORTRAN90 version and a MATLAB version and a Python version.

### Related Data and codes:

brownian_motion_simulation, a MATLAB code which simulates Brownian motion in an M-dimensional region.

chuckaluck_simulation, a MATLAB code which simulates the Chuck-a-Luck gambling game.

coin_simulation, a MATLAB code which looks at ways of simulating or visualizing the results of many tosses of a fair or biased coin.

dice_simulation, a MATLAB code which simulates N tosses of M dice, making a histogram of the results.

fair_dice_simulation, a MATLAB code which simulates N tosses of 2 dice, making a histogram of the results.

fire_simulation, a MATLAB code which simulates a forest fire over a rectangular array of trees, starting at a single random location.

gamblers_ruin_simulation, a MATLAB code which simulates the game of gambler's ruin.

high_card_simulation, a MATLAB code which simulates a situation in which you see the cards in a deck one by one, and must select the one you think is the highest and stop.

ising_2d_simulation, a MATLAB code which carries out a Monte Carlo simulation of an Ising model, a 2D array of positive and negative charges, each of which is likely to "flip" to be in agreement with neighbors.

jai_alai_simulation, a MATLAB code which simulates matches of jai alai.

poisson_simulation, a MATLAB code which simulates a Poisson process in which events randomly occur with an average waiting time of Lambda.

random_walk_1d_simulation, a MATLAB code which simulates a random walk in a 1-dimensional region.

random_walk_2d_avoid_simulation, a MATLAB code which simulates a self-avoiding random walk in a 2-dimensional region.

random_walk_2d_simulation, a MATLAB code which simulates a random walk in a 2-dimensional region.

random_walk_3d_simulation, a MATLAB code which simulates a random walk in a 3-dimensional region.

reactor_simulation, a MATLAB code which a simple Monte Carlo simulation of the shielding effect of a slab of a certain thickness in front of a neutron source. This code was provided as an example with the book "Numerical Methods and Software."

roulette_simulation, a MATLAB code which simulates the spinning of a roulette wheel and the evaluation of certain common roulette bets.

sir_simulation, a MATLAB code which simulates the spread of a disease through a hospital room of M by N beds, using the SIR (Susceptible/Infected/Recovered) model.

traffic_simulation, a MATLAB code which simulates the cars waiting to get through a traffic light.

truel_simulation, a MATLAB code which simulates N repetitions of a duel between three players, each of whom has a known firing accuracy.

urn_simulation a MATLAB code which simulates an experiment in which k colored marbles are drawn from an urn containing a total of n marbles. The quantity of interest is the number of marbles of each color.

### 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 08 January 2019.