Next Article in Journal
Characterization of the iPhone LiDAR-Based Sensing System for Vibration Measurement and Modal Analysis
Previous Article in Journal
Traffic Agents Trajectory Prediction Based on Spatial–Temporal Interaction Attention
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

TIVC: An Efficient Local Search Algorithm for Minimum Vertex Cover in Large Graphs

1
Cyberspace Institute of Advanced Technology, Guangzhou University, Guangzhou 510006, China
2
Institute of Computing Science and Technology, Guangzhou University, Guangzhou 510006, China
3
School of Computer Science and Technology, Dalian University of Technology, Dalian 116024, China
*
Authors to whom correspondence should be addressed.
Sensors 2023, 23(18), 7831; https://doi.org/10.3390/s23187831
Submission received: 27 July 2023 / Revised: 3 September 2023 / Accepted: 5 September 2023 / Published: 12 September 2023
(This article belongs to the Section Sensor Networks)

Abstract

:
The minimum vertex cover (MVC) problem is a canonical NP-hard combinatorial optimization problem aiming to find the smallest set of vertices such that every edge has at least one endpoint in the set. This problem has extensive applications in cybersecurity, scheduling, and monitoring link failures in wireless sensor networks (WSNs). Numerous local search algorithms have been proposed to obtain “good” vertex coverage. However, due to the NP-hard nature, it is challenging to efficiently solve the MVC problem, especially on large graphs. In this paper, we propose an efficient local search algorithm for MVC called TIVC, which is based on two main ideas: a 3-improvements (TI) framework with a tiny perturbation and edge selection strategy. We conducted experiments on real-world large instances of a massive graph benchmark. Compared with three state-of-the-art MVC algorithms, TIVC shows superior performance in accuracy and possesses a remarkable ability to identify significantly smaller vertex covers on many graphs.

1. Introduction

Given an undirected graph G = ( V , E ) , a vertex cover (VC) C V of G is a subset of vertices such that every edge e E has at least one endpoint belonging to C. The minimum vertex cover (MVC) problem is to find a VC with the smallest size in a graph, which is a classical NP-hard problem with an approximation factor of 1.3606 [1]. MVC plays an important role in graph theory for its extensive applications, including scheduling [2], cybersecurity [3], and wireless sensor networks (WSNs) [4]. For example, a WSN can be modeled as an undirected graph for which vertices and edges represent infrastructures and communication links, respectively. Then, elements in VCs can be used for various purposes such as monitoring link failures, facility location, clustering, and data aggregation since each communication link (edge) is incident with at least one vertex in a VC. Figure 1 shows an example of simulating a wireless sensor network using a unit disk graph [5,6], where each vertex is the center of a circle and there is an edge between it and the other vertices within its radius. Another more specific example involves the installation of electronic cameras for a city road network to ensure that each road segment is monitored by at least one camera, thereby observing the traffic conditions. To minimize costs, it is necessary to deploy the fewest possible electronic cameras, which is equivalent to finding an MVC in the graph representing the city road network.

1.1. Background

The MVC problem has been extensively studied, and many algorithms have been proposed, including exact and approximate algorithms. Regarding exact algorithms, branch-and-reduce methods currently have the best time complexity [7,8]. However, the exact algorithms are still exponential-time, which cannot solve the MVC problem in a reasonable time, especially on large graphs. Therefore, approximate algorithms are proposed to solve MVC. Greedy algorithms are the common method used for approximately solving intractable problems, such as connected dominating sets [9], weighted vertex covers [10], and independent sets [11]. While greedy algorithms can quickly produce feasible solutions, the quality of solutions is generally not high enough to meet real-world requirements.
In practice, tackling intractable problems often resorts to heuristic approaches for obtaining a high-quality solution within a reasonable time, and a number of such algorithms have been proposed to address various problems, such as job shop scheduling [12], partition coloring [13], and the critical nodes problem [14]. Local search is one of the extensively studied heuristics for solving NP-hard problems [15,16,17,18,19]. Regarding the MVC problem, it has been shown that local search outperforms other heuristics [20]. The primary idea of local search algorithms for solving graph theory problems can be described as follows: initiate with a feasible solution and iteratively update it by removing, adding, or swapping vertices until a cutoff time is reached. A common strategy is ( j , k ) -swaps, i.e., removing j vertices from a solution and adding k vertices to it. We refer to a ( j , k ) -swap as a j-improvement [21]. The local search algorithms have the advantages of simple implementation and effective performance. However, they do suffer from a few challenges: the cycling phenomenon (i.e., revisiting recently visited vertices) [22,23] leads to the algorithm wasting too much computational time, resulting in a local optimum; moreover, complex vertex selection strategies may diminish the efficiency of the local search, resulting in poor performance on large graphs. To address these issues, researchers have proposed many strategies, which will be described in detail in Section 3.

1.2. Our Contributions

This paper proposes an efficient algorithm named TIVC for the MVC problem on large graphs. TIVC involves two main ideas. The first one is a 3-improvements framework with a tiny perturbation, which has a chance to directly search for a solution of size ( k 2 ) after adding one vertex based on a k-sized feasible solution. Moreover, we use an effective edge selection strategy to accelerate search speed, which combines the edge-age-based best from multiple selections (EABMS) technique [20] with a random vertex selection method to choose the uncovered edges to be covered. We conduct experiments to compare TIVC with state-of-the-art local search algorithms for MVC on the Network Repository benchmark, including 72 real-world large instances. TIVC shows the best accuracy performance and significantly outperforms other algorithms in many instances.

1.3. Organization of This Paper

