Priority algorithms — part 1: exact algorithms
Joan Boyar1, Kim S. Larsen1, and Denis Pankratov2
1 University of Southern Denmark 2 Concordia University
OLAWA 2020
Priority algorithms part 1: exact algorithms Joan Boyar 1 , Kim S. - - PowerPoint PPT Presentation
Priority algorithms part 1: exact algorithms Joan Boyar 1 , Kim S. Larsen 1 , and Denis Pankratov 2 1 University of Southern Denmark 2 Concordia University OLAWA 2020 What is a Greedy Algorithm? CLRS: A greedy algorithm always makes
Joan Boyar1, Kim S. Larsen1, and Denis Pankratov2
1 University of Southern Denmark 2 Concordia University
OLAWA 2020
the moment. That is, it makes a locally optimal choice in the hope that this choice will lead to a globally optimal solution.”
fast running times.
model.
Graham (1966), …
state, and the history.” – Karlin and Irani
decisions, e.g., Prim’s algorithm for MST
Fixed Priority Algorithm: Specify 𝑄 ∶ 𝑉 → ℝ While 𝐽 is not empty 𝑦 ← 𝑏𝑠𝑛𝑏𝑦#∈%{𝑄 𝑦 } make an irrevocable decision on 𝑦 𝐽 ← 𝐽 ∖ {𝑦} Adaptive Priority Algorithm: Specify initial 𝑄 ∶ 𝑉 → ℝ While 𝐽 is not empty 𝑦 ← 𝑏𝑠𝑛𝑏𝑦#∈%{𝑄 𝑦 } make an irrevocable decision on 𝑦 𝐽 ← 𝐽 ∖ {𝑦} Update 𝑄 ∶ 𝑉 → ℝ
coordinate
providing useful side-information for the online phase
Borodin, Boyar, Larsen, Pankratov. Advice Complexity of Priority
Priority function 𝑄 does not depend on advice
𝐽 is the input 𝑄!: 𝑉 → ℝ is the initial priority function 𝑗 ← 1 While 𝐽 ≠ ∅ 𝑦" ← 𝑏𝑠𝑛𝑏𝑦#∈%{𝑄"&' 𝑦 } read zero or more bits of advice from the tape 𝑡" ← known contents of the advice tape 𝑒" ← decision of 𝐵𝑀𝐻 on 𝑦" 𝑄" ← updated priority function 𝐽 ← 𝐽 ∖ {𝑦"} 𝑗 ← 𝑗 + 1
Model 1: 𝑄! ≔ 𝑄!(𝑦", … , 𝑦!, 𝑡!) Model 2: 𝑄! ≔ 𝑄!(𝑦", … , 𝑦!, 𝑒", … , 𝑒!)
∈ ℕ × ⋃&∈ℕ
ℕ &
Minimum Vertex Cover (VC) problem with at most
# $$ 𝑜 ≈ 0.3182 𝑜 bits of
advice in Model 2 on triangle free graphs with maximum degree at most 3.
related classes has rich history:
Harant et al (2008), Kanj and Zhang (2010), …
approximation ratio better than 4/3. (Borodin et al. 2010).
" ( − 𝑑 bits of advice can achieve
Minimum Vertex Cover (VC) problem with at most
# $$ 𝑜 ≈ 0.3182 𝑜 bits of
advice in Model 2 on triangle free graphs with maximum degree at most 3.
𝑤!, 𝑤), … , 𝑤".
𝑂 𝑤* ∖ {𝑤!, … , 𝑤*+!}.
𝒅𝒆𝒇𝒉(𝒘𝒋).
advice.
that do not require advice.
accepted.
𝑤! 𝑤" 𝑑𝑒𝑓 𝑤! = 1 Has highest priority
accepted.
𝑤! 𝑤" 𝑤! 𝑤" Reject without advice Adaptively give its unique neighbor highest priority
accepted.
𝑤! 𝑤" 𝑤! 𝑤" 𝑤! 𝑤" 𝑤# 𝑤$ When it arrives, accept it
INTUITION (actual details more involved)
there is another minimum VC which excludes 𝑤*
Implies that at most one neighbor of 𝑤* with accept advice is accepted
Received advice to be accepted 𝑣! 𝑤% 𝑣# 𝑣"
INTUITION (actual details more involved)
there is another minimum VC which excludes 𝑤*
Implies that at most one neighbor of 𝑤* with accept advice is accepted
Received advice to be accepted 𝑣! 𝑤% 𝑣# 𝑣" If ≥ 2 accepted neighbors
INTUITION (actual details more involved)
there is another minimum VC which excludes 𝑤*
Implies that at most one neighbor of 𝑤* with accept advice is accepted
Received advice to be accepted 𝑣! 𝑤% 𝑣# 𝑣" If ≥ 2 accepted neighbors Could have been rejected 𝑣! 𝑤% 𝑣# 𝑣" Then there is another VC of same size where 𝑤% is rejected
𝑣! 𝑤′ 𝑣# 𝑣" Received advice to be accepted, (*) At most 1 of 𝒗𝟐, 𝒗𝟑, 𝒗𝟒 can be accepted in the future Dashed edges are not yet revealed Use this to avoid giving advice to other degree 3 vertices If there exists 𝑤 such that 𝑑𝑒𝑓 𝑤 = 3 and | | 𝑂 𝑤 ∩ 𝑣!, 𝑣", 𝑣# ≥ 2 then accept 𝑤 Why? Property (*) guarantees 𝑤 has a rejected neighbor
𝑣! 𝑤′ 𝑣# 𝑣" Received advice to be accepted, (*) At most 1 of 𝒗𝟐, 𝒗𝟑, 𝒗𝟒 can be accepted in the future 𝑤 Use this to avoid giving advice to other degree 3 vertices If there exists 𝑤 such that 𝑑𝑒𝑓 𝑤 = 3 and | | 𝑂 𝑤 ∩ 𝑣!, 𝑣", 𝑣# ≥ 2 then accept 𝑤 Why? Property (*) guarantees 𝑤 has a rejected neighbor
advice complexity.
shared neighbors during runtime.
Current degree 3 Receives advice to be accepted
New component gets started Include advice-vertex and its neighbors
New component gets started Include advice-vertex and its neighbors Current degree 3 Receives advice to be accepted
Component gets closed New component gets started Include advice-vertex and its neighbors
Current degree 3 Shares 1 neighbor with previous advice-vertex Receives advice
The vertex and its neighbors get added to the current component
𝑜 = ∑*-!
.
𝑡* and 𝑏 ≔ ∑*-!
.
𝑏*
𝑡* ≥ 3 𝑏* + 1
10 𝑏 − 4 𝑑 ≤ 3 𝑜 Proofs: elaborate charging arguments: vertex-based for Lemma 1 and edge-based for Lemma 2.
3 𝑏 + 𝑑 ≤ 𝑜 (Lemma 1) 10𝑏 − 4 𝑑 ≤ 3𝑜 (Lemma 2) 4 × first inequality + 1 × second inequality implies 22 𝑏 ≤ 7 𝑜, i.e., 𝑏 ≤ 7 22 𝑜 QED.
! "" "𝑞𝑝𝑚𝑧 𝑜 = 𝑃(1.2468")
conquer analysis technique