Upload
kowshik-roy
View
242
Download
0
Embed Size (px)
Citation preview
ApproximationAlgorithm:
TheVertex-coverProblem
Sudipta SahaShubha1205014
Repon KumarRoy 1205002
MotivationalProblem
Approximation Algorithm: The Vertex-coverProblem
Sudipta Saha Shubha 1205014Repon Kumar Roy 1205002
Department of Computer Science and EngineeringBangladesh University of Engineering and Technology
December 24, 2015
ApproximationAlgorithm:
TheVertex-coverProblem
Sudipta SahaShubha1205014
Repon KumarRoy 1205002
MotivationalProblem
Table of Contents
1 Motivational Problem
ApproximationAlgorithm:
TheVertex-coverProblem
Sudipta SahaShubha1205014
Repon KumarRoy 1205002
MotivationalProblem
Motivational Problem : Modeling in Graph
ApproximationAlgorithm:
TheVertex-coverProblem
Sudipta SahaShubha1205014
Repon KumarRoy 1205002
MotivationalProblem
Formal Definition of Vertex Cover Problem
A vertex cover of an undirected graph
G = (V ,E ) is a subset V ′ ∈ V such that
if (u, v) is an edge of G , then either
u ∈ V ′ or v ∈ V ′(or both).
The vertex-cover problem is to find a
vertex cover of minimum size in a given
undirected graph. We call such a vertex
cover an optimal vertex cover.
ApproximationAlgorithm:
TheVertex-coverProblem
Sudipta SahaShubha1205014
Repon KumarRoy 1205002
MotivationalProblem
Formal Definition of Vertex Cover Problem
A vertex cover of an undirected graph
G = (V ,E ) is a subset V ′ ∈ V such that
if (u, v) is an edge of G , then either
u ∈ V ′ or v ∈ V ′(or both).
The vertex-cover problem is to find a
vertex cover of minimum size in a given
undirected graph. We call such a vertex
cover an optimal vertex cover.
ApproximationAlgorithm:
TheVertex-coverProblem
Sudipta SahaShubha1205014
Repon KumarRoy 1205002
MotivationalProblem
Formal Definition of Vertex Cover Problem
A vertex cover of an undirected graph
G = (V ,E ) is a subset V ′ ∈ V such that
if (u, v) is an edge of G , then either
u ∈ V ′ or v ∈ V ′(or both).
The vertex-cover problem is to find a
vertex cover of minimum size in a given
undirected graph. We call such a vertex
cover an optimal vertex cover.
ApproximationAlgorithm:
TheVertex-coverProblem
Sudipta SahaShubha1205014
Repon KumarRoy 1205002
MotivationalProblem
A Solution may be . . .
ApproximationAlgorithm:
TheVertex-coverProblem
Sudipta SahaShubha1205014
Repon KumarRoy 1205002
Way to Solution . . .
Time Complexity is O(2n × n)Time Complexity is exponential oninputNP-complete problem
ApproximationAlgorithm:
TheVertex-coverProblem
Sudipta SahaShubha1205014
Repon KumarRoy 1205002
Way to Solution . . .
Time Complexity is O(2n × n)
Time Complexity is exponential oninputNP-complete problem
ApproximationAlgorithm:
TheVertex-coverProblem
Sudipta SahaShubha1205014
Repon KumarRoy 1205002
Way to Solution . . .
Time Complexity is O(2n × n)Time Complexity is exponential oninput
NP-complete problem
ApproximationAlgorithm:
TheVertex-coverProblem
Sudipta SahaShubha1205014
Repon KumarRoy 1205002
TheApproximateAlgorithm
Applications
SomeQuestions
Way to Solution . . .
Time Complexity is O(2n × n)Time Complexity is exponential oninputNP-complete problem
ApproximationAlgorithm:
TheVertex-coverProblem
Sudipta SahaShubha1205014
Repon KumarRoy 1205002
TheApproximateAlgorithm
Applications
SomeQuestions
Way to Solution . . .
A language L ⊆ {0, 1}∗ isNP-complete if1. L ∈ NP , and2. L′ ≤p L for every L′ ∈ NP .
ApproximationAlgorithm:
TheVertex-coverProblem
Sudipta SahaShubha1205014
Repon KumarRoy 1205002
TheApproximateAlgorithm
Applications
SomeQuestions
Way to Solution . . .
Can be solved using dynamicprogramming in polynomial timewhen input graph is a tree.
ApproximationAlgorithm:
TheVertex-coverProblem
Sudipta SahaShubha1205014
Repon KumarRoy 1205002
TheApproximateAlgorithm
Applications
SomeQuestions
Way to Solution . . .
Needs approximation algorithm forgeneral graphWe call an algorithm that returnsnear-optimal solutions anapproximation algorithm
ApproximationAlgorithm:
TheVertex-coverProblem
Sudipta SahaShubha1205014
Repon KumarRoy 1205002
TheApproximateAlgorithm
Applications
SomeQuestions
Way to Solution . . .
Needs approximation algorithm forgeneral graph
We call an algorithm that returnsnear-optimal solutions anapproximation algorithm
ApproximationAlgorithm:
TheVertex-coverProblem
Sudipta SahaShubha1205014
Repon KumarRoy 1205002
TheApproximateAlgorithm
Applications
SomeQuestions
Way to Solution . . .
Needs approximation algorithm forgeneral graphWe call an algorithm that returnsnear-optimal solutions anapproximation algorithm
ApproximationAlgorithm:
TheVertex-coverProblem
Sudipta SahaShubha1205014
Repon KumarRoy 1205002
TheApproximateAlgorithm
Applications
SomeQuestions
Table of Contents
2 The Approximate Algorithm
3 Applications
4 Some Questions
ApproximationAlgorithm:
TheVertex-coverProblem
Sudipta SahaShubha1205014
Repon KumarRoy 1205002
TheApproximateAlgorithm
Applications
SomeQuestions
Simulation
ApproximationAlgorithm:
TheVertex-coverProblem
Sudipta SahaShubha1205014
Repon KumarRoy 1205002
TheApproximateAlgorithm
Applications
SomeQuestions
Simulation
ApproximationAlgorithm:
TheVertex-coverProblem
Sudipta SahaShubha1205014
Repon KumarRoy 1205002
TheApproximateAlgorithm
Applications
SomeQuestions
Simulation
ApproximationAlgorithm:
TheVertex-coverProblem
Sudipta SahaShubha1205014
Repon KumarRoy 1205002
TheApproximateAlgorithm
Applications
SomeQuestions
Simulation
ApproximationAlgorithm:
TheVertex-coverProblem
Sudipta SahaShubha1205014
Repon KumarRoy 1205002
TheApproximateAlgorithm
Applications
SomeQuestions
Simulation
ApproximationAlgorithm:
TheVertex-coverProblem
Sudipta SahaShubha1205014
Repon KumarRoy 1205002
TheApproximateAlgorithm
Applications
SomeQuestions
Time Complexity
O(V + E )
ApproximationAlgorithm:
TheVertex-coverProblem
Sudipta SahaShubha1205014
Repon KumarRoy 1205002
TheApproximateAlgorithm
Applications
SomeQuestions
Proof of 2-Approximation
We say that an algorithm for a problem has anapproximation ratio of ρ(n) if, for any input ofsize n, the cost X of the solution produced bythe algorithm is within a factor of ρ(n) of thecost X ∗ of an optimal solution:
max( XX ∗ ,
X ∗
X )≤ ρ(n).
ApproximationAlgorithm:
TheVertex-coverProblem
Sudipta SahaShubha1205014
Repon KumarRoy 1205002
TheApproximateAlgorithm
Applications
SomeQuestions
Proof of 2-Approximation(Is it a Vertex-Cover?)
ApproximationAlgorithm:
TheVertex-coverProblem
Sudipta SahaShubha1205014
Repon KumarRoy 1205002
TheApproximateAlgorithm
Applications
SomeQuestions
Proof of 2-Approximation
We need to prove that |X | ≤ 2|X ∗|We will first prove that |X ∗| ≥ |Y |
ApproximationAlgorithm:
TheVertex-coverProblem
Sudipta SahaShubha1205014
Repon KumarRoy 1205002
TheApproximateAlgorithm
Applications
SomeQuestions
Proof of 2-Approximation
We need to prove that |X | ≤ 2|X ∗|
We will first prove that |X ∗| ≥ |Y |
ApproximationAlgorithm:
TheVertex-coverProblem
Sudipta SahaShubha1205014
Repon KumarRoy 1205002
TheApproximateAlgorithm
Applications
SomeQuestions
Proof of 2-Approximation
We need to prove that |X | ≤ 2|X ∗|We will first prove that |X ∗| ≥ |Y |
ApproximationAlgorithm:
TheVertex-coverProblem
Sudipta SahaShubha1205014
Repon KumarRoy 1205002
TheApproximateAlgorithm
Applications
SomeQuestions
Proof of 2-Approximation(|X ∗| ≥ |Y |)
ApproximationAlgorithm:
TheVertex-coverProblem
Sudipta SahaShubha1205014
Repon KumarRoy 1205002
TheApproximateAlgorithm
Applications
SomeQuestions
Proof of 2-Approximation(|X ∗| ≥ |Y |) : AnotherSubset of Arbitrary Edges
ApproximationAlgorithm:
TheVertex-coverProblem
Sudipta SahaShubha1205014
Repon KumarRoy 1205002
TheApproximateAlgorithm
Applications
SomeQuestions
Proof of 2-Approximation(|X ∗| ≥ |Y |) : AnotherSubset of Arbitrary Edges
ApproximationAlgorithm:
TheVertex-coverProblem
Sudipta SahaShubha1205014
Repon KumarRoy 1205002
TheApproximateAlgorithm
Applications
SomeQuestions
Proof of 2-Approximation(|X ∗| ≥ |Y |) : AnotherSubset of Arbitrary Edges
ApproximationAlgorithm:
TheVertex-coverProblem
Sudipta SahaShubha1205014
Repon KumarRoy 1205002
TheApproximateAlgorithm
Applications
SomeQuestions
Proof of 2-Approximation(|X ∗| ≥ |Y |) : AnotherSubset of Arbitrary Edges
ApproximationAlgorithm:
TheVertex-coverProblem
Sudipta SahaShubha1205014
Repon KumarRoy 1205002
TheApproximateAlgorithm
Applications
SomeQuestions
Proof of 2-Approximation
Now we will prove that, |X | = 2|Y |
ApproximationAlgorithm:
TheVertex-coverProblem
Sudipta SahaShubha1205014
Repon KumarRoy 1205002
TheApproximateAlgorithm
Applications
SomeQuestions
Proof of 2-Approximation(|X | = 2|Y |)
ApproximationAlgorithm:
TheVertex-coverProblem
Sudipta SahaShubha1205014
Repon KumarRoy 1205002
TheApproximateAlgorithm
Applications
SomeQuestions
Proof of 2-Approximation
|X | = 2|Y ||Y | ≤ |X ∗|So,|X | ≤ 2|X ∗|thereby proving 2-Approximation
ApproximationAlgorithm:
TheVertex-coverProblem
Sudipta SahaShubha1205014
Repon KumarRoy 1205002
TheApproximateAlgorithm
Applications
SomeQuestions
Table of Contents
2 The Approximate Algorithm
3 Applications
4 Some Questions
ApproximationAlgorithm:
TheVertex-coverProblem
Sudipta SahaShubha1205014
Repon KumarRoy 1205002
TheApproximateAlgorithm
Applications
SomeQuestions
Applications
Selecting Optimal Position of Security
Cameras.
Setting of ATM booths Optimally.
For Bipartitle Graph, Maximum
Matiching = Minimum Vertex Cover.
ApproximationAlgorithm:
TheVertex-coverProblem
Sudipta SahaShubha1205014
Repon KumarRoy 1205002
TheApproximateAlgorithm
Applications
SomeQuestions
Applications
Selecting Optimal Position of Security
Cameras.
Setting of ATM booths Optimally.
For Bipartitle Graph, Maximum
Matiching = Minimum Vertex Cover.
ApproximationAlgorithm:
TheVertex-coverProblem
Sudipta SahaShubha1205014
Repon KumarRoy 1205002
TheApproximateAlgorithm
Applications
SomeQuestions
Applications
Selecting Optimal Position of Security
Cameras.
Setting of ATM booths Optimally.
For Bipartitle Graph, Maximum
Matiching = Minimum Vertex Cover.
ApproximationAlgorithm:
TheVertex-coverProblem
Sudipta SahaShubha1205014
Repon KumarRoy 1205002
TheApproximateAlgorithm
Applications
SomeQuestions
Applications
Selecting Optimal Position of Security
Cameras.
Setting of ATM booths Optimally.
For Bipartitle Graph, Maximum
Matiching = Minimum Vertex Cover.
ApproximationAlgorithm:
TheVertex-coverProblem
Sudipta SahaShubha1205014
Repon KumarRoy 1205002
TheApproximateAlgorithm
Applications
SomeQuestions
Table of Contents
2 The Approximate Algorithm
3 Applications
4 Some Questions
ApproximationAlgorithm:
TheVertex-coverProblem
Sudipta SahaShubha1205014
Repon KumarRoy 1205002
TheApproximateAlgorithm
Applications
SomeQuestions
Some Questions
Is there any graph where this
approximate algorithm always gives
twice the size of optimal solution?
How about repeatedly selecting a
vertex of highest degree, and removing
all of its incident edges?
ApproximationAlgorithm:
TheVertex-coverProblem
Sudipta SahaShubha1205014
Repon KumarRoy 1205002
TheApproximateAlgorithm
Applications
SomeQuestions
Some Questions
Is there any graph where this
approximate algorithm always gives
twice the size of optimal solution?
How about repeatedly selecting a
vertex of highest degree, and removing
all of its incident edges?
ApproximationAlgorithm:
TheVertex-coverProblem
Sudipta SahaShubha1205014
Repon KumarRoy 1205002
TheApproximateAlgorithm
Applications
SomeQuestions
Some Questions
Is there any graph where this
approximate algorithm always gives
twice the size of optimal solution?
How about repeatedly selecting a
vertex of highest degree, and removing
all of its incident edges?
ApproximationAlgorithm:
TheVertex-coverProblem
Sudipta SahaShubha1205014
Repon KumarRoy 1205002
TheApproximateAlgorithm
Applications
SomeQuestions
Thanks and Questions are Welcome