The remainder of this paper is organized as follows. Section 2 presents basic definitions. Section 3 gives a brief review of the related work on MVC. Section 4 describes the TIVC algorithm. Section 5 is devoted to the design and analysis of experiments, and Section 6 provides concluding remarks.

2. Preliminaries

This section introduces some preliminary knowledge. Specifically, Section 2.1 describes some notations and terminologies, and Section 2.2 briefly summarizes local search.

2.1. Notations and Terminologies

Denote by G = ( V , E ) an undirected graph with vertex set V and edge set E. For an edge e = ( u , v ) , the two vertices u and v are called endpoints of e. A vertex is adjacent to another vertex if they are the two endpoints of an edge, and one is called a neighbor of the other. An edge is incident with each of its endpoints. The set consisting of all neighbors of a vertex v V , denoted by N ( v ) , is the neighborhood of v, and N [ v ] = N ( v ) { v } is the closed neighborhood of v. The degree of v is the number of edges incident with v. For a vertex set S V , let N [ S ] = v S N [ v ] and N ( S ) = N [ S ] S .
For a graph G = ( V , E ) and a set of vertices S V , an edge e E is covered by S if at least one endpoint of e belongs to S; otherwise, e is uncovered by S. If all edges of G are covered by S, then S is called a vertex cover (VC) of G. A VC with the smallest cardinality is called a minimum vertex cover (MVC) of G. Note that a graph G = ( V , E ) may have more than one MVC. We use E u ( S ) E to denote the set of edges uncovered by S and use E c ( S ) E to denote the set of edges covered by S. The MVC problem is to find an MVC from a graph.

2.2. Local Search

From this section, C represents a candidate (or partial) solution of the MVC problem. The general scheme of local search for MVC is to construct an initial VC first and then iteratively improve the solution to a smaller one by vertex swapping. Generally, local search algorithms use gain(v) and loss(v) to measure the importance of a vertex v, where gain(v) denotes the number of edges uncovered by C but covered by C { v } , and loss(v) is the number of edges covered by C but uncovered by C { v } . The age of a vertex v, denoted by age(v), is the number of steps since it was last removed from C. The age values are usually used to break ties, where ties mean the existence of multiple vertices with the same gain or loss. In addition, the a g e of an edge e, denoted by age(e), is the number of steps since it was last uncovered by C, which is often used as a criterion for selecting edges [20].

3. Related Work

This section provides a brief review on heuristic algorithms for MVC. In 2013, Cat et al. [24] proposed a two-stage strategy that allows the selection of a pair of vertices separately and exchanges vertices in two stages, based on which a NuMVC algorithm for MVC is developed, which addresses the drawback (time-consuming) of previous algorithms that require selecting vertices simultaneously [22,25,26]. However, with the rapid development of the Internet and the widespread deployment of sensors, the size of datasets has dramatically increased, and many algorithms fail to solve MVC on large instances. For this, Cai et al. [27] introduced the Best from Multiple Selections (BMS) heuristic, which randomly samples k vertices in C and removes one with the minimum loss value from C. This heuristic aims to obtain a trade-off between efficiency and accuracy. Based on BMS, an algorithm named FastVC is developed for solving MVC well on large instances. By combining BMS and the best-picking strategy [24], Ma et al. [28] proposed best-picking with a noisy strategy and developed an algorithm NoiseVC; they also proposed a BMS with random walk strategy (WalkBMS) in another study [29], which selects (with a probability) BMS or random walk as the vertex selection strategy to handle the issue with FastVC becoming easily trapped in a local optimum. Subsequently, Cai et al. [30] proposed an improved version of FatVC, named FastVC2+p, by integrating some processing techniques and initial solution construction methods. In 2019, Luo et al. [31] proposed a highly parametric local search framework for MVC, called MetaVC, which incorporates many effective local search techniques. In addition, the authors used an automatic algorithm configurator that sets parameters for the type of instances to maximize the performance of MetaVC. In 2021, Quan et al. [20] proposed a new edge weighting method based on edge age (EABMS), which randomly samples a edges in E u ( C ) and selects one edge with the maximum age value for covering (by adding one of its endpoints to C). Based on EABMS, an algorithm EAVC and its variant EAVC2+p have been developed for MVC. Both EAVC and EAVC2+p showed superiority on large graphs compared with FastVC and its variants. To date, FastVC, MetaVC, EAVC, and their variants are state-of-the-art MVC local search algorithms for large instances. To demonstrate the effectiveness of TIVC, we compared our algorithm with the baseline algorithms, i.e., FastVC, MetaVC, and EAVC.

4. Main Algorithm

In this section, we describe our algorithm TIVC. We first introduce the top-level architecture of TIVC and then describe the algorithm in detail. Finally, we give a complexity analysis for TIVC. Note that in this section, C represents a candidate (or partial) solution.

4.1. Top-Level Architecture

The top-level architecture of TIVC is shown in Algorithm 1. TIVC starts with constructing an initial VC C for the graph G (line 1) and then enters a loop for finding a VC as small as possible within a given cutoff time (lines 2–10). Specifically, when obtaining a VC C, it updates the best solution C * and then removes a vertex from C (lines 3–6). If C is not a feasible solution, then the algorithm iteratively exchanges vertices until C becomes a VC. First, it removes vertices from C until | C | = | C * | 3 (line 7). Next, it selects an uncovered edge and adds one of its endpoints to C (line 8). If C remains infeasible, it selects another vertex to add to C in the same way (lines 9–10). Finally, the best-found vertex cover C * is returned when the cutoff time is reached (line 11).
Algorithm 1: Top Level of TIVC
Input: A graph   G   =   ( V , E ) , the cutoff time
Output: A vertex cover C * of G
Sensors 23 07831 i001

