Protection of flows Protection of flows under targeted attacks - - PowerPoint PPT Presentation
Protection of flows Protection of flows under targeted attacks - - PowerPoint PPT Presentation
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
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 1 Fractional interdiction model 2 Flow fortification
The model s
2 3 2 t 1 3 u ≡ 2
capacitated network with interdiction costs
◮ c(e): cost of removing 1 unit flow from e
The model s
2 3 2 t 1 3 u ≡ 2 B = 2
capacitated network with interdiction costs
◮ c(e): cost of removing 1 unit flow from e ◮ B : interdictor budget
The model s
2 3 2 t 1 3 u ≡ 2 B = 2
(1) flow player: specify path flow x(P)
The model s
2 3 2 t 1 3 u ≡ 2 B = 2
(1) flow player: specify path flow x(P) (2) interdictor: specify removed flow z(P)
The model s
2 3 2 t 1 3 u ≡ 2 B = 2
(1) flow player: specify path flow x(P) (2) interdictor: specify removed flow z(P) interdictor greedily attacks weakest link: ¯ c(P) := mine∈P c(e)
The model s
2 3 2 t 1 3 u ≡ 2 B = 2
(1) flow player: specify path flow x(P) (2) interdictor: specify removed flow z(P) interdictor greedily attacks weakest link: ¯ c(P) := mine∈P c(e)
The model s
2 3 2 t 1 3 u ≡ 2 B = 2
(1) flow player: specify path flow x(P) (2) interdictor: specify removed flow z(P) interdictor greedily attacks weakest link: ¯ c(P) := mine∈P c(e) Z := {z : 0 ≤ z(P) ≤ x(P),
P ¯
c(P)z(P) ≤ B} robust value: valr(x) := minz∈Z
- P x(P) − z(P)
The model s
2 3 2 t 1 3 u ≡ 2 B = 2 z(P1) = 1
(1) flow player: specify path flow x(P) (2) interdictor: specify removed flow z(P) interdictor greedily attacks weakest link: ¯ c(P) := mine∈P c(e) Z := {z : 0 ≤ z(P) ≤ x(P),
P ¯
c(P)z(P) ≤ B} robust value: valr(x) := minz∈Z
- P x(P) − z(P)
The model s
2 3 2 t 1 3 u ≡ 2 B = 2 z(P1) = 1 z(P2) = 1/2
(1) flow player: specify path flow x(P) (2) interdictor: specify removed flow z(P) interdictor greedily attacks weakest link: ¯ c(P) := mine∈P c(e) Z := {z : 0 ≤ z(P) ≤ x(P),
P ¯
c(P)z(P) ≤ B} robust value: valr(x) := minz∈Z
- P x(P) − z(P)
The model s
2 3 2 t 1 3 u ≡ 2 B = 2 z(P1) = 1 z(P2) = 1/2 valr(x) = 3/2
(1) flow player: specify path flow x(P) (2) interdictor: specify removed flow z(P) interdictor greedily attacks weakest link: ¯ c(P) := mine∈P c(e) Z := {z : 0 ≤ z(P) ≤ x(P),
P ¯
c(P)z(P) ≤ B} robust value: valr(x) := minz∈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: valr(x∗) =
- P
x∗(P) − z∗(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: valr(x∗) =
- P
x∗(P) − z∗(P) =
- P
c′(P) C∗ (x∗(P) − z∗(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: valr(x∗) =
- P
x∗(P) − z∗(P) =
- P
c′(P) C∗ (x∗(P) − z∗(P)) =
- P c′(P)x∗(P)
C∗ − B 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: valr(x∗) =
- P
x∗(P) − z∗(P) =
- P
c′(P) C∗ (x∗(P) − z∗(P)) =
- P c′(P)x∗(P)
C∗ − B C∗ ≤ valr(x′)
Further results
G
∞
s s1
1
s2
2
t1 t2 t
1 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 and added interdiction costs c+(e) for e ∈ E
◮ fortification cost γ(e), fortification budget BF ◮ e∈E γ(e)c+(e)x(e) ≤ BF
(2) interdictor: attack flow on paths z(P) for P ∈ P
◮ cost of interdicting flow unit on P:
¯ c(P) := min
e∈P c0(e) + c+(e) ◮ fractionally interdict as before
s 2+1 3+0 2+1 t 1+1 3+0
Results for fortification variant
Theorem
It is NP-hard to decide whether OPT > 0. Proof idea: reduction from Disjoint Paths
Theorem
If c0 ≡ 0, then optimal flow and fortification strategy can be found in polynomial time. Proof idea:
◮ optimal fortification strategy: uniform interdiction cost
C+(x) := BF
- e γ(e)x(e)
◮ optimal flow: maximizes P x(P) − B/C+(x)
(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