7 Information complexity: the complexity-theoretic notion of randomness 112
7.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1127.2 Information complexity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1127.3 The notion of a random sequence . . . . . . . . . . . . . . . . . . . . . . . . . . . 1177.4 Kolmogorov complexity and data compression . . . . . . . . . . . . . . . . . . . . 119
8 Pseudo-random numbers 124
8.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1248.2 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1248.3 Classical methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1258.4 The notion of a psuedorandom number generator . . . . . . . . . . . . . . . . . . 1278.5 One-way functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1308.6 Discrete square roots . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
9 Parallel algorithms 135
9.1 Parallel random access machines . . . . . . . . . . . . . . . . . . . . . . . . . . . 1359.2 The class NC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
10 Decision trees 143
10.1 Algorithms using decision trees . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14310.2 The notion of decision trees . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14610.3 Nondeterministic decision trees . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14710.4 Lower bounds on the depth of decision trees . . . . . . . . . . . . . . . . . . . . . 151
11 Communication complexity 155
11.1 Communication matrix and protocol-tree . . . . . . . . . . . . . . . . . . . . . . 15511.2 Some protocols . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15911.3 Non-deterministic communication complexity . . . . . . . . . . . . . . . . . . . . 16011.4 Randomized protocols . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164
12 The complexity of algebraic computations 16613 Circuit complexity 167
13.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16713.2 Lower bound for the Majority Function . . . . . . . . . . . . . . . . . . . . . . . 16813.3 Monotone circuits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170
14 An application of complexity: cryptography 172
14.1 A classical problem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17214.2 A simple complexity-theoretic model . . . . . . . . . . . . . . . . . . . . . . . . . 17214.3 Public-key cryptography . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17314.4 The Rivest-Shamir-Adleman code . . . . . . . . . . . . . . . . . . . . . . . . . . . 1750