Months ago, I rummaged through the bargain bin at Best Buy and found Risk (the board game) for the PC. I used to have a lot of fun with this with my friends when I was younger, so I thought “what the heck!” and bought it.
Being a board game geek, math nerd, and computer programmer, I wrote a program to calculate the odds of winning Risk™. My program ran through all the scenarios thousands of times, spit out the data, and I made some charts in Excel.
Without further ado…
Here is a chart showing your odds of winning a fight in Risk™:
But what about after you win? How many armies can you expect to have left? This should be an important piece of your strategy.
Here is the chart showing your remaining armies after the battle:
You can download the source code for the program, too. Here’s the link: Java program to caculate odds in Risk
This work is licensed under a
Creative Commons Attribution-Noncommercial-Share Alike 3.0 United States License.

I'm Mark Turansky, I'm the founder of
#1 by Jim Arvo on July 19, 2008 - 12:08 pm
Quote
Thanks for posting those numbers! Would you mind making the actual Excel spread sheets available? I’d like to use these numbers in a Risk-playing program, and I’d prefer not to type them all in, or generate them again. (Maybe they are posted somewhere here and I just missed them?)
Have you thought about how to compute these numbers in closed form? It doesn’t seem that it should be that difficult if done recursively. When I get the time (perhaps I should say *if*) I’m going to try this with Common Lisp, which supports bignums and rational arithmetic.
Thanks again for the useful information, from one Risk-playing nerd to another.
#2 by Jim Arvo on July 25, 2008 - 1:07 pm
Quote
Well, I’ve gone ahead and written a little Lisp program to compute the probabilities exactly. Fortunately, I had your table to compare against, so I could tell when I got it right. I’ve posted my results at http://www.ics.uci.edu/~arvo/risk/
My table matches yours quite closely. I’ve also posted a table of exact values just for fun. They are not practical at all as the rationals have *huge* numerators and denominators. However, it was easy to compute them using the bignum rational arithmetic of Common Lisp.
I’ve posted the recursive program that computes the exact probabilities of winning. It’s quite short. I haven’t written the corresponding program that computes the expected number of armies remaining yet, but that should be quite easy. I’ll update my page to include that once I’ve got it working correctly (and my numbers match yours).
#3 by phil on August 15, 2008 - 3:53 pm
Quote
For the number of armies left over after an attack, I assume that is the average… and so it would be interesting to know what the SD is for each case. That way you could assume that within 1 standard deviation from the mean I have a roughly 70% chance of maintaining this many guys; likewise, between two standard deviations from the mean I have a 95 percent chance of being left armies in some other range.
#4 by Daniel N. Lang on December 30, 2008 - 8:44 am
Quote
Hey, nice tables! I’ve been playing Risk for at least a decade and I’ve always been looking for something like that. I’ll probably try to calculate the numbers myself next
#5 by Risk Math Man on December 31, 2008 - 3:41 pm
Quote
Im very new to this game, but Im trying to figure out mathematically if it is better to have say people spread out in a fashion of 2,2,8 (in successive nebeioring countries, assuming you know that the attacking army will follow this path directly) or 1,1,10 or if it makes a difference at all. Im thinking that the fact that you may possibly get relatively more “2″ dice rolls (as apposed to “1″ dice rolls) in the first design might be important but Im not sure…(not sure if this makes any sense..)
Any ideas?