# DUEL_SIMULATION Simulation of a Duel

DUEL_SIMULATION is a MATHEMATICA 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) ).

### Usage:

s = 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.

### Languages:

DUEL_SIMULATION is available in a C++ version and a Mathematica version and a MATLAB version.

### Related Data and Programs:

DICE_SIMULATION a MATLAB program which simulates N tosses of M dice, making a histogram of the results.

GAMBLERS_RUIN_SIMULATION, a MATLAB program which simulates the game of gambler's ruin.

HODGE, a C program which implements a 2D cellular automaton, that can be regarded as a model of the spread of an illness, and whose parameters can be tuned to exhibit stability, regular waves, or a variety of chaotic behavior. This is a simplified version of a program by Martin Gerhardt and Heike Schuster

ISING_3D_SIMULATION is a FORTRAN90 library which carries out a Monte Carlo simulation of a 3D Ising model.

LIFE_OPEN_GL, a C program which uses OpenGL to display the evolution of John Conway's "Game of Life", by Simon Green.

LORENZ_SIMULATION is a MATLAB program which solves the Lorenz equations and displays the solution, for various starting conditions.

MD1, a FORTRAN90 program which carries out a simple molecular dynamics simulation;

MD2, a FORTRAN90 program which carries out a simple molecular dynamics simulation;

MD3, a FORTRAN90 program which carries out a simple molecular dynamics simulation;

MD3GLUE, a FORTRAN90 program which carries out a simple molecular dynamics simulation;

MDDISK, a C program which simulates a fluid modeled as a collection of soft disks, by Dennis Rapaport;

RANDOM_WALK_1D_SIMULATION, a MATLAB program which simulates a random walk in a 1-dimensional region.

RANDOM_WALK_2D_AVOID_SIMULATION, a MATLAB program which simulates a self-avoiding random walk in a 2-dimensional region.

RANDOM_WALK_2D_SIMULATION, a MATLAB program which simulates a random walk in a 2-dimensional region.

RANDOM_WALK_3D_SIMULATION, a MATLAB program which simulates a random walk in a 3-dimensional region.

REACTOR_SIMULATION is a FORTRAN90 program which is a simple Monte Carlo simulation of the shielding effect of a slab of a certain thickness in front of a neutron source. This program was provided as an example with the book "Numerical Methods and Software."

SIR_SIMULATION is a MATLAB program 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 program which simulates the cars waiting to get through a traffic light.

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

XFIRES, a C program which models the occurrence of fires in a forest, and displays the status of the forest using X Windows.

XISING, a C program which models the variations in ferromagnetism in a material, displaying the results using X Windows.

XWAVES, a C program which simulates the behavior of solutions of certain forms of the wave equation, displaying the results using X Windows.

### 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:

• duelSimulation.nb, a program that returns the estimated survival probabilities for both players, based on a number of duels.
• duelOnce.nb, a program that returns the survivor of a single duel.

You can go up one level to the MATHEMATICA source codes.

Last revised on 15 November 2009.