Improving Local Search For Minimum Weight Vertex Cover by Dynamic Strategies

You might also like

Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1of 47

People’s Democratic Republic of Algeria

University of Ferhat Abbas Setif – 1 –


Faculty of Sciences
Computer Science Department

Report On:

Improving Local Search for Minimum


Weight Vertex Cover by Dynamic Strategies

Under Supervision of: Work Done by:


 ZERRAD Houssem Eddine
 Dr. BOUAMAMA Salim
 ROUABAH Oussama
 KERROUCHE Amine
Summary

1. Introduction 4. Algorithm Presentation


1. Preamble 1. Baseline Algorithm
2. Minimum Vertex Cover (MVC) 2. DynWVC1
3. DynWVC2
3. Minimum Weight Vertex Cover
(MWVC)
4. Real-Life Areas of Use 5. Evaluation
4. Conditions of Evaluation
2. Problematics of MWVC 5. Experiments on Map Labeling
6. Experiments on Massive Graphs
1. MWVC Classified
7. Effectiveness of DynamicChoose
2. Heuristics for MWVC
3. Local-Search Heuristics for MWVC
6. Conclusion
4. From FastWVC to DynWVC

3. Preliminaries
1. Basic Definitions and Notations
2. Scoring Functions
3. Best from Multiple Selections
I. Introduction
Minimum Weight Vertex Cover and its real life uses.
1. Preamble
2. Minimum Vertex Cover (MVC)
I. Introduction 3. Minimum Weight Vertex Cover (MWVC)
4. Real-Life Areas of Use.

▪ The Minimum Weight Vertex Cover problem is an important


combinatorial (discrete) optimization problem with various real-world
applications.

▪ Many researches in this regard have been made to develop algorithms


that achieve a satisfying solution at a reasonable time.
1. Preamble
2. Minimum Vertex Cover (MVC)
I. Introduction 3. Minimum Weight Vertex Cover (MWVC)
4. Real-Life Areas of Use.

Definition:

 
Given a graph , a minimum vertex cover is a subset of , noted where

• is minimal.

 Simply, an MVC is the minimum set of vertices that cover all the edges
of a graph.

An MVC is not necessarily unique !


1. Preamble
2. Minimum Vertex Cover (MVC)
I. Introduction 3. Minimum Weight Vertex Cover (MWVC)
4. Real-Life Areas of Use.

Example:

Red-colored vertices of each graph


represent their respective vertex
covers

The MINIMUM vertex cover takes


the minimum number possible of
vertices that cover all edges

By Miym - Own work, CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=6017749


1. Preamble
2. Minimum Vertex Cover (MVC)
I. Introduction 3. Minimum Weight Vertex Cover (MWVC)
4. Real-Life Areas of Use.

Definition I:

 
Given a weighted graph , a minimum weight vertex cover is a subset of , noted
where

• is minimal.

An MWVC is not necessarily unique !


1. Preamble
2. Minimum Vertex Cover (MVC)
I. Introduction 3. Minimum Weight Vertex Cover (MWVC)
4. Real-Life Areas of Use.

Definition II:
 
The minimum weight vertex cover problem
could be represented as an Integer Linear
Programming problem as follows:

 • : is a decision variable taking either or representing the existence of vertex in the


solution.

• : is a function that associates to each vertex a positive weight.


1. Preamble
2. Minimum Vertex Cover (MVC)
I. Introduction 3. Minimum Weight Vertex Cover (MWVC)
4. Real-Life Areas of Use

▪ Computational Biology.

▪ Electronic Maps (Map Labeling Problem).

▪ Wireless Communications

▪ Computer Vision

▪ Network Bandwidth Flow


II. Problematics of MWVC
The MWVC problem and different approaches to solve them.
1. MWVC Classified
2. Heuristics for MWVC
II. Problematics of MWVC 3. Meta-Heuristics for MWVC
4. From FastWVC to DynWVC

▪ MWVC is classified as an NP-Hard problem [Garey, 1979].

▪ Given its NP-Hardness, most studies on MWVC focused mainly on


heuristics.

Many exact algorithms have


▪ Most of these heuristics are based on local been created to guarantee the
search. optimality of solutions, but they
are not used in practice [Wang et
al, 2019].
1. MWVC Classified
2. Heuristics for MWVC
II. Problematics of MWVC 3. Meta-Heuristics for MWVC
4. From FastWVC to DynWVC

▪▪  MWVC problem of a graph is closely related to Maximum Weight


Independent Set problem of its complementary graph ’

The solution is the same


set of vertices
1. MWVC Classified
2. Heuristics for MWVC
II. Problematics of MWVC 3. Meta-Heuristics for MWVC
4. From FastWVC to DynWVC

▪ Most of the efficient heuristics for MWVC are local-search based.

