Cops announce where they are moving to on the graph. Can move to arbitrary vertices. (cops have helicopters)
The cops lack secure crypto, so the robber learns of their new planned locations as they form the plan, and decides on a new vertex to move based on this information.
Robber has a motorbike, so all the robber needs is some path from her current position to her new position that is free of cops (who are still their their current positions)
Robber moves to her new position and chills there.
Police then move with their (slow) helicopters to their committed position, and play continues.
Robber wins if robber can play the game infinitely without being caught.
Cops win if they can trap the robber into a configuration such that
In code:
defdo_cops_win(robber_cur_pos : Vec2,
cops_cur_pos : List[Vec2],
graph : Graph,
robber_stragy,
cop_strategy):whileTrue:# cops make strategy.
cops_new_pos = cop_strategy (cops_cur_pos)# cops don't know where robber is?# insecure channel, robber learns of this and plots strategy
robber_new_pos = robber_strategy(graph,
cops_cur_pos,# robber knows where the cops currently are
cops_new_pos,# robber also wknows where the cops plan to be (insecure channel)
robber_cur_pos)# robber tries to go to new position. If an avoiding path does not exist,# robber is trapped.ifnot avoiding_path_exists(robber_cur_pos, cops_cur_pos, robber_new_pos):return"cops win"# robber successfully makes it.
robber_cur_pos = robber_new_pos
# cops slowly make their way to their new position.
cops_cur_pos = cops_new_pos
Proof by picture. Consider a 3x3 grid, cells denoted by o:
XYZ
1|ooo
2|ooo
3|ooo
Cops will occupy the first column and the first cell of the first row:
XYZ
1|cco
2|coo
3|coo
This forces the robber to live in the rest of the grid, and crucially, cuts of access
to the top left position 1X. So in the next round, the cops will take the cop at 1Xand move her to 2Y. The inaccessible cell is marked with -, where the cops have a
guarantee that the robber cannot be:
XYZ
1|-co
2|cco
3|coo
Now note that the cell 2Yis similarly inaccessible, and thus also becomes -in the next turn.
XYZ
1|-co
2|-co
3|cco
Now we see that 3Xis unreachable, so we can take the cop at 3X and move her to 3Z to make 3Yinaccessible:
XYZ
1|-co
2|-co
3|-cc
Repeat:
XYZ
1|-co
2|-cc
3|--c
Victory for the cops:
XYZ
1|-cc
2|--c
3|--c
In general the cops have a winning strategy if the can "sweep" the graph, and maintain some territory that they expand in each turn.
Note that the for nxn grid, the max-cut (NOT min-cut) is n, and any smaller graph that we get after removing cut edges will have at most nedges. So we can use n cops to repeatedly cut of access. There's probably a log(2n)number of rounds strategy by subdivision that cuts of access by halving each round, either horizontally or vertically.
We make another version of the equation system, E~G, which is the same system, except for a fixed vertex c (for contradition), we change the parity of the equation to be ∑jx[e[c,j],b[j]]=¬parity(b).
See that we perturb 16 equations, for all possible choices of b for a fixed c.
See that this set of equations is unsatisfiable. Add up all equations that only have variables of the form x[e,0].
The sum of all left hand sides will be double counting each variable, since we make an equation for each vertex, but we have a variable per edge. So the LHS will be zero.
However, see that due to our perturbation, the RHS must be 1, since we changed the parity (TODO: make this more rigorous / proof by example).
Now we show that for each k, there is a large enough G such that EG≡C[k]EG~.
This means that FPC cannot distinguish between the cases where the solution is true and false.