Software to Randomize Police Operations at LAX
owlgorithm writes "A USC research group has created software, named ARMOR (Assistant for Randomized Monitoring over Routes), that will be used at LAX Airport to make security and police operations there truly unpredictable. The software records the locations of routine, random vehicle checkpoints and canine searches at the airport, and police provide data on possible terrorist targets, based in part on recent security breaches or suspicious activity. The software then makes random decisions (which are thankfully based on calculated probabilities of terrorist attacks) and tells the police where to dispatch and when. The most notable detail is that terrorists who had access to ARMOR still wouldn't be able to predict the searches."
So it's not really random... A pattern must come out after a while.
Not at all. A "pattern" that's useful to a criminal would be knowing that there's always a checkpoint on Lane 1 on Mondays, or that they always check Lane 4, then Lane 2, then Lane 1, then Lane 3.
Using the probabilities means that at any given moment there's a 20% chance they'll be checking Lane 1 and a 30% chance they'll be checking Lane 2, but it doesn't tell you whether you should try to smuggle contraband through 1 or 2.
It's basically ideal game theory -- even if the other side knows what your algorithm is, they can't beat it since you're still playing randomly. The usual Computer Science example is a tennis player; you know there's a 60% chance that your opponent will hit it to your backhand and a 40% chance that they'll hit it to your forehand, but there's a limit to how far you can compensate either direction. Knowing the probability in that case doesn't tell you which side the ball is going to go to. (The real example is somewhat more convoluted, but you get the 10-second version)
There are plenty of ways to get true randomness using hardware. Keyboard click timings, hard drive seek time, radioactive decay monitoring (probably the best, since its based on quantum nondeterminism), capacitor level checking, CCD camera in a dark coffee can, and a bunch of others. No pure software solution exists, though.
Not a typewriter
There is a simple solution to this problem, don't use software to do the randomizing. A D20 and a book of rules are fairly resistant to hackers. In others words, if you roll a 4 or a 5 search person otherwise don't.
The smuggler knows that Lane 1 gives the best payoff, so he will try that one, but the customs people also know that, so they will check that one. Hm... but the smuggler knows that they know, so he'll try Lane 2 (the second best), but the customs people also know that, and the smuggler knows that too, so he will try the 1st one... Well, to make long story short, the best strategy for both sides is to use randomization, with probabilities calculated so that the expected payoff for the opponent is minimized.