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.
- To each input-length
- 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
.
- Let
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.