Finding Temporal Paths under Waiting Time Constraints Philipp - - PowerPoint PPT Presentation
Finding Temporal Paths under Waiting Time Constraints Philipp - - PowerPoint PPT Presentation
Finding Temporal Paths under Waiting Time Constraints Philipp Zschoche TU Berlin July 7 2020, Algorithmic Aspects of Temporal Graphs III Based on joint work with Arnaud Casteigts, Anne-Sophie Himmel, and Hendrik Molter. Motivational Example:
Motivational Example: Disease Control
Source: The University of Hong Kong
Philipp Zschoche (TU Berlin) τ := lifetime 2 / 12
Motivational Example: Disease Control
Source: The University of Hong Kong
Infectious diseases are often transmitted via physical contact.
Philipp Zschoche (TU Berlin) τ := lifetime 2 / 12
Motivational Example: Disease Control
Source: The University of Hong Kong
Infectious diseases are often transmitted via physical contact. Contact Tracing:
(1) Identify and isolate infected persons (2) Isolate all potentially infected persons (by known cases).
Philipp Zschoche (TU Berlin) τ := lifetime 2 / 12
Motivational Example: Disease Control
Source: The University of Hong Kong
Infectious diseases are often transmitted via physical contact. Contact Tracing:
(1) Identify and isolate infected persons (2) Isolate all potentially infected persons (by known cases).
At time of identification: a person may started long infection chains.
Philipp Zschoche (TU Berlin) τ := lifetime 2 / 12
Motivational Example: Disease Control
Can s have (indirectly) infected z? Static graph:
s z
Philipp Zschoche (TU Berlin) τ := lifetime 3 / 12
Motivational Example: Disease Control
Can s have (indirectly) infected z? Static graph:
s z
Day 1:
s z
Philipp Zschoche (TU Berlin) τ := lifetime 3 / 12
Motivational Example: Disease Control
Can s have (indirectly) infected z? Static graph:
s z
Day 1:
s z
Philipp Zschoche (TU Berlin) τ := lifetime 3 / 12
Motivational Example: Disease Control
Can s have (indirectly) infected z? Static graph:
s z
Day 1:
s z
Day 2:
s z
Philipp Zschoche (TU Berlin) τ := lifetime 3 / 12
Motivational Example: Disease Control
Can s have (indirectly) infected z? Static graph:
s z
Day 1:
s z
Day 2:
s z
Day 3:
s z
Philipp Zschoche (TU Berlin) τ := lifetime 3 / 12
Motivational Example: Disease Control
Can s have (indirectly) infected z? Static graph:
s z
Day 1:
s z
Day 2:
s z
Day 3:
s z
⇒ Time information is crucial for infection transmission routes.
Philipp Zschoche (TU Berlin) τ := lifetime 3 / 12
Temporal Graphs – Formal Definition
A temporal graph G = (V,(Ei)i∈[τ]) is defined as vertex set V with a list of edge sets E1,...,Eτ over V, where τ is the lifetime of G.
Philipp Zschoche (TU Berlin) τ := lifetime 4 / 12
Temporal Graphs – Formal Definition
A temporal graph G = (V,(Ei)i∈[τ]) is defined as vertex set V with a list of edge sets E1,...,Eτ over V, where τ is the lifetime of G. G:
2 1 1 1, 2 2 3 3
Philipp Zschoche (TU Berlin) τ := lifetime 4 / 12
Temporal Graphs – Formal Definition
A temporal graph G = (V,(Ei)i∈[τ]) is defined as vertex set V with a list of edge sets E1,...,Eτ over V, where τ is the lifetime of G. G:
2 1 1 1, 2 2 3 3
G1: layers
Philipp Zschoche (TU Berlin) τ := lifetime 4 / 12
Temporal Graphs – Formal Definition
A temporal graph G = (V,(Ei)i∈[τ]) is defined as vertex set V with a list of edge sets E1,...,Eτ over V, where τ is the lifetime of G. G:
2 1 1 1, 2 2 3 3
G1: G2: layers
Philipp Zschoche (TU Berlin) τ := lifetime 4 / 12
Temporal Graphs – Formal Definition
A temporal graph G = (V,(Ei)i∈[τ]) is defined as vertex set V with a list of edge sets E1,...,Eτ over V, where τ is the lifetime of G. G:
2 1 1 1, 2 2 3 3
G1: G2: G3: layers
Philipp Zschoche (TU Berlin) τ := lifetime 4 / 12
Temporal Graphs – Formal Definition
A temporal graph G = (V,(Ei)i∈[τ]) is defined as vertex set V with a list of edge sets E1,...,Eτ over V, where τ is the lifetime of G. G:
2 1 1 1, 2 2 3 3
G1: G2: G3: G↓: layers underlying graph
Philipp Zschoche (TU Berlin) τ := lifetime 4 / 12
Motivation: Disease Spreading
Source: Robert Koch-Institut
Philipp Zschoche (TU Berlin) τ := lifetime 5 / 12
Motivation: Disease Spreading
Source: Robert Koch-Institut
Susceptible
Philipp Zschoche (TU Berlin) τ := lifetime 5 / 12
Motivation: Disease Spreading
Source: Robert Koch-Institut
Susceptible Infectious
Philipp Zschoche (TU Berlin) τ := lifetime 5 / 12
Motivation: Disease Spreading
Source: Robert Koch-Institut
Susceptible Infectious Recovered / Resistent
Philipp Zschoche (TU Berlin) τ := lifetime 5 / 12
Motivation: Disease Spreading
Source: Robert Koch-Institut
Susceptible Infectious Recovered / Resistent
- Infectious period:
5 days.
Philipp Zschoche (TU Berlin) τ := lifetime 5 / 12
Motivation: Disease Spreading
Source: Robert Koch-Institut
Susceptible Infectious Recovered / Resistent
- Infectious period:
5 days.
Day 1:
s z
Philipp Zschoche (TU Berlin) τ := lifetime 5 / 12
Motivation: Disease Spreading
Source: Robert Koch-Institut
Susceptible Infectious Recovered / Resistent
- Infectious period:
5 days.
Day 1:
s z
Day 4:
s z
Philipp Zschoche (TU Berlin) τ := lifetime 5 / 12
Motivation: Disease Spreading
Source: Robert Koch-Institut
Susceptible Infectious Recovered / Resistent
- Infectious period:
5 days.
Day 1:
s z
Day 4:
s z
Day 7:
s z
Philipp Zschoche (TU Berlin) τ := lifetime 5 / 12
Motivation: Disease Spreading
Source: Robert Koch-Institut
Susceptible Infectious Recovered / Resistent
- Infectious period:
5 days.
- Disease spreads along
paths with bounded waiting times.
Day 1:
s z
Day 4:
s z
Day 7:
s z
Philipp Zschoche (TU Berlin) τ := lifetime 5 / 12
Restless Paths – Formal Definition
A temporal (s,z)-path is a list of edges labeled with non-decreasing time steps that
Philipp Zschoche (TU Berlin) τ := lifetime 6 / 12
Restless Paths – Formal Definition
A temporal (s,z)-path is a list of edges labeled with non-decreasing time steps that
- the edges form an (s,z)-path in the underlying graph
Philipp Zschoche (TU Berlin) τ := lifetime 6 / 12
Restless Paths – Formal Definition
A ∆-restless temporal (s,z)-path is a list of edges labeled with non-decreasing time steps that
- the edges form an (s,z)-path in the underlying graph and
- consecutive time steps differ by at most ∆.
Philipp Zschoche (TU Berlin) τ := lifetime 6 / 12
Restless Paths – Formal Definition
A ∆-restless temporal (s,z)-path is a list of edges labeled with non-decreasing time steps that
- the edges form an (s,z)-path in the underlying graph and
- consecutive time steps differ by at most ∆.
temporal (s,z)-paths: s z 2 1 1 1 2 3 3 1-restless temporal (s,z)-path: s z 2 1 1 1 2 3 3
Philipp Zschoche (TU Berlin) τ := lifetime 6 / 12
Restless Paths – Formal Definition
A ∆-restless temporal (s,z)-path is a list of edges labeled with non-decreasing time steps that
- the edges form an (s,z)-path in the underlying graph and
- consecutive time steps differ by at most ∆.
temporal (s,z)-paths: s z 2 1 1 1 2 3 3 1-restless temporal (s,z)-path: s z 2 1 1 1 2 3 3
Philipp Zschoche (TU Berlin) τ := lifetime 6 / 12
Restless Paths – Formal Definition
A ∆-restless temporal (s,z)-path is a list of edges labeled with non-decreasing time steps that
- the edges form an (s,z)-path in the underlying graph and
- consecutive time steps differ by at most ∆.
temporal (s,z)-paths: s z 2 1 1 1 2 3 3 1-restless temporal (s,z)-path: s z 2 1 1 1 2 3 3
Philipp Zschoche (TU Berlin) τ := lifetime 6 / 12
Restless Paths – Formal Definition
A ∆-restless temporal (s,z)-path is a list of edges labeled with non-decreasing time steps that
- the edges form an (s,z)-path in the underlying graph and
- consecutive time steps differ by at most ∆.
temporal (s,z)-paths: s z 2 1 1 1 2 3 3 1-restless temporal (s,z)-path: s z 2 1 1 1 2 3 3
Philipp Zschoche (TU Berlin) τ := lifetime 6 / 12
Restless Paths – Formal Definition
A ∆-restless temporal (s,z)-path is a list of edges labeled with non-decreasing time steps that
- the edges form an (s,z)-path in the underlying graph and
- consecutive time steps differ by at most ∆.
temporal (s,z)-paths: s z 2 1 1 1 2 3 3 1-restless temporal (s,z)-path: s z 2 1 1 1 2 3 3
- Temporal Paths: Xuan et al. [IJFCS ’03], Wu et al. [IEEE TKDE ’16]
Philipp Zschoche (TU Berlin) τ := lifetime 6 / 12
Restless Paths – Formal Definition
A ∆-restless temporal (s,z)-path is a list of edges labeled with non-decreasing time steps that
- the edges form an (s,z)-path in the underlying graph and
- consecutive time steps differ by at most ∆.
temporal (s,z)-paths: s z 2 1 1 1 2 3 3 1-restless temporal (s,z)-path: s z 2 1 1 1 2 3 3
- Temporal Paths: Xuan et al. [IJFCS ’03], Wu et al. [IEEE TKDE ’16]
- Restless Temporal Walks: Himmel et al. [Complex Networks ’19]
Philipp Zschoche (TU Berlin) τ := lifetime 6 / 12
Restless (s,z)-Path
Input: A temporal graph G = (V,(Ei)i∈[τ]), two vertices s,z ∈ V, and an integer ∆.
Philipp Zschoche (TU Berlin) τ := lifetime 7 / 12
Restless (s,z)-Path
Input: A temporal graph G = (V,(Ei)i∈[τ]), two vertices s,z ∈ V, and an integer ∆. Question: Is there a ∆-restless temporal (s,z)-path in G?
Philipp Zschoche (TU Berlin) τ := lifetime 7 / 12
Restless (s,z)-Path
Input: A temporal graph G = (V,(Ei)i∈[τ]), two vertices s,z ∈ V, and an integer ∆. Question: Is there a ∆-restless temporal (s,z)-path in G?
para-NP-hard: “no” |G|f(k) time Max Degree Distance to Clique Lifetime
Philipp Zschoche (TU Berlin) τ := lifetime 7 / 12
Restless (s,z)-Path
Input: A temporal graph G = (V,(Ei)i∈[τ]), two vertices s,z ∈ V, and an integer ∆. Question: Is there a ∆-restless temporal (s,z)-path in G?
para-NP-hard: “no” |G|f(k) time Max Degree Distance to Clique Lifetime W[1]-hard: “no” f(k)·|G|O(1) time Distance to Disjoint Paths FVS Pathwith Treewidth
Philipp Zschoche (TU Berlin) τ := lifetime 7 / 12
Restless (s,z)-Path
Input: A temporal graph G = (V,(Ei)i∈[τ]), two vertices s,z ∈ V, and an integer ∆. Question: Is there a ∆-restless temporal (s,z)-path in G?
para-NP-hard: “no” |G|f(k) time Max Degree Distance to Clique Lifetime W[1]-hard: “no” f(k)·|G|O(1) time Distance to Disjoint Paths FVS Pathwith Treewidth FPT: f(k)·|G|O(1) time Vertex Cover Treedepth FES
Philipp Zschoche (TU Berlin) τ := lifetime 7 / 12
Restless (s,z)-Path
Input: A temporal graph G = (V,(Ei)i∈[τ]), two vertices s,z ∈ V, and an integer ∆. Question: Is there a ∆-restless temporal (s,z)-path in G?
para-NP-hard: “no” |G|f(k) time Max Degree Distance to Clique Lifetime W[1]-hard: “no” f(k)·|G|O(1) time Distance to Disjoint Paths FVS Pathwith Treewidth FPT: f(k)·|G|O(1) time Vertex Cover Treedepth FES Restless Path Length
Philipp Zschoche (TU Berlin) τ := lifetime 7 / 12
Restless (s,z)-Path
Input: A temporal graph G = (V,(Ei)i∈[τ]), two vertices s,z ∈ V, and an integer ∆. Question: Is there a ∆-restless temporal (s,z)-path in G?
para-NP-hard: “no” |G|f(k) time Max Degree Distance to Clique Lifetime W[1]-hard: “no” f(k)·|G|O(1) time Distance to Disjoint Paths FVS Pathwith Treewidth FPT: f(k)·|G|O(1) time Vertex Cover Treedepth FES Restless Path Length
static
Philipp Zschoche (TU Berlin) τ := lifetime 7 / 12
Restless (s,z)-Path
Input: A temporal graph G = (V,(Ei)i∈[τ]), two vertices s,z ∈ V, and an integer ∆. Question: Is there a ∆-restless temporal (s,z)-path in G?
para-NP-hard: “no” |G|f(k) time Max Degree Distance to Clique Lifetime W[1]-hard: “no” f(k)·|G|O(1) time Distance to Disjoint Paths FVS Pathwith Treewidth FPT: f(k)·|G|O(1) time Vertex Cover Treedepth FES Restless Path Length
static
Timed FVS
Philipp Zschoche (TU Berlin) τ := lifetime 7 / 12
Invitation to Temporal Graph Parameters
Philipp Zschoche (TU Berlin) τ := lifetime 8 / 12
Invitation to Temporal Graph Parameters
Parameterized Complexity: categorize on which instances a problem is solvable (or presumably not).
Philipp Zschoche (TU Berlin) τ := lifetime 8 / 12
Invitation to Temporal Graph Parameters
Parameterized Complexity: categorize on which instances a problem is solvable (or presumably not). For static graph problems, literature has many parameters to do this: Vertex Cover, FVS, Treewidth, Diameter, etc.
Philipp Zschoche (TU Berlin) τ := lifetime 8 / 12
Invitation to Temporal Graph Parameters
Parameterized Complexity: categorize on which instances a problem is solvable (or presumably not). For static graph problems, literature has many parameters to do this: Vertex Cover, FVS, Treewidth, Diameter, etc. Temporal graph problems: often intractable:
Philipp Zschoche (TU Berlin) τ := lifetime 8 / 12
Invitation to Temporal Graph Parameters
Parameterized Complexity: categorize on which instances a problem is solvable (or presumably not). For static graph problems, literature has many parameters to do this: Vertex Cover, FVS, Treewidth, Diameter, etc. Temporal graph problems: often intractable:
- Temporal Vertex Cover is NP-hard on stars,
[Akrida et al., ICALP ’18]
Philipp Zschoche (TU Berlin) τ := lifetime 8 / 12
Invitation to Temporal Graph Parameters
Parameterized Complexity: categorize on which instances a problem is solvable (or presumably not). For static graph problems, literature has many parameters to do this: Vertex Cover, FVS, Treewidth, Diameter, etc. Temporal graph problems: often intractable:
- Temporal Vertex Cover is NP-hard on stars,
[Akrida et al., ICALP ’18]
- Temporal Matching is NP-hard on path,
[Mertzios et al., STACS ’20]
Philipp Zschoche (TU Berlin) τ := lifetime 8 / 12
Invitation to Temporal Graph Parameters
Parameterized Complexity: categorize on which instances a problem is solvable (or presumably not). For static graph problems, literature has many parameters to do this: Vertex Cover, FVS, Treewidth, Diameter, etc. Temporal graph problems: often intractable:
- Temporal Vertex Cover is NP-hard on stars,
[Akrida et al., ICALP ’18]
- Temporal Matching is NP-hard on path,
[Mertzios et al., STACS ’20]
- Temporal Exploration is W[1]-hard for pathwidth, and
[Bodlaender et al., IPL ’19]
Philipp Zschoche (TU Berlin) τ := lifetime 8 / 12
Invitation to Temporal Graph Parameters
Parameterized Complexity: categorize on which instances a problem is solvable (or presumably not). For static graph problems, literature has many parameters to do this: Vertex Cover, FVS, Treewidth, Diameter, etc. Temporal graph problems: often intractable:
- Temporal Vertex Cover is NP-hard on stars,
[Akrida et al., ICALP ’18]
- Temporal Matching is NP-hard on path,
[Mertzios et al., STACS ’20]
- Temporal Exploration is W[1]-hard for pathwidth, and
[Bodlaender et al., IPL ’19]
- Restless Path is W[1]-hard for FVS.
Philipp Zschoche (TU Berlin) τ := lifetime 8 / 12
Invitation to Temporal Graph Parameters
Parameterized Complexity: categorize on which instances a problem is solvable (or presumably not). For static graph problems, literature has many parameters to do this: Vertex Cover, FVS, Treewidth, Diameter, etc. Temporal graph problems: often intractable:
- Temporal Vertex Cover is NP-hard on stars,
[Akrida et al., ICALP ’18]
- Temporal Matching is NP-hard on path,
[Mertzios et al., STACS ’20]
- Temporal Exploration is W[1]-hard for pathwidth, and
[Bodlaender et al., IPL ’19]
- Restless Path is W[1]-hard for FVS.
With “+τ”: many problems become FPT, e.g., Restless Path with FVS+τ.
Philipp Zschoche (TU Berlin) τ := lifetime 8 / 12
Invitation to Temporal Graph Parameters
Parameterized Complexity: categorize on which instances a problem is solvable (or presumably not). For static graph problems, literature has many parameters to do this: Vertex Cover, FVS, Treewidth, Diameter, etc. Temporal graph problems: often intractable:
- Temporal Vertex Cover is NP-hard on stars,
[Akrida et al., ICALP ’18]
- Temporal Matching is NP-hard on path,
[Mertzios et al., STACS ’20]
- Temporal Exploration is W[1]-hard for pathwidth, and
[Bodlaender et al., IPL ’19]
- Restless Path is W[1]-hard for FVS.
With “+τ”: many problems become FPT, e.g., Restless Path with FVS+τ. We need new parameters to understand this gap.
Philipp Zschoche (TU Berlin) τ := lifetime 8 / 12
Invitation to Temporal Graph Parameters
Parameterized Complexity: categorize on which instances a problem is solvable (or presumably not). For static graph problems, literature has many parameters to do this: Vertex Cover, FVS, Treewidth, Diameter, etc. Temporal graph problems: often intractable:
- Temporal Vertex Cover is NP-hard on stars,
[Akrida et al., ICALP ’18]
- Temporal Matching is NP-hard on path,
[Mertzios et al., STACS ’20]
- Temporal Exploration is W[1]-hard for pathwidth, and
[Bodlaender et al., IPL ’19]
- Restless Path is W[1]-hard for FVS.
With “+τ”: many problems become FPT, e.g., Restless Path with FVS+τ. We need new parameters to understand this gap. Today: Lifting Feedback Vertex Set for path-related temporal problems.
Philipp Zschoche (TU Berlin) τ := lifetime 8 / 12
Timed Feedback Vertex Set I
Underlying FVS: min |S|: G↓ −S is a forest. (v,t)
Philipp Zschoche (TU Berlin) τ := lifetime 9 / 12
Timed Feedback Vertex Set I
Underlying FVS: min |S|: G↓ −S is a forest. (v,t)
Philipp Zschoche (TU Berlin) τ := lifetime 9 / 12
Timed Feedback Vertex Set I
Underlying FVS: min |S|: G↓ −S is a forest. Timed FVS: Idea: delete vertex appearances (e,t) (v,t) (v,t)
Philipp Zschoche (TU Berlin) τ := lifetime 9 / 12
Timed Feedback Vertex Set I
Underlying FVS: min |S|: G↓ −S is a forest. Timed FVS: Idea: delete vertex appearances Formal:
- min. size X ⊆ V × [τ] such that
G↓(G −X) := (V,E′) is a forest, (e,t) (v,t) (v,t)
Philipp Zschoche (TU Berlin) τ := lifetime 9 / 12
Timed Feedback Vertex Set I
Underlying FVS: min |S|: G↓ −S is a forest. Timed FVS: Idea: delete vertex appearances Formal:
- min. size X ⊆ V × [τ] such that
G↓(G −X) := (V,E′) is a forest, (e,t) (v,t) (v,t) where E′ := {{v,w} | ∃t : {v,w} ∈ Et ∧{(v,t),(w,t)}∩X = / 0}.
Philipp Zschoche (TU Berlin) τ := lifetime 9 / 12
Timed Feedback Vertex Set I
Underlying FVS: min |S|: G↓ −S is a forest. Timed FVS: Idea: delete vertex appearances Formal:
- min. size X ⊆ V × [τ] such that
G↓(G −X) := (V,E′) is a forest, (e,t) (v,t) (v,t) where E′ := {{v,w} | ∃t : {v,w} ∈ Et ∧{(v,t),(w,t)}∩X = / 0}. Structural properties: Similar to FVS in static graphs.
Philipp Zschoche (TU Berlin) τ := lifetime 9 / 12
Timed Feedback Vertex Set I
Underlying FVS: min |S|: G↓ −S is a forest. Timed FVS: Idea: delete vertex appearances Formal:
- min. size X ⊆ V × [τ] such that
G↓(G −X) := (V,E′) is a forest, (e,t) (v,t) (v,t) where E′ := {{v,w} | ∃t : {v,w} ∈ Et ∧{(v,t),(w,t)}∩X = / 0}. Structural properties: Similar to FVS in static graphs. Observation Underlying FVS ≤ Timed FVS ≤ Underlying FVS ·τ
Philipp Zschoche (TU Berlin) τ := lifetime 9 / 12
Timed Feedback Vertex Set I
Underlying FVS: min |S|: G↓ −S is a forest. Timed FVS: Idea: delete vertex appearances Formal:
- min. size X ⊆ V × [τ] such that
G↓(G −X) := (V,E′) is a forest, (e,t) (v,t) (v,t) where E′ := {{v,w} | ∃t : {v,w} ∈ Et ∧{(v,t),(w,t)}∩X = / 0}. Structural properties: Similar to FVS in static graphs. Observation Underlying FVS ≤ Timed FVS ≤ Underlying FVS ·τ algorithmically useful: NP-hard, but FPT. O∗(4x) time
Philipp Zschoche (TU Berlin) τ := lifetime 9 / 12
How to use Timed FVS
Theorem Restless Path is FPT parameterized by Timed FVS.
Philipp Zschoche (TU Berlin) τ := lifetime 10 / 12
How to use Timed FVS
Theorem Restless Path is FPT parameterized by Timed FVS.
- Alg. Outline: Let X be the Timed FVS.
Philipp Zschoche (TU Berlin) τ := lifetime 10 / 12
How to use Timed FVS
Theorem Restless Path is FPT parameterized by Timed FVS.
- Alg. Outline: Let X be the Timed FVS.
(1) Guess whether (v,t) is Incoming, Outgoing, or unused.
Philipp Zschoche (TU Berlin) τ := lifetime 10 / 12
How to use Timed FVS
Theorem Restless Path is FPT parameterized by Timed FVS.
- Alg. Outline: Let X be the Timed FVS.
(1) Guess whether (v,t) is Incoming, Outgoing, or unused. (2) Drop unused (v,t) from temporal graph.
Philipp Zschoche (TU Berlin) τ := lifetime 10 / 12
How to use Timed FVS
Theorem Restless Path is FPT parameterized by Timed FVS.
- Alg. Outline: Let X be the Timed FVS.
(1) Guess whether (v,t) is Incoming, Outgoing, or unused. (2) Drop unused (v,t) from temporal graph. (3) Guess order of the remainder in X.
Philipp Zschoche (TU Berlin) τ := lifetime 10 / 12
How to use Timed FVS
Theorem Restless Path is FPT parameterized by Timed FVS.
- Alg. Outline: Let X be the Timed FVS.
(1) Guess whether (v,t) is Incoming, Outgoing, or unused. (2) Drop unused (v,t) from temporal graph. (3) Guess order of the remainder in X. (4) Check for time edges between consecutive (v,t),(w,t) ∈ X.
Philipp Zschoche (TU Berlin) τ := lifetime 10 / 12
How to use Timed FVS
Theorem Restless Path is FPT parameterized by Timed FVS.
- Alg. Outline: Let X be the Timed FVS.
(1) Guess whether (v,t) is Incoming, Outgoing, or unused. (2) Drop unused (v,t) from temporal graph. (3) Guess order of the remainder in X. (4) Check for time edges between consecutive (v,t),(w,t) ∈ X.
(v,t1) ∈ O (w,t2) ∈ O ? (v,t1) ∈ O (w,t2) ∈ O ?
- {v,w} ∈ Et1, t2 −∆ ≤ t1?
max{t1,t2 −∆} ≤ t′ ≤ min{t2,t1 +∆}?
Philipp Zschoche (TU Berlin) τ := lifetime 10 / 12
How to use Timed FVS
Theorem Restless Path is FPT parameterized by Timed FVS.
- Alg. Outline: Let X be the Timed FVS.
(1) Guess whether (v,t) is Incoming, Outgoing, or unused. (2) Drop unused (v,t) from temporal graph. (3) Guess order of the remainder in X. (4) Check for time edges between consecutive (v,t),(w,t) ∈ X.
(v,t1) ∈ O (w,t2) ∈ O ? (v,t1) ∈ O (w,t2) ∈ O ?
- {v,w} ∈ Et1, t2 −∆ ≤ t1?
(v,t1) ∈ I (w,t2) ∈ I ?
- {v,w} ∈ Et2, t2 ≤ t1 +∆?
max{t1,t2 −∆} ≤ t′ ≤ min{t2,t1 +∆}?
Philipp Zschoche (TU Berlin) τ := lifetime 10 / 12
How to use Timed FVS
Theorem Restless Path is FPT parameterized by Timed FVS.
- Alg. Outline: Let X be the Timed FVS.
(1) Guess whether (v,t) is Incoming, Outgoing, or unused. (2) Drop unused (v,t) from temporal graph. (3) Guess order of the remainder in X. (4) Check for time edges between consecutive (v,t),(w,t) ∈ X.
(v,t1) ∈ O (w,t2) ∈ O ? (v,t1) ∈ O (w,t2) ∈ O ?
- {v,w} ∈ Et1, t2 −∆ ≤ t1?
(v,t1) ∈ I (w,t2) ∈ I ?
- {v,w} ∈ Et2, t2 ≤ t1 +∆?
(v,t1) ∈ O (w,t2) ∈ I ?
- {v,w} ∈ Et2, t1 = t2?
max{t1,t2 −∆} ≤ t′ ≤ min{t2,t1 +∆}?
Philipp Zschoche (TU Berlin) τ := lifetime 10 / 12
How to use Timed FVS
Theorem Restless Path is FPT parameterized by Timed FVS.
- Alg. Outline: Let X be the Timed FVS.
(1) Guess whether (v,t) is Incoming, Outgoing, or unused. (2) Drop unused (v,t) from temporal graph. (3) Guess order of the remainder in X. (4) Check for time edges between consecutive (v,t),(w,t) ∈ X.
(v,t1) ∈ O (w,t2) ∈ O ? (v,t1) ∈ O (w,t2) ∈ O ?
- {v,w} ∈ Et1, t2 −∆ ≤ t1?
(v,t1) ∈ I (w,t2) ∈ I ?
- {v,w} ∈ Et2, t2 ≤ t1 +∆?
(v,t1) ∈ O (w,t2) ∈ I ?
- {v,w} ∈ Et2, t1 = t2?
(v,t1) ∈ I (w,t2) ∈ O ?
- max{t1,t2 −∆} ≤ t′ ≤ min{t2,t1 +∆}?
max{t1,t2 −∆} ≤ t′ ≤ min{t2,t1 +∆}? {v,w} ∈ Et′,
Philipp Zschoche (TU Berlin) τ := lifetime 10 / 12
How to use Timed FVS
Theorem Restless Path is FPT parameterized by Timed FVS.
- Alg. Outline: Let X be the Timed FVS.
(1) Guess whether (v,t) is Incoming, Outgoing, or unused. (2) Drop unused (v,t) from temporal graph. (3) Guess order of the remainder in X. (4) Check for time edges between consecutive (v,t),(w,t) ∈ X. (5) Find “unknown parts” with Multicolored Ind. Set on Chordal Graphs.
(v,t1) ∈ O (w,t2) ∈ O ? (v,t1) ∈ O (w,t2) ∈ O ?
- {v,w} ∈ Et1, t2 −∆ ≤ t1?
(v,t1) ∈ I (w,t2) ∈ I ?
- {v,w} ∈ Et2, t2 ≤ t1 +∆?
(v,t1) ∈ O (w,t2) ∈ I ?
- {v,w} ∈ Et2, t1 = t2?
(v,t1) ∈ I (w,t2) ∈ O ?
- max{t1,t2 −∆} ≤ t′ ≤ min{t2,t1 +∆}?
{v,w} ∈ Et′,
Philipp Zschoche (TU Berlin) τ := lifetime 10 / 12
Resolve Unknown Parts
First, if (v,t) is still in X remove v from T↓ := G↓(G −X).
Philipp Zschoche (TU Berlin) τ := lifetime 11 / 12
Resolve Unknown Parts
First, if (v,t) is still in X remove v from T↓ := G↓(G −X).
s v w ... z
Philipp Zschoche (TU Berlin) τ := lifetime 11 / 12
Resolve Unknown Parts
First, if (v,t) is still in X remove v from T↓ := G↓(G −X).
s v w ... z
Philipp Zschoche (TU Berlin) τ := lifetime 11 / 12
Resolve Unknown Parts
First, if (v,t) is still in X remove v from T↓ := G↓(G −X).
s v w ... z x y t1 t2
For time edge e1 = ({v,x},t1) and e2 = ({w,y},t2):
- Is departure time t1 and arrival time t2 “valid” (4 cases again)?
Philipp Zschoche (TU Berlin) τ := lifetime 11 / 12
Resolve Unknown Parts
First, if (v,t) is still in X remove v from T↓ := G↓(G −X).
s v w ... z x y t1 t2
For time edge e1 = ({v,x},t1) and e2 = ({w,y},t2):
- Is departure time t1 and arrival time t2 “valid” (4 cases again)?
- Is there a path P from x to y in T↓?
Philipp Zschoche (TU Berlin) τ := lifetime 11 / 12
Resolve Unknown Parts
First, if (v,t) is still in X remove v from T↓ := G↓(G −X).
s v w ... z x y t1 t2
For time edge e1 = ({v,x},t1) and e2 = ({w,y},t2):
- Is departure time t1 and arrival time t2 “valid” (4 cases again)?
- Is there a path P from x to y in T↓?
- Is there a ∆-restless path v to w in G[P] plus e1,e2?
Philipp Zschoche (TU Berlin) τ := lifetime 11 / 12
Resolve Unknown Parts
First, if (v,t) is still in X remove v from T↓ := G↓(G −X).
s v w ... z x y t1 t2
For time edge e1 = ({v,x},t1) and e2 = ({w,y},t2):
- Is departure time t1 and arrival time t2 “valid” (4 cases again)?
- Is there a path P from x to y in T↓?
- Is there a ∆-restless path v to w in G[P] plus e1,e2?
Lemma Restless Path linear time solvable on path.
Philipp Zschoche (TU Berlin) τ := lifetime 11 / 12
Resolve Unknown Parts
First, if (v,t) is still in X remove v from T↓ := G↓(G −X).
s v w ... z x y t1 t2
For time edge e1 = ({v,x},t1) and e2 = ({w,y},t2):
- Is departure time t1 and arrival time t2 “valid” (4 cases again)?
- Is there a path P from x to y in T↓?
- Is there a ∆-restless path v to w in G[P] plus e1,e2?
Lemma Restless Path linear time solvable on path.
Philipp Zschoche (TU Berlin) τ := lifetime 11 / 12
Resolve Unknown Parts
First, if (v,t) is still in X remove v from T↓ := G↓(G −X).
s v w ... z x y t1 t2
For time edge e1 = ({v,x},t1) and e2 = ({w,y},t2):
- Is departure time t1 and arrival time t2 “valid” (4 cases again)?
- Is there a path P from x to y in T↓?
- Is there a ∆-restless path v to w in G[P] plus e1,e2?
Intersection graphs of paths in trees are chordal. Lemma Restless Path linear time solvable on path.
Philipp Zschoche (TU Berlin) τ := lifetime 11 / 12
Resolve Unknown Parts
First, if (v,t) is still in X remove v from T↓ := G↓(G −X).
s v w ... z x y t1 t2
For time edge e1 = ({v,x},t1) and e2 = ({w,y},t2):
- Is departure time t1 and arrival time t2 “valid” (4 cases again)?
- Is there a path P from x to y in T↓?
- Is there a ∆-restless path v to w in G[P] plus e1,e2?
Intersection graphs of paths in trees are chordal. Lemma Restless Path linear time solvable on path. Lemma (Bentert et al., J. Scheduling 19) Multicolored Ind. Set on Chordal Graphs is FPT with # of colors.
Philipp Zschoche (TU Berlin) τ := lifetime 11 / 12
Conclusion
static
W[1]-hard: para-NP-hard: Distance to Clique Vertex Cover Timed FVS Distance to Disjoint Paths Treedepth FES Max Degree Restless Path Length FVS Pathwith Treewidth Lifetime
Philipp Zschoche (TU Berlin) τ := lifetime 12 / 12
Conclusion
static
W[1]-hard: para-NP-hard: Distance to Clique Vertex Cover Timed FVS Distance to Disjoint Paths Treedepth FES Max Degree Restless Path Length FVS Pathwith Treewidth Lifetime
Future: temporal parameters!
Philipp Zschoche (TU Berlin) τ := lifetime 12 / 12
Conclusion
static
W[1]-hard: para-NP-hard: Distance to Clique Vertex Cover Timed FVS Distance to Disjoint Paths Treedepth FES Max Degree Restless Path Length FVS Pathwith Treewidth Lifetime
Future: temporal parameters! How to design?
Philipp Zschoche (TU Berlin) τ := lifetime 12 / 12
Conclusion
static
W[1]-hard: para-NP-hard: Distance to Clique Vertex Cover Timed FVS Distance to Disjoint Paths Treedepth FES Max Degree Restless Path Length FVS Pathwith Treewidth Lifetime
Future: temporal parameters! How to design? How to compute?
Philipp Zschoche (TU Berlin) τ := lifetime 12 / 12
Conclusion
static
W[1]-hard: para-NP-hard: Distance to Clique Vertex Cover Timed FVS Distance to Disjoint Paths Treedepth FES Max Degree Restless Path Length FVS Pathwith Treewidth Lifetime
Future: temporal parameters! How to design? How to compute? Experiments?
Philipp Zschoche (TU Berlin) τ := lifetime 12 / 12
Conclusion
static
W[1]-hard: para-NP-hard: Distance to Clique Vertex Cover Timed FVS Distance to Disjoint Paths Treedepth FES Max Degree Restless Path Length FVS Pathwith Treewidth Lifetime
Future: temporal parameters! How to design? How to compute? Experiments? Thank you!
Philipp Zschoche (TU Berlin) τ := lifetime 12 / 12