Combinatorial Explosion Limitation of computation Edward Tsang (Copyright) Wednesday, 01 May 2019
Combinations In A Password Suppose you can only use 0 .. 9 to make a password Suppose your password has 4 digits How many possible combinations? 104 Because there are 10 choices for the first digit, 10 for the second digit, …, etc. So there are 10×10×10×10 combinations For a password with n digits, there are 10n possibilities The number of possibilities grows exponentially as n grows This is called combinatorial explosion Edward Tsang (Copyright) Wednesday, 01 May 2019
Combinatorial Explosion Impact Suppose you enter 1 password per second A 4 digit password would take 104 seconds Or approximately 3 hours 5 digits: 28 hours 6 digits: 12 days 7 digits: 116 days 8 digits: 3 years Entering 10 passwords per second helps but not very meaningful for very long passwords Edward Tsang (Copyright) Wednesday, 01 May 2019
Combinatorial Explosion in Chess A Naïve chess program explores every possible moves, and every possible moves after that. There are 20 possible moves at start, typically more possibilities in mid-game. Assuming 20 possibilities per move, the program that considers k moves ahead will look at 20k possibilities The number of possibilities grows exponentially as k grows A grand master often looks 10 moves ahead There are 2010 possibilities, or 10 trillion to evaluates A program that calculates 1 million possibilities per second will take 118 days to make one move
Challenge in Computation Today’s computers are fast But they fail to contain combinatorial explosion Combinatorial Explosion is a core issue in computation It prevented computers from cracking passwords, beating chess world champions sooner, … Much research in: Finding out what problems can be solved efficiently Developing specialized methods for special problems By exploiting their properties
Limited by Combinatorial Explosion What could one do? Finding near-solutions Improving our odds
Finding approximate solutions One may not be able to find the optimal solution, but… For large operations, a saving of 0.5% means £millions Lower cost higher chance to win a bid for construction projects So it helps to find near-solutions This is where optimization techniques may help
Improving the odds Given a fixed amount of time, one may not be able to guarantee finding solutions But being able to find solutions 65% of the time is better than 46% This is where heuristics may help
Summary Today’s computers are fast But not fast enough for some problems Due to the nature of the problem Combinatorial explosion is a major issue in computation