# TRUEL_SIMULATION Simulation of a Three-Person Duel

TRUEL_SIMULATION is a MATLAB program which simulates N instances of a duel between three players.

Player 1 fires at player 2 or 3, and hits with a probability of P(1). Then, if Player 2 is alive, he fires at Player 1 or 3, hitting with a probability of P(2). Then, if Player 3 is alive, he fires at Player 1 or 2, hitting with a probability of P(3). Play continues until only one duellist remains.

The simulation is intended to estimate the probabilities that a player will survive, and the number of turns required.

### Usage:

[ s, turn_average ] = truel_simulation ( p, duel_num )
where
• p is a vector of length 3 containing the probabilities that each player will hit the target they aim at on any given shot.
• duel_num is the number of duels to simulate.
• s is a vector of length 3 containing the probabilities that each player is the survivor.
• 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:

TRUEL_SIMULATION is available in a MATLAB version.

### Related Data and Programs:

BROWNIAN_MOTION_SIMULATION, a MATLAB program which simulates Brownian motion in an M-dimensional region.

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

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

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

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

HIGH_CARD_SIMULATION, a MATLAB program 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 program 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.

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

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

LORENZ_SIMULATION, 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;

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

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, a MATLAB program which 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."

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

SIR_SIMULATION, 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.

SNAKES_AND_LADDERS, MATLAB programs which simulate the game of Snakes and Ladders.

THREE_BODY_SIMULATION, a MATLAB program which simulates the behavior of three planets, constrained to lie in a plane, and moving under the influence of gravity, by Walter Gander and Jiri Hrebicek.

TRAFFIC_SIMULATION, a MATLAB program which simulates the cars waiting to get through a traffic light.

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. Marc Kilgour, Steven Brams,
The Truel,
Mathematics Magazine,
Volume 70, Number 5, December 1997, pages 315-326.
2. Paul Nahin,
Duelling Idiots and Other Probability Puzzlers,
Princeton University Press, 2000,
ISBN13: 978-0691009797,
LC: QA273.N29.
3. 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:

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

Last revised on 13 November 2009.