Definition:

Local-Search is a heuristic method for solving computationally hard optimization problems. It


moves from solution to solution in the space of candidate solutions by applying local changes, until a
solution deemed optimal is found or a time bound is elapsed [Wikipedia, 2015].
1. MWVC Classified
2. Heuristics for MWVC
II. Problematics of MWVC 3. Meta-Heuristics for MWVC
4. From FastWVC to DynWVC

Examples
▪Ant of meta-heuristics for MWVC:
colony-based
[Jovanovic and algorithms
Tuba, 2011].
▪2012].
Simulated Annealing [Voß and Fink,
▪Multi-Start
et al., 2016]Iterated
: Tabu
performant Search
on [Zhou
small and
middle
▪DLSWCC range sized graphs
on massive[Li et al.,
sparse 2016]
graphs: performant
▪FastWVC [Li et al., 2017]
on massive sparse graphs. : performant
1. MWVC Classified
2. Heuristics for MWVC
II. Problematics of MWVC 3. Meta-Heuristics for MWVC
4. From FastWVC to DynWVC

▪ Shaowei Cai has successfully improved over the FastWVC heuristic.


▪ The idea is to abstract the baseline local search algorithm from FastWVC, which
maintains the validity of the candidate solution at the end of each iteration.

1. First, two dynamic strategies are introduced to improve choosing vertices to be removed;
This resulted in the appearance of the first version of DynWVC: DynWVC1

2. Second, another dynamic strategy for deciding the number of vertices to be removed is
introduced, this led to the more mature DynWVC version: DynWVC2
III. Preliminaries
Fundamental that should be established.
1. Basic Definitions and Notations
III. Preliminaries 2. Scoring Function
3. Best from Multiple Selections

▪▪ A  candidate solution, denoted as , is a set of vertices that qualify to be a solution for a given
MWVC problem.

▪ we use the notion “state”, denoted as to indicate whether is included in the candidate solution or
not:
If , then , and we call a covering vertex.
If , then , and we call an uncovering vertex.

▪ The age of a vertex, denoted as , is the number of steps that have happened since last changed
its state.
1. Basic Definitions and Notations
III. Preliminaries 2. Scoring Function
3. Best from Multiple Selections

▪  
▪ This algorithm uses an edge weighting mechanism , each edge have a positive
number as its weight.
1. Basic Definitions and Notations
III. Preliminaries 2. Scoring Functions
3. Best from Multiple Selections

Definition I:

  is the change of cost caused by changing the state of a vertex , and is calculated
as follows:

▪▪ :  is the total weight of edges uncovered by the current candidate solution C


▪ : is the candidate solution after changing the state of v
 

We have the first candidate solution

The second candidate solution

=>
1. Basic Definitions and Notations
III. Preliminaries 2. Scoring Functions
3. Best from Multiple Selections

▪  Two scoring functions and are used to measure how much contribution (or
damage) a vertex will make to the solution by changing its state.

Definition II:

 • : Used to measure the contribution , defined as :

• : Used to measure the damage , defined as :


1. Basic Definitions and Notations
III. Preliminaries 2. Scoring Functions
3. Best from Multiple Selections

▪  In a step, vertices can be removed, making some edges uncovered


▪ We need an efficient way to add vertices in order to cover these edges: .

Definition III:
 The valid_score is a ratio that represents the damage presented by a vertex compared to
its uncovering neighbors. It is calculated as follows:

: Set of adjacent uncovering vertices of v


1. Basic Definitions and Notations
III. Preliminaries 2. Scoring Functions
3. Best from Multiple Selections

▪▪  Best from Multiple Selection (BMS) , is a generic heuristic which returns a good-
quality vertex from a large set of candidate vertices quickly and effectively with a
very high probability.

▪ BMS randomly picks candidate solutions and returns the best one with regard to
some criterion
1. Basic Definitions and Notations
III. Preliminaries 2. Scoring Functions
3. Best from Multiple Selections

▪▪  In our algorithm, is always set to 50.


 This guarantees that the returned vertex is among the top 10% with regard to the passed
criterion with a probability greater than 0.99, as proved in [Cai, 2015].

▪ This algorithms utilizes the BMS heuristic in two manners:


1. During the Initialization Phase to determine a candidate solution to improve.
2. During the Removing Phase to determine a vertex to remove from .
IV. Algorithm Presentation
DynWVC in-depth.
1. Baseline Algorithm
2. DynWVC 1
IV. Algorithm Presentation 3. DynWVC2

 1. An initial vertex cover is firstly generated by a


procedure Construct(). then is duplicated in .

2. The algorithm enters the local search process


which consists of two major phases:
 Removing Phase: this phase removes
unwanted vertices from using
RemoveVertices().
 Adding Phase: this phase adds vertices to in
order to cover uncovered edges and obtain a
valid candidate solution.

3. Redundant vertices are detected and removed.

4. If the newly found solution is better than the best


found solution , is updated to This part is abstracted and improved from FastWVC
1. Baseline Algorithm
2. DynWVC 1
IV. Algorithm Presentation 3. DynWVC2

Construct()
 
Consists of two phases:
• Extending Phase that generates k vertex covers
and returns the best using BMS w.r.t. the greater .
• Shrinking Phase that succeeds the previous phase
in order to remove redundant vertices.

RemoveVertices()
 
Removes two vertices from C:
• First, the vertex with the minimum is removed.
• Second, using BMS w.r.t. the value, we remove the
second vertex.
1. Baseline Algorithm
2. DynWVC 1
IV. Algorithm Presentation 3. DynWVC2

▪  Cai used dynamic strategies to improve the baseline algorithm presented


before, resulting in a new algorithm called DynWVC1.
▪ Alongside the function, is also employed in the vertex removal phase.
▪ and have different impact on the behavior of the algorithm
 function is an “exploratory ” selection; there is a high probability that removing the vertex
with lowest loss would prove beneficial for the solution quality, but we can not be certain
of it.
 vfunction is “deterministic”, that is, with its value we can determine whether the removal
of this vertex would have a positive effect on solution quality or not.
1. Baseline Algorithm
2. DynWVC 1
IV. Algorithm Presentation 3. DynWVC2

INITIALIZATION
 1. Construct() procedure from the baseline
algorithm is called and stored in variable .

2. is duplicated in and
• hold the candidate solution of the previous
iteration.
• hold the current/finale solution.

3. Init of all the edges to 1.

4. Calculate the , and of each vertex

5. Set the value of to 0.


1. Baseline Algorithm
2. DynWVC 1
IV. Algorithm Presentation 3. DynWVC2

Local Search

 Removing Phase :
1. choose the first vertex w with the minimum from
.
2.choose the second vertex u by
DynamicChoose().

 
Adding Phase :
1. Choose the vertex with maximum from N(R)
 N(R) : the set of neighbors of {w, u}.
2. increment the edge_w() by one for all uncovered
edges
3. repeat until is a vertex cover.
1. Baseline Algorithm
2. DynWVC 1
IV. Algorithm Presentation 3. DynWVC2

DynamicChoose()
▪  Based on and functions; to determine
the second vertex to be removed:
▪ If is smaller than α, a vertex with the
smallest valid score will be removed.

▪ Else, the secondary function loss is used to


pick the vertex according to BMS.

In both cases, ties are broken by preferring the oldest vertex


1. Baseline Algorithm
2. DynWVC 1
IV. Algorithm Presentation 3. DynWVC2

▪ In most local search algorithms for MWVC, one vertex is removed


during the removing phase. FastWVC proposes to remove two
vertices at one iteration to enlarge the search region.

▪ However, the search region produced by removing two vertices is not


always sufficient for the search process.
1. Baseline Algorithm
2. DynWVC 1
IV. Algorithm Presentation 3. DynWVC2

▪ To make the algorithm more efficient on massive sparse graphs, Cai


incorporated a second dynamic strategy into DynWVC1 for deciding
the number of vertices to be removed, resulting in the DynWVC2.
▪ The second strategy is says:
▪ After removing two vertices : search region is not
▪ if search region is not enough ,then the algorithm removes enough : the total degree
one more vertex with small loss based on BMS strategy. of the removed vertices
 In this way the search region can be expanded. does not reach a
predetermined value
▪ else, the third vertex is not removed. (which is set to 2 times
 This ensures a balance between search time and search average degree of the
quality. graph)
V. Evaluation
How does Pr. Cai’s state-of-the-art DynWVC fares with currently
used heuristics?
1. Conditions of Evaluation
2. Experiments on Map Labeling
V. Evaluation 3. Experiments on Massive Graphs
4. Effectiveness of DynamicChoose

▪ MWVC-solving heuristics are evaluated on two levels:


1. Effectiveness over map labeling benchmarks.
2. Effectiveness over massive graphs.

▪ DynWVC1, DynWVC2, and other competing algorithms are implemented in


C++, compiled with g++ with the ‘-O3’ parameter, and run under the same
machine.

▪ All algorithms are executed 10 times for each instance with a cutoff time of
1000 seconds.
1. Conditions of Evaluation
2. Experiments on Map Labeling
V. Evaluation 3. Experiments on Massive Graphs
4. Effectiveness of DynamicChoose

▪  In this evaluation, map labeling problems are treated as Maximum Weight
Independent Set problems. Hence, the higher the benchmark, the better the
heuristic.
▪ On the other hand, Massive Graphs are treated as ordinary MWVC problems.
Hence, the lower the benchmark, the better the heuristic.
▪ Values reported are as follows:
▪ average weight of the solution calculated after the 10 iterations.
▪ maximum weight of the solution recorded after 10 iteration for map labeling instances.
▪ minimum weight of the solution recorded after 10 iterations for massive graph instances.
1. Conditions of Evaluation
2. Experiments on Map Labeling
V. Evaluation 3. Experiments on Massive Graphs
4. Effectiveness of DynamicChoose
1. Conditions of Evaluation
2. Experiments on Map Labeling
V. Evaluation 3. Experiments on Massive Graphs
4. Effectiveness of DynamicChoose

Number of instances:
36
Times DynWVC outperformed other
heuristics:

28

77.78%
1. Conditions of Evaluation
2. Experiments on Map Labeling
V. Evaluation 3. Experiments on Massive Graphs
4. Effectiveness of DynamicChoose
1. Conditions of Evaluation
2. Experiments on Map Labeling
V. Evaluation 3. Experiments on Massive Graphs
4. Effectiveness of DynamicChoose

Number of instances:
73
Times DynWVC1 outperformed Times DynWVC2 outperformed
33 47

45.21% 64.38%

95.89%
1. Conditions of Evaluation
2. Experiments on Map Labeling
V. Evaluation 3. Experiments on Massive Graphs
4. Effectiveness of DynamicChoose

• In this evaluation, Cai tested DynWVC with a simpler heuristic that does not
implement his dynamic strategies.

• The simple heuristic is called SimpWVC.

• Used instances for map labeling have more than 1000 vertices

• Used instances for massive graphs have a vertices number that exceeds
10000.
1. Conditions of Evaluation
2. Experiments on Map Labeling
V. Evaluation 3. Experiments on Massive Graphs
4. Effectiveness of DynamicChoose
1. Conditions of Evaluation
2. Experiments on Map Labeling
V. Evaluation 3. Experiments on Massive Graphs
4. Effectiveness of DynamicChoose

Result:

DynWVC outperformed 100% of the


times!
VI. Conclusion
Brief Description
VI. Conclusion

• MWVC problem is NP-Hard. Thus, most of the work done on it is on heuristics.

• Most of the developed heuristics are based on local-search improvement


strategy.

• Cai successfully implemented dynamic strategies over an existing heuristic and


gave it the name DynWVC.

• DynWVC achieved state-of-the-art performance and is considered one of the


best heuristics for solving MWVC problems.
Terminology

  Let be a graph, where denotes the set of its vertices and denotes the set of its edges.

  are connected (adjacent/neighbors) if .

 is complete graph if each vertex is connected with all other vertices, and noted where n stands
for the number of vertices.

 is the complementary graph of G if Which means the concatenation of G and G’ gives K.

 is a weighted graph iff:


 is a function that associates for each a positive weight (Vertex-Weighted). OR
 is a function that associates for each a positive weight (Edge-Weighted).
Bibliography

• [Garey, 1979] Michael R Garey. A guide to the • [Voß and Fink, 2012] Stefan Voß and Andreas Fink. A
theory of np-completeness. Computers and hybridized tabu search
intractability, 1979. approach for the minimum weight vertex cover
problem. J. Heuristics, 18(6):869–
• [Wang et al., 2019] Luzhi Wang , Chu-Min Li , 876, 2012
Junping Zhou , Bo Jin and Minghao Yin. An Exact
Algorithm for Minimum Weight Vertex Cover • [Li et al., 2016] Ruizhi Li, Shuli Hu, Haochen Zhang,
Problem in Large Graphs. 2019. and Minghao Yin. An efficient
local search framework for the minimum weighted
• [Jovanovic and Tuba, 2011] Raka Jovanovic and vertex cover problem. Inf. Sci.,
Milan Tuba. An ant colony optimization algorithm 372:428–445, 2016
with improved pheromone correction strategy for
the minimum • [Li et al., 2017] Yuanjie Li, Shaowei Cai, and Wenying
weight vertex cover problem. Appl. Soft Comput., Hou. An efficient local search
11(8):5360–5366, 2011 algorithm for minimum weighted vertex cover on
massive graphs. In Proc. of SEAL-
2017, pages 145–157, 2017
Bibliography

• [Wikipedia, 2015] Local Search


(Optimization). En.wikipedia.org. N. p., 2015.

• [Cai, 2015] Shaowei Cai. Balance between


complexity and quality: Local search for
minimum vertex cover in massive graphs. In Proc.
of IJCAI-2015, pages 747–753,
2015

• [Cai et al., 2018] Shaowei Cai, Wenying Hou,


Jinkun Lin, Yuanjie Li. Improving Local Search for
Minimum Weight Vertex Cover
by Dynamic Strategies

You might also like