# Randomness Course Notes

# Definitions of Randomness

## Kolmogorov

Complexity of a seqyence = The shortest algorithm that produces it

### Martin-Löf

- A sequence is random is it passes all statistical tests
- It cannot be produced by a program shorter than itself

The digits of \pi are not random in this sense.

Not just "difficult to compute", there is no consistent way to define
*shortest algorithm*

It's impossible to find a way to ensure that a sequence is random. It's similar to halting problem in a way.

### My Idea

It might be possible to define algorithm in terms of a Turing machine. If the instructions of a Turing machine is shorter than the sequence itself, it's not random.

### Another idea

It says $P(b_n | s_{n-1}) = \frac{1}{2}$ for a binary sequence if the
random process is ideal. But *expecting* this might be against
randomness.

# Pseudorandomness

Producing *seemingly* random sequences by algorithms, given a *secret*
key.

The sequence is determined and can be inferred with a high computing power. But for practical purposes it's random.

# Uses of Randomness

- Randomized Algorithms: When a definite algorithm is too costly, it's possible to run randomized algorithms for e.g. checking whether a number is prime.
- Cryptography: When a message is needed to be encrypted with a secure key, the most secure way to produce a key is randomness.