Protection of flows Protection of flows under targeted attacks under targeted attacks Jannik Matuschke Tom McCormick Gianpaolo Oriolo TU Berlin UBC Vancouver Tor Vergata Britta Peis Martin Skutella RWTH Aachen TU Berlin
Robust flows protect flow against link failures/targeted attacks
Robust flows protect flow against link failures/targeted attacks Adversarial model (1) flow player: specify nominal flow max (2) interdictor: reduce flow min
Robust flows protect flow against link failures/targeted attacks Adversarial model (1) flow player: specify nominal flow max (2) interdictor: reduce flow min This talk: new model with fractional flow interdiction
Outline Fractional interdiction model 1 Flow fortification 2
The model 2 1 s 2 t u ≡ 2 3 3 capacitated network with interdiction costs ◮ c ( e ): cost of removing 1 unit flow from e
The model 2 1 s 2 t u ≡ 2 3 3 B = 2 capacitated network with interdiction costs ◮ c ( e ): cost of removing 1 unit flow from e ◮ B : interdictor budget
The model 2 1 s 2 t u ≡ 2 3 3 B = 2 (1) flow player: specify path flow x ( P )
The model 2 1 s 2 t u ≡ 2 3 3 B = 2 (1) flow player: specify path flow x ( P ) (2) interdictor: specify removed flow z ( P )
The model 2 1 s 2 t u ≡ 2 3 3 B = 2 (1) flow player: specify path flow x ( P ) (2) interdictor: specify removed flow z ( P ) interdictor greedily attacks weakest link: ¯ c ( P ) := min e ∈ P c ( e )
The model 2 1 s 2 t u ≡ 2 3 3 B = 2 (1) flow player: specify path flow x ( P ) (2) interdictor: specify removed flow z ( P ) interdictor greedily attacks weakest link: ¯ c ( P ) := min e ∈ P c ( e )
The model 2 1 s 2 t u ≡ 2 3 3 B = 2 (1) flow player: specify path flow x ( P ) (2) interdictor: specify removed flow z ( P ) interdictor greedily attacks weakest link: ¯ c ( P ) := min e ∈ P c ( e ) Z := { z : 0 ≤ z ( P ) ≤ x ( P ) , � P ¯ c ( P ) z ( P ) ≤ B } robust value: val r ( x ) := min z ∈ Z P x ( P ) − z ( P ) �
The model z ( P 1 ) = 1 2 1 s 2 t u ≡ 2 3 3 B = 2 (1) flow player: specify path flow x ( P ) (2) interdictor: specify removed flow z ( P ) interdictor greedily attacks weakest link: ¯ c ( P ) := min e ∈ P c ( e ) Z := { z : 0 ≤ z ( P ) ≤ x ( P ) , � P ¯ c ( P ) z ( P ) ≤ B } robust value: val r ( x ) := min z ∈ Z P x ( P ) − z ( P ) �
The model z ( P 1 ) = 1 2 1 z ( P 2 ) = 1 / 2 s 2 t u ≡ 2 3 3 B = 2 (1) flow player: specify path flow x ( P ) (2) interdictor: specify removed flow z ( P ) interdictor greedily attacks weakest link: ¯ c ( P ) := min e ∈ P c ( e ) Z := { z : 0 ≤ z ( P ) ≤ x ( P ) , � P ¯ c ( P ) z ( P ) ≤ B } robust value: val r ( x ) := min z ∈ Z P x ( P ) − z ( P ) �
The model z ( P 1 ) = 1 2 1 z ( P 2 ) = 1 / 2 val r ( x ) = 3 / 2 s 2 t u ≡ 2 3 3 B = 2 (1) flow player: specify path flow x ( P ) (2) interdictor: specify removed flow z ( P ) interdictor greedily attacks weakest link: ¯ c ( P ) := min e ∈ P c ( e ) Z := { z : 0 ≤ z ( P ) ≤ x ( P ) , � P ¯ c ( P ) z ( P ) ≤ B } robust value: val r ( x ) := min z ∈ Z P x ( P ) − z ( P ) �
Optimal flow strategy Algorithm ◮ guess C ∗ := max { ¯ c ( P ) : z ∗ ( P ) > 0 } for optimal ( x ∗ , z ∗ )
Optimal flow strategy Algorithm ◮ guess C ∗ := max { ¯ c ( P ) : z ∗ ( P ) > 0 } for optimal ( x ∗ , z ∗ ) ◮ c ′ ( P ) := min { ¯ c ( P ) , C ∗ }
Optimal flow strategy Algorithm ◮ guess C ∗ := max { ¯ c ( P ) : z ∗ ( P ) > 0 } for optimal ( x ∗ , z ∗ ) ◮ c ′ ( P ) := min { ¯ c ( P ) , C ∗ } ◮ find flow x ′ maximizing � P c ′ ( P ) x ′ ( P )
Optimal flow strategy Algorithm ◮ guess C ∗ := max { ¯ c ( P ) : z ∗ ( P ) > 0 } for optimal ( x ∗ , z ∗ ) ◮ c ′ ( P ) := min { ¯ c ( P ) , C ∗ } ◮ find flow x ′ maximizing � P c ′ ( P ) x ′ ( P ) Theorem x ′ is an optimal robust flow.
Optimal flow strategy Algorithm ◮ guess C ∗ := max { ¯ c ( P ) : z ∗ ( P ) > 0 } for optimal ( x ∗ , z ∗ ) ◮ c ′ ( P ) := min { ¯ c ( P ) , C ∗ } ◮ find flow x ′ maximizing � P c ′ ( P ) x ′ ( P ) Theorem x ′ is an optimal robust flow. Proof idea: � val r ( x ∗ ) = x ∗ ( P ) − z ∗ ( P ) P
Optimal flow strategy Algorithm ◮ guess C ∗ := max { ¯ c ( P ) : z ∗ ( P ) > 0 } for optimal ( x ∗ , z ∗ ) ◮ c ′ ( P ) := min { ¯ c ( P ) , C ∗ } ◮ find flow x ′ maximizing � P c ′ ( P ) x ′ ( P ) Theorem x ′ is an optimal robust flow. Proof idea: c ′ ( P ) � � val r ( x ∗ ) = x ∗ ( P ) − z ∗ ( P ) = C ∗ ( x ∗ ( P ) − z ∗ ( P )) P P
Optimal flow strategy Algorithm ◮ guess C ∗ := max { ¯ c ( P ) : z ∗ ( P ) > 0 } for optimal ( x ∗ , z ∗ ) ◮ c ′ ( P ) := min { ¯ c ( P ) , C ∗ } ◮ find flow x ′ maximizing � P c ′ ( P ) x ′ ( P ) Theorem x ′ is an optimal robust flow. Proof idea: c ′ ( P ) � � val r ( x ∗ ) = x ∗ ( P ) − z ∗ ( P ) = C ∗ ( x ∗ ( P ) − z ∗ ( P )) P P P c ′ ( P ) x ∗ ( P ) � − B = C ∗ C ∗
Optimal flow strategy Algorithm ◮ guess C ∗ := max { ¯ c ( P ) : z ∗ ( P ) > 0 } for optimal ( x ∗ , z ∗ ) ◮ c ′ ( P ) := min { ¯ c ( P ) , C ∗ } ◮ find flow x ′ maximizing � P c ′ ( P ) x ′ ( P ) Theorem x ′ is an optimal robust flow. Proof idea: c ′ ( P ) � � val r ( x ∗ ) = x ∗ ( P ) − z ∗ ( P ) = C ∗ ( x ∗ ( P ) − z ∗ ( P )) P P P c ′ ( P ) x ∗ ( P ) � − B C ∗ ≤ val r ( x ′ ) = C ∗
Further results s 1 t 1 1 1 s G t 2 s 2 ∞ t 2 2 ◮ reduction from multi-commodity flow ◮ integral version NP -hard ◮ preserves combinatorial algorithms ◮ generalizes to packing problems on arbitrary set systems ◮ multi-commodity flow ◮ abstract flows ◮ b -matchings
Flow fortification (1) flow player: specify path flow x ( P ) for P ∈ P c + ( e ) for e ∈ E and added interdiction costs ◮ fortification cost γ ( e ), fortification budget B F e ∈ E γ ( e ) c + ( e ) x ( e ) ≤ B F ◮ � (2) interdictor: attack flow on paths z ( P ) for P ∈ P ◮ cost of interdicting flow unit on P : e ∈ P c 0 ( e ) + c + ( e ) c ( P ) := min ¯ ◮ fractionally interdict as before 2+1 1+1 s 2+1 t 3+0 3+0
Results for fortification variant Theorem It is NP -hard to decide whether OPT > 0. Proof idea: reduction from Disjoint Paths Theorem If c 0 ≡ 0, then optimal flow and fortification strategy can be found in polynomial time. Proof idea: ◮ optimal fortification strategy: uniform interdiction cost B F C + ( x ) := � e γ ( e ) x ( e ) P x ( P ) − B / C + ( x ) ◮ optimal flow: maximizes � (can be computed by min cost circulation)
Summary goal: robustness against targeted attacks New: model with fractional interdiction ◮ max robust flow in poly-time ◮ fortification: hard in general, but tractable in special case
Summary goal: robustness against targeted attacks New: model with fractional interdiction ◮ max robust flow in poly-time ◮ fortification: hard in general, but tractable in special case Thank you!
Recommend
More recommend