4.2. The TIVC Algorithm

Our TIVC algorithm is shown in Algorithm 2, which encompasses two stages, i.e., construction and search.
Algorithm 2: TIVC
Input: A graph   G   =   ( V , E ) , the cutoff time
Output: A vertex cover C * of G
Sensors 23 07831 i002
In the construction stage, the algorithm constructs an initial VC C of G (line 1) by EdgeGreedyVC [20,27,31], which is a commonly used approach for MVC algorithms. The process starts with an empty set C and proceeds iteratively by checking and covering edges to extend C. Once a VC is obtained, redundant vertices are removed from C, where redundant vertices are those with loss = 0 and removing them does not produce new uncovered edges.
In the search phase, the algorithm attempts to iteratively remove vertices from C and add vertices to C to search for a VC smaller than the current best solution C * . First, it repeatedly removes a vertex with the minimum loss from C until C is not a VC, i.e., | C | = | C * | 1 (lines 3–6). Second, the algorithm repeatedly performs vertex swapping. Each swapping step contains a removing phase (lines 7–11) and an adding phase (lines 12–17). In the removing phase, the first vertex u 1 is selected by the BMS heuristic and removed from C (lines 7–8); then, the second vertex is selected randomly in C and removed from C to perturb the solution slightly (lines 9–10). The above implementation lead to | C | = | C * | 3 . In the adding phase, it first selects an uncovered edge e E u ( C ) and adds the vertex with greater gain in its endpoints to C (lines 11–13); if there are uncovered edges ( E u ( C ) ), then it chooses one edge in E u ( C ) randomly and adds the vertex with greater gain to C (lines 14–17). If C is a feasible VC at this time, then the algorithm completes a 3-improvement; otherwise, the algorithm continues to perform lines 7–17. Finally, the best-found VC C * is returned when the cutoff time is reached (line 18).
An important implementation detail is that when a vertex v is removed from or added to C, the g a i n or l o s s of vertices in N [ v ] needs to be updated accordingly.

4.3. Complexity Analysis

In this section, we analyze the time complexity of TIVC. For a given graph G = ( V , E ) , let | V | = n , | E | = m .
Proof. 
TIVC (Algorithm 2) runs in O ( m + n ) . First, the ConstructVC procedure (line 1) constructs an initial solution by EdgeGreedyVC, which has a time complexity of O ( m ) [27]. Second, lines 3–6 take O ( m + n ) time since the procedure traverses E and V once. Third, lines 7–17 take O ( m ) time because the time complexity of BMS and EABMS has already been proven to be O ( 1 ) [20,27]; the time complexity of removing a vertex from a solution C and adding a vertex to C is O ( 1 ) , and the time complexity of updating g a i n or l o s s is O ( Δ ) , where Δ is the maximum degree of the graph; Line 14 needs to traverse E once for checking the condition of whether E u ( C ) . Thus, the time complexity of TIVC is O ( m + n ) . □

5. Results and Discussion

