Vertex Cover Problem
Vertex Cover Problem
net/publication/282375697
CITATIONS READS
4 2,378
3 authors, including:
Selvakumar Ramachandran
VIT University
58 PUBLICATIONS 112 CITATIONS
SEE PROFILE
All content following this page was uploaded by Selvakumar Ramachandran on 29 June 2020.
Abstract This paper is aimed to present the solution to vertex cover problem by
means of an approximation solution. As it is NP complete problem, we can have an
approximate time algorithm to solve the vertex cover problem. We will modify the
algorithm to have an algorithm which can be solved in polynomial time and which
will give near to optimum solution. It is a simple algorithm which will be based on
articulation point. Articulation point can be found using the Depth First Search
algorithm.
1 Introduction
will be closer to the optimal solution. The algorithm which provides closer solution
to the optimal solution is known as approximation algorithms.
Let G = (V, E) be a graph where V is number of vertices and E be number of
edges. The set of vertices V 0 V is said to be cover if for each edge ðu; vÞ 2 E,
either u 2 V 0 or v 2 V 0 or both. The number of vertices in V′ is known as the size of
the cover V′. The problem of finding minimum size is known as vertex cover
problem.
2 Related Work
For vertex cover problems, we have many real-life problems in which vertex cover
problem solution can be applied. Like, to find population growths taken into
polynomial time and for that we can take bi-parted graph and also take articulation
points [2]. Also, vertex cover problem for network base routing delays in tolerance
network [3], for network traffic measurement [4]. Polynomial space parameterized
vertex cover can be solved in O(1.2738k + kn) time [5]. F. Delbot and C. Laforest
had proposed an algorithm in which vertexes are scanned from left to right. Con-
dition is as follows: “u is added to vertex cover if and only if it has at least one
neighbor not in the cover” [6]. This algorithm is called as LIST LEFT which is
given as follows [7]:
3 Approach
The approximation algorithm which is available to solve the vertex cover problem
is a polynomial time algorithm, and it can be solved in O (V + E) time complexity
where V is number of vertices and E is number of edges. The approximation vertex
cover is a polynomial time 2 approximation algorithm.
That is, let V be a vertex cover and V* be the optimal cover to that problem.
Then, we can prove that
jV j 2jV j
12 K. Shah et al.
So, in this case, if number of vertices increases, the solution to vertex cover may
also diverse far from optimal solution.
As we noted above that approximate vertex cover problem solution is less than or
equal to 2 times the optimal solution. We proposed the algorithm which will take
near to optimal solution.
In our approach, we will find the articulation point of that particular graph and
then add those vertices in the vertex cover. From remaining edges, we will take the
common vertex which can cover 2 or more edges. After that if some more edges are
not covered, then we will take 1 of the vertex from the edge. In order to find the
articulation point, we can go for Depth First Search (DFS) algorithm, which takes
O (V + E) time to find the articulation points. There are many more algorithms
available for finding articulation points. DFS is one of the simplest algorithms.
Proposed algorithm to find the vertex cover of graph is shown below.
4 Analysis
Now comparing both the algorithms, let us take 1 case of finding vertex cover.
Consider the following example. It contains 10 vertices and 13 edges. All vertices
are connected with edges as shown in Fig. 1. Now, we will apply the vertex cover
algorithms to the following example with both the approaches (i.e., existing
approach and proposed approach). After that result will be compared for example,
and output from each algorithm will be compared. The algorithm is computed step
by step as per the algorithms discussed above.
Using existing algorithm:
1. C /
2. E′ = {(1, 2), (2, 3), (3, 4), (1, 4), (2, 7), (2, 9), (2, 10), (3, 5), (3, 6), (7, 8), (7, 9),
(7, 10), (9, 10)}
3. Let us take an arbitrary edge (9, 10)
4. C = {9, 10}
5. E′ = {(1, 2), (2, 3), (3, 4), (1, 4), (2, 7), (2, 9), (2, 10), (3, 5), (3, 6), (7, 8)}
6. Let us take another arbitrary edge (1, 4)
7. C = {1, 4, 9, 10}
8. E′ = {(2, 3), (2, 7), (2, 9), (2, 10), (3, 5), (3, 6), (7, 8)}
9
1 2
10
4 3
6 5
14 K. Shah et al.
5 Implementation
Fig. 2 Step 1 of
implementation
Step 2: Remove the edges which are adjacent to all the vertices listed in Step 1.
Apply approx vertex cover algorithm on remaining graph (Disconnected
Graph). For example, given above, we have 4 choices {(1, 9) or (1, 10) or
(4, 9) or (4, 10)}. We can choose any combination.
Step 3: Take union of vertices found in Steps 1 and 2.
6 Conclusion
From above example, we can see that using existing algorithm, we are getting 8
elements in vertex cover set. While using proposed algorithm, we are getting 5
elements. Also, it is same as minimal vertex cover.
If V is a vertex cover set derived from Algorithm 1.1 and V* is an optimal vertex
cover set, then
jV j 2jV j
If C is a vertex cover set derived from Algorithm 1.3 and C* is an optimal vertex
cover set, then
jC j jC j
7 Future Work
In this proposed algorithm, we are using DFS algorithm to find the articulation
points of the graph. This algorithm takes O (V + E) time to compute the articulation
points. We can go for some other techniques to find the articulation points which
can take less time compared to DFS. Also, we can find some other techniques
which always provide the exact solution to optimal solution. Also, some more
techniques can be used to provide nearer solution. There is also possible to find
algorithm which runs faster than this algorithm.
Acknowledgment We would like to thank the School of Computer Science and Engineering,
VIT University, for giving us such an opportunity to carry out this research work and also for
providing us the requisite resources and infrastructure for carrying out the research.
References