33
Table 5.2:
Shows the comparison of all presented algorithms on graph (G)
Algorith
m type
Size of
vertex-
cover
Solution set
Complexity
Remarks
Branch
and
bound
5
{a,d,g,h,k}
It grows
exponentially
fast with
problem size
for all values
of c.
1. BB is complete algorithm that is
ensured to find the minimum vertex
cover.
2. If no vertex cover of the desired size
is found, some covering marks have to
be removed and be placed elsewhere, i.e.
the algorithm has to backtrack.
Approxi
mation
10
6
6
{a,b,c,d,e,g,h,
i,j,k}
{b,c,g,h,i,k}
{b,c,e,f,i,j}
O(V+E)
1. This gives different solutions but all
solutions near to optimal.
2.
This
is
a
polynomial-time
2-
approximation algorithm means that the
solution returned by algorithm is at most
twice the size of an optimal.
Greedy
Clever
greedy
7
5
{a,b,c,g,h,i,k}
{a,d,g,h,k}
O( V+E)
O (logV)
1. It is easy to find in some situations
where this algorithm fails to yield a
optimal solution.
2.
Greedy
algorithm
is
not
a
2-
approximation
3. Clever greedy algorithm always gives
solutions better than simple greedy.
Genetic
6
{a,c,d,g,h,k}
Time
complexity
measured by
the overall
number of
candidate
solutions
examined until
the optimum is
found.
1. GA is an optimization technique
based on the natural evolution.
2. GA fails to obtain consistent results
for specific type of regular graphs.
3. For large problems, the growth of the
number of evaluations required by GA
becomes faster.
4. It gives better results when it is
combined
in
to
local
optimization
technique.

34
5
.2 Alom’s extended
algorithm for Vertex Cover Problem
Alom‘s algorithm is extended
in order to give the all possible vertex cover for
undirected graph.
The reason behind that for some larger graphs this algorithm may be fails to give
exact optimal solution. This algorithm gives all minimal vertex covers and minimum
vertex covers.
This paper presents a formal description of the algorithm. Given a simple graph G
with |V|= n vertices and |E|= m edges, this algorithm finds every possible minimal
vertex cover. This is followed by a small example illustrating the steps of the
algorithm.
OPTIMAL-VERTEX-COVER (V, E)
1. For i=1, 2, 3……n in turn
2. G
'
=
V
—
{v
i
} and E
—
{e
∈
E: v
i
∈
e}
3. Apply the Algo1 on G
'
4. VC=V
'
∪
{v
i
}.
5. Return VC
Primal-
dual
O(V log V+E)
1. It reduces the degree of infeasibility of
the primal one at the same time.
2. The algorithm terminates as soon as
the primal solution is feasible.
3. The final dual solution is used as a
lower-bound for the optimum solution
value by means of weak duality.
Alom‘s
5
{a,d,g,h,k}
O(E)
1. It gives always optimal solution to the
given graph.
2.
Complexity
is
same
as
with
approximation algorithm.
3. For larger graphs, may be this
algorithm
lost
to
give
an
optimal
solution.

35
Algo1(V
'
,
E
'
)
{
1. V
'
←
ø
2. E
'
←
E
[
G
'
]
3. While E
'
≠
ø {
4. Count incident edges of all vertices of graph G
'
5. Vm
←
Choose a vertex which has maximum degree in the current graph;
6. If (More than one vertex have maximum number of edges) then
7. V
m
←
Choose that vertex which has at least one edge that is not covered by
others which have maximum number of edges.
Otherwise choose an arbitrary edge.
8. V
'
=
V
'
∪
V
m
.
9. Remove the all incident edges of vertex V
m
}
10. Return V
'
}
Figure 5.2:
