13.07.2015 Views

An Ant-Based Algorithm for the Minimum Vertex Cover Problem

An Ant-Based Algorithm for the Minimum Vertex Cover Problem

An Ant-Based Algorithm for the Minimum Vertex Cover Problem

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

We approve <strong>the</strong> <strong>the</strong>sis of Muthubharathi Periannan.Date of SignatureThang N. BuiAssociate Professor of Computer ScienceChair, Ma<strong>the</strong>matics and Computer Science ProgramsThesis AdvisorSukmoon ChangAssistant Professor of Computer ScienceLinda M. NullAssociate Professor of Computer Science


I grant The Pennsylvania State University <strong>the</strong> non-exclusive right to use this work<strong>for</strong> <strong>the</strong> University’s own purposes and to make single copies of <strong>the</strong> work availableto <strong>the</strong> public on a not-<strong>for</strong>-profit basis if copies are not o<strong>the</strong>rwise available.Muthubharathi Periannan


The Pennsylvania State UniversityThe Graduate SchoolAN ANT-BASED ALGORITHM FOR THEMINIMUM VERTEX COVER PROBLEMA Thesis inComputer SciencebyMuthubharathi Periannanc○ 2007 Muthubharathi PeriannanSubmitted in Partial Fulfillmentof <strong>the</strong> Requirements<strong>for</strong> <strong>the</strong> Degree ofMaster of ScienceDecember 2007


The <strong>the</strong>sis of Muthubharathi Periannan was reviewed and approved ∗ by <strong>the</strong> following:Thang N. BuiAssociate Professor of Computer ScienceChair, Ma<strong>the</strong>matics and Computer Science ProgramsThesis AdvisorSukmoon ChangAssistant Professor of Computer ScienceLinda M. NullAssociate Professor of Computer Science∗ Signatures are on file in <strong>the</strong> Graduate School.


AbstractA vertex cover <strong>for</strong> a graph is a set of vertices, such that every edge in <strong>the</strong> graph isincident with at least one vertex in that set. The minimum vertex cover is definedas <strong>the</strong> vertex cover with <strong>the</strong> smallest size. The problem of finding <strong>the</strong> minimumvertex cover <strong>for</strong> a graph is well known to be NP-hard. This <strong>the</strong>sis provides anant-based algorithm <strong>for</strong> finding a small size vertex cover. The algorithm proceedsin two phases: exploration and construction. In <strong>the</strong> first phase, ants are usedto explore <strong>the</strong> graph and identify potential vertices that can be used in a vertexcover. In <strong>the</strong> construction phase, a greedy approach is used to build a vertexcover from <strong>the</strong> set of potential vertices. Local optimization techniques are used toimprove <strong>the</strong> quality of solutions and enhance <strong>the</strong> per<strong>for</strong>mance of <strong>the</strong> algorithm.Extensive experimental results show that <strong>the</strong> algorithm per<strong>for</strong>ms very well againsto<strong>the</strong>r approaches and produces close to optimal results.iii


Table of ContentsList of FiguresList of TablesAcknowledgementsviviiviiiChapter 1Introduction 1Chapter 2Preliminaries 32.1 <strong>Problem</strong> Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . 32.2 <strong>Minimum</strong> Weight <strong>Vertex</strong> <strong>Cover</strong> <strong>Problem</strong> . . . . . . . . . . . . . . . 52.3 <strong>An</strong>t <strong>Algorithm</strong>s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52.4 Previous Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7Chapter 3<strong>An</strong>t-<strong>Based</strong> MVC <strong>Algorithm</strong> 103.1 <strong>Algorithm</strong> Overview . . . . . . . . . . . . . . . . . . . . . . . . . . 103.2 Initialization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113.3 Exploration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133.4 Pheromone Enhancement . . . . . . . . . . . . . . . . . . . . . . . . 153.5 Construction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163.6 Local Optimization . . . . . . . . . . . . . . . . . . . . . . . . . . . 17iv


3.6.1 Rebuild <strong>Vertex</strong> <strong>Cover</strong> Technique . . . . . . . . . . . . . . . . 193.6.2 Redundant <strong>Vertex</strong> Removal Technique . . . . . . . . . . . . 21Chapter 4Experimental Results 234.1 The BHOSLIB Instances . . . . . . . . . . . . . . . . . . . . . . . . 234.2 The DIMACS Benchmark Instances . . . . . . . . . . . . . . . . . . 244.3 The Random Graph Instances . . . . . . . . . . . . . . . . . . . . . 26Chapter 5Conclusion 28Appendix APer<strong>for</strong>mance Tables <strong>for</strong> <strong>the</strong> AB–MVC <strong>Algorithm</strong> 30References 36v


List of Figures2.1 A graph of Papadimitriou and Steiglitz with k = 3. . . . . . . . . . 42.2 A 2-Approximation <strong>Algorithm</strong> <strong>for</strong> <strong>the</strong> MVC <strong>Problem</strong>. . . . . . . . 53.1 <strong>An</strong> Overview of <strong>the</strong> AB–MVC <strong>Algorithm</strong>. . . . . . . . . . . . . . . 123.2 Cascading Effect of <strong>the</strong> Preprocessing Step Solves <strong>the</strong> Graph . . . 133.3 Movement of an <strong>An</strong>t <strong>Based</strong> on <strong>the</strong> Value of Movement Factor. . . . 143.4 One Step in <strong>the</strong> <strong>An</strong>t Movement <strong>Algorithm</strong>. . . . . . . . . . . . . . 163.5 Construction Stage. . . . . . . . . . . . . . . . . . . . . . . . . . . 183.6 Overview of Local Optimization Stage. . . . . . . . . . . . . . . . . 193.7 Rebuild <strong>Vertex</strong> <strong>Cover</strong> Technique. . . . . . . . . . . . . . . . . . . . 203.8 Redundant <strong>Vertex</strong> Removal Technique. . . . . . . . . . . . . . . . 224.1 Solution Quality Comparison. . . . . . . . . . . . . . . . . . . . . . 244.2 Running Time Comparison. . . . . . . . . . . . . . . . . . . . . . . 254.3 Solution Quality Comparison. . . . . . . . . . . . . . . . . . . . . . 26vi


List of TablesA.1 AB–MVC results on BHOSLIB Instances. . . . . . . . . . . . . . . 30A.2 AB–MVC results on BHOSLIB Instances. . . . . . . . . . . . . . . 31A.3 AB–MVC results on BHOSLIB Instances. . . . . . . . . . . . . . . 31A.4 AB–MVC results on DIMACS Benchmark Instances. . . . . . . . . 32A.5 AB–MVC results on DIMACS Benchmark Instances. . . . . . . . . 33A.6 AB–MVC results on DIMACS Benchmark Instances. . . . . . . . . 34A.7 AB–MVC results on DIMACS Benchmark Instances. . . . . . . . . 34A.8 AB–MVC results on Random Graph Instances. . . . . . . . . . . . 35A.9 AB–MVC results on Random Graph Instances. . . . . . . . . . . . 35vii


AcknowledgementsThe <strong>for</strong>emost gratefulness is owed to my advisor, Dr. Thang Bui, without whoseguidance and persistent help this <strong>the</strong>sis would not have been possible. I feel honoredhaving studied under him <strong>for</strong> two years and would like to thank him <strong>for</strong> takingme as his student. His lectures in algorithms and graph <strong>the</strong>ory have been <strong>the</strong> solemotivating <strong>for</strong>ce <strong>for</strong> my research. I sincerely hope and wish that I get a chance towork under him in <strong>the</strong> future.I am deeply indebted to all <strong>the</strong> professors in <strong>the</strong> department of ComputerScience with whom I have taken classes in <strong>the</strong>se two years: Dr. Linda Null, Dr.Qin Ding, and Dr. Jefferson Hartzler. I would also like to thank Dr. SukmoonChang under whom I worked as a grader. My thanks likewise go to Dr. JeremyBlum, Dr. Thang Bui, Dr. Sukmoon Chang, Dr. Xianghua Deng, and Dr. LindaNull, <strong>for</strong> not only reviewing this <strong>the</strong>sis, but also enduring its defense.My warmest gratitude goes to my parents and sisters who have showered mewith nothing but love <strong>for</strong> all <strong>the</strong>se years and without whose support my graduatestudies would have been an unfulfilled dream. They are <strong>the</strong> reason <strong>for</strong> whatever Iam today. This <strong>the</strong>sis is dedicated to <strong>the</strong>m.viii


Chapter 1IntroductionA vertex cover of an undirected graph G = (V, E) is defined as a subset C of Vsuch that every edge in E is incident with at least one of <strong>the</strong> vertices in C. Thevertex cover with minimum cardinality is called <strong>the</strong> minmum vertex cover of G.The minimum vertex cover problem (MVC) is <strong>the</strong> problem of finding <strong>the</strong> minimumvertex cover in a graph and is well known to be NP-hard. Its corresponding decisionproblem is NP-complete. In fact, <strong>the</strong> decision problem appeared as one of <strong>the</strong> 21NP-complete problems in Richard Karp’s breakthrough paper [15].The MVC problem has attracted researchers and practitioners because of its intractablenature and because many difficult real-world problems can be <strong>for</strong>mulatedas instances of <strong>the</strong> minimum vertex cover including problems in <strong>the</strong> field of bioin<strong>for</strong>matics.It can be used in <strong>the</strong> construction of phylogenetic trees, in phenotypeidentification, and in analysis of microarray data, just to name a few [19].The vertex cover problem can be proved to be NP-complete by a reductionfrom 3-SAT or, as Karp did, by a reduction from <strong>the</strong> Clique problem. In fact, evenapproximating optimal solutions within a factor of 1.3606 is NP-hard [7]. There<strong>for</strong>e,heuristics are needed to find good solutions in a reasonable amount of time.Various techniques such as Genetic <strong>Algorithm</strong>s, Kernelization, and Simulated <strong>An</strong>nealinghave been applied to <strong>the</strong> MVC problem [27, 24, 10].<strong>An</strong>t Colony Optimization (ACO), a class of ant algorithms, was first proposedby Dorigo and colleagues [8, 9] as a multi-agent approach <strong>for</strong> solving difficult


1 INTRODUCTION 2combinatorial optimization problems like <strong>the</strong> traveling salesman problem (TSP)and <strong>the</strong> quadratic assignment problem (QAP). The <strong>An</strong>t-<strong>Based</strong> (AB) approachused in this <strong>the</strong>sis is ano<strong>the</strong>r variety of ant algorithms and has been used in recentyears to solve many graph optimization problems such as <strong>the</strong> k-cardinality tree [4],<strong>the</strong> degree constrained minmum spanning tree [5], and <strong>the</strong> maximum clique [3], toname a few.The MVC problem is naturally suited <strong>for</strong> AB approach, wherein <strong>the</strong> ants areused to explore <strong>the</strong> graph, identifying potential vertices based upon local in<strong>for</strong>mation.Later, <strong>the</strong> in<strong>for</strong>mation ga<strong>the</strong>red by <strong>the</strong> ants is used to construct <strong>the</strong> vertexcover. Finally, local optimization techniques are employed to improve <strong>the</strong> qualityof <strong>the</strong> solutions and enhance <strong>the</strong> per<strong>for</strong>mance. Extensive experimental resultsshow that our approach is very competitive with o<strong>the</strong>r algorithms in both runningtime and solution quality.The rest of this <strong>the</strong>sis is organized as follows. Chapter 2 provides a <strong>for</strong>maldefinition of <strong>the</strong> problem, its generalization and description of previous works. Ourant-based algorithm is described in Chapter 3. Chapter 4 presents and compares<strong>the</strong> per<strong>for</strong>mance of this algorithm against existing algorithms on a set of benchmarkand random instances. Chapter 5 presents <strong>the</strong> conclusion of <strong>the</strong> <strong>the</strong>sis and suggestsideas <strong>for</strong> future research.


Chapter 2Preliminaries2.1 <strong>Problem</strong> DefinitionLet G = (V, E) be an undirected graph with vertex set V and edge set E. A vertexcover of G is <strong>the</strong>n defined as a subset C of V that contains at least one of <strong>the</strong> twoend-points of every edge in E. The vertex cover with minimum cardinality is called<strong>the</strong> minimum vertex cover of G. Formally, <strong>the</strong> minimum vertex cover problem canbe stated as follows.Input: <strong>An</strong> undirected graph G = (V, E), where V is <strong>the</strong> vertex set and E is <strong>the</strong>edge set.Output: Smallest C ⊆ V such that ∀(u, v) ∈ E, u ∈ C or v ∈ C.Since we are interested in covering all edges of <strong>the</strong> graph by using as fewvertices as possible, one might be tempted to use a greedy approach. One suchgreedy algorithm operates by selecting a vertex u with <strong>the</strong> highest degree, i.e., avertex that is incident with <strong>the</strong> most number of edges, and adding it to <strong>the</strong> coverC. The edges that are covered by u are <strong>the</strong>n removed from E. The procedure isrepeated until E is empty.However, this is not a good strategy as can be seen by considering Papadimitriouand Steiglitzs graphs [20], where <strong>the</strong> graph consists of three levels. The firsttwo levels always have <strong>the</strong> same number of vertices while <strong>the</strong> third level has twofewer vertices.


2 PRELIMINARIES 4Each vertex in <strong>the</strong> first level is connected to exactly one vertex in <strong>the</strong> secondlevel. While, <strong>the</strong>re exists a complete bipartite graph between <strong>the</strong> vertices in leveltwo and three, i.e., every vertex in level two is connected to every vertex in levelthree. In general, such a graph consists of n vertices where n = 3k + 4 (k ≥ 1).Figure 2.1 shows a graph with k = 3. It is evident that <strong>the</strong> greedy algorithmdoes not return <strong>the</strong> optimal solution. In fact it can be shown that <strong>the</strong> algorithmper<strong>for</strong>ms with a relative error that grows as fast as O(ln n) [20].a b c d e • • • • • level 1 (k + 2 vertices)f • g• h• i• j • level 2 (k + 2 vertices)k • • l m • level 3 (k vertices)Figure 2.1. A graph of Papadimitriou and Steiglitz with k = 3.However, ano<strong>the</strong>r well-known greedy algorithm described in Figure 2.2, guaranteesto return a vertex cover with size no more than twice <strong>the</strong> size of <strong>the</strong> optimalsolution. This 2-approximation algorithm starts by randomly selecting an edge(u, v) from E. It <strong>the</strong>n adds both end-points, u and v to <strong>the</strong> cover C. Finally, alledges incident with ei<strong>the</strong>r u or v are removed from E. The entire procedure isrepeated until E is empty.It can be clearly seen that C is a vertex cover, as all <strong>the</strong> edges in E are covered.Let M be <strong>the</strong> set of edges selected by <strong>the</strong> algorithm. Then, M is a matching ofG, i.e., no two edges in M touch each o<strong>the</strong>r. Because <strong>the</strong> edges of M are disjoint,<strong>the</strong> minimum vertex cover must have at least one vertex from each edge in thismatching. There<strong>for</strong>e, <strong>the</strong> size of <strong>the</strong> minimum vertex cover is at least <strong>the</strong> size ofM. But, <strong>the</strong> size of C is twice <strong>the</strong> size of M, as both end-points of every edge inM are added. This proves that <strong>the</strong> solution returned by <strong>the</strong> algorithm is no morethan twice <strong>the</strong> size of <strong>the</strong> optimal solution.


2 PRELIMINARIES 5Input: Graph G = (V, E)Output: A vertex cover C <strong>for</strong> G with size no morethan twice <strong>the</strong> size of <strong>the</strong> optimal vertex coverbeginC ← ∅while E is not emptyRandomly select an edge (u, v)Add u and v to CRemove all edges incident with ei<strong>the</strong>r u or v from Eend-whilereturn CendFigure 2.2. A 2-Approximation <strong>Algorithm</strong> <strong>for</strong> <strong>the</strong> MVC <strong>Problem</strong>.2.2 <strong>Minimum</strong> Weight <strong>Vertex</strong> <strong>Cover</strong> <strong>Problem</strong>Given an undirected graph G = (V, E) with weights defined on <strong>the</strong> vertices, <strong>the</strong>minimum weight vertex cover problem (MWVC) is to find a vertex cover C of Gsuch that <strong>the</strong> sum of <strong>the</strong> weights of all nodes in C is minimum. Formally, <strong>the</strong>problem can be stated as follows.Input: <strong>An</strong> undirected graph G = (V, E) where V is <strong>the</strong> vertex set and E is <strong>the</strong>edge set. A weight function w : V → Z + .Output: A subset C ⊆ V such that ∀(u, v) ∈ E, u ∈ C or v ∈ C and ∑ x∈C w(x)is minimum.The minimum vertex cover problem is a special instance of <strong>the</strong> minimum weightvertex cover problem. MVC is just an instance of MWVC where all <strong>the</strong> vertexweights are <strong>the</strong> same.2.3 <strong>An</strong>t <strong>Algorithm</strong>sBe<strong>for</strong>e we describe our ant-based algorithm <strong>for</strong> <strong>the</strong> MVC problem, it might beuseful to review ant algorithms in general. <strong>An</strong>t algorithms are a class of swarmintelligence systems, typically made up of a population of simple agents, called ants,


2 PRELIMINARIES 6interacting locally with one ano<strong>the</strong>r and with <strong>the</strong>ir environment. <strong>An</strong>t algorithmswere inspired by <strong>the</strong> observation of real ant colonies. <strong>An</strong>ts are social insects, thatis, insects that live in colonies and whose behavior is directed more to <strong>the</strong> survivalof <strong>the</strong> colony as a whole than to that of a single individual component of <strong>the</strong> colony.<strong>An</strong> important feature of ant colonies is <strong>the</strong>ir nature to find shortest pathsbetween <strong>the</strong>ir nest and <strong>the</strong> food source. While travelling from <strong>the</strong>ir nest to <strong>the</strong>food source and on <strong>the</strong> way back, ants deposit a substance called pheromone on<strong>the</strong> ground. It is nothing but a volatile chemical substance which can be detectedby o<strong>the</strong>r ants. So, when <strong>the</strong> next ant sets about in search of food from its nest,it is more inclined to choose paths marked by strong pheromone concentrations.These ants in turn will increase <strong>the</strong> pheromone concentration on that path evenmore. This will soon lead to <strong>the</strong> typical line of ants all following <strong>the</strong> same path.However, it should be noted that <strong>the</strong> pheromone evaporates as time goes by and apath that has been deserted <strong>for</strong> a while tends to vanish. This phenomenon helps<strong>the</strong> ants to explore and identify paths leading to different food sources.<strong>An</strong>t algorithms can be broadly classified into two types: <strong>An</strong>t colony optimization(ACO) and <strong>An</strong>t-<strong>Based</strong> systems (AB). In ACO algorithms, a colony of artificialants collectively searches <strong>for</strong> good solutions to <strong>the</strong> optimization problem under consideration.Each ant builds a complete solution on its own. While building <strong>the</strong>solution it collects in<strong>for</strong>mation, both on <strong>the</strong> problem characteristics and on itsown per<strong>for</strong>mance. It <strong>the</strong>n uses this in<strong>for</strong>mation to modify <strong>the</strong> representation of<strong>the</strong> problem, as seen by <strong>the</strong> o<strong>the</strong>r ants. Travelling Salesman problem (TSP) was<strong>the</strong> first problem to which <strong>the</strong> ACO technique was applied because of its obvioususe of <strong>the</strong> ants’ ability to find <strong>the</strong> shortest path [6]. O<strong>the</strong>r problems that havebeen <strong>the</strong> focus of ACO work include <strong>the</strong> quadratic assignment, network routing,vehicle routing and frequency assignment problems [17].In an ant-based system, each ant does not construct a complete solution butra<strong>the</strong>r confines itself to a part of <strong>the</strong> problem space. It coordinates with o<strong>the</strong>rants to identify a promising configuration that is later used <strong>for</strong> constructing <strong>the</strong>solution. The distinct advantage of AB systems over ACO is <strong>the</strong> fact that <strong>the</strong> antsneed not possess knowledge of <strong>the</strong> problem space from a global perspective. Thismakes <strong>the</strong>m more amenable to an implementation in a distributed environment.AB systems have been used to solve problems such as <strong>the</strong> k-cardinality tree [4] and


2 PRELIMINARIES 7<strong>the</strong> degree constrained minmum spanning tree [5] and have produced better resultswhen compared to o<strong>the</strong>r heuristics. Our algorithm is an ant-based approach andis described in detail in Chapter 3.2.4 Previous WorkThe minimum vertex cover problem has been studied <strong>for</strong> a long time because of itsimportance and its various applications in real life problems. The MVC has beentackled by both heuristics, which try to find solutions as close as possible to <strong>the</strong>optimum solution, and by approximation algorithms that guarantee to producesolutions within specified bounds.We have previously mentioned that MVC is known to be NP-hard, and moreoverit cannot be approximated within a factor of 1.3606 unless P=NP [7]. A2-approximation algorithm has been discussed in <strong>the</strong> previous section. Improvingthis simple 2-approximation algorithm has been a non-trivial task. A numberof traditional approaches to MVC, typically with per<strong>for</strong>mance bounds close to 2,have been reported and are discussed in [11] and [18]. The best approximationalgorithm known, until recently, was published 20 years ago by Bar-Yehuda andEven [1]. They achieved an approximation factor of 2 − Θ(log log n/ log n). Thisfactor was reduced even fur<strong>the</strong>r by Karakostas to 2 − Θ(1/ √ log n) [14].Various heuristic techniques such as genetic algorithms, simulated annealing,ant colony optimization and kernelization, have been applied to solve <strong>the</strong> MVCproblem in <strong>the</strong> recent past. In <strong>the</strong> mid 1990’s Khuri and Back implemented astraight<strong>for</strong>ward genetic algorithm <strong>for</strong> <strong>the</strong> MVC problem [16]. They used a geneticalgorithm with proportional selection and two-point crossover and tested <strong>the</strong>irresults against <strong>the</strong> 2-approximation algorithm on randomly generated graphs. Thisis one of <strong>the</strong> very first heuristic technique to be developed and <strong>the</strong> aim of <strong>the</strong> paperwas to demonstrate that genetic algorithms can be used in a straight<strong>for</strong>ward wayto find good approximate solutions <strong>for</strong> <strong>the</strong> minimum vertex cover problem.Simulated annealing has been used as a heuristic to solve <strong>the</strong> MVC problem byXu and Ma [27]. <strong>An</strong>nealing is a generic term denoting a treatment, consisting ofheating a component to a specific temperature, holding it at that temperature <strong>for</strong>a specified period of time, followed by cooling at a suitable rate. <strong>An</strong> optimization


2 PRELIMINARIES 8method that simulates <strong>the</strong> physical process of annealing by allowing <strong>the</strong> occasionalacceptance of less attractive solutions or values is called simulated annealing. Indetail, simulated annealing starts initially with an arbitrary solution and <strong>the</strong>nrepeatedly tries to make improvements to it locally. A better solution is alwaysaccepted, however a worse solution is accepted with a probability that decreasesexponentially with <strong>the</strong> ratio of decrease in <strong>the</strong> solution quality and <strong>the</strong> temperatureT. Xu and Ma had defined a new acceptance function <strong>for</strong> every vertex and hadtested <strong>the</strong>ir algorithm against a limited number of ten benchmark graphs and foundit to be achieving close to optimal solutions with a high probability [27].Richter, Helmert, and Gretton have developed a stochastic local search algorithm(SLS) <strong>for</strong> <strong>the</strong> MVC problem named COVER [21]. SLS Methods are popularmeans of solving hard combinatorial problems [12]. <strong>An</strong> SLS algorithm operatesby searching in a space of candidate solutions <strong>for</strong> a problem, where a candidatesolution may not satisfy all of <strong>the</strong> constraints required by a solution. The COVERalgorithm takes as input, a graph G = (V, E) and a parameter k, and searches <strong>for</strong>a vertex cover of size k <strong>for</strong> G. Its candidate solutions are subsets of <strong>the</strong> vertex setV with size k. The algorithm starts with an initial candidate solution and tries tobuild a valid vertex cover by exchanging vertices. The algorithm terminates whena valid solution is generated or <strong>the</strong> number of cycles has reached <strong>the</strong> maximumlimit. Richter, Helmert and Gretton have evaluated <strong>the</strong>ir per<strong>for</strong>mance against awide variety of benchmark graphs and have vastly improved on existing results.However, <strong>the</strong> per<strong>for</strong>mance of <strong>the</strong> algorithm is highly influenced by <strong>the</strong> additionalparameter k. In <strong>the</strong> absence of this parameter, <strong>the</strong>re is a significant decline in <strong>the</strong>quality of solutions and a significant increase in running time.Shyu, Lin and Yin implemented an ant colony optimization algorithm, (ACO)<strong>for</strong> <strong>the</strong> minimum weight vertex cover problem (MWVC) [23]. Their algorithm aimsto identify a path that constitutes a vertex cover. To apply <strong>the</strong> ACO approachto meet <strong>the</strong> problem characteristics, <strong>the</strong>y had trans<strong>for</strong>med <strong>the</strong> original instanceof <strong>the</strong> graph into a complete graph, suitable <strong>for</strong> ants to traverse and composeapproximate solutions to MWVC. The <strong>the</strong>me of <strong>the</strong> paper was to introduce anddemonstrate <strong>the</strong> capability of ACO in dealing with MWVC. Their algorithm producedgood results <strong>for</strong> graphs with less than 50 vertices. However, as <strong>the</strong> size of<strong>the</strong> graph increased, <strong>the</strong> quality of <strong>the</strong> solutions decreased significantly. Gilmour


2 PRELIMINARIES 9and Dras have developed an algorithm named ACS, where a framework integratesstructural knowledge of <strong>the</strong> graph into <strong>the</strong> ACO metaheuristic [10]. The structureis determined through <strong>the</strong> notion of kernelization from <strong>the</strong> field of parameterizedcomplexity. They have tested <strong>the</strong>ir ACS algorithm against <strong>the</strong> same set of instancesthat was used by <strong>the</strong> ACO algorithm and have generated better resultswhen compared to <strong>the</strong> ACO algorithm.Recently, a hybrid heuristic <strong>for</strong> <strong>the</strong> MWVC problem was developed by Singhand Gupta [24]. Initially, a steady-state genetic algorithm is used to generate validvertex cover solutions. Later, a heuristic is applied to <strong>the</strong>se solutions that tries toeliminate <strong>the</strong> redundant vertices from <strong>the</strong>m. They have compared <strong>the</strong>ir algorithmagainst <strong>the</strong> ACO technique of Shyu, Lin and Yin and have produced better results.


Chapter 3<strong>An</strong>t-<strong>Based</strong> MVC <strong>Algorithm</strong>3.1 <strong>Algorithm</strong> OverviewThis chapter describes our ant-based algorithm, called AB–MVC, <strong>for</strong> <strong>the</strong> MVCproblem. The principal idea of AB–MVC is to have a group of ants explore <strong>the</strong>problem space and learn about <strong>the</strong> nature of <strong>the</strong> vertices. Later a vertex cover isbuilt using <strong>the</strong> knowledge ga<strong>the</strong>red by <strong>the</strong> ants. The quality of this vertex coveris fur<strong>the</strong>r improved by using local optimization techniques and finally, <strong>the</strong> bestsolution is returned.<strong>An</strong>ts are distributed at random, across various edges in <strong>the</strong> graph. Theseants <strong>the</strong>n travel from one edge to ano<strong>the</strong>r passing through vertices <strong>for</strong> a certainnumber of steps. As <strong>the</strong> ants cross a vertex, <strong>the</strong> pheromone content of that vertexgets increased and this increases <strong>the</strong> probability of <strong>the</strong> o<strong>the</strong>r ants to pass through<strong>the</strong> same vertex. The strategy used by <strong>the</strong> ants to select <strong>the</strong> edges to move tois designed in such a way that, vertices with high degree with respect to <strong>the</strong>irneighborhood are visited more frequently. These vertices, as <strong>the</strong>y cover morenumber of edges in <strong>the</strong> graph, are considered to be potentially good vertices <strong>for</strong><strong>the</strong> vertex cover. Thus, potentially good vertices are likely to be crossed morefrequently and hence have a high pheromone content on <strong>the</strong>m. These vertices are<strong>the</strong>n identified and are used to construct a vertex cover. The entire process isrepeated in cycles and a solution is computed in every cycle. After <strong>the</strong> stoppingcondition is met, <strong>the</strong> best solution computed is returned as a vertex cover <strong>for</strong> <strong>the</strong>graph.


3 <strong>An</strong>t-<strong>Based</strong> MVC <strong>Algorithm</strong> 11The algorithm consists of four main stages: initialization, exploration, construction,and optimization. In <strong>the</strong> initialization stage, <strong>the</strong> algorithm reads <strong>the</strong>input file, stores <strong>the</strong> in<strong>for</strong>mation in appropriate data structures and applies a preprocessingtechnique. Next, in <strong>the</strong> exploration stage, ants are allowed to explore<strong>the</strong> graph and ga<strong>the</strong>r in<strong>for</strong>mation about <strong>the</strong> problem space. In <strong>the</strong> constructionstage, using <strong>the</strong> knowledge ga<strong>the</strong>red by <strong>the</strong> ants, we use a greedy approach toconstruct a vertex cover. Finally, this solution is passed on to <strong>the</strong> local optimizationstage, where we have two techniques to enhance <strong>the</strong> solution fur<strong>the</strong>r. Thissolution is <strong>the</strong>n compared to <strong>the</strong> best solution computed in previous cycles and isretained if better, else it is discarded. The algorithm terminates after a certainnumber of cycles or if <strong>the</strong> stopping criteria are met. Figure 3.1 broadly describes<strong>the</strong> AB–MVC algorithm.3.2 InitializationAs <strong>the</strong> first step of initialization, <strong>the</strong> input graph is read and <strong>the</strong> in<strong>for</strong>mationis stored. Be<strong>for</strong>e we run <strong>the</strong> ant algorithm on this graph, a simple but efficientpreprocessing step is applied. In this step, we identify all <strong>the</strong> degree one verticesand add <strong>the</strong>ir neighbor to <strong>the</strong> cover C. Both <strong>the</strong> degree one vertex and its neighborare <strong>the</strong>n removed from V. Also, all <strong>the</strong> edges that are incident with both <strong>the</strong>severtices are removed from E. The entire procedure is repeated until <strong>the</strong>re are nomore degree one vertex in <strong>the</strong> graph. It should be noted that <strong>the</strong> preprocessingstep can have a cascading effect on <strong>the</strong> input graph. In fact, this will solve <strong>the</strong>problem optimally if <strong>the</strong> input graph is a tree.The idea behind this preprocessing step is that, <strong>for</strong> <strong>the</strong>se edges to be coveredby <strong>the</strong> solution, one of <strong>the</strong>ir two end-points has to be a part of <strong>the</strong> vertex cover.Hence, it is ideal to have <strong>the</strong> end with degree greater than one in <strong>the</strong> solution, asit is more likely to cover o<strong>the</strong>r edges as well. Figure 3.2 illustrates this step. Byadding d to <strong>the</strong> vertex cover, we have covered <strong>the</strong> edges (d, b), (d, c), (d, e), and(d, f).Once preprocessing is complete, <strong>the</strong> ant algorithm is applied to <strong>the</strong> modifiedgraph, G = (V, E) returned by <strong>the</strong> preprocessing step. To start with, <strong>the</strong> verticesare assigned a uni<strong>for</strong>m initial pheromone value. Then, based upon our initial


3 <strong>An</strong>t-<strong>Based</strong> MVC <strong>Algorithm</strong> 12Input: Graph G = (V, E)Output: A vertex cover C of Gbegin// initialization stageC ← ∅bestC ← Vwhile a degree 1 vertex u exists // preprocessing stepv ← neighbor(u)C ← C ∪ {v}V ← V − {u, v}remove all edges incident with v from Eend-whilecopyE ← Eposition ants on randomly selected edgesinitialize <strong>the</strong> pheromone level of all verticeswhile stopping criteria not met// exploration stageE ← copyE<strong>for</strong> step = 1 to numOfSteps<strong>for</strong> each ant a // more details in Figure 3.4select an edge (u, v) <strong>for</strong> <strong>the</strong> ant a to move to and move it <strong>the</strong>reupdate <strong>the</strong> pheromone level <strong>for</strong> all verticesend-<strong>for</strong>// construction stage – more details in Figure 3.5compute coverFactor <strong>for</strong> all verticeswhile E is not emptyadd <strong>the</strong> vertex u with highest coverFactor to Cremove all edges incident with u from Erecompute coverFactor <strong>for</strong> all verticesend-while// local optimization – more details in Figure 3.7 and Figure 3.8C ← Rebuild<strong>Cover</strong>(C)C ← Redundant<strong>Vertex</strong>Removal(C)if |C| < |bestC| <strong>the</strong>nbestC ← Cevaporate pheromone level globallyend-whilereturn bestCendFigure 3.1. <strong>An</strong> Overview of <strong>the</strong> AB–MVC <strong>Algorithm</strong>.


3 <strong>An</strong>t-<strong>Based</strong> MVC <strong>Algorithm</strong> 13a ••c• e•b• dFigure 3.2. Cascading Effect of <strong>the</strong> Preprocessing Step Solves <strong>the</strong> Graph•ftesting, <strong>the</strong> number of ants to explore <strong>the</strong> graph is set to one tenth of <strong>the</strong> numberof edges in G. However, we have a maximum and minimum limit on <strong>the</strong> numberof ants to avoid crowding or sparseness. The number of steps each ant will take inone cycle is set to one fourth of <strong>the</strong> number of vertices in G, so that <strong>the</strong>re will beenough exploration in each cycle. Next, <strong>the</strong> ants are distributed across randomlyselected edges, such that no edge contains more than one ant. However, it shouldbe noted that <strong>the</strong>re can be edges with no ants on <strong>the</strong>m. Also, every ant has atabu list attached to it, so that it can remember <strong>the</strong> last ten vertices that it hascrossed. This list is set to null at <strong>the</strong> start of <strong>the</strong> algorithm. This completes <strong>the</strong>initialization stage and <strong>the</strong> ants are ready to explore <strong>the</strong> graph.3.3 ExplorationIn <strong>the</strong> exploration stage, <strong>the</strong> ants tend to learn about <strong>the</strong> problem space by movingaround <strong>the</strong> graph, passing from one edge to ano<strong>the</strong>r. The objective of this stageis to explore <strong>the</strong> graph and identify potentially good vertices that can be used <strong>for</strong>constructing a vertex cover in <strong>the</strong> next stage.Every edge in <strong>the</strong> graph has a value called <strong>the</strong> movement factor, defined withrespect to <strong>the</strong> position of an ant. Let (s, u) and (u, v) be two edges in <strong>the</strong> graph.Let <strong>the</strong> pheromone level of a vertex v be denoted by τ[v]. Let an ant be present in<strong>the</strong> edge (s, u). Then, <strong>the</strong> movement factor of <strong>the</strong> edge (u, v) with respect to <strong>the</strong>


3 <strong>An</strong>t-<strong>Based</strong> MVC <strong>Algorithm</strong> 14•s•xantu • v ••t•ys and u are first level neighborsx and v are second level neighborsFigure 3.3. Movement of an <strong>An</strong>t <strong>Based</strong> on <strong>the</strong> Value of Movement Factor.ant present in <strong>the</strong> edge (s, u), denoted by movFac[s, u, v], is a linear combinationof <strong>the</strong> pheromone values of its two end-points u and v, and is defined as follows.movFac[s, u, v] = α ∗ τ[u] + β ∗ τ[v]where α and β are weights such that α < β.The movement factor guides an ant in selecting <strong>the</strong> next edge it wants to moveto. The greater <strong>the</strong> movement factor of an edge is, <strong>the</strong> higher <strong>the</strong> chance thatedge gets selected. If an ant is currently present on <strong>the</strong> edge (s, u), <strong>the</strong>n <strong>the</strong>pheromone value of v contributes more to <strong>the</strong> movement factor of <strong>the</strong> edge (u, v)when compared to u. On <strong>the</strong> o<strong>the</strong>r hand, if <strong>the</strong> ant is present on <strong>the</strong> edge (v, t),<strong>the</strong>n <strong>the</strong> pheromone value of u has a greater influence on <strong>the</strong> value of <strong>the</strong> movementfactor of (u, v). Hence, an edge can have one of <strong>the</strong> two possible movement factorvalues, based upon <strong>the</strong> position of an ant.The reason <strong>for</strong> having <strong>the</strong> concept of a linear combination is intuitive and canbe explained with <strong>the</strong> help of Figure 3.3. In <strong>the</strong> current scenario, since <strong>the</strong> ant ispresent on <strong>the</strong> edge (s, u), u becomes its first level neighbor, whereas v is its secondlevel neighbor, meaning that <strong>the</strong> ant has to pass through u to get to v. It can beeasily noticed that at any point of time, an ant will always have only two first levelneighbors, <strong>the</strong> two end-points of <strong>the</strong> edge on which it is present. However, it canhave any number of second level neighbors, based on <strong>the</strong> degrees of its first levelneighbors. Hence, by <strong>for</strong>cing <strong>the</strong> second level neighbors to contribute more to <strong>the</strong>movement factor, we are making <strong>the</strong> ants select edges by looking one step ahead.This <strong>for</strong>ward looking strategy helps <strong>the</strong> ants to better explore <strong>the</strong> graph.Each ant has a tabu list attached to it, so that it can remember <strong>the</strong> last ten


3 <strong>An</strong>t-<strong>Based</strong> MVC <strong>Algorithm</strong> 15vertices that it has crossed. The tabu list is a circular queue data structure. Everytime when an ant tries to make a move, it checks its tabu list to make sure thatit has not crossed that same vertex in <strong>the</strong> past ten moves. If <strong>the</strong> vertex is notpresent in <strong>the</strong> list, it makes <strong>the</strong> move and <strong>the</strong>n adds <strong>the</strong> vertex to <strong>the</strong> end of <strong>the</strong>list. On <strong>the</strong> o<strong>the</strong>r hand, if it finds <strong>the</strong> vertex in its list, <strong>the</strong> ant tries to select adifferent path. It repeats this procedure until it makes a successful move or until<strong>the</strong> maximum number of steps has been reached. Figure 3.4 explains <strong>the</strong> stepsinvolved in <strong>the</strong> exploration stage.3.4 Pheromone EnhancementAfter all <strong>the</strong> ants complete one step, <strong>the</strong> pheromone level of <strong>the</strong> vertices that<strong>the</strong> ants have crossed is updated. We enhance <strong>the</strong> pheromone level of a vertexv, τ[v] based on two factors. The vertexVisitCt[v] is <strong>the</strong> total number of timesvertex v has been crossed by all ants in that step. This value is updated in eachstep. The second factor, degIdx[v] is defined as, <strong>the</strong> ratio of degree of vertex v to<strong>the</strong> highest degree of its neighbor. This value remains a constant throughout <strong>the</strong>entire algorithm and is hence computed just once. Also, we have a threshold on<strong>the</strong> pheromone level of all vertices, called maxPherm. If <strong>the</strong> pheromone level of avertex goes beyond <strong>the</strong> maxPherm value, it is reset to maxPherm. By doing this,we ensure that <strong>the</strong> difference in pheromone levels between vertices does not growunbound. The pheromone level of vertex v, denoted by τ[v], is updated as follows.τ[v] ← min{maxPherm, τ[v] + (degIdx[v] ∗ vertexVisitCt[v] ∗ initPherm)}The reason <strong>for</strong> including <strong>the</strong> vertexVisitCt in <strong>the</strong> pheromone enhancement isstraight<strong>for</strong>ward. The more a vertex gets visited, <strong>the</strong> higher its pheromone levelbecomes. However, <strong>the</strong> idea behind having <strong>the</strong> degIndx is to ensure that a vertexv is assessed not only based on its degree but also based upon its neighborhood.This helps us to qualify a vertex with respect to its neighborhood.


3 <strong>An</strong>t-<strong>Based</strong> MVC <strong>Algorithm</strong> 16begin<strong>for</strong> each ant a<strong>for</strong> count = 1 to noOfAttemptsselect an edge (u, v) <strong>for</strong> ant a to move to, based on movement factor// assume that a reaches (u, v) by crossing vertex uif u /∈ a[tabulist] <strong>the</strong>nadd u to a[tabulist]move a to (u, v)vertexVisitCt[u] ← vertexVisitCt[u] + 1breakelseremove <strong>the</strong> first element from a[tabulist]end-ifend-<strong>for</strong>end-<strong>for</strong>// update pheromone level of all vertices<strong>for</strong> each vertex vif vertexVisitCt[v] ≠ 0 <strong>the</strong>nτ[v] ← τ[v]+(degIdx[v]∗ vertexVisitCt[v]∗ initPherm)if τ[v] ≥ maxPherm <strong>the</strong>nτ[v] ← maxPhermend-<strong>for</strong>endFigure 3.4. One Step in <strong>the</strong> <strong>An</strong>t Movement <strong>Algorithm</strong>.3.5 ConstructionIn <strong>the</strong> construction stage, <strong>the</strong> knowledge ga<strong>the</strong>red by <strong>the</strong> ants is used to identify aset of candidate vertices and construct a vertex cover using <strong>the</strong>m. The constructionalgorithm uses a greedy approach to select a vertex v and adds it to <strong>the</strong> cover.The edges that are covered by v are <strong>the</strong>n removed from E. The entire procedureis repeated until E is empty.The candidate vertices are selected based upon a value called coverFactor. Thisvalue is a combination of two factors. The first factor is <strong>the</strong> pheromone content ofa vertex that is computed at <strong>the</strong> end of <strong>the</strong> exploration stage. The second factoris currDeg, which refers to <strong>the</strong> current degree of a vertex. The currDeg of a vertexv is defined as <strong>the</strong> number of edges incident with v at that point of time. Initially,


3 <strong>An</strong>t-<strong>Based</strong> MVC <strong>Algorithm</strong> 17<strong>the</strong> value of currDeg is same as <strong>the</strong> degree of a vertex. The coverFactor of a vertexv is defined as follows.coverFactor[v] = α ∗ τ[v] + β ∗ currDeg[v],where α and β are weights.Initially, we build a candSet where all <strong>the</strong> vertices in V are sorted in a nonincreasingorder, based upon <strong>the</strong>ir coverFactor value. The first vertex v is <strong>the</strong>nselected and added to <strong>the</strong> cover C. We <strong>the</strong>n remove v from <strong>the</strong> candSet. The edgesthat are incident with v are <strong>the</strong>n removed from E. Since we have removed edgesfrom E, <strong>the</strong> currDeg value of all vertices is recalculated. Typically, <strong>the</strong> currDegof all <strong>the</strong> neighbors of v is reduced by 1. Next, <strong>the</strong> coverFactor of all <strong>the</strong> verticeswhose currDeg value has changed is recalculated. Finally, we rebuild <strong>the</strong> candSetbased on <strong>the</strong> current coverFactor value of all vertices. The algorithm proceedsby repeating <strong>the</strong> steps until a complete cover is <strong>for</strong>med. Figure 3.5 provides anoverview of <strong>the</strong> steps involved in <strong>the</strong> construction stage.The notion behind having a cover factor is to accomodate both <strong>the</strong> knowledgega<strong>the</strong>red by <strong>the</strong> ants as well as <strong>the</strong> current configuration of <strong>the</strong> graph. Also, <strong>the</strong>reason <strong>for</strong> dynamically updating <strong>the</strong> degree of a vertex is to ensure that <strong>the</strong> nextvertex to be added to <strong>the</strong> cover is a good vertex with respect to <strong>the</strong> current partialvertex cover generated. The vertex cover constructed is <strong>the</strong>n passed onto <strong>the</strong> localoptimization stage <strong>for</strong> fur<strong>the</strong>r improvement.3.6 Local OptimizationThe primary reason <strong>for</strong> having a local optimization stage is to improve <strong>the</strong> qualityof <strong>the</strong> solution and to enhance <strong>the</strong> per<strong>for</strong>mance of <strong>the</strong> algorithm by helping <strong>the</strong>ants to converge on good solutions at a faster rate. In our AB–MVC algorithm,we have two local optimization techniques implemented. The first technique iscalled rebuild vertex cover technique, where we break <strong>the</strong> solution generated by <strong>the</strong>construction stage partially and try to rebuild a new vertex cover. In <strong>the</strong> redundantvertex removal technique, as <strong>the</strong> name implies, we try to get rid of redundantvertices from <strong>the</strong> solution generated by <strong>the</strong> rebuild vertex cover technique. The


3 <strong>An</strong>t-<strong>Based</strong> MVC <strong>Algorithm</strong> 18begin// construction stageC ← ∅<strong>for</strong> each vertex vcoverFactor[v] ← α ∗ τ[v] + β ∗ currDeg[v]end-<strong>for</strong>candSet ← vertex set V sorted in non-increasing order of coverFactorwhile E is not emptyadd <strong>the</strong> vertex v with highest coverFactor in candSet to Cremove <strong>the</strong> vertex v from candSetremove all edges incident with v from E<strong>for</strong> each vertex u where u is a neighbor of vcurrDeg[u] ← currDeg[u] − 1coverFactor[u] ← τ[u]∗ currDeg[u]end-<strong>for</strong>candSet ← candSet sorted in non-increasing order of coverFactorend-whilereturn CendFigure 3.5. Construction Stage.two techniques are explained in detail in <strong>the</strong> following sections.The entire local optimization stage runs in cycles, where <strong>the</strong> two techniquesare applied sequentially. Initially, C is copied into bestLocalC. At <strong>the</strong> beginning ofeach cycle, <strong>the</strong> rebuild vertex cover technique operates on <strong>the</strong> cover C, returned by<strong>the</strong> construction algorithm. The new solution, localC, generated by this techniqueis <strong>the</strong>n passed to <strong>the</strong> redundant vertex removal technique, where <strong>the</strong> redundantvertices are removed. If <strong>the</strong> size of this new localC is smaller than bestLocalC, <strong>the</strong>nwe copy localC into bestLocalC; o<strong>the</strong>rwise it is discarded. The entire procedure is<strong>the</strong>n repeated in <strong>the</strong> next cycle. Finally, after all <strong>the</strong> cycles have been completed,<strong>the</strong> bestLocalC is returned. Figure 3.6 provides an overview of <strong>the</strong> steps involvedin <strong>the</strong> local optimization stage.


3 <strong>An</strong>t-<strong>Based</strong> MVC <strong>Algorithm</strong> 193.6.1 Rebuild <strong>Vertex</strong> <strong>Cover</strong> TechniqueThis is <strong>the</strong> first local optimization technique that we use to improve <strong>the</strong> qualityof <strong>the</strong> solutions. In this method, we break <strong>the</strong> vertex cover C partially and try torebuild a new cover. This new cover is <strong>the</strong>n passed to <strong>the</strong> next technique, whereredundant vertices get removed.Recall that in <strong>the</strong> construction stage, every time a vertex gets added to <strong>the</strong>cover, <strong>the</strong> edges incident with it are removed from <strong>the</strong> graph and <strong>the</strong> currDeg ofall <strong>the</strong> o<strong>the</strong>r vertices is recalculated. Consider <strong>the</strong> scenario where a vertex v has adegree x. Be<strong>for</strong>e <strong>the</strong> construction algorithm begins, <strong>the</strong> currDeg value of v is equalto x. However, as <strong>the</strong> algorithm proceeds, <strong>the</strong> currDeg value of v might decreaseif <strong>the</strong> neighbors of v get added to <strong>the</strong> cover. This results in v having a smallercoverFactor value and hence gets pushed to <strong>the</strong> bottom of <strong>the</strong> candSet. Becauseof this phenomenon, <strong>the</strong> order in which vertices are added to <strong>the</strong> cover becomesa key factor. There<strong>for</strong>e, by breaking <strong>the</strong> cover partially, this technique presentsa new partial vertex cover and a candSet of vertices from which a possible newvertex cover can be built.Input: <strong>Vertex</strong> cover C of GOutput: A new vertex cover bestLocalC such that |bestLocalC| ≤ |C|beginbestLocalC ← CcycleCount ← 0while cycleCount ≤ noOfCycleslocalC ← Rebuild<strong>Cover</strong>(C)localC ← Redundant<strong>Vertex</strong>Removal(C)if |localC| ≤ |bestLocalC| <strong>the</strong>nbestLocalC ← localCend-ifcycleCount ← cycleCount+1end-whilereturn bestLocalCendFigure 3.6. Overview of Local Optimization Stage.


3 <strong>An</strong>t-<strong>Based</strong> MVC <strong>Algorithm</strong> 20begin// rebuild vertex cover techniqueA ← ∅removeCt ← 0.25 ∗ |C|while removeCt > 0select a vertex v from C at random and proportional to its currDeg valueif v /∈ A <strong>the</strong>nA ← A ∪ {v}removeCt ← removeCt − 1end-ifend-whilelocalC ← C − A<strong>for</strong> each vertex v in localCremove all <strong>the</strong> edges incident with v from Eend-<strong>for</strong><strong>for</strong> each vertex v in V − localCrecalculate currDeg[v]recalculate coverFactor[v]end-<strong>for</strong>Build a candidate set of vertices candSet based on coverFactor valuewhile E is not emptyadd <strong>the</strong> vertex v with highest coverFactor in candSet to localCremove <strong>the</strong> vertex v from candSetremove all edges incident with v from E<strong>for</strong> each vertex u where u is a neighbor of vcurrDeg[u] ← currDeg[u] − 1coverFactor[u] = α ∗ τ[u] + β ∗ currDeg[u]end-<strong>for</strong>rebuild candSet based on coverFactor valueend-whilereturn localCendFigure 3.7. Rebuild <strong>Vertex</strong> <strong>Cover</strong> Technique.The rebuild vertex cover technique operates on <strong>the</strong> vertex cover C, returned by<strong>the</strong> construction algorithm. The first step would be to remove a set of A vertices,A ⊂ C, from C and copy <strong>the</strong> remaining vertices into localC, which becomes our newpartial vertex cover. The size of A is set to 20%−25% of <strong>the</strong> size of C. The verticesto be removed are selected in such a way that vertices with a higher currDeg value


3 <strong>An</strong>t-<strong>Based</strong> MVC <strong>Algorithm</strong> 21are more likely to be selected, compared to vertices with lower currDeg value.Next, we recalculate <strong>the</strong> currDeg and coverFactor <strong>for</strong> all <strong>the</strong> non-cover vertices,i.e., vertices in (V − localC). It should be recalled that <strong>the</strong> coverFactor value ofa vertex is a linear combination of two factors. The first factor is <strong>the</strong> pheromonecontent of a vertex and <strong>the</strong> second factor is <strong>the</strong> currDeg of a vertex. We modify<strong>the</strong> weights on <strong>the</strong>se two factors so that <strong>the</strong> currDeg value has a higher influencewhen compared to <strong>the</strong> pheromone content.Finally, we rebuild a complete cover, using <strong>the</strong> current partial vertex cover,localC, and a new candSet of vertices. The new, complete cover localC is <strong>the</strong>npassed to <strong>the</strong> next technique, where <strong>the</strong> redundant vertices are removed from it.Figure 3.7 explains <strong>the</strong> steps involved in <strong>the</strong> rebuild vertex cover technique.3.6.2 Redundant <strong>Vertex</strong> Removal TechniqueIn this technique, we examine <strong>the</strong> solution returned by <strong>the</strong> rebuild technique andtry to identify <strong>the</strong> set of vertices that are redundant and hence, removing <strong>the</strong>mfrom <strong>the</strong> cover. The idea is based on a similar technique used by Singh and Guptain <strong>the</strong>ir hybrid heurisitc algorithm <strong>for</strong> <strong>the</strong> MWVC problem [24], where <strong>the</strong>y selecta set of vertices from <strong>the</strong> vertex cover, all of whose edges are covered by o<strong>the</strong>rvertices in <strong>the</strong> cover. They <strong>the</strong>n randomly select a vertex from this set, having <strong>the</strong>maximum ratio of weight to degree, and remove it from <strong>the</strong> cover.The set of redundant vertices can be easily identified by scanning through <strong>the</strong>currDeg value of all <strong>the</strong> vertices in <strong>the</strong> solution. It can be recalled that <strong>the</strong> currDegvalue of a vertex gets updated everytime a neighboring vertex gets added to <strong>the</strong>cover. Hence, it is evident that <strong>the</strong> currDeg of all <strong>the</strong> vertices not present in <strong>the</strong>solution will always be zero, as all <strong>the</strong> edges that are incident with <strong>the</strong> non-coververtices are covered by vertices that are a part of <strong>the</strong> solution.However, it is also possible <strong>for</strong> some vertices in <strong>the</strong> cover to have a currDegvalue of zero. These are <strong>the</strong> potential candidates <strong>for</strong> redundant vertices. Initially,when a vertex v is added to <strong>the</strong> cover, it might be <strong>the</strong> only vertex covering <strong>the</strong>edges incident with it. However, as <strong>the</strong> construction algorithm proceeds, o<strong>the</strong>rvertices get added to <strong>the</strong> cover and <strong>the</strong>se new vertices might also be covering <strong>the</strong>edges incident with v. If <strong>the</strong>re exists a scenario where all <strong>the</strong> edges incident with v


3 <strong>An</strong>t-<strong>Based</strong> MVC <strong>Algorithm</strong> 22begin// redundant vertex removal techniquelocalC new ← localC<strong>for</strong> each vertex v in localC such that currDeg[v] = 0localC temp ← localClocalC temp ← localC − {v}<strong>for</strong> each vertex u in localC where u is a neighbor of vcurrDeg[u] ← currDeg[u] + 1end-<strong>for</strong>while <strong>the</strong>re exists a vertex s in localC temp such that currDeg[s] = 0localC temp ← localC temp − {s}<strong>for</strong> each vertex t in localC temp where t is a neighbor of scurrDeg[t] ← currDeg[t] + 1end-<strong>for</strong>end-whileif |localC temp | < |localC new | <strong>the</strong>nlocalC new ← localC tempend-ifend-<strong>for</strong>return localC newendFigure 3.8. Redundant <strong>Vertex</strong> Removal Technique.are covered by o<strong>the</strong>r vertices in <strong>the</strong> solution, <strong>the</strong>n <strong>the</strong> currDeg value of v becomeszero. There<strong>for</strong>e, v becomes a redundant vertex and hence can be removed from<strong>the</strong> cover C.However, it should be noted that all vertices with currDeg value of zero cannotbe removed from <strong>the</strong> cover. Consider <strong>the</strong> case where vertices u and v are part of <strong>the</strong>current solution and have <strong>the</strong>ir currDeg value as zero. If <strong>the</strong>re exists an edge (u, v)in E, <strong>the</strong>n <strong>the</strong> only two vertices covering this edge are u and v. There<strong>for</strong>e, at leastone of <strong>the</strong> two vertices has to be retained in <strong>the</strong> cover to maintain <strong>the</strong> correctnessof <strong>the</strong> solution. Thus, <strong>the</strong> aim of <strong>the</strong> algorithm is to remove <strong>the</strong> maximum numberof vertices, from <strong>the</strong> set of potential candidates <strong>for</strong> redundant vertices withoutviolating <strong>the</strong> validity of <strong>the</strong> solution. Figure 3.8 explains <strong>the</strong> redundant vertexremoval technique.


Chapter 4Experimental ResultsIn this chapter, we describe <strong>the</strong> results of running AB–MVC algorithm on an extensiveset of benchmark graphs and randomly generated graphs. In Section 4.1we report our results on <strong>the</strong> BHOSLIB benchmark suit [25], a set of graphs with“hidden optimal solutions” that are specifically designed to be hard to solve. InSection 4.2, we evaluate our per<strong>for</strong>mance on <strong>the</strong> complement graphs of <strong>the</strong> SecondDIMACS Implementation Challenge <strong>for</strong> <strong>the</strong> maximum clique problem [13]. Section4.3 reports our results on running AB–MVC on randomly generated graphs.Our AB–MVC algorithm was implemented in C++ and run on a 3.06GHz IntelXeon processor with 4GB of RAM running <strong>the</strong> Linux operating system. To obtainour results, <strong>the</strong> algorithm was run <strong>for</strong> 50 times on each instance.4.1 The BHOSLIB InstancesThe BHOSLIB problems (“Benchmarks with Hidden Optimal Solutions”) [25] resultfrom translating binary Boolean Satisfiability problems that were generatedrandomly according to <strong>the</strong> model RB [26]. The satisfiability versions of <strong>the</strong>sebenchmarks are guaranteed to be satisfiable, and <strong>the</strong> model parameters were setto such values that <strong>the</strong> instances are in <strong>the</strong> phase transition area of model RB, anew type of random CSP model. They have been proven to be hard both <strong>the</strong>oreticallyand in practice [26].The problem instances are grouped by size into 8 groups, with five graphs pergroup, where all graphs of a group have <strong>the</strong> same number of vertices and edges.


4 Experimental Results 24Figure 4.1. Solution Quality Comparison.The results of running AB–MVC on <strong>the</strong>se graphs are shown in Tables A.1, A.2,and A.3. To compare our results, we tested it against <strong>the</strong> COVER algorithmof Richter, Helmert, and Gretton [21] and <strong>the</strong> ant colony optimization algorithm(ACS) of Gilmour and Dras [10].AB–MVC was able to identify solutions that were within <strong>the</strong> range of 1% to<strong>the</strong> optimal solutions. The quality of <strong>the</strong> solutions generated were much betterwhen compared to <strong>the</strong> results of ACS. COVER was able to identify <strong>the</strong> optimalsolution in most cases, however <strong>the</strong> running time of COVER was much largerwhen compared to that of AB–MVC. The standard deviation from <strong>the</strong> optimalvertex cover <strong>for</strong> all <strong>the</strong> three algorithms, <strong>for</strong> <strong>the</strong> eight different groups of graphs ispresented in Figure 4.1. Figure 4.2, that compares <strong>the</strong> running time of AB–MVCwith COVER proves that we had a fair balance between <strong>the</strong> quality of solutionsand running time, unlike <strong>the</strong> VCOVER algorithm.4.2 The DIMACS Benchmark InstancesThe DIMACS benchmark instances are taken from <strong>the</strong> Second DIMACS ImplementationChallenge (1992–1993) [13], a competition targeting <strong>the</strong> maximum clique,


4 Experimental Results 25Figure 4.2. Running Time Comparison.graph colouring, and satisfiability problems. The problem of finding <strong>the</strong> maximumclique in a graph is closely related to <strong>the</strong> minimum vertex cover problem. A cliquein a graph G is defined as a subset A ⊆ V where every two vertices in A are joinedby and edge in E. The maximum clique problem is to find a clique of maximumsize in G. The complement or inverse of a graph G is defined as a graph G ∗ , on <strong>the</strong>same vertices of G, such that two vertices of G ∗ are adjacent if and only if <strong>the</strong>y arenot adjacent in G. It is evident that if A is a clique in G <strong>the</strong>n, V − A is a vertexcover in G ∗ .The benchmark set is comprised of 80 problems from a variety of classes. TheC-fat family is a set of graphs based on fault diagnosis problems. The Johnsonand Hamming classes of graphs are based on coding <strong>the</strong>ory. <strong>Problem</strong>s based onKeller’s conjecture on tilings using hypercubes are reflected in <strong>the</strong> Keller instances.In addition, <strong>the</strong>re are graphs generated randomly according to various models.For example, <strong>the</strong> Brock family is generated by explicitly incorporating low-degreevertices into <strong>the</strong> cover, in order to defeat algorithms that search greedily withrespect to vertex degrees [2]. The sizes of <strong>the</strong> graphs range from less than 30vertices and approximately 200 edges to more than 3000 vertices and 5, 000, 000edges.


4 Experimental Results 26Figure 4.3. Solution Quality Comparison.The AB–MVC algorithm was run on <strong>the</strong> complement graph of <strong>the</strong>se instances.To compare our results, we tested it against <strong>the</strong> COVER algorithm. AB–MVCwas able to successfully identify <strong>the</strong> optimal solutions in most classes of graphs.In <strong>the</strong> o<strong>the</strong>r cases where our algorithm failed to identify <strong>the</strong> optimal solutions,we obtained results with a standard deviation of less than 2%, with respect to<strong>the</strong> optimal value. Figure 4.3 presents <strong>the</strong> standard deviation from <strong>the</strong> optimalvertex cover <strong>for</strong> <strong>the</strong> two algorithms. It was observed that <strong>for</strong> graphs with lowedge densities, AB–MVC was able to identify <strong>the</strong> optimal solution at least once.However, most of <strong>the</strong> time, <strong>the</strong> algorithm got stuck at a local optima and could notproceed any fur<strong>the</strong>r. This is inferred from <strong>the</strong> relatively larger standard deviationvalues <strong>for</strong> classes of graphs like gen, san and sanr. The results of running AB–MVCand COVER on <strong>the</strong>se graphs are shown in Tables A.4, A.5, A.6, and A.7,4.3 The Random Graph InstancesIn order to assess <strong>the</strong> effectiveness of <strong>the</strong> proposed algorithm, extensive simulationswere carried out on randomly generated graphs with known minimum vertexcover. The random graph instances are generated using <strong>the</strong> procedure describedby Sanchis [22]. The random graph generator accepts <strong>the</strong> number of vertices, n,


4 Experimental Results 27edge density, d, and size of <strong>the</strong> minimum vertex cover, c as input. It partitionsn into k parts, where k = n − c. Next, we make each of <strong>the</strong>se k partitions into aclique and include all but one vertex from each of <strong>the</strong>se cliques in our minimumvertex cover. Finally, additional edges are added to <strong>the</strong> graph in such a way thatat least one of <strong>the</strong>ir end-points belongs to <strong>the</strong> vertex cover. Using this method, wehave generated a graph of size n, with edge density d and minimum vertex coverof size c.The problem instances are grouped by size into 5 sets, with <strong>the</strong> number ofvertices ranging from 50 − 500. AB–MVC was run <strong>for</strong> 50 times on each of <strong>the</strong>seinstances and <strong>the</strong> results were tested against <strong>the</strong> COVER algorithm. Both AB–MVC and COVER were able to identify <strong>the</strong> optimal solution <strong>for</strong> all <strong>the</strong> test cases.However <strong>the</strong> running time of AB–MVC was much less when compared to <strong>the</strong>time taken by COVER. The results of running AB–MVC on <strong>the</strong>se random graphinstances are shown in Tables A.8 and A.9.


Chapter 5ConclusionIn this <strong>the</strong>sis, we have analyzed and studied <strong>the</strong> minimum vertex cover problemand <strong>the</strong> various heuristics that have been applied to solve it in <strong>the</strong> past. We havedesigned and implemented an ant-based algorithm <strong>for</strong> solving <strong>the</strong> MVC problem,and <strong>the</strong> experimental results show that <strong>the</strong> AB–MVC algorithm produces competitiveresults. Also, <strong>the</strong> running time of AB–MVC is less than 10% of <strong>the</strong> timetaken by COVER. Thus, AB–MVC has a fair balance between quality of solutionsand running time.A notable advantage of AB–MVC is <strong>the</strong> fact that it produces quality solutionson all classes of graphs without <strong>the</strong> need <strong>for</strong> tuning <strong>the</strong> parameters based onindividual instances. The AB–MVC algorithm is very flexible and has variousnovel techniques such as graph preprocessing, tabu lists, and greedy-based localoptimization techniques that contribute support to <strong>the</strong> ants.In general, it was observed that <strong>the</strong> quality of solutions of AB–MVC <strong>for</strong> graphswith low edge densities was relatively aberrant. This could be inferred by <strong>the</strong>standard deviation values <strong>for</strong> graphs belonging to sanr and gen families. Thereason <strong>for</strong> this behavior is because <strong>the</strong> algorithm occasionally gets stuck at a localoptima and is not able to move fur<strong>the</strong>r.Currently, <strong>the</strong> exploration stage operates by looking at two levels of <strong>the</strong> neighborhood.Future investigations could include looking beyond two levels of <strong>the</strong>neighborhood. Fur<strong>the</strong>r parameter tuning such as modifying <strong>the</strong> number of stepsin a cycle, <strong>the</strong> number of ants, <strong>the</strong> size of <strong>the</strong> tabu list, and <strong>the</strong> value of <strong>the</strong> weightsused might also yield a combination of settings that produces better results. Also


5 Conclusion 29a parametric study would yield insight into <strong>the</strong> per<strong>for</strong>mance of <strong>the</strong> algorithm andhow it can be fur<strong>the</strong>r improved.Because of <strong>the</strong> generic framework of AB–MVC, ano<strong>the</strong>r area of follow up wouldbe to modify <strong>the</strong> AB–MVC algorithm to solve <strong>the</strong> minimum weight vertex coverproblem. The movement factor of an edge can be computed differently by including<strong>the</strong> weights of its two end-points. This will guide <strong>the</strong> ants to select vertices, basedon <strong>the</strong>ir weights. Finally, <strong>the</strong> local optimization techniques can be modified to suit<strong>the</strong> problem.Given a graph G = (V, E), a dominating set D is a subset of V such that anyvertex not in D is adjacent to at least one vertex in D. The problem of finding <strong>the</strong>smallest dominating set is called <strong>the</strong> minimum connected dominating set problem(MCDS). Our AB–MVC algorithm can be easily modified and applied to solve <strong>the</strong>MCDS problem by changing <strong>the</strong> construction algorithm to build a dominating setinstead of a vertex cover.Finally, because of <strong>the</strong> nature of ant-based systems, our algorithm is conduciveto parallel implementation. Using a parallel algorithm should greatly reduce <strong>the</strong>running time, making it possible to easily find solutions <strong>for</strong> larger graph instances.


Appendix APer<strong>for</strong>mance Tables <strong>for</strong> <strong>the</strong>AB–MVC <strong>Algorithm</strong>Table A.1. AB–MVC results on BHOSLIB Instances.AB–MVC 50 runs ACS COVERInstance |V | |E| |C| ∗ best avg σ (sec) avg avg (sec)frb30-15-1 450 17827 420 423 423.8 0.69 122.9 424.0 420 1160.4frb30-15-2 450 17874 420 423 423.9 0.78 116.2 424.5 420 1174.5frb30-15-3 450 17809 420 423 423.5 0.50 113.3 424.6 420 1189.4frb30-15-4 450 17831 420 423 423.8 0.48 112.8 424.0 420 1173.7frb30-15-5 450 17794 420 423 423.7 0.46 111.6 423.6 420 1181.9frb35-17-1 595 27856 560 564 564.3 0.46 222.5 565.5 560 1640.6frb35-17-2 595 27847 560 564 564.6 0.47 215.4 566.5 560 1654.2frb35-17-3 595 27931 560 564 564.5 0.50 217.1 564.4 560 1680.1frb35-17-4 595 27842 560 564 564.6 0.49 215.3 565.5 560 1667.8frb35-17-5 595 28143 560 564 564.6 0.47 215.2 564.1 560 1681.4t avgt avgInstance: Name of <strong>the</strong> graph|V |: Number of vertices in <strong>the</strong> graph.|E|: Number of edges in <strong>the</strong> graph.|C| ∗ : Size of optimal <strong>Cover</strong> <strong>for</strong> <strong>the</strong> graph.best: Size of best cover generated.avg: Average size of <strong>the</strong> covers generated.σ: Standard deviation of <strong>the</strong> covers generated.t avg : Average time taken to compute <strong>the</strong> solution.


5 Conclusion 31Table A.2. AB–MVC results on BHOSLIB Instances.AB–MVC 50 runs ACS COVERInstance |V | |E| |C| ∗ best avg σ (sec) avg avg (sec)frb40-19-1 760 41314 720 725 725.6 0.47 349.4 725.6 721 2498.6frb40-19-2 760 41263 720 726 726.3 0.47 350.3 726.8 720 2476.3frb40-19-3 760 41095 720 726 726.3 0.49 349.6 727.6 720 2481.7frb40-19-4 760 41605 720 726 726.4 0.50 348.1 726.1 721 2498.5frb40-19-5 760 41619 720 725 725.6 0.49 348.9 725.3 721 2492.3frb45-21-1 945 59186 900 906 906.3 0.61 564.6 908.2 902 3721.6frb45-21-2 945 58624 900 906 906.4 0.62 573.2 908.5 902 3710.5frb45-21-3 945 58245 900 906 907.1 0.80 568.9 908.3 903 3712.3frb45-21-4 945 58549 900 906 906.9 0.73 581.2 908.4 901 3703.7frb45-21-5 945 58579 900 906 906.6 0.66 589.8 909.1 902 3704.5t avgt avgTable A.3. AB–MVC results on BHOSLIB Instances.AB–MVC 50 runs ACS COVERInstance |V | |E| |C| ∗ best avg σ (sec) avg avg (sec)frb50-23-1 1150 80072 1100 1109 1109.7 0.58 659.2 1110.4 1105 4815.3frb50-23-2 1150 80851 1100 1107 1108.4 0.68 663.6 1109.7 1107 4827.4frb50-23-3 1150 81068 1100 1107 1107.3 0.60 672.4 1108.3 1106 4809.8frb50-23-4 1150 80258 1100 1109 1109.1 0.43 667.0 1109.6 1104 4807.5frb50-23-5 1150 80035 1100 1107 1107.8 0.84 667.5 1110.3 1106 4821.6frb53-24-1 1272 94227 1219 1228 1228.2 0.43 1084.4 1229.9 1223 7040.6frb53-24-2 1272 94289 1219 1227 1227.4 0.49 1102.7 1229.3 1225 7069.8frb53-24-3 1272 94127 1219 1228 1228.1 0.62 1097.7 1031.6 1226 7024.7frb53-24-4 1272 94308 1219 1227 1227.5 0.50 1109.3 1030.5 1225 7019.3frb53-24-5 1272 94226 1219 1228 1228.2 0.66 1104.5 1031.8 1226 7125.7frb56-25-1 1400 109676 1344 1354 1354.7 0.56 1219.3 1356.8 1348 15789.4frb56-25-2 1400 109401 1344 1354 1355.0 0.69 1238.2 1355.7 1349 15694.2frb56-25-3 1400 109379 1344 1354 1354.1 0.47 1215.7 1355.6 1347 15756.9frb56-25-4 1400 110038 1344 1353 1353.7 0.81 1222.6 1354.8 1347 15801.3frb56-25-5 1400 109601 1344 1353 1353.3 0.57 1232.1 1354.6 1348 15655.7frb59-26-1 1534 126555 1475 1484 1484.2 0.65 1854.2 1486.8 1477 18611.3frb59-26-2 1534 126163 1475 1484 1484.7 0.82 1879.6 1486.4 1478 18589.5frb59-26-3 1534 126082 1475 1484 1484.3 0.66 1833.7 1487.8 1480 18605.1frb59-26-4 1534 127011 1475 1485 1485.1 0.71 1865.5 1487.3 1479 18704.8frb59-26-5 1534 125982 1475 1485 1485.7 0.59 1895.9 1487.3 1478 18523.5t avgt avg


5 Conclusion 32Table A.4. AB–MVC results on DIMACS Benchmark Instances.AB–MVC 50 runst avgCOVERInstance |V | |E| |C| ∗ best avg σ (sec) avg (sec)brock200 1 200 5066 179 180 180.2 0.23 24.1 179 768.2brock200 2 200 10024 188 190 190.1 0.31 29.8 189 795.7brock200 3 200 7852 185 186 186.7 0.35 27.6 185 774.6brock200 4 200 6811 183 184 184.2 0.27 25.2 183 798.2brock400 1 400 20077 373 376 376.3 0.54 118.4 374 2145.9brock400 2 400 20014 371 374 374.9 0.45 117.9 372 2198.1brock400 3 400 20119 369 372 372.1 0.29 123.5 369 2184.8brock400 4 400 20035 367 369 369.5 0.38 119.8 367 2177.7brock800 1 800 112095 777 781 781.4 0.56 513.7 779 4678.6brock800 2 800 111434 776 779 779.7 0.66 516.8 778 4624.4brock800 3 800 112267 775 778 778.2 0.32 509.3 776 4633.9brock800 4 800 111957 774 778 778.8 0.81 520.6 775 4651.2C125.9 125 787 91 91 91 0.0 2.0 91 656.3C250.9 250 3141 206 206 206 0.0 14.2 206 902.4C500.9 500 12418 443 447 447.3 0.65 157.3 443 1478.9C1000.9 1000 49421 932 940 940.8 0.71 305.8 932 15892.6C2000.5 2000 999164 1984 1988 1988.7 0.61 1856.4 1984 27546.2C2000.9 2000 199468 1922 1930 1930.5 0.72 1513.5 1922 21489.7t avg


5 Conclusion 33Table A.5. AB–MVC results on DIMACS Benchmark Instances.AB–MVC 50 runst avgCOVERInstance |V | |E| |C| ∗ best avg σ (sec) avg (sec)c-fat200-1 200 18366 188 188 188 0.0 79.8 188 1612.2c-fat200-2 200 16665 176 176 176 0.0 75.4 176 1598.7c-fat200-5 200 11427 142 142 142 0.0 63.2 142 1549.1c-fat500-1 500 120291 486 486 486 0.0 589.6 486 4489.7c-fat500-2 500 115611 474 474 474 0.0 567.2 474 4387.3c-fat500-5 500 101559 436 436 436 0.0 555.3 436 4391.6c-fat500-10 500 78123 374 374 374 0.0 537.9 374 4401.2gen200 p0.9 44 200 1990 156 156 158.5 3.53 24.5 156 1543.6gen200 p0.9 55 200 1990 145 145 147.1 2.91 26.9 145 1553.8gen400 p0.9 55 400 7980 345 345 348.7 3.62 132.3 345 2476.7gen400 p0.9 65 400 7980 335 335 339.2 3.47 149.8 335 2423.1gen400 p0.9 75 400 7980 325 325 328.9 3.12 140.3 325 2445.5hamming6-2 64 192 32 32 32 0.0 0.71 32 84.3hamming6-4 64 1312 60 60 60 0.0 5.93 60 143.7hamming8-2 256 1024 128 128 128 0.0 5.86 128 865.9hamming8-4 256 11776 240 240 240 0.0 85.3 240 1157.3hamming10-2 1024 5120 512 512 512 0.0 72.7 512 2412.2hamming10-4 1024 89600 984 988 988.4 0.547 949.8 986 3457.6johnson8-2-4 28 168 24 24 24 0.0 0.82 24 43.2johnson8-4-4 70 560 56 56 56 0.0 1.97 56 183.1johnson16-2-4 120 1680 112 112 112 0.0 9.86 112 297.9johnson32-2-4 496 14880 480 480 480 0.0 293.5 480 2351.9t avg


5 Conclusion 34Table A.6. AB–MVC results on DIMACS Benchmark Instances.AB–MVC 50 runst avgCOVERInstance |V | |E| |C| ∗ best avg σ (sec) avg (sec)keller4 171 5100 160 160 160 0.0 17.9 160 985.7keller5 776 74710 749 749 749 0.0 154.6 749 2364.9MANN a9 45 72 29 29 29 0.0 0.21 29 15.9MANN a27 378 702 252 252 252 0.0 68.6 252 756.3MANN a45 1035 1980 690 694 694.3 0.63 278.5 692 7568.9MANN a81 3321 6480 2221 2227 2227.2 0.31 608.3 2225 15672.1p hat300-1 300 33917 292 292 292 0.0 151.2 292 1099.3p hat300-2 300 22922 275 275 275 0.0 115.3 275 1052.2p hat300-3 300 11460 264 264 264 0.0 62.7 264 1014.6p hat500-1 500 93181 491 491 491 0.0 230.2 491 1810.2p hat500-2 500 61804 464 464 464 0.0 215.7 464 1798.9p hat500-3 500 30950 450 450 450 0.0 241.4 450 1754.1p hat700-1 700 183651 689 689 689 0.0 324.8 689 2098.7p hat700-2 700 122922 656 656 656 0.0 337.2 656 2020.5p hat700-3 700 61640 638 638 638 0.0 289.3 638 1984.6p hat1000-1 1000 377247 990 990 990 0.0 627.8 990 3642.4p hat1000-2 1000 254701 954 954 954 0.0 612.5 954 3601.1p hat1000-3 1000 127754 932 932 932 0.0 597.2 932 3547.8p hat1500-1 1500 839327 1488 1488 1488 0.0 827.7 1488 14932.6p hat1500-2 1500 555290 1435 1435 1435 0.0 814.9 1435 14869.4p hat1500-3 1500 277006 1406 1406 1406 0.0 795.2 1406 14257.2t avgTable A.7. AB–MVC results on DIMACS Benchmark Instances.AB–MVC 50 runst avgCOVERInstance |V | |E| |C| ∗ best avg σ (sec) avg (sec)san200 0.7 1 200 5970 170 172 173.3 2.87 25.1 170 713.7san200 0.7 2 200 5970 182 183 184.9 2.69 24.7 182 734.9san200 0.9 1 200 1990 130 130 130 0.0 26.3 130 692.5san200 0.9 2 200 1990 140 140 140 0.0 24.3 140 683.6san200 0.9 3 200 1990 156 156 156 0.0 25.6 156 676.4san400 0.5 1 400 39900 387 390 391.1 1.78 198.6 389 2381.1san400 0.7 1 400 23940 360 362 363.5 1.65 189.5 361 2396.3san400 0.7 2 400 23940 370 374 374.7 1.51 192.1 371 2405.6san400 0.7 3 400 23940 378 382 382.9 1.82 212.4 379 2390.7san400 0.9 1 400 7980 300 300 300 0.0 112.5 300 2288.5san1000 1000 249000 985 990 991 0.73 753.7 989 4972.8sanr200 0.7 200 6032 182 183 184.2 1.44 23.5 183 788.2sanr200 0.9 200 2037 158 158 159.3 1.3 18.5 159 612.1sanr400 0.5 400 39816 387 387 388.1 1.43 203.3 388 2134.9sanr400 0.7 400 23931 379 380 381.7 1.50 193.5 380 2112.5t avg