In this section, we evaluate TIVC on the Network Repository benchmark (https://networkrepository.com accessed on 9 March 2023) [32]. This benchmark includes enormous amounts of graphs from various areas. To assess the performance of TIVC on large graphs, we specifically selected instances with vertex numbers ranging from 10 4 to 10 7 , encompassing 72 instances. Section 5.1 introduces the design of the experiment; Section 5.2 reports the results of the experiment; Section 5.3 discusses and analyzes the experimental results.

5.1. Experiment Setup

TIVC is implemented in C++ and compiled by gcc 7.1.0 with the `-O3’ optimization option. All experiments are run under CentOS Linux release 7.6.1810 with an Intel(R) Xeon(R) Gold 6254 [email protected] with 128 GB RAM. The parameters of FastVC and EAVC are set to be the same as those used in the original literature [20,27], and the parameters of MetaVC are set according to the recommended values in reference [31] on large instances (REAL-WORLD). However, no processing techniques are employed, aligning with the other algorithms. TIVC incorporates two tunable parameters: k for the BMS and a for the EABMS. These parameters are set to 50 and 24, respectively, aligning with the settings of EAVC.
We compare TIVC with three state-of-the-art local search algorithms: FastVC [27], MetaVC [31], and EAVC [20] for MVC. All three algorithms are suitable for solving large instances for MVC. FastVC combines the two-stage exchange framework and the BMS heuristic to balance the algorithm’s accuracy and efficiency, which achieves good performance on large graphs. MetaVC integrates many local search techniques based on the two-stage framework and incorporates an automatic configurator to select and set parameters. For large instances, MetaVC involves BMS, reconstruction, and random walk mechanisms, where reconstruction means removing t vertices from the solution C during the search phase and then adding t vertices with the greatest g a i n s in V C to C. EAVC is based on the two-stage framework and combines WalkBMS and EABMS to provide good guidance for improving the quality of solutions (and also increasing the diversity of solutions) in the vertex and edge selection phase.
Table 1 shows the details of these four algorithms. The construction procedures of the four algorithms are based on EdgeGreedyVC. For vertex selection, FastVC, MetaVC, EAVC, and TIVC utilize BMS, BMS + Random, WalkBMS, and BMS + Random strategies, respectively. Regarding edge selection, FastVC, MetaVC, EAVC, and TIVC use Random, Random, EABMS, and EABMS+Random strategies, respectively. In addition, FastVC, MetaVC, and EAVC are both based on 2-improvements, while TIVC is based on 3-improvements. Note that MetaVC also incorporates a reconstruction mechanism during the search phase. The codes of FastVC (http://lcs.ios.ac.cn/~caisw/VC.html accessed on 8 July 2023), MetaVC (https://github.com/chuanluocs/MetaVC accessed on 18 August 2023), and EAVC (https://github.com/quancs/EAVC accessed on 8 July 2023), are open online.
For each instance, all algorithms are executed 10 times with seeds 1, 2, 3, …, 10. The cutoff time for each run is set at 1000 s. For each instance, we present the best (i.e., smallest) solution as M i n , the average solution as A v g , and the average running time (over the 10 runs) as t a v g .

5.2. Experimental Result

Results on the Network Repository benchmark are reported in Table 2. TIVC shows superior performance in terms of accuracy in the majority of instances, outperforming both the FastVC, MetaVC, and EAVC algorithms. Specifically, TIVC obtains the best solution on 50 (out of 72) instances, while FastVC, MetaVC, and EAVC obtain 26, 28, and 37 best solutions, respectively. In particular, TIVC shows a remarkable ability to find strictly optimal solutions—in total, 20 such solutions. In comparison, FastVC, MetaVC, and EAVC can find 3, 12, and 7 strictly optimal solutions, respectively. Regarding the average solution, TIVC also outperforms the other algorithms. FastVC, MetaVC, EAVC, and TIVC obtain the optimal average VC on 7, 12, 13, and 20 instances, respectively. In addition, for large instances with 10 7 vertices, TIVC performs remarkably well and finds much smaller VCs than other algorithms on many instances.
Moreover, we report summary results for each algorithm on instances with orders (the number of vertices) from 10 4 to 10 7 , as shown in Table 3. There are 7, 26, 27, and 12 instances whose orders are 10 4 , 10 5 , 10 6 , and 10 7 , respectively. All algorithms found the best solutions on the instances of order 10 4 . Regarding the instances of order 10 5 , the numbers of instances on which TIVC, FastVC, MetaVC, and EAVC found the best solutions (strictly optimal solutions) are 18, 7, 10, and 12 (8, 0, 6, 2), respectively. For the instances of order 10 6 , TIVC and EAVC had similar performance—finding the best solutions on 17 instances and the strictly optimal solutions on 5 instances—while FastVC and EAVC found the best solutions on 10 and 9 instances, respectively, and obtained strictly optimal solutions on 1 and 4 instances. Finally, regarding the instances of order 10 7 , the numbers of instances on which TIVC, FastVC, MetaVC, and EAVC found the best solutions (strictly optimal solutions) are 8, 2, 2, and 1 (7, 2, 2, 0), respectively.
As mentioned in Section 1, MVC has a real-world application in electronic camera installation on road networks. To capture visual information on a road network, such as traffic conditions, vehicle positions and speeds, and pedestrian flows, we need to install cameras at the intersections of roads, guaranteeing that every road can be monitored by at least one camera. Observe that a camera can monitor more than one road. In practice, to save costs, it is sufficient to install cameras at a small number of intersections. Now, a problem arises: given a road network, what are the intersections for installing cameras such that the number of cameras is minimized and all roads are monitored? By modeling a road network as a graph whose vertices represent intersections and for which two vertices are connected by an edge if and only if they are connected by a road (without considering the length and width of roads), this problem is equivalent to finding an MVC in a graph. As an example, we consider the instance “inf-road-usa”, which is a graph abstracted from the road network in the United States. As shown in Table 2, the solution for this instance provided by our TIVC algorihtm is 11,950,231, outperforming the suboptimal solution 11,989,552; i.e., compared with other state-of-the-art algorithms, TIVC can save at least 39,321 cameras when installing cameras for monitoring this network.

5.3. Discussion

The experimental results demonstrate the effectiveness of our TIVC algorithm for solving MVC on large graphs. From Section 5.2, it can be seen that TIVC fails to find the best solution mainly on instances of orders 10 5 and 10 6 . A possible explanation for this might be that the tiny perturbation guidance algorithm focuses mainly on the solution diversity when falling into a local optimum, ignoring the intensity of the improvement of the current solution. Nevertheless, the gap between a solution returned by TIVC and the best solution is small, generally within 10 2 . In comparison, on instances of order 10 7 , algorithms in our experiments are less likely to become trapped in local optima due to the large solution space (the t _ a v g values of all four algorithms are close to 1000 s). In this case, the advantage of the 3-improvements framework is showcased prominently, i.e., it has a chance to directly search for a solution of size ( k 2 ) after adding one vertex based on a k-sized feasible solution, whereas 2-improvements cannot achieve this.
TIVC has certain limitations. First, for small instances, the diversity of the solution space may be limited and the perturbation could potentially lead the search towards a suboptimal direction, which hinders TIVC from finding the best solution within the time threshold. In contrast, probabilistic (rather than fixed) perturbations are more likely to guide the algorithm into an optimal direction. Nevertheless, the difference between the solutions found by TIVC and the best solutions obtained by other algorithms are not significant (e.g., the instances “wave”, “rec-dating”, “citationCitesee”, “web-Stanford”, etc.). In addition, all algorithms considered in this paper except MetaVC have a common limitation, i.e., parameter setting. For different types of instances, different parameter settings may affect the performance of the algorithms to a certain extent. MetaVC has automatic parameter configurations that can tune parameters automatically according to the types of instances; this flexibility could be a contributing factor to its outstanding performance on some instances, such as “hugetrace-00020” and “hugebubbles-00000”.

6. Conclusions

In this paper, we propose an efficient local search algorithm for the MVC problem called TIVC, which consists of a 3-improvements framework with a tiny perturbation and edge selection strategy. The experimental results show that TIVC significantly outperforms state-of-the-art algorithms for MVC on large graphs, especially those with orders exceeding 10 7 (although such instances are scarce currently, they will become increasingly prevalent with the development of the internet and big data). This provides an enhanced approach for designing and analyzing large WSNs.
In the future, we aim to explore more efficient approaches for solving various graph theoretical problems on large-scale graphs—especially algorithms with theoretical guarantees. Additionally, we plan to integrate local search with advanced machine learning methods to accelerate the convergence speed of local search algorithms, allowing them to autonomously terminate the search process instead of relying solely on time constraints. Finally, exploring more real-world problems that can be modeled to the MVC-related problems (and applying our algorithm to solve them) is also further work we will consider.

Author Contributions

Conceptualization, Y.Z. and E.Z.; methodology, Y.Z.; software, Y.Z.; validation, Y.Z., E.Z. and S.W.; formal analysis, Y.Z.; investigation, Y.Z. and S.W.; resources, E.Z.; data curation, Y.Z.; writing—original draft preparation, Y.Z., S.W. and C.L.; writing—review and editing, E.Z. and C.L.; visualization, S.W.; supervision, E.Z.; project administration, E.Z.; funding acquisition, C.L. and E.Z. All authors have read and agreed to the published version of the manuscript.

Funding

This work was supported in part by the National Natural Science Foundation of China under grant (62272115, 62172072), in part by the Natural Science Foundation of Guangdong Province of China under grant 2021A 1515011940, and in part by Science and Technology Projects in Guangzhou.

Institutional Review Board Statement

Not applicable.

Informed Consent Statement

Not applicable.

Data Availability Statement

The data used in this study are openly available at https://networkrepository.com accessed on 9 March 2023, reference number [32].

Conflicts of Interest

The authors declare no conflict of interest.

Abbreviations

The following abbreviations are used in this manuscript:
WSNWireless sensor network
WSNsWireless sensor networks
VCVertex cover
TI3-improvements
MVCMinimum vertex cover
MISMaximum independent set
BMSBest from Multiple Selections heuristic
WalkBMSBMS with random walk strategy
EABMSEdge-age-based best from multiple selections

References

  1. Dinur, I.; Safra, S. On the hardness of approximating minimum vertex cover. Ann. Math. 2005, 162, 439–485. [Google Scholar] [CrossRef]
  2. Bansal, N.; Khot, S. Inapproximability of hypergraph vertex cover and applications to scheduling problems. In International Colloquium on Automata, Languages, and Programming; Springer: Berlin/Heidelberg, Germany, 2010; pp. 250–261. [Google Scholar]
  3. Javad-Kalbasi, M.; Dabiri, K.; Valaee, S.; Sheikholeslami, A. Digitally annealed solution for the vertex cover problem with application in cyber security. In Proceedings of the ICASSP 2019—2019 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP), Brighton, UK, 12–17 May 2019; IEEE: Piscataway, NJ, USA, 2019; pp. 2642–2646. [Google Scholar]
  4. Kavalci, V.; Ural, A.; Dagdeviren, O. Distributed Vertex Cover Algorithms For Wireless Sensor Networks. Int. J. Comput. Netw. Commun. 2014, 6. [Google Scholar] [CrossRef]
  5. Clark, B.N.; Colbourn, C.J.; Johnson, D.S. Unit disk graphs. Discret. Math. 1990, 86, 165–177. [Google Scholar] [CrossRef]
  6. Kuhn, F.; Moscibroda, T.; Wattenhofer, R. Unit disk graph approximation. In Proceedings of the 2004 Joint Workshop on Foundations of Mobile Computing, Philadelphia, PA, USA, 1 October 2004; pp. 17–23. [Google Scholar]
  7. Akiba, T.; Iwata, Y. Branch-and-reduce exponential/FPT algorithms in practice: A case study of vertex cover. Theor. Comput. Sci. 2016, 609, 211–225. [Google Scholar] [CrossRef]
  8. Xiao, M.; Nagamochi, H. Exact algorithms for maximum independent set. Inf. Comput. 2017, 255, 126–146. [Google Scholar] [CrossRef]
  9. Li, Y.; Thai, M.T.; Wang, F.; Yi, C.W.; Wan, P.J.; Du, D.Z. On greedy construction of connected dominating sets in wireless networks. Wirel. Commun. Mob. Comput. 2005, 5, 927–932. [Google Scholar] [CrossRef]
  10. Bouamama, S.; Blum, C.; Boukerram, A. A population-based iterated greedy algorithm for the minimum weight vertex cover problem. Appl. Soft Comput. 2012, 12, 1632–1639. [Google Scholar] [CrossRef]
  11. Feo, T.A.; Resende, M.G.; Smith, S.H. A greedy randomized adaptive search procedure for maximum independent set. Oper. Res. 1994, 42, 860–878. [Google Scholar] [CrossRef]
  12. Viana, M.S.; Morandin Junior, O.; Contreras, R.C. A Modified Genetic Algorithm with Local Search Strategies and Multi-Crossover Operator for Job Shop Scheduling Problem. Sensors 2020, 20, 5440. [Google Scholar] [CrossRef]
  13. Zhu, E.; Jiang, F.; Liu, C.; Xu, J. Partition independent set and reduction-based approach for partition coloring problem. IEEE Trans. Cybern. 2020, 52, 4960–4969. [Google Scholar] [CrossRef]
  14. Liu, C.; Ge, S.; Zhang, Y. Identifying the cardinality-constrained critical nodes with a hybrid evolutionary algorithm. Inf. Sci. 2023, 642, 119140. [Google Scholar] [CrossRef]
  15. Dahlum, J.; Lamm, S.; Sanders, P.; Schulz, C.; Strash, D.; Werneck, R.F. Accelerating local search for the maximum independent set problem. In Proceedings of the Experimental Algorithms: 15th International Symposium, SEA 2016, St. Petersburg, Russia, 5–8 June 2016; Springer: Berlin/Heidelberg, Germany, 2016; pp. 118–133. [Google Scholar]
  16. KhudaBukhsh, A.R.; Xu, L.; Hoos, H.H.; Leyton-Brown, K. SATenstein: Automatically building local search SAT solvers from components. Artif. Intell. 2016, 232, 20–42. [Google Scholar] [CrossRef]
  17. Song, T.; Liu, S.; Tang, X.; Peng, X.; Chen, M. An iterated local search algorithm for the University Course Timetabling Problem. Appl. Soft Comput. 2018, 68, 597–608. [Google Scholar] [CrossRef]
  18. He, P.; Hao, J.K. Iterated two-phase local search for the colored traveling salesmen problem. Eng. Appl. Artif. Intell. 2021, 97, 104018. [Google Scholar] [CrossRef]
  19. Zhou, Y.; Xu, W.; Fu, Z.H.; Zhou, M. Multi-neighborhood simulated annealing-based iterated local search for colored traveling salesman problems. IEEE Trans. Intell. Transp. Syst. 2022, 23, 16072–16082. [Google Scholar] [CrossRef]
  20. Quan, C.; Guo, P. A local search method based on edge age strategy for minimum vertex cover problem in massive graphs. Expert Syst. Appl. 2021, 182, 115185. [Google Scholar] [CrossRef]
  21. Andrade, D.V.; Resende, M.G.; Werneck, R.F. Fast local search for the maximum independent set problem. J. Heuristics 2012, 18, 525–547. [Google Scholar] [CrossRef]
  22. Cai, S.; Su, K.; Sattar, A. Local search with edge weighting and configuration checking heuristics for minimum vertex cover. Artif. Intell. 2011, 175, 1672–1696. [Google Scholar] [CrossRef]
  23. Wang, Y.; Cai, S.; Yin, M. Local search for minimum weight dominating set with two-level configuration checking and frequency based scoring function. J. Artif. Intell. Res. 2017, 58, 267–295. [Google Scholar] [CrossRef]
  24. Cai, S.; Su, K.; Luo, C.; Sattar, A. NuMVC: An efficient local search algorithm for minimum vertex cover. J. Artif. Intell. Res. 2013, 46, 687–716. [Google Scholar] [CrossRef]
  25. Richter, S.; Helmert, M.; Gretton, C. A stochastic local search approach to vertex cover. In Proceedings of the Annual Conference on Artificial Intelligence, Los Angeles, CA, USA, 9–13 July 2007; Springer: Berlin/Heidelberg, Germany, 2007; pp. 412–426. [Google Scholar]
  26. Cai, S.; Su, K.; Chen, Q. EWLS: A new local search for minimum vertex cover. In Proceedings of the Proceedings of the AAAI Conference on Artificial Intelligence, Atlanta, GE, USA, 11–15 July 2010; Volume 24, pp. 45–50.
  27. Cai, S. Balance between complexity and quality: Local search for minimum vertex cover in massive graphs. In Proceedings of the Twenty-Fourth International Joint Conference on Artificial Intelligence, Buenos Aires, Argentina, 25–31 July 2015. [Google Scholar]
  28. Ma, Z.; Fan, Y.; Su, K.; Li, C.; Sattar, A. Local search with noisy strategy for minimum vertex cover in massive graphs. In Proceedings of the PRICAI 2016: Trends in Artificial Intelligence: 14th Pacific Rim International Conference on Artificial Intelligence, Phuket, Thailand, 22–26 August 2016; Springer: Berlin/Heidelberg, Germany, 2016; pp. 283–294. [Google Scholar]
  29. Ma, Z.; Fan, Y.; Su, K.; Li, C.; Sattar, A. Random walk in large real-world graphs for finding smaller vertex cover. In Proceedings of the 2016 IEEE 28th International Conference on Tools with Artificial Intelligence (ICTAI), San Jose, CA, USA, 6–8 November 2016; IEEE: Piscataway, NJ, USA, 2016; pp. 686–690. [Google Scholar]
  30. Cai, S.; Lin, J.; Luo, C. Finding a small vertex cover in massive sparse graphs: Construct, local search, and preprocess. J. Artif. Intell. Res. 2017, 59, 463–494. [Google Scholar] [CrossRef]
  31. Luo, C.; Hoos, H.H.; Cai, S.; Lin, Q.; Zhang, H.; Zhang, D. Local Search with Efficient Automatic Configuration for Minimum Vertex Cover. In Proceedings of the IJCAI, Macao, China, 10–16 August 2019; pp. 1297–1304. [Google Scholar]
  32. Rossi, R.A.; Ahmed, N.K. The Network Data Repository with Interactive Graph Analytics and Visualization. In Proceedings of the AAAI, Austin, TX, USA, 20–30 January 2015. [Google Scholar]
Figure 1. An example of a WSN.
Figure 1. An example of a WSN.
Sensors 23 07831 g001
Table 1. Equipment of four algorithms.
Table 1. Equipment of four algorithms.
AlgorithmsFastVCMetaVCEAVCTIVC
ConstructionEdgeGreedyVCEdgeGreedyVCEdgeGreedyVCEdgeGreedyVC
Vertex SelectionBMSBMS + RandomWalkBMSBMS + Random
Edge SelectionRandomRandomEABMSEABMS + Random
k-improvement2223
Table 2. The results on the Network Repository benchmark.
Table 2. The results on the Network Repository benchmark.
InstanceFastVCMetaVCEAVCTIVC
Min Avg t _ avg Min Avg t _ avg Min Avg t _ avg Min Avg t _ avg
cit-HepTh18,15518,155.00.0518,15518,155.00.4018,15518,155.00.1218,15518,155.40.12
as-22july0633033303.00.0133033303.00.0433033303.02.4133033303.60.01
cit-HepPh22,58922,589.00.3422,58922,589.01.8922,58922,589.00.2122,58922,589.20.37
cond-mat-200523,10623,106.00.0923,10623,106.00.3323,10623,106.00.0523,10623,106.40.07
soc-Epinions122,28022,280.00.1422,28022,280.01.5822,28022,280.00.1122,28022,280.50.10
soc-Slashdot081124,04624,046.00.3124,04624,046.02.1924,04624,046.00.1524,04624,046.40.14
soc-Slashdot090225,77025,770.20.2925,77025,770.012.1025,77025,772.3308.6225,77025,770.6265.89
luxembourg_osm56,93656,937.6186.2456,93756,937.0306.0556,93656,937.937.1456,93656,936.568.12
wave119,306119,445.9659.30119,279119,309.9596.04119,302119,382.1561.16119,290119,331.3607.95
rec-dating89,83989,853.3302.8089,78089,787.9809.3589,80689,811.4752.0989,79289,799.7798.95
caidaRouterLevel75,43375,443.86.1775,20175,209.2927.2775,19975,215.8235.8675,17375,190.5933.96
rec-libimseti-dir94,19896,275.5479.4293,71096,033.1858.6693,70493,708.0560.6793,69693,701.4742.14
coAuthorsCiteseer129,193129,193.01.32129,193129,193.026.94129,193129,193.00.58129,193129,193.60.60
amazon0302168,554168,557.9574.72168,553168,561.1590.24168,547168,552.5467.84168,545168,550.6556.79
email-EuAll18,31718,317.00.0618,31618,316.031.6218,31618,316.10.0718,31618,317.20.07
Ga41As41H72237,101237,985.0997.21233,534233,923.0625.24233,550233,604.9636.46233,508233,632.2397.48
citationCiteseer118,180118,184.612.27118,118118,120.2863.87118,135118,147.684.15118,135118,146.0440.38
web-Stanford118,879118,895.1637.11118,591118,605.3836.93118,613118,625.2444.53118,603118,616.2878.72
coAuthorsDBLP155,618155,618.05.94155,618155,618.0164.00155,618155,618.01.66155,618155,619.01.13
ca-dblp-2012164,949164,949.03.74164,949164,949.1387.89164,949164,949.01.29164,949164,949.70.76
cnr-200096,09196,104.1368.1695,70095,725.2935.7795,77895,798.4768.9595,73595,769.6930.46
web-NotreDame74,09474,104.3128.5673,91473,920.1862.4373,94373,948.3394.2273,92773,931.7895.30
amazon0312261,594261,598.7840.60261,622261,632.5604.34261,596261,602.4422.35261,591261,598.5834.25
amazon0601266,579266,586.3461.46266,607266,615.6578.30266,567266,572.5346.39266,565266,572.2662.40
amazon0505267,256267,260.3682.73267,280267,288.4615.81267,252267,257.4505.85267,248267,254.7715.89
coPapersCiteseer386,106386,106.09.86386,112386,117.4556.86386,106386,106.05.76386,106386,106.96.15
ca-coauthors-dblp472,179472,179.020.44472,194472,199.1508.31472,179472,179.05.01472,179472,179.94.42
coPapersDBLP472,179472,179.035.57472,194472,197.2333.46472,179472,179.08.36472,179472,179.98.03
web-BerkStan278,906278,934.2799.02277,400277,448.3966.86277,209277,228.0546.69277,200277,219.2843.83
rec-epinion100,435100,444.35.65100,180100,199.4922.50100,011100,016.72.10100,011100,017.3113.18
eu-2005412,377412,397.6879.54411,702411,788.7952.56411,007411,040.6906.16411,015411,034.9850.33
web-Google346,920346,924.7131.10346,756346,775.3889.98346,672346,680.8256.54346,673346,680.4283.37
ldoor899,422899,423.2292.15899,423899,429.2726.92899,420899,421.041.02899,420899,421.381.56
inf-roadNet-PA555,231555,251.8662.74554,890554,956.9940.83555,260555,316.0379.00555,258555,315.9868.15
rt-retweet-crawl81,04281,044.679.5381,04081,040.0433.0481,04181,041.80.7481,04181,042.059.16
soc-youtube-snap276,945276,945.012.70276,946276,947.3434.07276,945276,945.75.08276,945276,946.26.62
soc-lastfm78,68878,688.00.3478,68878,688.00.6878,68878,688.00.6778,68878,688.30.68
in-2004487,189487,237.8902.55486,920486,953.8936.79486,490486,519.0926.08486,509486,519.0867.07
tech-as-skitter527,163527,201.2410.91526,529526,635.7964.58525,494525,515.5520.16525,492525,515.5497.47
soc-flickr-und474,637474,637.5233.62474,646474,652.8579.93474,637474,637.994.72474,637474,638.569.20
inf-roadNet-CA1,001,3171,001,341.0901.751,001,1231,001,246.6872.861,001,4731,001,525.0437.531,001,4711,001,513.0749.76
web-baidu-baike637,106637,110.2506.66637,092637,111.9783.86637,014637,019.8330.01637,013637,021.0384.52
packing*b0501,624,9451,625,325.0996.991,615,5731,616,094.7976.601,624,1911,625,500.0997.791,623,4451,625,416.0997.74
tech-ip67,00767,007.01.3567,00767,007.01.7767,00767,007.04.9267,00767,007.42.91
soc-flixster96,31796,317.01.0796,31796,317.01.0896,31796,317.01.5696,31796,317.91.35
socfb-B-anon303,048303,048.942.41303,048303,048.4331.14303,048303,048.23.17303,048303,048.73.21
soc-orkut2,171,3292,171,379.0996.622,171,3422,171,413.0916.412,171,2702,171,301.0997.662,171,2132,171,291.0993.39
soc-orkut-dir2,233,9612,234,015.0996.912,233,9792,234,033.8976.942,233,7752,233,820.0997.142,233,8582,233,929.0996.25
socfb-A-anon375,231375,232.827.41375,230375,231.8340.28375,230375,230.9100.17375,230375,230.975.81
patents1,673,9771,674,016.0982.941,673,7931,673,839.9913.501,673,5621,673,615.0969.761,673,6001,673,632.0976.26
soc-livejournal1,869,0431,869,052.0928.871,869,2161,869,260.7693.261,868,9861,868,991.0871.121,868,9821,868,991.0860.13
delaunay_n222,873,9732,874,015.0999.092,877,8302,878,304.9902.492,873,3052,873,348.0999.372,873,2072,873,239.0999.19
ljournal-20082,393,0232,393,035.0948.562,393,2042,393,256.1891.122,392,6642,392,681.0879.102,392,6662,392,682.0848.51
soc-ljournal-20082,392,9922,393,038.0950.132,393,1792,393,265.3861.512,392,6602,392,677.0780.642,392,6652,392,679.0873.16
rel9273,993273,993.4274.61274,155274,160.0337.87273,993273,993.5152.69273,993273,993.6214.00
sc-rel9273,993273,993.3333.19274,155274,160.0352.04273,993273,993.4258.32273,993273,993.6198.41
soc-livejo*groups1,841,3671,841,386.0907.271,841,4411,841,501.7885.401,841,0611,841,077.0503.851,841,0611,841,078.0643.42
delaunay_n235,753,8355,754,557.0999.975,791,6305,793,429.5999.935,799,7195,801,179.0999.995,762,8215,763,597.0999.99
friendster1,038,2521,038,257.0588.531,038,2621,038,271.7699.721,038,2391,038,242.0374.201,038,2391,038,244.0309.58
relat9274,297274,297.04.19274,395274,395.00.57274,297274,297.0139.00274,297274,297.178.58
inf-germany_os5,710,5225,710,676.0999.935,743,2165,748,327.0999.965,777,7865,786,140.0999.995,714,4565,715,014.0999.98
hugetrace-000106,650,7296,754,798.01000.006,782,5556,809,180.5999.996,914,5686,924,276.01000.006,762,3216,764,085.01000.00
road_central6,902,1086,911,566.01000.006,898,3806,926,199.7999.966,944,2806,945,766.0999.996,890,5456,895,530.0999.99
hugetrace-000209,293,3709,334,922.01000.009,232,8649,421,598.01000.009,321,7579,333,712.01000.009,239,5119,240,936.01000.00
delaunay_n2411,850,81911,867,478.01000.0011,954,63411,958,292.51000.0011,871,28311,874,602.0999.9911,823,27811,824,566.0999.99
hugebubbles-0000010,469,54610,498,559.01000.0010,412,74610,551,611.51000.0010,508,63110,511,251.01000.0010,417,50810,432,354.01000.00
uk-20026,642,9806,650,452.01000.006,662,7846,695,299.31000.006,588,4206,588,632.0999.556,588,1326,588,738.0999.60
hugebubbles-0001011,667,81211,695,490.01000.0011,666,02511,718,530.01000.0011,352,76411,360,173.01000.0011,319,44311,328,490.01000.00
hugebubbles-0002012,658,14212,668,880.01000.0012,593,05012,695,334.21000.0012,406,55612,407,781.01000.0012,358,09612,359,528.01000.00
inf-road-usa12,022,43412,027,594.01000.0012,024,68712,049,621.11000.0011,989,55211,991,769.0999.9911,950,23111,952,066.0999.99
inf-europe_os25,910,22625,912,219.01000.0025,911,22725,920,918.3999.9025,918,01825,924,685.01000.0025,896,77525,898,696.0999.99
socfb-uci-uni866,768866,768.043.18866,767866,767.8160.31866,766866,766.026.20866,766866,767.424.50
Table 3. Summary results. “A/B” indicates that the corresponding algorithm found A best solutions and B strictly optimal solutions in instances of the corresponding scale.
Table 3. Summary results. “A/B” indicates that the corresponding algorithm found A best solutions and B strictly optimal solutions in instances of the corresponding scale.
Instance_ScaleNumFastVCMetaVEAVCTIVC
10 4 77/07/07/07/0
10 5 267/010/612/218/8
10 6 2710/19/417/517/5
10 7 122/22/21/08/7
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.

Share and Cite

MDPI and ACS Style

Zhang, Y.; Wang, S.; Liu, C.; Zhu, E. TIVC: An Efficient Local Search Algorithm for Minimum Vertex Cover in Large Graphs. Sensors 2023, 23, 7831. https://doi.org/10.3390/s23187831

AMA Style

Zhang Y, Wang S, Liu C, Zhu E. TIVC: An Efficient Local Search Algorithm for Minimum Vertex Cover in Large Graphs. Sensors. 2023; 23(18):7831. https://doi.org/10.3390/s23187831

Chicago/Turabian Style

Zhang, Yu, Shengzhi Wang, Chanjuan Liu, and Enqiang Zhu. 2023. "TIVC: An Efficient Local Search Algorithm for Minimum Vertex Cover in Large Graphs" Sensors 23, no. 18: 7831. https://doi.org/10.3390/s23187831

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop