**Summary**

- P vs NC.
- Problems with numerical parameters. The MaxFlow problem.
- StrongP.
- To each input-length , corresponds a program , which is a list of instructions.
- Each instruction of is one of:
- , where denotes a memory location, and denote either memory locations or constants, and .
**goto**, where is some line in the program.**if****goto**, where is a memory location, is one of , or .- : treats the value of memory location as a pointer, and sets memory location to the value of the memory location pointed to by . We ensure that the value of does not depend on any numerical coordinate, by propagation of an
*invalid-pointer*tag via instruction (i). **stop**. The output value is the value of the first memory location.

- Edmonds-Karp is a StrongP algorithm for MaxFlow.
- Ketan’s Class .
- StrongP is .
- StrongNC would be defined analogously as .
- Mulmuley’s paper shows that MaxFlow is not in – Even if you only require the algorithm to be correct for capacities of bit-length .
- In my opinion, this is the most interesting computational-complexity lower-bound that currently exists. I have truly lost all hope of coming up with a parallel algorithm for MaxFlow.
- In this class, we will show the same result for the restriction to linear operations (still interesting, Edmonds-Karp only uses linear operations).
- I.e., if we define linStrongP and linKC.
- We will show that MaxFlow is in linStrongP, but not in .
- Let us start by showing that weighted shortest st-path is in .
- Let denote the length of the shortest path between and , among all paths of length at most (so if no such path exists).
- The trick is to notice that .

**Potential project for those who need grading**

- Study and present the proof for the non-linear case. Milnor-Thom may be used as a black box, but Collins’ cylindrical decomposition must be learned and explained.