5 Conclusion 35Table A.8. AB–MVC results on Random Graph Instances.AB–MVC 50 runst avgCOVERInstance |V | |E| |C| ∗ best avg σ (sec) avg (sec)graph50-01 50 612 30 30 30 0.0 0.95 30 120.3graph50-02 50 490 30 30 30 0.0 0.89 30 123.1graph50-03 50 735 30 30 30 0.0 0.91 30 122.5graph50-04 50 612 40 40 40 0.0 0.90 40 121.7graph50-05 50 490 27 27 27 0.0 0.85 27 123.6graph50-06 50 857 38 38 38 0.0 0.87 38 122.2graph50-07 50 735 35 35 35 0.0 0.82 35 124.1graph50-08 50 612 29 29 29 0.0 0.93 29 120.9graph50-09 50 980 40 40 40 0.0 0.89 40 121.1graph50-10 50 612 35 35 35 0.0 0.87 35 124.5graph100-01 100 3465 60 60 60 0.0 20.8 60 198.7graph100-02 100 2475 65 65 65 0.0 19.5 65 201.4graph100-03 100 3465 75 75 75 0.0 23.4 75 204.6graph100-04 100 3960 60 60 60 0.0 21.4 60 199.7graph100-05 100 1980 60 60 60 0.0 18.4 60 201.2graph100-06 100 3960 80 80 80 0.0 22.8 80 205.8graph100-07 100 4207 65 65 65 0.0 28.7 65 203.9graph100-08 100 3712 75 75 75 0.0 25.6 75 202.2graph100-09 100 4207 85 85 85 0.0 24.2 85 204.6graph100-10 100 4207 70 70 70 0.0 25.6 70 205.3t avgTable A.9. AB–MVC results on Random Graph Instances.AB–MVC 50 runst avgCOVERInstance |V | |E| |C| ∗ best avg σ (sec) avg (sec)graph200-01 200 9950 150 150 150 0.0 65.4 150 812.5graph200-02 200 15920 125 125 125 0.0 67.3 125 895.7graph200-03 200 14925 175 175 175 0.0 68.6 175 889.6graph200-04 200 15920 140 140 140 0.0 65.9 140 875.2graph200-05 200 9950 150 150 150 0.0 62.7 150 854.1graph250-01 250 15562 150 150 150 0.0 72.1 150 1010.2graph250-02 250 23343 175 175 175 0.0 78.4 175 1057.8graph250-03 250 24900 200 200 200 0.0 81.7 200 1065.2graph250-04 250 24900 220 200 220 0.0 79.3 220 1058.7graph250-05 250 15562 200 200 200 0.0 69.2 200 998.5graph500-01 500 62375 350 350 350 0.0 510.6 350 2241.3graph500-02 500 99800 400 400 400 0.0 517.8 400 2237.4graph500-03 500 93562 375 375 375 0.0 521.2 375 2186.7graph500-04 500 99800 300 300 300 0.0 518.6 300 2285.1graph500-05 500 93562 290 290 290 0.0 515.7 290 2255.2t avg


References[1] Bar-Yehuda, R., and S. Even. “A Local-Ratio Theorem <strong>for</strong> Approximating<strong>the</strong> Weighted <strong>Vertex</strong> <strong>Cover</strong> <strong>Problem</strong>,” <strong>An</strong>nals of Discrete Ma<strong>the</strong>matics, 25,1985, pp. 27–45.[2] Brockington, M. and J. C. Culberson, “Camouflaging Independent Sets inQuasi-Random Graphs,” Cliques, Coloring and Satisfiability: Second DI-MACS Implementation Challenge, 1996, pp. 75–88.[3] Bui, T. N. and J. R. Rizzo, Jr., “Finding Maximum Cliques with Distributed<strong>An</strong>ts,” Proceedings of <strong>the</strong> Genetic and Evolutionary Computation Conference(GECCO 2004), Lecture Notes in Computer Science, 3102, 2004, pp. 24–35.[4] Bui, T. N. and G. Sundarraj, “<strong>An</strong>t System <strong>for</strong> <strong>the</strong> k-Cardinality Tree <strong>Problem</strong>,”Proceedings of <strong>the</strong> Genetic and Evolutionary Computation Conference(GECCO 2004), Lecture Notes in Computer Science, 3102, 2004, pp. 36–47.[5] Bui, T. N. and C. Zrncic, “<strong>An</strong> <strong>An</strong>t-<strong>Based</strong> <strong>Algorithm</strong> <strong>for</strong> Finding Degree Constrained<strong>Minimum</strong> Spanning Tree,” Proceedings of <strong>the</strong> Genetic and EvolutionaryComputation Conference (GECCO 2005), 2005, pp. 11–18.[6] Colorni, A., M. Dorigo, and V. Maniezzo, “Distributed Optimization by <strong>An</strong>tColonies,” Proceedings of <strong>the</strong> First European Conference on Artificial Life,Elsevier, New York, 1991, pp. 134–142.[7] Dinur, I. and S. Safra, “On <strong>the</strong> Hardness of Approximating <strong>Minimum</strong> <strong>Vertex</strong><strong>Cover</strong>,” <strong>An</strong>nals of Ma<strong>the</strong>matics, 162, 2005, pp. 439–485.[8] Dorigo, M., “Optimization, Learning, and Natural <strong>Algorithm</strong>s,” Ph.D. Thesis,Politecnico di Milano, 1992.


REFERENCES 37[9] Dorigo, M., V. Maniezzo, and A. Colorni, “Positive Feedback as a SearchStrategy,” Technical Report, Politecnico di Milano, 1991, pp. 91–106.[10] Gilmour, S. and M. Dras, “Kernelization as Heuristic Structure <strong>for</strong> <strong>the</strong> <strong>Vertex</strong><strong>Cover</strong> <strong>Problem</strong>,” Proceedings of <strong>the</strong> Third Workshop on <strong>An</strong>t Colony Optimizationand Swarm Intelligence (ANTS 2006), Brussels, Belgium, 2006, pp.452–459.[11] Hochbaum, D. S., ed. Approximation <strong>Algorithm</strong>s <strong>for</strong> NP-Hard <strong>Problem</strong>s, PWSPublishing Company, Boston, Massachusetts, 1997.[12] Hoos, H. and T. Stützle, “Stochastic Local Search: Foundations and Applications,”Morgan Kaufmann, San Francisco, 2004.[13] Johnson, D.S. and M. A. Trick, Cliques, Coloring and Satisfiability: SecondDIMACS Implementation Challenge, DIMACS Series, Vol. 26, AmericanMa<strong>the</strong>matical Society, Providence RI, 1996.[14] Karakostas, G., “A Better Approximation Ratio <strong>for</strong> <strong>the</strong> <strong>Vertex</strong> <strong>Cover</strong> <strong>Problem</strong>,”L. Caires et al. (Eds.) ICALP 2005, Lecture Notes in Computer Science,3580, 2005, pp. 1043–1050.[15] Karp, R. M., “Reducibility Among Combinatorial <strong>Problem</strong>s,” Complexity ofComputer Computations, Proceedings of <strong>the</strong> Symposium on <strong>the</strong> Complexity ofComputer Computations, IBM Thomas J.Watson Research Center, YorktownHeights, New York, 1972, pp. 85–103.[16] Khuri, S. and T. Bäck, “<strong>An</strong> Evolutionary Heuristic <strong>for</strong> <strong>the</strong> <strong>Minimum</strong> <strong>Vertex</strong><strong>Cover</strong> <strong>Problem</strong>,” 18.Deutsche Jahrestagung für Künstliche Intelligenz: ExtendedAbstracts, Gesellschaft für In<strong>for</strong>matik, Bonn, 1994, pp. 83–84.[17] Maniezzo, V. and A. Carbonaro, “<strong>An</strong>t Colony Optimization: <strong>An</strong> Overview,”C. Ribeiro editor, Essays and Surveys in Metaheuristics, Kluwer, 2001, pp.21–44.[18] Motwani, R., “Lecture Notes on Approximation <strong>Algorithm</strong>s - Volume I,” TechnicalReport, Department of Computer Science, Stan<strong>for</strong>d University, 1992.


REFERENCES 38[19] Niedermeier R. and P. Rossmanith, “Upper Bounds <strong>for</strong> <strong>Vertex</strong> <strong>Cover</strong> Fur<strong>the</strong>rImproved,” C. Meinel and S. Tison (Eds.), Lecture Notes in ComputerScience, 1563, 1999, pp. 561–570.[20] Papadimitriou, C. H. and K. Steiglitz, Combinatorial Optimization: <strong>Algorithm</strong>sand complexity, Prentice–Hall, Upper Saddle River, NJ, 1982.[21] Richter, S., M. Helmert, and C. Gretton, “A Stochastic Local Search Approachto <strong>Vertex</strong> <strong>Cover</strong>,” Proceedings of <strong>the</strong> 30th German Conference on ArtificialIntelligence, 2007, pp. 412–426.[22] Sanchis, L. A., “Test Case Construction <strong>for</strong> <strong>the</strong> <strong>Vertex</strong> <strong>Cover</strong> <strong>Problem</strong>,” DI-MACS Series in Discrete Ma<strong>the</strong>matics and Theoretical Computer Science,Vol. 15, 1994, pp. 315–326.[23] Shyu, S. J., P. Y. Yin, and B. M. T. Lin, “<strong>An</strong> <strong>An</strong>t Colony Optimization <strong>Algorithm</strong><strong>for</strong> <strong>the</strong> <strong>Minimum</strong> Weight <strong>Vertex</strong> <strong>Cover</strong> <strong>Problem</strong>,” <strong>An</strong>nals of OperationsResearch 131, 2004, pp. 283–304.[24] Singh, A. and A. K. Gupta, “A Hybrid Heuristic <strong>for</strong> <strong>the</strong> <strong>Minimum</strong> Weight<strong>Vertex</strong> <strong>Cover</strong> <strong>Problem</strong>,” Asia - Pacific Journal of Operational Research, 2006,pp. 273–290.[25] Xu, K, “Benchmarks with Hidden Optimum Solutions <strong>for</strong> Graph <strong>Problem</strong>s,”http://www.nlsde.buaa.edu.cn/ kexu/benchmarks/graph-benchmarks.htm,2007.[26] Xu, K., F. Boussemart, F. Hemery, and C. Lecoutre, “A Simple Model to GenerateHard Satisfiable Instances,” Proceedings of <strong>the</strong> Nineteenth InternationalJoint Conference on Artificial Intelligence, 2005, pp. 337–342.[27] Xu, X. and J. Ma, “<strong>An</strong> Efficient Simulated <strong>An</strong>nealing <strong>Algorithm</strong> <strong>for</strong> <strong>the</strong> <strong>Minimum</strong><strong>Vertex</strong> <strong>Cover</strong> <strong>Problem</strong>,” Neurocomputing 69, 2006, pp. 913–916.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!