Interval Graphs e c b f g a d I : representation of closed intervals interval graphs: V ↔ I such that ( u , v ) ∈ E iff u and v intersect Every induced cycle of an interval graph is a triangle Compute maximal S -forests F S based on I Dynamic programming approach C. Papadopoulos (UoI) SFVS on Interval and Permutation Bordeaux, FCT 2017 8 / 21
Interval Graphs e c b f g a d I : representation of closed intervals interval graphs: V ↔ I such that ( u , v ) ∈ E iff u and v intersect Every induced cycle of an interval graph is a triangle Compute maximal S -forests F S based on I Dynamic programming approach Scan vertices from left-to-right according to their right endpoint C. Papadopoulos (UoI) SFVS on Interval and Permutation Bordeaux, FCT 2017 8 / 21
Interval Graphs e V a c b f g a d I : representation of closed intervals interval graphs: V ↔ I such that ( u , v ) ∈ E iff u and v intersect Every induced cycle of an interval graph is a triangle Compute maximal S -forests F S based on I Dynamic programming approach Scan vertices from left-to-right according to their right endpoint We grow appropriately each maximal S -forest C. Papadopoulos (UoI) SFVS on Interval and Permutation Bordeaux, FCT 2017 8 / 21
Interval Graphs e V b c b f g a d I : representation of closed intervals interval graphs: V ↔ I such that ( u , v ) ∈ E iff u and v intersect Every induced cycle of an interval graph is a triangle Compute maximal S -forests F S based on I Dynamic programming approach Scan vertices from left-to-right according to their right endpoint We grow appropriately each maximal S -forest C. Papadopoulos (UoI) SFVS on Interval and Permutation Bordeaux, FCT 2017 8 / 21
Interval Graphs e V c c b f g a d I : representation of closed intervals interval graphs: V ↔ I such that ( u , v ) ∈ E iff u and v intersect Every induced cycle of an interval graph is a triangle Compute maximal S -forests F S based on I Dynamic programming approach Scan vertices from left-to-right according to their right endpoint We grow appropriately each maximal S -forest C. Papadopoulos (UoI) SFVS on Interval and Permutation Bordeaux, FCT 2017 8 / 21
Interval Graphs e V d c b f g a d I : representation of closed intervals interval graphs: V ↔ I such that ( u , v ) ∈ E iff u and v intersect Every induced cycle of an interval graph is a triangle Compute maximal S -forests F S based on I Dynamic programming approach Scan vertices from left-to-right according to their right endpoint We grow appropriately each maximal S -forest C. Papadopoulos (UoI) SFVS on Interval and Permutation Bordeaux, FCT 2017 8 / 21
Interval Graphs e V e c b f g a d I : representation of closed intervals interval graphs: V ↔ I such that ( u , v ) ∈ E iff u and v intersect Every induced cycle of an interval graph is a triangle Compute maximal S -forests F S based on I Dynamic programming approach Scan vertices from left-to-right according to their right endpoint We grow appropriately each maximal S -forest C. Papadopoulos (UoI) SFVS on Interval and Permutation Bordeaux, FCT 2017 8 / 21
Interval Graphs e V f c b f g a d I : representation of closed intervals interval graphs: V ↔ I such that ( u , v ) ∈ E iff u and v intersect Every induced cycle of an interval graph is a triangle Compute maximal S -forests F S based on I Dynamic programming approach Scan vertices from left-to-right according to their right endpoint We grow appropriately each maximal S -forest C. Papadopoulos (UoI) SFVS on Interval and Permutation Bordeaux, FCT 2017 8 / 21
Interval Graphs e V g = V c b f g a d I : representation of closed intervals interval graphs: V ↔ I such that ( u , v ) ∈ E iff u and v intersect Every induced cycle of an interval graph is a triangle Compute maximal S -forests F S based on I Dynamic programming approach Scan vertices from left-to-right according to their right endpoint We grow appropriately each maximal S -forest C. Papadopoulos (UoI) SFVS on Interval and Permutation Bordeaux, FCT 2017 8 / 21
Predecessors e c b f g a d The left and right endpoints of the intervals define ≤ ℓ and ≤ r : j i ≤ l j ⇐ ⇒ ℓ ( i ) ≤ ℓ ( j ) i i ≤ r j ⇐ ⇒ r ( i ) ≤ r ( j ) ℓ ( i ) ℓ ( j ) r ( i ) r ( j ) 1 C. Papadopoulos (UoI) SFVS on Interval and Permutation Bordeaux, FCT 2017 9 / 21
Predecessors e c b f g a d The left and right endpoints of the intervals define ≤ ℓ and ≤ r : j i ≤ l j ⇐ ⇒ ℓ ( i ) ≤ ℓ ( j ) i i ≤ r j ⇐ ⇒ r ( i ) ≤ r ( j ) ℓ ( i ) ℓ ( j ) r ( i ) r ( j ) 1 Predecessors of an interval i : < i = r - max( V i \ { i } ) the last interval that finishes before i finishes ≪ i = r - max( V i \ ( { i } ∪ { h ∈ V : { h , i } ∈ E } )) the last interval that finishes before i starts C. Papadopoulos (UoI) SFVS on Interval and Permutation Bordeaux, FCT 2017 9 / 21
Predecessors e c b f g a d The left and right endpoints of the intervals define ≤ ℓ and ≤ r : j i ≤ l j ⇐ ⇒ ℓ ( i ) ≤ ℓ ( j ) i i ≤ r j ⇐ ⇒ r ( i ) ≤ r ( j ) ℓ ( i ) ℓ ( j ) r ( i ) r ( j ) 1 Predecessors of an interval i : < i = r - max( V i \ { i } ) the last interval that finishes before i finishes ≪ i = r - max( V i \ ( { i } ∪ { h ∈ V : { h , i } ∈ E } )) the last interval that finishes before i starts C. Papadopoulos (UoI) SFVS on Interval and Permutation Bordeaux, FCT 2017 9 / 21
Predecessors e V f c b f g a d The left and right endpoints of the intervals define ≤ ℓ and ≤ r : j i ≤ l j ⇐ ⇒ ℓ ( i ) ≤ ℓ ( j ) i i ≤ r j ⇐ ⇒ r ( i ) ≤ r ( j ) ℓ ( i ) ℓ ( j ) r ( i ) r ( j ) 1 Predecessors of an interval i : < i = r - max( V i \ { i } ) the last interval that finishes before i finishes ≪ i = r - max( V i \ ( { i } ∪ { h ∈ V : { h , i } ∈ E } )) the last interval that finishes before i starts C. Papadopoulos (UoI) SFVS on Interval and Permutation Bordeaux, FCT 2017 9 / 21
Predecessors e < f V f c b f g a d The left and right endpoints of the intervals define ≤ ℓ and ≤ r : j i ≤ l j ⇐ ⇒ ℓ ( i ) ≤ ℓ ( j ) i i ≤ r j ⇐ ⇒ r ( i ) ≤ r ( j ) ℓ ( i ) ℓ ( j ) r ( i ) r ( j ) 1 Predecessors of an interval i : < i = r - max( V i \ { i } ) the last interval that finishes before i finishes ≪ i = r - max( V i \ ( { i } ∪ { h ∈ V : { h , i } ∈ E } )) the last interval that finishes before i starts C. Papadopoulos (UoI) SFVS on Interval and Permutation Bordeaux, FCT 2017 9 / 21
Predecessors e < f V f c b f ≪ f g a d The left and right endpoints of the intervals define ≤ ℓ and ≤ r : j i ≤ l j ⇐ ⇒ ℓ ( i ) ≤ ℓ ( j ) i i ≤ r j ⇐ ⇒ r ( i ) ≤ r ( j ) ℓ ( i ) ℓ ( j ) r ( i ) r ( j ) 1 Predecessors of an interval i : < i = r - max( V i \ { i } ) the last interval that finishes before i finishes ≪ i = r - max( V i \ ( { i } ∪ { h ∈ V : { h , i } ∈ E } )) the last interval that finishes before i starts C. Papadopoulos (UoI) SFVS on Interval and Permutation Bordeaux, FCT 2017 9 / 21
Basic sets: A , B , C Sets used by our dynamic programming algorithm A : corresponds to a maximum S -forest B and C : choose a solution only from a predescribed set x , y ∈ V − V i such that x < ℓ y V i A i = max w { X ⊆ V i : G [ X ] ∈ F S } i C. Papadopoulos (UoI) SFVS on Interval and Permutation Bordeaux, FCT 2017 10 / 21
Basic sets: A , B , C Sets used by our dynamic programming algorithm A : corresponds to a maximum S -forest B and C : choose a solution only from a predescribed set x , y ∈ V − V i such that x < ℓ y V i A i = max w { X ⊆ V i : G [ X ] ∈ F S } i V i B x x i = max w { X ⊆ V i : G [ X ∪ { x } ] ∈ F S } i C. Papadopoulos (UoI) SFVS on Interval and Permutation Bordeaux, FCT 2017 10 / 21
Basic sets: A , B , C Sets used by our dynamic programming algorithm A : corresponds to a maximum S -forest B and C : choose a solution only from a predescribed set x , y ∈ V − V i such that x < ℓ y V i A i = max w { X ⊆ V i : G [ X ] ∈ F S } i V i B x x i = max w { X ⊆ V i : G [ X ∪ { x } ] ∈ F S } i y V i C x , y = max w { X ⊆ V i : G [ X ∪ { x , y } ] ∈ F S } x i i C. Papadopoulos (UoI) SFVS on Interval and Permutation Bordeaux, FCT 2017 10 / 21
Recursive formulation for A i A-set: A < i , B i � < i ∪ { i } � A i = max w V i i C. Papadopoulos (UoI) SFVS on Interval and Permutation Bordeaux, FCT 2017 11 / 21
Recursive formulation for A i A-set: A < i , B i � < i ∪ { i } � A i = max w V < i < i i If i / ∈ A i then i is irrelevant ⇒ A i = A < i C. Papadopoulos (UoI) SFVS on Interval and Permutation Bordeaux, FCT 2017 11 / 21
Recursive formulation for A i A-set: A < i , B i � < i ∪ { i } � A i = max w V < i < i i If i / ∈ A i then i is irrelevant ⇒ A i = A < i If i ∈ A i then B i < i ∪ { i } contains no S -cycle C. Papadopoulos (UoI) SFVS on Interval and Permutation Bordeaux, FCT 2017 11 / 21
Recursive formulation for B x i Let x ′ = ℓ - min { i , x } and let y ′ = { i , x } \ x ′ : ∈ E , then B x If { i , x } / i = A i � � < i , B x ′ B x max w ≪ y ′ ∪ { i } , if i or x ∈ S If { i , x } ∈ E , then B x i = � � < i , C x ′ , y ′ B x max w ∪ { i } , if i , x / ∈ S < i V i x i C. Papadopoulos (UoI) SFVS on Interval and Permutation Bordeaux, FCT 2017 12 / 21
Recursive formulation for B x i Let x ′ = ℓ - min { i , x } and let y ′ = { i , x } \ x ′ : ∈ E , then B x If { i , x } / i = A i � � < i , B x ′ B x max w ≪ y ′ ∪ { i } , if i or x ∈ S If { i , x } ∈ E , then B x i = � � < i , C x ′ , y ′ B x max w ∪ { i } , if i , x / ∈ S < i V i x = x ′ i = y ′ C. Papadopoulos (UoI) SFVS on Interval and Permutation Bordeaux, FCT 2017 12 / 21
Recursive formulation for B x i Let x ′ = ℓ - min { i , x } and let y ′ = { i , x } \ x ′ : ∈ E , then B x If { i , x } / i = A i � � < i , B x ′ B x max w ≪ y ′ ∪ { i } , if i or x ∈ S If { i , x } ∈ E , then B x i = � � < i , C x ′ , y ′ B x max w ∪ { i } , if i , x / ∈ S < i V i x = y ′ i = x ′ C. Papadopoulos (UoI) SFVS on Interval and Permutation Bordeaux, FCT 2017 12 / 21
Recursive formulation for B x i Let x ′ = ℓ - min { i , x } and let y ′ = { i , x } \ x ′ : ∈ E , then B x If { i , x } / i = A i � � < i , B x ′ B x max w ≪ y ′ ∪ { i } , if i or x ∈ S If { i , x } ∈ E , then B x i = � � < i , C x ′ , y ′ B x max w ∪ { i } , if i , x / ∈ S < i V i x i C. Papadopoulos (UoI) SFVS on Interval and Permutation Bordeaux, FCT 2017 12 / 21
Recursive formulation for B x i Let x ′ = ℓ - min { i , x } and let y ′ = { i , x } \ x ′ : ∈ E , then B x If { i , x } / i = A i � � < i , B x ′ B x max w ≪ y ′ ∪ { i } , if i or x ∈ S If { i , x } ∈ E , then B x i = � � < i , C x ′ , y ′ B x max w ∪ { i } , if i , x / ∈ S < i V i x i If { i , x } / ∈ E : x is non-adjacent to any vertex of V i ⇒ A i C. Papadopoulos (UoI) SFVS on Interval and Permutation Bordeaux, FCT 2017 12 / 21
Recursive formulation for B x i Let x ′ = ℓ - min { i , x } and let y ′ = { i , x } \ x ′ : ∈ E , then B x If { i , x } / i = A i � � < i , B x ′ B x max w ≪ y ′ ∪ { i } , if i or x ∈ S If { i , x } ∈ E , then B x i = � � < i , C x ′ , y ′ B x max w ∪ { i } , if i , x / ∈ S < i V < i < i x i If { i , x } / ∈ E : x is non-adjacent to any vertex of V i ⇒ A i ∈ B x i : i is irrelevant ⇒ B x If { i , x } ∈ E and i / < i C. Papadopoulos (UoI) SFVS on Interval and Permutation Bordeaux, FCT 2017 12 / 21
Recursive formulation for B x i Let x ′ = ℓ - min { i , x } and let y ′ = { i , x } \ x ′ : ∈ E , then B x If { i , x } / i = A i � � < i , B x ′ B x max w ≪ y ′ ∪ { i } , if i or x ∈ S If { i , x } ∈ E , then B x i = � � < i , C x ′ , y ′ B x max w ∪ { i } , if i , x / ∈ S < i V < i < i x i If { i , x } / ∈ E : x is non-adjacent to any vertex of V i ⇒ A i ∈ B x i : i is irrelevant ⇒ B x If { i , x } ∈ E and i / < i If { i , x } ∈ E and i ∈ B x i : C. Papadopoulos (UoI) SFVS on Interval and Permutation Bordeaux, FCT 2017 12 / 21
Recursive formulation for B x i Let x ′ = ℓ - min { i , x } and let y ′ = { i , x } \ x ′ : ∈ E , then B x If { i , x } / i = A i � � < i , B x ′ B x max w ≪ y ′ ∪ { i } , if i or x ∈ S If { i , x } ∈ E , then B x i = � � < i , C x ′ , y ′ B x max w ∪ { i } , if i , x / ∈ S < i V ≪ x < i ≪ x x i If { i , x } / ∈ E : x is non-adjacent to any vertex of V i ⇒ A i ∈ B x i : i is irrelevant ⇒ B x If { i , x } ∈ E and i / < i If { i , x } ∈ E and i ∈ B x i : i or x ∈ S : every vertex between ≪ x and i induces an S -triangle ( B i ≪ x ) C. Papadopoulos (UoI) SFVS on Interval and Permutation Bordeaux, FCT 2017 12 / 21
Recursive formulation for B x i Let x ′ = ℓ - min { i , x } and let y ′ = { i , x } \ x ′ : ∈ E , then B x If { i , x } / i = A i � � < i , B x ′ B x max w ≪ y ′ ∪ { i } , if i or x ∈ S If { i , x } ∈ E , then B x i = � � < i , C x ′ , y ′ B x max w ∪ { i } , if i , x / ∈ S < i V < i < i ≪ x x i If { i , x } / ∈ E : x is non-adjacent to any vertex of V i ⇒ A i ∈ B x i : i is irrelevant ⇒ B x If { i , x } ∈ E and i / < i If { i , x } ∈ E and i ∈ B x i : i or x ∈ S : every vertex between ≪ x and i induces an S -triangle ( B i ≪ x ) ∈ S : C i , x i / ∈ S and x / < i contains no S -cycle C. Papadopoulos (UoI) SFVS on Interval and Permutation Bordeaux, FCT 2017 12 / 21
Recursive formulation for C x , y i Let x ′ = ℓ - min { i , x , y } and let y ′ = ℓ - min( { i , x , y } \ { x ′ } ): ∈ E , then C x , y = B x If { i , y } / i i C x , y � , if i ∈ S < i If { i , y } ∈ E , then C x , y = � � < i , C x ′ , y ′ C x , y i ∪ { i } ∈ S max w , if i / < i V i y x i C. Papadopoulos (UoI) SFVS on Interval and Permutation Bordeaux, FCT 2017 13 / 21
Recursive formulation for C x , y i Let x ′ = ℓ - min { i , x , y } and let y ′ = ℓ - min( { i , x , y } \ { x ′ } ): ∈ E , then C x , y = B x If { i , y } / i i C x , y � , if i ∈ S < i If { i , y } ∈ E , then C x , y = � � < i , C x ′ , y ′ C x , y i ∪ { i } ∈ S max w , if i / < i V i y x i ∈ E : y is non-adjacent to any vertex of V i ⇒ B x If { i , y } / i C. Papadopoulos (UoI) SFVS on Interval and Permutation Bordeaux, FCT 2017 13 / 21
Recursive formulation for C x , y i Let x ′ = ℓ - min { i , x , y } and let y ′ = ℓ - min( { i , x , y } \ { x ′ } ): ∈ E , then C x , y = B x If { i , y } / i i C x , y � , if i ∈ S < i If { i , y } ∈ E , then C x , y = � � < i , C x ′ , y ′ C x , y i ∪ { i } ∈ S max w , if i / < i V i y x i ∈ E : y is non-adjacent to any vertex of V i ⇒ B x If { i , y } / i If { i , y } ∈ E : ∈ C x , y i ∈ S : < i , x , y > is an S -triangle ⇒ i / i C. Papadopoulos (UoI) SFVS on Interval and Permutation Bordeaux, FCT 2017 13 / 21
Recursive formulation for C x , y i Let x ′ = ℓ - min { i , x , y } and let y ′ = ℓ - min( { i , x , y } \ { x ′ } ): ∈ E , then C x , y = B x If { i , y } / i i C x , y � , if i ∈ S < i If { i , y } ∈ E , then C x , y = � � < i , C x ′ , y ′ C x , y i ∪ { i } ∈ S max w , if i / < i V < i < i y x i ∈ E : y is non-adjacent to any vertex of V i ⇒ B x If { i , y } / i If { i , y } ∈ E : ∈ C x , y i ∈ S : < i , x , y > is an S -triangle ⇒ i / i ∈ C x , y : i is irrelevant ⇒ C x , y i / i < i C. Papadopoulos (UoI) SFVS on Interval and Permutation Bordeaux, FCT 2017 13 / 21
Recursive formulation for C x , y i Let x ′ = ℓ - min { i , x , y } and let y ′ = ℓ - min( { i , x , y } \ { x ′ } ): ∈ E , then C x , y = B x If { i , y } / i i C x , y � , if i ∈ S < i If { i , y } ∈ E , then C x , y = � � < i , C x ′ , y ′ C x , y i ∪ { i } ∈ S max w , if i / < i V < i < i y x i ∈ E : y is non-adjacent to any vertex of V i ⇒ B x If { i , y } / i If { i , y } ∈ E : ∈ C x , y i ∈ S : < i , x , y > is an S -triangle ⇒ i / i ∈ C x , y : i is irrelevant ⇒ C x , y i / i < i If { i , y } ∈ E and i ∈ C x , y : S ∩ { i , x , y } = ∅ i C. Papadopoulos (UoI) SFVS on Interval and Permutation Bordeaux, FCT 2017 13 / 21
Recursive formulation for C x , y i Let x ′ = ℓ - min { i , x , y } and let y ′ = ℓ - min( { i , x , y } \ { x ′ } ): ∈ E , then C x , y = B x If { i , y } / i i C x , y � , if i ∈ S < i If { i , y } ∈ E , then C x , y = � � < i , C x ′ , y ′ C x , y i ∪ { i } ∈ S max w , if i / < i V < i < i y x i ∈ E : y is non-adjacent to any vertex of V i ⇒ B x If { i , y } / i If { i , y } ∈ E : ∈ C x , y i ∈ S : < i , x , y > is an S -triangle ⇒ i / i ∈ C x , y : i is irrelevant ⇒ C x , y i / i < i If { i , y } ∈ E and i ∈ C x , y : S ∩ { i , x , y } = ∅ i C i , x < i ∪ { i } : none of its subset can induce an S -cycle with y C. Papadopoulos (UoI) SFVS on Interval and Permutation Bordeaux, FCT 2017 13 / 21
Poly-time for SFVS on Interval Graphs Theorem There is a poly-time algorithm that computes SFVS of an interval graph. C. Papadopoulos (UoI) SFVS on Interval and Permutation Bordeaux, FCT 2017 14 / 21
Poly-time for SFVS on Interval Graphs Theorem There is a poly-time algorithm that computes SFVS of an interval graph. 1 We compute the predecessors < i and ≪ i for each i in linear time C. Papadopoulos (UoI) SFVS on Interval and Permutation Bordeaux, FCT 2017 14 / 21
Poly-time for SFVS on Interval Graphs Theorem There is a poly-time algorithm that computes SFVS of an interval graph. 1 We compute the predecessors < i and ≪ i for each i in linear time 2 Scan all intervals in an ascending order with respect to < ℓ : Compute first A i i and C x , y Then compute B x for every x , y such that ℓ ( i ) < ℓ ( x ) < ℓ ( y ) i C. Papadopoulos (UoI) SFVS on Interval and Permutation Bordeaux, FCT 2017 14 / 21
Poly-time for SFVS on Interval Graphs Theorem There is a poly-time algorithm that computes SFVS of an interval graph. 1 We compute the predecessors < i and ≪ i for each i in linear time 2 Scan all intervals in an ascending order with respect to < ℓ : Compute first A i i and C x , y Then compute B x for every x , y such that ℓ ( i ) < ℓ ( x ) < ℓ ( y ) i 3 At the end, output A n C. Papadopoulos (UoI) SFVS on Interval and Permutation Bordeaux, FCT 2017 14 / 21
Poly-time for SFVS on Interval Graphs Theorem There is a poly-time algorithm that computes SFVS of an interval graph. 1 We compute the predecessors < i and ≪ i for each i in linear time 2 Scan all intervals in an ascending order with respect to < ℓ : Compute first A i i and C x , y Then compute B x for every x , y such that ℓ ( i ) < ℓ ( x ) < ℓ ( y ) i 3 At the end, output A n The total running time of the algorithm is O ( n 3 ). C. Papadopoulos (UoI) SFVS on Interval and Permutation Bordeaux, FCT 2017 14 / 21
Permutation Graphs g a c e b d f h t b g c a e b h f d D : permutation diagram with S egments between two parallel lines permutation graphs: V ↔ S such that ( u , v ) ∈ E iff u and v intersect Every induced cycle of a permutation graph is a triangle or a square g a d e c b h f C. Papadopoulos (UoI) SFVS on Interval and Permutation Bordeaux, FCT 2017 15 / 21 ✶
Permutation Graphs g a c e b d f h t b g c a e b h f d D : permutation diagram with S egments between two parallel lines permutation graphs: V ↔ S such that ( u , v ) ∈ E iff u and v intersect Every induced cycle of a permutation graph is a triangle or a square Compute maximal S -forests F S based on D Dynamic programming approach C. Papadopoulos (UoI) SFVS on Interval and Permutation Bordeaux, FCT 2017 15 / 21
Permutation Graphs g a c e b d f h t b g c a e b h f d D : permutation diagram with S egments between two parallel lines permutation graphs: V ↔ S such that ( u , v ) ∈ E iff u and v intersect Every induced cycle of a permutation graph is a triangle or a square Compute maximal S -forests F S based on D Dynamic programming approach based on crossing pairs C. Papadopoulos (UoI) SFVS on Interval and Permutation Bordeaux, FCT 2017 15 / 21
Crossing Pairs g a c e b d f h t b g c a e b h f d X : ij with i ≤ t j and j ≤ b i C. Papadopoulos (UoI) SFVS on Interval and Permutation Bordeaux, FCT 2017 16 / 21
Crossing Pairs g a c e b d f h t b g c a e b h f d X : ij with i ≤ t j and j ≤ b i Given gh , ij ∈ X , we define ≤ ℓ and ≤ r : C. Papadopoulos (UoI) SFVS on Interval and Permutation Bordeaux, FCT 2017 16 / 21
Crossing Pairs g a c e b d f h t b g c a e b h f d X : ij with i ≤ t j and j ≤ b i Given gh , ij ∈ X , we define ≤ ℓ and ≤ r : gh ≤ ℓ ij ⇔ g ≤ t i and h ≤ b j j j i i t t b b j j i i C. Papadopoulos (UoI) SFVS on Interval and Permutation Bordeaux, FCT 2017 16 / 21
Crossing Pairs g a c e b d f h t b g c a e b h f d X : ij with i ≤ t j and j ≤ b i Given gh , ij ∈ X , we define ≤ ℓ and ≤ r : gh ≤ ℓ ij ⇔ g ≤ t i and h ≤ b j j j i i t t b b j j i i C. Papadopoulos (UoI) SFVS on Interval and Permutation Bordeaux, FCT 2017 16 / 21
Crossing Pairs g a c e b d f h t b g c a e b h f d X : ij with i ≤ t j and j ≤ b i Given gh , ij ∈ X , we define ≤ ℓ and ≤ r : gh ≤ ℓ ij ⇔ g ≤ t i and h ≤ b j g j j i h i t t b b g j j h i i C. Papadopoulos (UoI) SFVS on Interval and Permutation Bordeaux, FCT 2017 16 / 21
Crossing Pairs g a c e b d f h t b g c a e b h f d X : ij with i ≤ t j and j ≤ b i Given gh , ij ∈ X , we define ≤ ℓ and ≤ r : gh ≤ ℓ ij ⇔ g ≤ t i and h ≤ b j gh ≤ r ij ⇔ g ≤ b i and h ≤ t j g j j i h i t t b b g j j h i i C. Papadopoulos (UoI) SFVS on Interval and Permutation Bordeaux, FCT 2017 16 / 21
Crossing Pairs g a c e b d f h t b g c a e b h f d X : ij with i ≤ t j and j ≤ b i Given gh , ij ∈ X , we define ≤ ℓ and ≤ r : gh ≤ ℓ ij ⇔ g ≤ t i and h ≤ b j gh ≤ r ij ⇔ g ≤ b i and h ≤ t j g j j i h i t t b b g j j h i i C. Papadopoulos (UoI) SFVS on Interval and Permutation Bordeaux, FCT 2017 16 / 21
Crossing Pairs g a c e b d f h t b g c a e b h f d X : ij with i ≤ t j and j ≤ b i Given gh , ij ∈ X , we define ≤ ℓ and ≤ r : gh ≤ ℓ ij ⇔ g ≤ t i and h ≤ b j gh ≤ r ij ⇔ g ≤ b i and h ≤ t j g g j j i h i h t t b b g g j j h i h i C. Papadopoulos (UoI) SFVS on Interval and Permutation Bordeaux, FCT 2017 16 / 21
Predecessors of Crossing Pairs g a c e b d f h t b g c a e b h f d C. Papadopoulos (UoI) SFVS on Interval and Permutation Bordeaux, FCT 2017 17 / 21
Predecessors of Crossing Pairs g a c e b d f h t V eg b g c a e b h f d C. Papadopoulos (UoI) SFVS on Interval and Permutation Bordeaux, FCT 2017 17 / 21
Predecessors of Crossing Pairs g a c e b d f h t V eg b g c a e b h f d � ij = r - max X [ V ij \ { j } ] the iy with y the rightmost top C. Papadopoulos (UoI) SFVS on Interval and Permutation Bordeaux, FCT 2017 17 / 21
Predecessors of Crossing Pairs g a c e b d f h t V eg b g c a e b h f d � ij = r - max X [ V ij \ { j } ] the iy with y the rightmost top � ij = r - max X [ V ij \ { i } ] the xj with x the rightmost bottom C. Papadopoulos (UoI) SFVS on Interval and Permutation Bordeaux, FCT 2017 17 / 21
Predecessors of Crossing Pairs g a c e b d f h t V eg b g c a e b h f d � ij = r - max X [ V ij \ { j } ] the iy with y the rightmost top � ij = r - max X [ V ij \ { i } ] the xj with x the rightmost bottom < ij = r - max X [ V ij \ { i , j } ] the xy with x and y the rightmost bottom and top C. Papadopoulos (UoI) SFVS on Interval and Permutation Bordeaux, FCT 2017 17 / 21
Predecessors of Crossing Pairs g a c e b d f h t V eg b g c a e b h f d � ij = r - max X [ V ij \ { j } ] the iy with y the rightmost top � ij = r - max X [ V ij \ { i } ] the xj with x the rightmost bottom < ij = r - max X [ V ij \ { i , j } ] the xy with x and y the rightmost bottom and top ≪ ij = r - max X [ V ij \ ( { i , j } ∪ { h ∈ V : { h , i } ∈ E or { h , j } ∈ E } )] non-adjacent xy with x and y the rightmost bottom and top C. Papadopoulos (UoI) SFVS on Interval and Permutation Bordeaux, FCT 2017 17 / 21
✶ Basic sets: A , B , C Sets used by our dynamic programming algorithm A : corresponds to a maximum S -forest B and C : choose a solution only from a predescribed set xy , zw ∈ V − V ij such that xy < ℓ zw and { x , w } , { y , z } ∈ E w { X ⊆ V ij : G [ X ] ∈ F S } A ij = max j i t V ij b j i ✶ C. Papadopoulos (UoI) SFVS on Interval and Permutation Bordeaux, FCT 2017 18 / 21
✶ Basic sets: A , B , C Sets used by our dynamic programming algorithm A : corresponds to a maximum S -forest B and C : choose a solution only from a predescribed set xy , zw ∈ V − V ij such that xy < ℓ zw and { x , w } , { y , z } ∈ E w { X ⊆ V ij : G [ X ] ∈ F S } A ij = max B xy = max w { X ⊆ V ij : G [ X ∪ { x , y } ] ∈ F S } ij y x j i t V ij b y j x i ✶ C. Papadopoulos (UoI) SFVS on Interval and Permutation Bordeaux, FCT 2017 18 / 21
Basic sets: A , B , C Sets used by our dynamic programming algorithm A : corresponds to a maximum S -forest B and C : choose a solution only from a predescribed set xy , zw ∈ V − V ij such that xy < ℓ zw and { x , w } , { y , z } ∈ E w { X ⊆ V ij : G [ X ] ∈ F S } A ij = max B xy = max w { X ⊆ V ij : G [ X ∪ { x , y } ] ∈ F S } ij C xy , zw = max w { X ⊆ V ij : G [ X ∪ { x , y , z , w } ] ∈ F S } ij y x z j w i t V ij b y j w x z i ✶ C. Papadopoulos (UoI) SFVS on Interval and Permutation Bordeaux, FCT 2017 18 / 21
Recursive formulations for A , B , C i j t V ij A ij = max w { X ⊆ V ij : G [ X ] ∈ F S } b j i ✶ x y i j t B xy V ij ij = max w { X ⊆ V ij : G [ X ∪ { x , y } ] ∈ F S } b j y x i ✶ x z j y w i t C xy , zw V ij = max w { X ⊆ V ij : G [ X ∪ { x , y , z , w } ] ∈ F S } ij b j y w x z i ✶ The basic idea: we support any big S -cycle with a smaller S -cycle ⇒ j i t V ij b j i C. Papadopoulos (UoI) SFVS on Interval and Permutation Bordeaux, FCT 2017 19 / 21
Recursive formulations for A , B , C i j t V ij A ij = max w { X ⊆ V ij : G [ X ] ∈ F S } b j i ✶ x y i j t B xy V ij ij = max w { X ⊆ V ij : G [ X ∪ { x , y } ] ∈ F S } b j y x i ✶ x z j y w i t C xy , zw V ij = max w { X ⊆ V ij : G [ X ∪ { x , y , z , w } ] ∈ F S } ij b j y w x z i ✶ The basic idea: we support any big S -cycle with a smaller S -cycle ⇒ j i t V � ij A � ij b j i C. Papadopoulos (UoI) SFVS on Interval and Permutation Bordeaux, FCT 2017 19 / 21
Recursive formulations for A , B , C i j t V ij A ij = max w { X ⊆ V ij : G [ X ] ∈ F S } b j i ✶ x y i j t B xy V ij ij = max w { X ⊆ V ij : G [ X ∪ { x , y } ] ∈ F S } b j y x i ✶ x z j y w i t C xy , zw V ij = max w { X ⊆ V ij : G [ X ∪ { x , y , z , w } ] ∈ F S } ij b j y w x z i ✶ The basic idea: we support any big S -cycle with a smaller S -cycle ⇒ j i t V � ij A � ij b j i C. Papadopoulos (UoI) SFVS on Interval and Permutation Bordeaux, FCT 2017 19 / 21
Recursive formulations for A , B , C i j t V ij A ij = max w { X ⊆ V ij : G [ X ] ∈ F S } b j i ✶ x y i j t B xy V ij ij = max w { X ⊆ V ij : G [ X ∪ { x , y } ] ∈ F S } b j y x i ✶ x z j y w i t C xy , zw V ij = max w { X ⊆ V ij : G [ X ∪ { x , y , z , w } ] ∈ F S } ij b j y w x z i ✶ The basic idea: we support any big S -cycle with a smaller S -cycle ⇒ j i t B ij V < ij < ij b j i C. Papadopoulos (UoI) SFVS on Interval and Permutation Bordeaux, FCT 2017 19 / 21
Recursive formulations for A , B , C i j t V ij A ij = max w { X ⊆ V ij : G [ X ] ∈ F S } b j i ✶ x y i j t B xy V ij ij = max w { X ⊆ V ij : G [ X ∪ { x , y } ] ∈ F S } b j y x i ✶ x z j y w i t C xy , zw V ij = max w { X ⊆ V ij : G [ X ∪ { x , y , z , w } ] ∈ F S } ij b j y w x z i ✶ The basic idea: we support any big S -cycle with a smaller S -cycle ⇒ j i t V ≪ ij A ≪ ij b j i C. Papadopoulos (UoI) SFVS on Interval and Permutation Bordeaux, FCT 2017 19 / 21
Recursive formulations for A , B , C i j t V ij A ij = max w { X ⊆ V ij : G [ X ] ∈ F S } b j i ✶ x y i j t B xy V ij ij = max w { X ⊆ V ij : G [ X ∪ { x , y } ] ∈ F S } b j y x i ✶ x z j y w i t C xy , zw V ij = max w { X ⊆ V ij : G [ X ∪ { x , y , z , w } ] ∈ F S } ij b j y w x z i ✶ The basic idea: we support any big S -cycle with a smaller S -cycle ⇒ j i t B ii V ≪ jj ≪ jj b j i C. Papadopoulos (UoI) SFVS on Interval and Permutation Bordeaux, FCT 2017 19 / 21
Recursive formulations for A , B , C i j t V ij A ij = max w { X ⊆ V ij : G [ X ] ∈ F S } b j i ✶ x y i j t B xy V ij ij = max w { X ⊆ V ij : G [ X ∪ { x , y } ] ∈ F S } b j y x i ✶ x z j y w i t C xy , zw V ij = max w { X ⊆ V ij : G [ X ∪ { x , y , z , w } ] ∈ F S } ij b j y w x z i ✶ The basic idea: we support any big S -cycle with a smaller S -cycle ⇒ j i t B jj V ≪ ii ≪ ii b j i C. Papadopoulos (UoI) SFVS on Interval and Permutation Bordeaux, FCT 2017 19 / 21
Poly-time for SFVS on Permutation Graphs Theorem There is a poly-time algorithm that computes SFVS of a permutation graph. C. Papadopoulos (UoI) SFVS on Interval and Permutation Bordeaux, FCT 2017 20 / 21
Poly-time for SFVS on Permutation Graphs Theorem There is a poly-time algorithm that computes SFVS of a permutation graph. 1 X : there are n + m crossing pairs C. Papadopoulos (UoI) SFVS on Interval and Permutation Bordeaux, FCT 2017 20 / 21
Poly-time for SFVS on Permutation Graphs Theorem There is a poly-time algorithm that computes SFVS of a permutation graph. 1 X : there are n + m crossing pairs 2 For each ij ∈ X , we compute its { � , � , <, ≪} ⇒ O ( n 2 m ) C. Papadopoulos (UoI) SFVS on Interval and Permutation Bordeaux, FCT 2017 20 / 21
Poly-time for SFVS on Permutation Graphs Theorem There is a poly-time algorithm that computes SFVS of a permutation graph. 1 X : there are n + m crossing pairs 2 For each ij ∈ X , we compute its { � , � , <, ≪} ⇒ O ( n 2 m ) 3 Scan all crossing pairs in an ascending order with respect to < r : First compute A ij Then compute B xy for every xy ∈ V − V ij ij And for each xy we compute C xy , zw for every zw ∈ V − V xy ij C. Papadopoulos (UoI) SFVS on Interval and Permutation Bordeaux, FCT 2017 20 / 21
Poly-time for SFVS on Permutation Graphs Theorem There is a poly-time algorithm that computes SFVS of a permutation graph. 1 X : there are n + m crossing pairs 2 For each ij ∈ X , we compute its { � , � , <, ≪} ⇒ O ( n 2 m ) 3 Scan all crossing pairs in an ascending order with respect to < r : First compute A ij Then compute B xy for every xy ∈ V − V ij ij And for each xy we compute C xy , zw for every zw ∈ V − V xy ij 4 At the end, output A π ( n ) n C. Papadopoulos (UoI) SFVS on Interval and Permutation Bordeaux, FCT 2017 20 / 21
Poly-time for SFVS on Permutation Graphs Theorem There is a poly-time algorithm that computes SFVS of a permutation graph. 1 X : there are n + m crossing pairs 2 For each ij ∈ X , we compute its { � , � , <, ≪} ⇒ O ( n 2 m ) 3 Scan all crossing pairs in an ascending order with respect to < r : First compute A ij Then compute B xy for every xy ∈ V − V ij ij And for each xy we compute C xy , zw for every zw ∈ V − V xy ij 4 At the end, output A π ( n ) n The total running time of the algorithm is O ( n + m 3 ). C. Papadopoulos (UoI) SFVS on Interval and Permutation Bordeaux, FCT 2017 20 / 21
Conclusion - Future work AT-free SFVS: ? chordal SFVS: NP-c FVS: P ⊂ ⊃ ⊂ ⊃ ⊃ permutation co-bipartite interval split SFVS: NP-c SFVS: P SFVS: P SFVS: P 1 Complexity on other graph classes: ⊲ AT-free graphs ⊃ co-comparability graphs, I 3 -free graphs ⊲ strongly chordal graphs, circular-arc graphs C. Papadopoulos (UoI) SFVS on Interval and Permutation Bordeaux, FCT 2017 21 / 21
Recommend
More recommend