Given the same inputs, most computer programs generate the same outputs every time, so they are said to be deterministic. Determinism is usually a good thing, since we expect the same calculation to yield the same result. For some applica- tions, though, we want the computer to be unpredictable. Games are an obvious example, but there are more.