UBC Theses and Dissertations

UBC Theses Logo

UBC Theses and Dissertations

On uniform sampling of cliques khorvash, Massih 2009

Your browser doesn't seem to have a PDF viewer, please download the PDF to view this item.

Notice for Google Chrome users:
If you are having trouble viewing or searching the PDF with Google Chrome, please download it here instead.

Item Metadata

Download

Media
24-ubc_2009_fall_khorvash_massih.pdf [ 797.76kB ]
Metadata
JSON: 24-1.0051700.json
JSON-LD: 24-1.0051700-ld.json
RDF/XML (Pretty): 24-1.0051700-rdf.xml
RDF/JSON: 24-1.0051700-rdf.json
Turtle: 24-1.0051700-turtle.txt
N-Triples: 24-1.0051700-rdf-ntriples.txt
Original Record: 24-1.0051700-source.json
Full Text
24-1.0051700-fulltext.txt
Citation
24-1.0051700.ris

Full Text

On uniform sampling of cliques by Massih Khorvash B.Sc., The University of Lethbridge, 2006 A THESIS SUBMITTED IN PARTIAL FULFILMENT OF THE REQUIREMENTS FOR THE DEGREE OF Master of Science in The Faculty of Graduate Studies (Computer Science) The University of British Columbia (Vancouver) October 2009 c© Massih Khorvash 2009 Abstract The problem that we are addressing in this thesis is the problem of sampling uniformly the cliques of a target size k of any given graph. As a natural approach for solving this problem, we used the already available state-of- the-art heuristic MAX-CLIQUE solvers. The heuristic MAX-CLIQUE al- gorithms, which we used for this task, have k-CLIQUE solvers as their sub- routines. This thesis therefore examines how uniformly some of the state- of-the-art stochastic local search MAX-CLIQUE algorithms sample target cliques of graphs, and suggests various methods to improve their sampling performance. We also investigate the limitations of a generic method that uses already existing SAT samplers (such as XORSample and XORSample′ [1]) to sample the solutions of the translated SAT instances from k-CLIQUE instances. The main limitation with this method is the huge size of the en- coded instances. Another important limitation with this method is that sampling satisfying assignments of the encoded SAT instances is expensive. We found that some state-of-the-art heuristic MAX-CLIQUE algorithms (DLS-MC [2] and PLS [3]) are already able to sample near-uniformly the target cliques of many of the instances used in this thesis. Furthermore, we gained some insights into various properties of these algorithms, which helped us to improve the sampling performance on the remaining instances. ii Table of Contents Abstract . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ii Table of Contents . . . . . . . . . . . . . . . . . . . . . . . . . . . . iii List of Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . v List of Figures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vii Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . . . . . ix Dedication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xi 1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.1 Background . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 1.2 Measures of sampling uniformity . . . . . . . . . . . . . . . . 5 2 Related work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 2.1 Heuristic MAX-CLIQUE algorithms . . . . . . . . . . . . . . 10 2.2 Near-uniform SAT samplers . . . . . . . . . . . . . . . . . . 15 2.3 Near-uniform CSP samplers . . . . . . . . . . . . . . . . . . 17 3 Near-uniform sampling by translating k-CLIQUE to SAT 19 3.1 An encoding of k-CLIQUE to SAT . . . . . . . . . . . . . . . 20 3.2 Two effective methods of sampling . . . . . . . . . . . . . . . 23 3.2.1 XORSample algorithm . . . . . . . . . . . . . . . . . 24 3.2.2 XORSample′ algorithm . . . . . . . . . . . . . . . . . 25 3.3 Empirical results . . . . . . . . . . . . . . . . . . . . . . . . . 27 3.4 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 4 Heuristic MAX-CLIQUE algorithms as samplers . . . . . . 34 4.1 The DLS-MC algorithm . . . . . . . . . . . . . . . . . . . . . 35 4.2 Experimental setup . . . . . . . . . . . . . . . . . . . . . . . 37 4.3 Sampling performance of DLS-MC . . . . . . . . . . . . . . . 38 iii Table of Contents 4.4 The PLS algorithm . . . . . . . . . . . . . . . . . . . . . . . 42 4.5 Sampling performance of PLS . . . . . . . . . . . . . . . . . 44 4.6 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 5 Improvements to DLS-MC . . . . . . . . . . . . . . . . . . . . 48 5.1 Sampling uniformly and graph structures . . . . . . . . . . . 48 5.1.1 Testing Hypothesis 1 on DIMACS graphs . . . . . . . 49 5.1.2 Testing Hypothesis 1 using a family of small instances 53 5.1.3 Not all cliques of size k− 1 have effect on the amount of uniformity . . . . . . . . . . . . . . . . . . . . . . . 55 5.1.4 Modifying a DIMACS MAX-CLIQUE instance, p hat700- 1, to test Hypothesis 1 . . . . . . . . . . . . . . . . . 55 5.2 Sampling uniformly and pd . . . . . . . . . . . . . . . . . . . 58 5.3 Sampling uniformly and the use of a Monte-Carlo procedure integrated with DLS-MC . . . . . . . . . . . . . . . . . . . . 64 5.4 Searching for other methods of improvement . . . . . . . . . 74 5.5 Graph structures with no useful information for sampling near-uniformly . . . . . . . . . . . . . . . . . . . . . . . . . . 76 5.6 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 6 Conclusions and future work . . . . . . . . . . . . . . . . . . . 81 Bibliography . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87 Appendix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 iv List of Tables 3.1 The size of encoded DIMACS MAX-CLIQUE graphs as SAT instances using the encoding of Section 3.1. The relatively small instances are shown in bold. . . . . . . . . . . . . . . . 29 3.2 Sampling two of the encoded DIMACS MAX-CLIQUE graphs using XORSample. . . . . . . . . . . . . . . . . . . . . . . . . 31 3.3 Sampling the satisfying assignments of two of the DIMACS graphs encoded as SAT instances using XORsample′. . . . . 31 4.1 Sampling performance of DLS-MC with pd values taken from [2]. The instances that are sampled non-uniformly with re- spect to some measures of uniformity are shown in bold. The values for which the instances are considered as non-uniform are also shown in bold. Any number < 0.001 is denoted by . Each value after ± represents the standard deviation from the value of EMPN/E(n). . . . . . . . . . . . . . . . . . . . 43 4.2 Sampling performance of PLS. The instances that are sam- pled non-uniformly with respect to some measures of unifor- mity are shown in bold. The values for which the instances are considered as non-uniform are also shown in bold. Any number < 0.001 is denoted by . Each value after ± repre- sents the standard deviation from the value of EMPN/E(n). 47 5.1 The result of sampling the solutions of SG with 60 hairs attached to Hairy using XORSample. The length of XOR clauses is 40. . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 5.2 Sampling performance of DLS-MC with various pd values for the instance with 60 hairs from Subsection 5.1.2. . . . . . . . 60 5.3 Sampling performance of DLS-MC with various pd values for the modified p hat700-1 instance with 7 new cliques of size 10 from Subsection 5.1.4. . . . . . . . . . . . . . . . . . . . . 60 v List of Tables 5.4 Sampling performance of DLS-MC with the best pd value with respect to normalized entropy and EMPN/E(n) from the following pd values 1, 5, 10, 15, 20, 25, 30, 35, 40, 45 and 50. The values in parenthesis are the result of sampling the solutions taken from Table 4.1, with a pd value that minimizes the time required to sample each target clique. . . . . . . . . 63 5.5 Sampling performance of DLS-MC integrated with a Monte- Carlo procedure. The ‘# of selections’ is the average number of selections reported in [2], required for DLS-MC with the pd values in [2] to find a target clique. . . . . . . . . . . . . . 68 5.6 A matrix that represents the amount of connectivity among the solutions of brock200-3. Each row and column represent one of the cliques. . . . . . . . . . . . . . . . . . . . . . . . . 70 5.7 A matrix that represents the amount of connectivity among the solutions of brock200-4. Each row and column represent one of the cliques. . . . . . . . . . . . . . . . . . . . . . . . . 71 5.8 Sampling performance of the method that integrates a Monte- Carlo procedure with DLS-MC with temperature of 1 for the instance with 60 hairs from Subsection 5.1.2. The best result of Table 5.2 with respect to EMPN/E(n) is shown within parenthesis on the first row. The best result of Table 5.2 with respect to normalized entropy is shown within paren- thesis on the second row. Table 5.2 represents the sampling performance of DLS-MC with various pd values on the same instance. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 5.9 Sampling performance of the method that integrates a Monte- Carlo procedure with DLS-MC for the modified p hat700-1 instance with 7 new cliques of size 10 from Subsection 5.1.4. The best result of Table 5.3 is shown within parenthesis. Ta- ble 5.3 represents the sampling performance of DLS-MC with various pd values on the same instance. . . . . . . . . . . . . 74 5.10 The adjacency matrix of the graph of Figure 5.11 added to the identity matrix. . . . . . . . . . . . . . . . . . . . . . . . . 78 5.11 The adjacency matrix of the graph of Figure 5.11 raised to the power 3 (i.e. target clique size). . . . . . . . . . . . . . . . 78 1 The number of edges, vertices and target cliques, and target clique size of each DIMACS MAX-CLIQUE instances used in this thesis. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 vi List of Figures 3.1 A graph with a maximum clique of size 3. . . . . . . . . . . . 22 4.1 Cumulative probability distribution of relative entropies across different graphs induced by DLS-MC. . . . . . . . . . . . . . 39 4.2 Cumulative probability distribution of EMPN/E(n) across different graphs induced by DLS-MC. . . . . . . . . . . . . . 40 4.3 Cumulative probability distribution of 100 values of EMPN/E(n) induced by 100 experiments using DLS-MC for the instance brock200-4. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 4.4 Cumulative probability distribution of 100 values of EMPN/E(n) induced by 100 experiments using DLS-MC for the instance p-hat300 3. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 5.1 Depiction of a graph with two maximum (target) cliques c1 and c2. Circles c1 and c2 represent the target cliques of the graph. Each circle represents a clique of size less than or equal to the cliques c1 and c2 that share some vertices with them. 49 5.2 Each bar represents the number of cliques of size 20 of the in- stance brock200-1 for which their corresponding b1-differences fall within the range of numbers specified on the x axis. For details, see text. . . . . . . . . . . . . . . . . . . . . . . . . . 51 5.3 Each bar represents the number of cliques of size 20 of the in- stance brock200-1 for which their corresponding r1-differences fall within the range of numbers specified on the x axis. For details, see text. . . . . . . . . . . . . . . . . . . . . . . . . . 52 5.4 A graph from the family of graphs SG with 4 hairs connected to one of its cliques of size 3. . . . . . . . . . . . . . . . . . . 53 5.5 The effect of increasing the number of hairs connected to the vertices of Hairy on the amount of uniformity of the sampled target cliques. As the number of hairs increases, the normal- ized entropy decreases. . . . . . . . . . . . . . . . . . . . . . . 54 vii List of Figures 5.6 Impact of cliques of sizes smaller than the target size that are not connected to any of the target cliques on the amount of uniformity of sampled target cliques. There are 60 vertices connected to Hairy, and there are 200 vertices connected to the vertex with the label t. . . . . . . . . . . . . . . . . . . . 56 5.7 Impact of increasing the number of cliques of sizes smaller than the target cliques connected to one of the target cliques on the amount of uniformity of the sampled solutions. The pink line shows the trend of changes in the relative frequency of the target clique as cliques of size 10 are being attached to it. The grey line shows the corresponding changes in the relative frequency of the other clique of size 11 as cliques of size 10 are being attached to the other cliuqe. . . . . . . . . . 57 5.8 The effect of changing the value of pd on the amount of en- tropy of the sampled solutions for the instance brock200 1. . . 64 5.9 The effect of changing the value of pd on the amount of en- tropy of the sampled solutions for the instance brock400 4. . . 65 5.10 The effect of changing the value of pd on the amount of en- tropy of the sampled solutions for the instance brock200 3. . . 66 5.11 A graph with a target clique of size 3. . . . . . . . . . . . . . 77 5.12 The graph of Figure 5.9 after two of its edges are pruned using the method proposed in Section 5.4. . . . . . . . . . . . . . . 78 viii Acknowledgements It would be a long list to thank all the magnificent people who have been in- spiration and have encouraged me to continue my education. However, there are some who ought to be acknowledged for their direct influence during my Master of Science at the University of British Columbia. I owe my deepest gratitude to Dr. Holger Hoos and Dr. David Kirkpatrick, my research su- pervisors. I immensely enjoyed our long and enlightening discussions. I am indebted to Dr. Hoos for providing the idea of this project, and his contin- uous close supervision with his valuable insights. I also would like to show my appreciation to him for providing me with the code for DLS-MC algo- rithm. It was an honor to work under the supervision of Dr. Kirkpatrick. His patience, tireless support and constant availability is much appreciated. Without their exceptional guidance the writing of this thesis would not have been completed. This experience will be a major asset for my future studies. It is also a pleasure to thank Dr. Raymond Ng for his general good- naturedness and for taking the time to be my second reader. A special thank to Dr. Wayne Pullan for making the code for the PLS algorithm available. I would like to thank Frank Hutter for proofreading many sections of my thesis. I also would like to thank my friends and colleagues at the Beta lab. They include Chris Thachuk, Lin Xu, Jonathan Backer, Dave Tompkins, Jeff Sember, Mohmmad Safari, Baharak Rastegari, Hosna Jabbari, Andrew Carbonetto, Mirela Andronescu and Chris Fawcett. I also would like to use this opportunity to thank Dr. Yllias Chali, Dr. Wolfgang Holzmann, Dr. Hadi Kharaghani and Dr. Stephen Wismath whom provided recommendation letters for my application to the University of British Columbia. I would like to extend my sincerect thanks for their continuous love and support from my friends Majid Safataj, Farhad Faradji, Mohmmad Abdul-Amir, Mahdi Tayarani, Ehsan Khajeh, Pooyan Fazli, Zeinab Abaasi, Mohmmad Ghazi-Asgar, Anseok Joo and Hao Ren. I am also greatly thankful to my family, Maman, Baba, Maryam, Zahra, Alireza and Charlene Janes who always supported, encouraged and believed ix Acknowledgements in me. ‘all praise is due to our God, the lord of the world’ x Dedication To my mom who is greater than a beautiful sunrise and my dad who is greater than the ocean. xi Chapter 1 Introduction There are many problems concerning the interactions amongst the elements of a set, which can be naturally represented as a graph. A subset of these elements where every part of elements interacts is called a clique. The problem of deciding whether there is a clique of a specified size in a given graph is denoted by k-CLIQUE. The problem of k-CLIQUE is one of the early combinatorial problems shown to be NP-complete [4]. A variant of it, MAX-CLIQUE, is the problem of searching for the largest clique, which is NP-hard [5], and has many applications in areas such as information re- trieval, experimental design, signal transmission, computer vision and bioin- formatics [6–8]. Typical state-of-the-art heuristic MAX-CLIQUE solvers can be used to find cliques of any given size k of graphs quickly, where k is less than or equal to the largest known size of cliques for these graphs [2, 3, 9]; however, some applications need a variety of these target cliques, for in- stance, knowledge discovery in which an element may belong to more than one category (represented as a clique) [10], computer vision [11] and bioin- formatics [12]. Perhaps the clearest example is in bioinformatics, discovering the inter- actions among proteins. Proteins are large organic components, which are essential parts of organisms with different biological functions in every pro- cess of cells. Proteins can bind to other proteins to form protein complexes. These simple proteins have many similar reactions in a biological function. One approach towards discovering biological functions of a protein is con- sidering the known proteins that interact with this protein, as proteins that interact with each other perform a similar biological function [13]. The interactions of proteins in an organism can be represented as a protein-protein interaction (PPI) network, where proteins are expressed by the nodes and an edge represent the interaction between two proteins. The verified PPI networks of several organisms (such as yeast) are avail- able today. It is believed that these PPI networks have certain topological features. Some mathematical network generators that produce networks with topological features similar to those of the available PPI networks have been developed. Two of such models are duplication and preferential attach- 1 Chapter 1. Introduction ment. Both of these models start with an initial graph called seed and grow the network in a sequence of steps [12]. Hormozdiari et al. showed that several key topological features (degree distribution, k-hop reachability, graphlet, betweenness and closeness distri- butions1) of these PPI networks depend heavily on the specific model and the seed graph used. The ‘right’ seed graph is typically a dense subgraph of the analyzed PPI network [12]. For example, Hormozdiari et al. picked a maximum clique of size 10 of the yeast PPI network along with a clique of size 7 and added some edges between them to enrich the initial seed in order to produce a network similar to the yeast PPI network. Therefore, it is reasonable to assume that if we can uniformly sample the maximum cliques of an analyzed PPI network, we may be able to provide a variety of ‘good’ seeds to those models to generate PPI networks with different topological features. It is the best to use the solvers designed to find almost complete sub- graphs, quasi-cliques, rather than maximum cliques for such applications; however, the methods proposed for sampling near-uniformly the maximum cliques of graphs as we will see are well applicable to some of the algorithms for finding quasi-cliques, as these quasi-clique algorithms are extended from heuristic MAX-CLQUE solvers [14]. Exact MAX-CLIQUE algorithms, for example the Bron-Kerbosch algo- rithm [15], are guaranteed to return a maximum clique, but its time grows exponentially with the number of vertices of the graph. Unfortunately, MAX-CLIQUE is inapproximable in polynomial-time within a factor |V |1− , for any  > 0, unless NP = ZPP1 [16]. The best polynomial-time ap- proximation algorithm for MAX-CLIQUE achieves an approximation ratio of O(|V |/(log |V |)2) [17]. Because of the computational complexity of exact algorithms and the fact that MAX-CLIQUE is hard to approximate, inter- est has shifted towards efficient heuristics for which no formal guarantee is provided, but which achieve good empirical results anyways [18]. Examples include DLS-MC [2], PLS [3] and an algorithm by Grosso et al. [9]. As stated before, some applications may need more than one target clique of a graph. One may suggest finding all the target cliques of a given graph; 1The k-hop reachability of a node is the number of distinct nodes it can reach via a path of ≤k edges. Graphlets are small graphs such as triangles, stars, or cliques. Betweenness of a node v is the number of shortest paths between any pair of nodes u and w that pass through v, normalized by the total number of such paths. Closeness of v is the inverse of the total distance of v to all other nodes u. 1ZPP is the class of problems that can be solved in expected polynomial time by a probabilistic algorithm with zero error probability. 2 Chapter 1. Introduction however, there are some issues with this approach. The first problem is that there could be an exponential number of target cliques in graph to enumerate. The other problem is that even if there are not exponential number of target cliques to enumerate, this approach may still not be feasible as Valiant and Vazirani showed that the number of solutions should not affect the difficulty of determining the existence of any solution for the problem instances in the worst case, which means in the worst case we may not even be able to partially enumerate the target cliques of a graph with lots of target cliques [19]. Of course, one may try to maximize the number of target cliques enu- merated in a specified period of time, but the enumeration algorithms may not guarantee that the target cliques are generated uniformly at random. One way of reaching the goal of optimizing the number of target cliques of a given graph enumerated in a period of time is to efficiently sample the target cliques of the graph near-uniformly. The focus of this thesis is to study various methods for uniform sampling of the target cliques of graphs, and to suggest various ways to improve their degree of uniformity. The rest of this thesis is structured as follows. In the remainder of this introductory chapter, we provide some background information on the problem of k-CLIQUE, and discuss the notion of uniformity and some ways of measuring uniformity. In Chapter 2, a summary of literature review on counting, enumeration and sampling of combinatorial spaces with a focus on MAX-CLIQUE is provided. In Chapter 3, we first describe an encoding of k- CLIQUE as SAT. We then use an already known near-uniform SAT sampler to sample the satisfying assignments of the encoded SAT instances. Finally, the sampled satisfying assignments are translated back to cliques. We show that this is not a practical approach, because of mainly the huge size of the translated instances. The other reason for impracticality of this method is that the samplers were not able to sample the satisfying assignments of the encoded instances as efficiently as a native MAX-CLIQUE algorithm, DLS- MC. Next in Chapter 4, we use two MAX-CLIQUE algorithms, DLS-MC and PLS, that are capable of sampling near-uniformly many of the chosen instances. PLS is easier to use as it requires no adjustment of parameters, but its sampling performance is not as good as DLS-MC. DLS-MC has a parameter that can have a significant impact on sampling performance. We then in Chapter 5 suggest different methods to improve the sampling performance of DLS-MC. Two of these methods are able to improve the amount of uniformity of the sampled target cliques of the instances that were not sampled near-uniformly by DLS-MC. In Chapter 6, we summarize the main insights gained from our study, and outline some directions for 3 Chapter 1. Introduction future research. 1.1 Background The formal definitions of the problems mentioned in this thesis are as follows. Definition 1 k-CLIQUE: Input: An undirected graph G = (V,E), where V is the set of all vertices and E the set of all edges, and an integer k: 〈G, k〉. Each edge connects exactly two different vertices. Output: A yes or no answer to whether the graph G has a clique of size k. A variant of the problem of k-CLIQUE produces a clique of size k as its output if the output of k-CLIQUE is yes. We dubbed such a problem as constructive k-CLIQUE. As most of the algorithms for solving k-CLIQUE also provide a clique of size k as a certificate, in this thesis we use k-CLIQUE to refer to the problem of constructive k-CLIQUE. Definition 2 Target clique: A clique of a specified size k is called a target clique. Another problem that is related to the problem that we consider in this thesis is the problem of MAX-CLIQUE. The problem of MAX-CLIQUE can be stated formally as follows. Definition 3 MAX-CLIQUE: Input: An undirected graph G, where V is the set of all vertices and E the set of all edges: 〈G〉 Output: The size k of maximum size cliques of G. Constructive MAX-CLIQUE would be the problem of MAX-CLIQUE when the output is one of the maximum size cliques. We use MAX-CLIQUE in this thesis to refer to the problem of constructive MAX-CLIQUE as the literature does so [2, 3, 9, 18]. The problem that we are addressing in this thesis is the problem of sampling uniformly the cliques of a given size k of any given graph - that is we are not trying to optimize the value of k, but to optimize the variety of discovered cliques of size k at low cost. We dubbed this problem as S-CLIQUE, which is read as sample clique. As the problem of MAX-CLIQUE is NP-hard [5] and is also hard to ap- proximate [16, 17], interest has shifted towards efficient heuristics for which 4 Chapter 1. Introduction no formal guarantee is provided, but which achieve good empirical results anyways [18]. Some heuristic MAX-CLIQUE solvers use a k-CLIQUE solver as their subroutine. The value of k for the k-CLIQUE subroutine solvers is increased incrementally to search for the largest possible cliques of graphs in a specified period of time. Typical state-of-the-art heuristic MAX-CLIQUE solvers therefore can be used to find cliques of any given size k of graphs quickly, where k is less than or equal to the largest known size of cliques for these graphs [2, 3, 9]. As a natural approach for solving S-CLIQUE, we used the already available state-of-the-art heuristic MAX-CLIQUE solvers. We then are suggesting various ways of improving the amount of uniformity of the distribution of the sampled target cliques induced from multiple runs of these MAX-CLIQUE solvers. As the large cliques of graphs seem to be particularly useful in various applications [6–8], we are studying the amount of uniformity among the sampled cliques of the largest known sizes. The values of k for many of the graphs used in this thesis correspond to the respective maximum clique sizes [2]. There is however no reason to believe our methods depend on these particular values and may be used for sampling various cliques of size k to the problem of k-CLIQUE. 1.2 Measures of sampling uniformity The k-CLIQUE algorithms can be classified into two classes based on the number of solutions they generate in a run. A typical k-CLIQUE algorithm generates one target clique per run. A k-CLIQUE algorithm may have the option to report more than one solution per run. The degree of amount of uniformity of the sampled target cliques may be calculated differently for these two types of sampling procedures. The measures introduced in this section are for the algorithms that report one target clique per run. The algorithms used in this thesis are designed to report one sampled solution at the end of each of the independent runs with an exception of the algorithm from Section 5.3. Multiple runs of a sampler induce a probability distribution. We will use pi to denote the probability of each target clique. This probability distribution on the space of target cliques is uniform if all of the solutions are found with equal probability. The algorithm producing such a uniform distribution is called a uniform sampler. It seems also worth noting that probably depending on the application one might value a target clique more if it has small overlap with the pre- viously found target cliques (or vice versa) which will affect the types of 5 Chapter 1. Introduction uniformity one may look for. In this thesis, we consider two target cliques different, if they even differ by a single vertex. A natural approach for sampling the target cliques of a graph is to use the already available state-of-the-art MAX-CLIQUE algorithms. A priori, there is no reason to expect that even randomized versions of these algo- rithms to sample the target cliques of a given graph completely uniformly. Therefore, we need to choose some sort of measurements to assess their de- gree of uniformity. A widely used measurement of uniformity is Shannon’s entropy [20]. The entropy of a probability distribution over a set of n target cliques of a graph is defined as − n∑ i=1 {pi × log2(pi)} where pi is the probability of sampling the ith target clique. If the sampler does not sample some of the target cliques at all, then pi×log2(pi) is defined to be zero for them. Entropy can be seen as the degree of uncertainty of the outcomes of an experiment. The entropy of a fair coin is 1; however, a biased coin has a lower entropy as the uncertainty between the two outcomes is decreased. Entropy of a fair die is 2.585, but as a die becomes biased towards some of its faces, its entropy decreases. Entropy is not informative if we do not know the number of possible outcomes. A descriptive example is as follows. Example 1 If the entropy of an n-sided die is 5.807, the value of entropy alone does not give us any information about how biased the die is. If the number of faces of the die is 58, then entropy of 5.807 means the die is a fair one; however, for a 100 sided die entropy of 5.807 induces a biased die. As it is not possible to determine how far away we are from the ideal uniform distribution by just looking at the value of entropy, we considered normalizing the value of entropy by dividing it by the maximum possible entropy of the distribution under consideration, which is the logarithm of the total number of possible outcomes. We define normalized entropy as −∑ni=1{pi × log2(pi)} log2(n) where n is the total number of target cliques of the instance and pi is the probability of sampling the ith target clique. Note that the values of nor- malized entropy are in the range [0, 1]. 6 Chapter 1. Introduction Perhaps the best way to describe a weakness of normalized entropy is by some examples. Example 2 The normalized entropy is still quite large in the case when there are 1 000 solutions and half of which are found by a solver with the probability of 1/500 and the rest with probability 0. The normalized entropy of this outcome is −(∑500i=1{1/500× log(1/500)}+∑500i=1{0× 0)}) log(1 000) = 0.899 We can have a different probability distribution with the same normalized entropy as in the above case (0.899). Let the number of solutions be 1 000 again. If 770 of the solutions are sampled with probability of 1/3600 and the rest with probability of 1/292.579, the normalized entropy is again 0.899. The measurement of normalized entropy can not distinguish between the two distributions given in Example 2. Because normalized entropy fails to reflect the existence of outlier solu- tions, we use another measurement dubbed FRC(w), which measures the fraction of sampling probabilities that fall in the interval [ 1w·n , w n ]. Using this measurement we can bound the sampling probabilities. We choose the value of w such that the difference between the maximum sampling probability and the minimum sampling probability is at most 110 . The latter condition is satisfied if the value of w is n+ √ n2+400n 20 . Let INT 10 denote FRC(w) with w = n+ √ n2+400n 20 . INT 10 is able to distinguish be- tween the latter two distributions in Example 2. However, it is possible to have different probability distributions with respect to other measures of uniformity but the same INT 10 value. Therefore, normalized entropy and INT 10 are complimentary unifor- mity measurements. We also use another measurement which is the number of trials needed till the k-CLIQUE sampler finds each target clique of the given graph at least once, normalized by dividing by the corresponding ex- pected theoretical number of trials needed for an ideal uniform sampler. Theoretically, it is shown that an ideal uniform sampler takes E(n) = n·Hn to sample each of the target cliques at least once, where Hn is the nth har- monic number [21]. Let EMPN be the empirical variant of E(n). The value of EMPN is evaluated as the average of number of runs that the sampler requires to sample each solution at least once for 100 independent experiments. We use EMPN/E(n) as a measurement of uniformity. The 7 Chapter 1. Introduction value of EMPN/E(n) can vary from a number close to zero to a very large number. The expected theoretical number of steps required for a uniform sam- pler, E(n), to sample each target clique of a graph depends on the number of target cliques of the graph, n. However, the ratio between the empiri- cal number of steps of a sampler to report each target clique at least once, EMPN , and the theoretical value for a uniform sampler, E(n), is indepen- dent of the number of target cliques when EMPN/E(n) is 1. It is important to note that EMPN/E(n) also is not by itself a perfect measure of uniformity. For example, an algorithm that samples the target cliques in a fixed sequence repetitively one after the other is not sampling the solutions uniformly at random but its value of EMPN is n, where n is the total number of solutions. In this example, the value of normalized entropy is not close to 1 but its value of EMPN/E(n) is fewer than 1. We are measuring uniformity only over those solutions that are discov- ered in 100 000 runs of the sampler as we do not know the actual number of solutions of each instance. The value of n is the number of distinct solutions sampled in the 100 000 runs. The sampling probability, pi, is consequently the relative frequency of the ith target clique sampled. As each of these measurements capture different aspects of the induced distribution, we use all of them (normalized entropy, INT 10, and EMPN/E(n)). 8 Chapter 2 Related work A natural approach for solving the problem of S-CLIQUE would be to use the already available MAX-CLIQUE samplers, as typical state-of-the-art heuristic MAX-CLIQUE solvers can be used to find cliques of any given size k of graphs quickly, where k is less than or equal to the largest known size of cliques for these graphs [2, 3, 9]. While there has been much attention paid to the problem of MAX- CLIQUE [2, 3, 9, 18], to the best of our knowledge the problems of counting, enumerating and sampling uniformly the target cliques of a graph has not been previously addressed. The problems of counting, enumerating and sampling as we will see are related to each other. An obvious way of sampling target cliques of a graph is to enumerate them first, and sample uniformly at random from the set of enumerated solutions. As mentioned in Chapter 1, there are two problems related to this approach, possible exponential number of solutions and the difficulty of finding even one target clique. Another approach for sampling is using an already available counting procedure [1]. The problem of finding all of the target cliques of a graph is at least as hard as the problem of counting its number of target cliques (#MAX- CLIQUE), since we may be able to count the total number of solutions but not being able to enumerate them efficiently due to the existence of exponential number of solutions (particularly if the number of solutions is exponential in the number of variables). On the other hand, if we can enumerate the solutions, we can count them without significant additional effort. #MAX-CLIQUE is #P-complete, which is at least as hard as its associated NP-hard problem (MAX-CLIQUE), because if we could solve #MAX-CLIQUE, we obviously would be able to solve MAX-CLIQUE [22]. The main idea for sampling using an already available counting proce- dure is to restrict the search space iteratively, until the search space is small enough to count its solutions. At this point, if there is a small number of solutions left, they will be enumerated and one of them will be sampled uniformly at random [1]. Obviously, if it is hard to find a solution of the instance, reducing its number of solutions does not make the enumeration 9 Chapter 2. Related work of its solutions easy [19]. Many of the exact counting methods, including Relsat [23] and Cachet [24], for the #P-complete problems do their search on the raw combinatorial search space; therefore, these methods usually are not efficient when the size of the instances scale up [25]. It is also possible to approximate the number of solutions using a near- uniform sampler. A method of approximating the number of satisfying as- signments of a SAT formula using a near-uniform sampler by Jerrum et al. in [26] is as follows. Consider a Boolean formula F with N satisfying assign- ments such that we are able to sample its satisfying assignments uniformly at random. We can partition the set of sampled satisfying assignments based on the truth value of a variable x1. From this partitioning we can compute the number of satisfying assignments that have x1 as true, M+, divided by the total number of samples. Let γ beM+/M (1/γ is called the multiplier). The value of γ converges to the true fraction of satisfying assignments with x1 set to true which means we can get an approximation on the number of satisfying assignments (1/γ)·M+. In this way, they have simplified the problem of counting the satisfying assignments of F to a simpler formula F+ with x1 set to true. This simplification can be performed recursively until either all of the variables are exhausted or the formula is countable by a state-of-the-art exact counter [26]. Any solver for the problem of S-CLIQUE must essentially finds target cliques of a given graph, similar to what any heuristic MAX-CLIQUE solver would do. In Section 2.1, we provide a comprehensive review of state-of- the-art heuristic MAX-CLIQUE algorithms. In contrast to the problem of k-CLIQUE, for the problems of SAT and constraint satisfaction (CSP) some sampling procedures are available [1, 27–31]. There are various ways of translating the problems of k-CLIQUE, SAT and CSP to each other [32– 37]. We may be able to sample target cliques of a graph near-uniformly, by first translating parsimoniously the problem of k-CLIQUE to SAT or CSP, sample their solutions by a SAT or CSP near-uniform sampler respectively, and then translate their solutions back to cliques. In Sections 2.2 and 2.3 we therefore review some of the sampling procedures available for the problems of SAT and CSP. 2.1 Heuristic MAX-CLIQUE algorithms This section provides some comparisons amongst many of the state-of-the- art heuristic MAX-CLIQUE algorithms. One of the common methods of 10 Chapter 2. Related work searching for target cliques of a graph is local search. A state-of-the-art dynamic local search MAX-CLIQUE algorithm is DLS-MC [2]. DLS-MC is based on a combination of constructive and perturbative local search strate- gies, and makes use of penalty values associated with the vertices of graphs. A more detailed description of DLS-MC is presented in Chapter 4. All the experiments of DLS-MC in [2] are performed on DIMACS MAX-CLIQUE instances2. DLS-MC finds the at least largest known results of 77 of the 80 DIMACS MAX-CLIQUE instances with a success rate of 100% and run times that are typically much less than 1 CPU second. The 3 instances that DLS-MC did not always find their largest known cliques within the alloted maximum number of search steps are C2000.9, MANN a81 and MANN a45. The experiments of DLS-MC were performed on a 2.2 GHz Pentium IV ma- chine with 512KB L2 cache and 512MB RAM. Two new local search methods based on DLS-MC were proposed to al- most eliminate the parameters of DLS-MC. These two methods are phased local search (PLS) [3] and the more recent algorithms by Grosso et al. [9]. They are very powerful algorithms; however, there are some DIMACS MAX- CLIQUE instances for which these algorithms unlike DLS-MC either can not consistently find the largest known cliques or they can not find any of the largest known cliques at all. PLS as its name suggests has three phases. Each of these phases are designed to find target cliques with different characteristics. One phase is designed to find target cliques in random graphs, the second phase to find target cliques with low degree vertices, and the last phase to find target cliques with high degree vertices. PLS has comparable, and sometimes im- proved, performance to DLS-MC on almost all the 80 DIMACS instances. PLS does not consistently find the largest known cliques of 4 of the 80 in- stances. The instance that DLS-MC found its solution consistently, but PLS did not, is keller6. All the experiments of the PLS in [3] were performed on a dedicated 2.4 GHz Pentium IV machine with 512KB L2 cache and 512MB RAM. To excute the DIMACS Machine Benchmark this machine requires 0.62 CPU seconds for r300.5, 3.80 CPU seconds for r400.5 and 14.50 CPU seconds for r500.5. This machine seems to be faster than the one used for the experiments of DLS-MC. The special feature of the first algorithm of Grosso et al. is the use of extensive plateau steps to find sequences of neighboring cliques. A plateau step replaces a vertex of the current clique with a vertex from the graph 2available at ftp://dimacs.rutgers.edu/pub/challenge/graph 11 Chapter 2. Related work that does not change the size of the clique. There is no penalty assigned to the vertices of the graph; however, the vertices that are removed from the current clique, in a plateau step, are maintained in a set U to prohibit the reconstruction of the same clique again. The vertices of the set U can be added back to the clique only if they increase its size. The other property of this algorithm is that the selection of vertices is completely random. The second algorithm of Grosso et al. associates penalty values with vertices of graphs. The penalty values are updated after each iteration of the algorithm that is - after either a plateau or an increasing step. During an increasing step a new vertex is added to the current clique. Grosso et al. performed their experiments in [9] on a machine that seems to have very similar performance as the one used for the experiments of PLS. Unfortunately, no comparison was performed directly between the algo- rithms by Grosso et al. and the two algorithms of DLS-MC and PLS. Grosso et al. compared their algorithms with the reactive local search (RLS) by Bat- titi et al. [38] and a variable neighborhood search (VNS) based algorithm by Hansen et al. [39]. The algorithms of Grosso et al. perform better than RLS and VNS with respect to either the size of cliques constructed within almost the same time, or the time required to construct cliques of the same size. The algorithms by Grosso et al. find the larget known cliques for all the 80 DIMACS MAX-CLIQUE instances except instance MANN a81 and increased the best known size [2] of cliques for C2000.9 instance. Algorithm 1 of Grosso et al. with restart rule 2 did not consistently find any of the largest known cliques for 9 of 35 DIMACS MAX-CLIQUE instances reported in [9] and their second algorithm with restart rule 2 did not consistently detect any of the largest known cliques for 5 of 35 DIMACS MAX-CLIQUE instances reported in [9] (different restart rules resolved this issue in many cases). These 35 instances are from the following families of graphs: p hat, san, sanr, C, brock, hamming, MANN and keller [9]. PLS based on the tables in [3] when compared with the first algorithm of Grosso et al. using restart rule 2 either found a larger clique within almost the same time, or found the largest known cliques faster for 20 of the 35 DIMACS graphs reported in [9] by Grosso et al. PLS based on the tables in [3] when compared with the second algorithm of Grosso et al. using restart rule 2 either found a larger clique with almost the same time, or found the largest known cliques faster for 19 of the 35 DIMACS graphs reported in [9] by Grosso et al. The empirical result of an algorithm for the problem of MAX-CLIQUE by Tomita et al. (MCR) [40] based on their earlier work [41] for the gen- 12 Chapter 2. Related work eration of all maximal cliques is also compared with the empirical result of DLS-MC [2] here. It is very difficult to judge whether the two machines that the experiments of DLS-MC and MCR were performed on have similar power, but their machine’s specifications up to the point that is provided are the same and the paper on MCR is published one year after the paper of DLS-MC. A comparison based on Table 3 of [40] and Table 1 of [2] shows that DLS-MC is much faster than MCR. The MAX-CLIQUE problem may be formulated in various forms such as a continuous optimization problem [42], a SAT problem [43], a neural network [44] or an integer programming problem [45]. A recent enumerative heuristic (CEH) based on continuous optimization by Bulò et al. has a goal close to that of this thesis [42]. Their goal is to ideally report k (a user-defined parameter) largest cliques of the graph enumerated at the end of each run. CEH was overall better than the other four related methods that are compared with (inverted neural network [44], annealed imitation heuristic [46], continuous based heuristic [47], QUALEX-MS [48]), but was inferior to the reactive local search method (RLS) [38]. RLS is a tabu search method that automatically adjusts the control parameter for the amount of diver- sification from the global optimum during the search process. Bulò et al.’s experiments were based on an unoptimized C implementation on a 64-bit PC with a 2 GHz AMD Opteron Processor and 1 GB RAM. The experi- ments were performed on 63 of the 80 DIMACS instances from the brock, c-fat, hamming, johnson, keller, MANN, p hat, san and sanr families. CEH did not generate any clique with the largest known size for 21 of the graphs (the cut-off time for the brock instances that it failed on was an average time of 29.98 CPU seconds, for MANN a45 was an average time of 528 CPU seconds, for the p hat instances that it failed on was an average time of 172.1 CPU seconds and for the san instances that it failed on was an average time of 25.51 CPU seconds). It may not be possible to directly compare the run times of DLS-MC with CEH, since they were measured using different hardware and operating system environments, but DLS-MC seems to be much faster than CEH [42]. QUALEX-MS is another heuristic MAX-CLIQUE algorithm based on continuous optimization [48]. All the experiments reported in [48] are on a Pentium IV 1.4 GHz computer under OS Linux RedHat. This machine seems to be slower than the ones used for evaluating the other algorithms discussed in this section. QUALEX-MS failed to find the largest known results for 23 of 80 DIMACS instances (the cut-off time for the keller instances that it failed on was an average time of 653.5 CPU seconds, for the C instances that it 13 Chapter 2. Related work failed on was an average time of 647.75 CPU seconds, for DSJC1000.5 was an average time of 36 CPU seconds, for the gen instances that it failed on was an average time of 1.5 CPU seconds, for hamming10-4 was an average time of 45 CPU seconds, for the MANN instances that it failed on was an average time 165 CPU seconds, for the p hat instances that it failed on was an average time of 48.33 CPU seconds, for san400 0.9 1 was an average time 2 CPU seconds and for sanr400 0.7 was an average time of 2 CPU seconds). The run times of QUALEX-MS on the other 57 instances are usually close to 1 CPU second, considering the fact they use a new eigendecomposition routine DSYEVR from LAPACK [49], which helped to reduce the run times. As already mentioned DLS-MC is able to find the at least largest known results for 77 of the 80 DIMACS instances with a success rate of 100% and run times that are typically much less than 1 CPU second. Other recent heuristic MAX-CLIQUE algorithms based on continuous optimization such as annealed replication [50], annealed imitation [51] and inverted neural network [44] also failed to report the largest known results for many of the DIMACS instances. Another recent approach by Régin uses constraint programming [36] based on the first of its kind by Fahle [52], which is a branch-and-bound algorithm. Régin’s method failed to find the largest known solutions for 13 of 66 DIMACS instances used. DLS-MC performs better than this algorithm as it can consistently find the largest known results for 77 of the 80 DIMACS MAX-CLIQUE instances. The run times of DLS-MC are typically much less than 1 CPU second. A vertex-cover based approach by Taillon [53] failed to find any of the largest known cliques for 8 of 41 DIMACS MAX-CLIQUE instances used in [53] in any of the 50 runs. These 8 DIMACS MAX-CLIQUE instances are brock400-1, brock800-1, brock800-2, brock800-3 and brock800-4, hamming10- 4, MANN a27 and p hat1000-3. This method also failed to find the largest known cliques in 6 of the 41 DIMACS instances consistently. These 6 instances are brock400-2, brock400-3, brock400-4, p hat500-3, p hat700-3, p hat1500-1, p hat1500-2 and san1000. DLS-MC performs better than this algorithm for the same reason mentioned above. A recent k-Opt local search algorithm by Katayama et al. [54] was com- pared with four other state-of-the-art algorithms: an algorithm based on reactive local search [38], DLS-MC, an algorithm based on variable neigh- borhood search [39], and an algorithm based on steady-state genetic [55]. k-Opt is a greedy method that adds k vertices to the current clique at the end of each iteration [56]. Table 2 of [54] compares these five algorithms to each other using 37 of DIMACS MAX-CLIQUE graphs. These DIMACS MAX- 14 Chapter 2. Related work CLIQUE instances are from the following families of graphs: C, DSJC, MANN, brock, gen, hamming, keller and p hat. DLS-MC performs much better than the other 4 algorithms on all 37 of the 80 DIMACS instances either by having the largest clique size within almost the same time, or the least time required to report any of the largest known cliques except for 6 of the instances from keller, MANN and C families. As it is explained in Section 4.2 these instances are not considered in the experiments of this thesis; because of the large number of solutions of these instances. We also considered a very recent algorithm based on ant colony opti- mization to empirically approach the problem of MAX-CLIQUE. Xu et al. [57] performed their experiments on 12 of the 80 DIMACS MAX-CLIQUE instances. These 12 instances are from the following families of graphs: MANN, brock, C, hamming, p hat and keller. For 5 of these 12 instances, it either did not reach any of the largest known clique sizes at all or did not detect the largest known clique sizes consistently. These 5 instances are: MANN a27, brock400-2, brock800-2, C500.9, keller6. As it is known from literature, there is no single best heuristic MAX- CLIQUE algorithm, but rather a set of them [2, 58]. We will use DLS-MC and PLS because of their power to find the largest known cliques of DIMACS MAX-CLIQUE instances very quickly. We use efficient algorithms to be able to sample target cliques of graphs a large multiple of m in a reasonable time to find a good approximation for the distribution of the sampled target cliques within a graph with m target cliques. 2.2 Near-uniform SAT samplers NP-complete problems are efficiently reducible to each other. A parsimo- nious translation of an NP-complete problem to another one preserves the number of solutions of the original problem. SAT seems a particularly good target because current SAT solvers can find satisfying assignments of some large and complex SAT instances, involving up to a million variables and several million constraints and also there are already near-uniform sampling approaches designed for SAT [1, 31]. If we had a uniform SAT sampler, then after translating a k-CLIQUE instance to a SAT instance parsimoniously we could use the uniform SAT sampler to sample near-uniformly its set of satisfying assignments and trans- late the satisfying assignments back to cliques. There has been already some work to sample uniformly the set of sat- isfying assignments of a SAT instance. Wei et al. showed that ideas from 15 Chapter 2. Related work random walk based SAT solvers can be used to sample the models of cer- tain propositional theories near-uniformly [31]. The SAT solver used by Wei et al. is WalkSAT, which is a random walk based solver with a greedy bias. WalkSAT starts with a random truth assignment, and as long as there is an unsatisfied clause the algorithm picks an unsatisfied clause and flips the truth assignment of one of its variables, until the maximum number of flips specified by a user is reached. The clause is picked uniformly at random from the unsatisfied clauses. The variable that is picked results in the fewest previously satisfied clauses becoming unsatisfied. If there is more than one variable with that outcome, one of them is picked uniformly at random. There is also some probability of picking the variable at random from the set of all variables. WalkSAT may restart with a new random truth assignment if no satisfying assignment is found for a long time [59]. Due to the greedy component of WalkSAT, there is no guarantee that all of the satisfying assignments are reached within a bounded time. Wei et al. also showed that even the satisfying assignments within the same cluster (i.e. a set of satisfying assignments within a given Hamming distance from a specified point) may not be sampled with the same probability. Monte-Carlo methods can sample near-uniformly the satisfying assignments of a cluster if one of the satisfying assignments of the cluster is provided, but can not gen- erally reach a satisfying assignment. A Monte-Carlo method for SAT can be summarized as follows: a fixed user-defined parameter called temperature, T , is given. It starts with an initial truth assignment s. While either a sat- isfying assignment is not reached or the maximum number of Monte-Carlo steps allowed is not reached, a new truth assignment s′ is accepted instead of s with probability of exp[ f(s)− f(s′) T ] where f returns the number of unsatisfied clauses of the given truth assign- ment [60]. Wei et al. used a hybrid strategy to sample the satisfying as- signments near-uniformly within a cluster. The method interleaves between biased random walk steps and Monte-Carlo steps with some probability p. The temperature of Monte-Carlo was manually determined and set to 0.1 to achieve uniform sampling to some degree. As noted by Wei et al. their strategy works on some instances, but there are cases where their method does not sample the satisfying assignments uniformly. Another attempt to sample the set of satisfying assignments uniformly is XORSample [1]. The main idea behind XORSample is to randomly re- strict the search space and sample a satisfying assignment from the smaller search space. In order to restrict a SAT search space, the CNF formulas 16 Chapter 2. Related work are augmented by XOR clauses. An XOR clause D over the variables X of a Boolean formula F , is the logical exclusive-or of a subset of X ∪ {1} converted to CNF format. An XOR clause can eliminate a satisfying assign- ment of the CNF formula with probability 1/2, since either an odd number of XOR variables are true in the satisfying assignment or even. Under an assumption of having full independence3 among the satisfying assignments, XORSample could result in uniform sampling; however, XOR clauses only guarantee pair-wise independence4 and 3-wise independence; Gomes et al. [1] show theoretically that this is sufficient to reach near-uniform sampling. There are two variants SAT samplers by Grosso et al. The first variant, XORSample, is described as follows. For a SAT instance with 2s satisfying assignments (the number of solutions is assumed to be known for simplic- ity), s XOR clauses are added to the original formula. After XOR clauses are added to the original SAT formula F , a subset of satisfying assignments of F survive. If there is a unique satisfying assignment remaining, then XORSample reports that satisfying assignment and terminates. Otherwise, if the original formula F does not have a unique solution, XORSample dis- cards the XOR clauses Qs and the formula F q s and iterates the process by constructing a new constrained formula using new XOR clauses (rejection sampling). Another variant of XORSample does not require the XOR clauses to re- duce the number of satisfying assignments to one, but rather a small enough number such that an exact model counting procedure, e.g., Relsat [23] or Cachet [24], hopefully can count its number of satisfying assignments. An enumeration algorithm for SAT, e.g., Relsat [23] or mChaff [61], can then be used to enumerate the remaining satisfying assignments. One of the enu- merated satisfying assignments is then sampled uniformly at random. For a detailed explanation of this algorithm, see Section 3.2. 2.3 Near-uniform CSP samplers In this section we present some of the recent sampling procedures available for the problem of constraint satisfaction (CSP). CSP is also a good target of encoding, as there are already many sampling procedures available for this 3Full independence: If the XOR clause eliminates a satisfying assignment, then we have no information whether any other satisfying assignments could be eliminated. 4Pair-wise independence: If we know the XOR clause eliminates a satisfying assign- ment σ1, then this gives us no information whether it also removes any other satisfying assignment σ2. 17 Chapter 2. Related work problem [27–30]. There are also many encodings available for translating a SAT or k-CLIQUE instance to a CSP instance [32–37]. Larkin [30] proposed a method of sampling each solution of a CSP in- stance with some well defined probabilities. Larkin claimed that the method is the first of its kind. Some recent CSP near-uniform samplers are as follows. Dechter et al. [27] introduced a sampling procedure for uniform sam- pling in the context of CSP. They introduced a way of generating solutions of a CSP instance uniformly at random by first reducing a CSP to a belief network that expresses a uniform random distribution over its set of solu- tions. They then use a near-uniform sampler over belief networks [62] to sample its solutions. Gogate and Dechter provided another method, SampleSearch [28], for sampling near-uniformly the solutions of CSP. In this approach they first express the uniform distribution over the set of solutions as a probability distribution and then sample near-uniformly the set of solutions of CSP using a Monte-Carlo sampling procedure. They used an approach, IJGP, empirically shown to be good to approximate the probability distribution of solutions [63]. Gogate and Dechter also proposed a sampling method [29] based on Sampling/Importance Resampling [64]. They first using SampleSearch [28] to generate an initial set A of samples from the distribution of solutions. Each sample is then weighted by the reciprocal of its probability of being generated from the distribution of solutions. After forming a distribution M over the initial set A by normalizing the weights, a smaller set of samples B is drawn from M (resampling). The contribution of Gogate and Dechter to this resampling procedure is to store the set A as an AND/OR structure. We did not take the approach of using CSP samplers; however, it could be studied as a possible future work. 18 Chapter 3 Near-uniform sampling by translating k-CLIQUE to SAT As there are already several approaches towards uniform sampling of sat- isfying assignments of SAT formulas (see Section 2.4), one may translate a k-CLIQUE instance to a SAT instance parsimoniously, then sample the satisfying assignments of the SAT instance using the available SAT samplers and translate the satisfying assignments back to cliques of size k. There are various ways of directly translating k-CLIQUE to SAT [43, 65, 66]. There are also other ways of translating k-CLIQUE to SAT through a chain of reductions by first translating k-CLIQUE to CSP and then possibly to SAT [32–37]. Some of these encodings are called compact by Hoos [67] because of the relatively small number of variables they require (and hence the smaller search space they induce). For example, Iwama et al. in [65] introduced quite complicated methods to decrease the number of variables required to translate a k-CLIQUE instance to a SAT instance as they be- lieved that instances with smaller number of variables (i.e. smaller search space) are easier to solve; however, Hoos by using other measurements dis- tinguished between instances with small search space and effectively solvable ones, and showed that local search SAT solvers typically have difficulty solv- ing these compact instances [67]. In the remaining of this chapter, first using a sparse encoding of k- CLIQUE to SAT [66], we translated some of the DIMACS MAX-CLIQUE graphs to Boolean formulas. Next, with two of the SAT samplers (XORSam- ple and XORSample′) [1] described in Section 2.4, we sampled the satisfying assignments of the encoded instances and translate them back to cliques. For only two of the DIMACS MAX-CLIQUE graphs this approach was feasible as either the size of the encoded SAT instances became huge or the SAT solvers were not able to decide reasonably quickly whether those instances were satisfiable. 19 Chapter 3. Near-uniform sampling by translating k-CLIQUE to SAT 3.1 An encoding of k-CLIQUE to SAT In this section, we present the encoding we used to translate the DIMACS MAX-CLIQUE instances to SAT instances. Since different encodings affect the performance of SAT solvers, we need to choose one carefully. Clark et al. [68] showed empirically that hard in- stances usually have few number of satisfying assignments. However, number of solutions is not the only factor affecting the hardness of SAT instances as the hardness of some instances with the same number of solutions vary significantly [68]. Frank et al. showed that as the number and the size of local minima regions increase, it is more likely that the SAT solvers take more time to discover a satisfying assignment [69]. Hoos [67] introduced the standard deviation of the objective function and the local minima branching factor (i.e. the number of neighboring assign- ments with the same value of objective function) to measure the effectiveness of different encodings. Stochastic local search solvers search more effectively instances with large value of standard deviation of the objective function which indicates a rugged search space. Instances with highly branched local minima regions are also hard instances as there are few escape routes from these minima regions. Based on these two measurement and solution den- sity (i.e. number of solutions/size of search space), it was suggested by Hoos that a sparse encoding most likely leads to a more effectively searchable SAT instance for local search solvers [67]. Hence, we follow a sparse encoding [66] of k-CLIQUE to SAT rather than a compact one [65] as was also used by Kugele for the same purpose [66]. Given a k-CLIQUE instance 〈G, k〉, where G =(V,E) with a set of ver- tices V = {v1, v2, ..., vn}, a set of edges E ⊆ V 2 and k is the target clique size, we construct a SAT instance in the form of a CNF formula F as described in the following. Let {Xi,j : 1≤i≤n and 1≤j≤k}, where n is the number of vertices of G and k is the target clique size, and {Si: 1≤i≤n}, where n is the number of vertices of G, be two sets of Boolean variables. We will use variable Xi,j to encode whether the vertex Vi is the jth node of a size k clique of the graph G, and variable Si is an auxiliary variable that is true if and only if vertex i is part of a clique of size k. F is a CNF formula over those variables and consists of conjunction of CNF clauses Ci (C1 ∧ C2 ∧ ... ∧ Cw), where Ci = (l1 ∨ l2 ∨ ... ∨ lz) is a disjunction of literals, and a literal is a Boolean variable x or its negation x̄. In this encoding there are 4 classes of clauses: 20 Chapter 3. Near-uniform sampling by translating k-CLIQUE to SAT • φ1: (X1,j ∨ X2,j ∨ ... ∨ Xn,j) for each j from 1 to k. Since there are k nodes in a clique, there must be at least one variable Xi,j set to true for each j from 1 to k. There are k clauses of this type. • φ2: (X̄i,s ∨ X̄i,t) for each i from 1 to n, and each pair of s and t from pairs of numbers from 1 to k such that s < t. There are ( k 2 )·n clauses of this type. We need this type of clauses because a clique can not contain multiple copies of the same vertex. No pair of variables Xi,j and Xg,h should have the value of true, if the vertices Vi and Vg are not adjacent in the graph G. The following two types of clauses allow only the adjacent vertices to construct a clique. • φ3: (Xi,1 ∨ Xi,2 ∨ ... ∨ Xi,k) ⇒ Si. φ3 in CNF format is represented as the following k clauses: (X̄i,1 ∨ Si) ∧ (X̄i,2 ∨ Si) ∧ ... ∧ (X̄i,k ∨ Si). There are k·n CNF clauses of this type. • φ4: (S̄i ∨ S̄g) for every pair of non-adjacent vertices Vi and Vg. There are ( n 2 )−(# of edges in G) clauses of this type. The formula ω is the encoding of a CLIQUE instance 〈G, k〉 as a SAT instance, which is defined as ∧ φ1 ∧ φ2 ∧ φ3 ∧ φ4. This encoding requires O(k2·n) clauses and O(k·n) variables. An example of the above translation on a small graph with 4 vertices, is represented in Figure 3.1. • φ1: There are k = 3 clauses of this type. – (X1,1 ∨ X2,1 ∨ X3,1 ∨ X4,1) an Xi,1, 1≤i≤4, representing the 1st vertex of the clique – (X1,2 ∨ X2,2 ∨ X3,2 ∨ X4,2) an Xi,2, 1≤i≤4, representing the 2nd vertex of the clique – (X1,3 ∨ X2,3 ∨ X3,3 ∨ X4,3) an Xi,3, 1≤i≤4, representing the 3rd vertex of the clique • φ2: There are ( k 2 ) · n = 12 clauses of this type. The following clauses guarantee that a clique does not contain multiple copies of the same vertex. – Only one of the vertices is associated with X1: (3 clauses) (X̄1,1 ∨ X̄1,2) ∧ (X̄1,1 ∨ X̄1,3) ∧ (X̄1,2 ∨ X̄1,3) 21 Chapter 3. Near-uniform sampling by translating k-CLIQUE to SAT v1 v2 v3 v4 Figure 3.1: A graph with a maximum clique of size 3. 22 Chapter 3. Near-uniform sampling by translating k-CLIQUE to SAT – Only one of the vertices is associated with X2: (3 clauses) (X̄2,1 ∨ X̄2,2) ∧ (X̄2,1 ∨ X̄2,3) ∧ (X̄2,2 ∨ X̄2,3) – Only one of the vertices is associated with X3: (3 clauses) (X̄3,1 ∨ X̄3,2) ∧ (X̄3,1 ∨ X̄3,3) ∧ (X̄3,2 ∨ X̄3,3) – Only one of the vertices is associated with X4: (3 clauses) (X̄4,1 ∨ X̄4,2) ∧ (X̄4,1 ∨ X̄4,3) ∧ (X̄4,2 ∨ X̄4,3) • φ3: There are k·n = 12 clauses of this type. – S1 is true if v1 is a vertex of the clique (X̄1,1 ∨ S1) ∧ (X̄1,2 ∨ S1) ∧ (X̄1,3 ∨ S1) – S2 is true if v2 is a vertex of the clique (X̄2,1 ∨ S2) ∧ (X̄2,2 ∨ S2) ∧ (X̄2,3 ∨ S2) – S3 is true if v3 is a vertex of the clique (X̄3,1 ∨ S3) ∧ (X̄3,2 ∨ S3) ∧ (X̄3,3 ∨ S3) – S4 is true if v4 is a vertex of the clique (X̄4,1 ∨ S4) ∧ (X̄4,2 ∨ S4) ∧ (X̄4,3 ∨ S4) • φ4: There are k = 2 clauses of this type. (S̄1 ∨ S̄4) ∧ (S̄2 ∨ S̄4) Using this encoding, if the number of target cliques (with size k) of the graph is t, then the total number of satisfying assignments of the SAT in- stance is k!·t. The encoded instance has k!·t satisfying assignments, because any permutation of the SAT variables results in a new satisfying assignments for the same target clique. Even though this encoding is not parsimonious, it does not affect the relative frequencies of the target cliques as each clique is repeated exactly the same number of times (k!). An advantage of this encoding is the existence of symmetry between its solutions. It has been shown by Prestwich that instances with symmetrical solutions are easier for local search algorithms [70]. 3.2 Two effective methods of sampling As stated in Section 2.4, XORSample and XORSample′ are two efficient near-uniform SAT samplers. The main idea behind these two algorithms introduced by Gomes et al. [1] is to add special randomly generated logical constraints to the original formulas such that each constraint eliminates any given truth assignment exactly with probability of 1/2. Hence, if the original 23 Chapter 3. Near-uniform sampling by translating k-CLIQUE to SAT formula has 2s satisfying assignments, it is expected to have a SAT formula with exactly 1 satisfying assignment after adding s random constraints. By repeating this process with a random new set of s constraints, a different satisfying assignment may be sampled. Gomes et al. used XOR clauses to introduce extra constraints on the variables of the new SAT formula. An XOR clause D over the variables of F , X, is the logical exclusive-or of a subset of X ∪ {1} converted to CNF format. An example of an XOR clause is (x1⊕x2⊕ ...⊕xi). An XOR clause is satisfied if an odd number of variables in the clause is assigned true. The reason the constant 1 (i.e. an elementary expression that is always true) is used in the construction of XOR clauses is to express even parity. The related useful property of an XOR clause is that it eliminates any given truth assignment (not necessarily a solution) with probability 1/2, and therefore in expectation cuts the set of satisfying assignments (solutions) in half. This expectation happens only when elimination of a satisfying assign- ment is fully independent of the elimination of other satisfying assignments; however, there is no known compact (polynomial size) logical constraint that cause elimination of a satisfying assignment to be fully independent of the elimination of any other assignments [1]. The choice of XOR as a constraint guarantees at least pairwise and 3-wise independences. Gomes et al. proved that this pairwise and 3-wise independences is enough for a near-uniform sampling [1]. For the experiments, we used the implementation of these algorithms provided by Gomes et al.5 3.2.1 XORSample algorithm XORSample is an iterative procedure that takes a CNF formula F , the probability q of including a variable in an XOR clause, number s of XOR clauses, range [m , x] of average length (i.e. number of variables) of each XOR clause, number #var of variables in the original CNF formula, the variables #xorvar that are used in the construction of XOR clauses, and maximum number of iterations mni of XORSample. In standard usage, #var equals #xorvar. More generally, if the number of variables is 150, but one wants to only use the first 100 variables in the construction of XOR clauses, #var is set to 100, and #xorvar is set to 150. For the parameter s, Gomes et al. suggested to use log2(ns), where ns is the expected number of satisfying assignments [1]. XORSample outputs a satisfying assignments after it terminates, only if F is satisfiable. 5available at http://www.cs.cornell.edu/∼sabhar/ 24 Chapter 3. Near-uniform sampling by translating k-CLIQUE to SAT In each iteration, it adds s random XOR constraints Qs, drawn inde- pendently from the distribution X(n, q), to the original SAT formula F to generate a new SAT formula F qs . X(n, q) denotes the probability distribu- tion over the set of all XOR clauses X with variables selected from the SAT variables with probability q and the constant 1 is also added to XOR clauses independently with probability 1/2. After XOR clauses are added to the original SAT formula F , a subset of satisfying assignments of F survive. If there is a unique satisfying assign- ment remaining, then XORSample reports that satisfying assignment and terminates. In order to check whether a SAT formula has a unique satisfying assign- ment σ, the negation of that satisfying assignment σ̄ is added to the formula, and then if the formula becomes unsatisfied, the satisfying assignment σ has been its only satisfying assignment. Otherwise, if the original formula F does not have a unique solution, XORSample discards the XOR clauses Qs and the formula F qs and iterates the process by constructing a new constrained formula using new XOR clauses (rejection sampling). XORSample uses a SAT solver (denoted as SATSolver(F )), such as minisat [71] which takes a CNF formula F to get the pair of satisfiability status and the possible remaining satisfying assignment of F . The full description of XORSample is presented in Procedure XORSample(F , q, s, m, x, #var, #xorvar,mni). 3.2.2 XORSample′ algorithm XORSample′ has the same parameters as XORSample. It starts by adding to the original CNF formula s randomly chosen XOR clauses drawn inde- pendently from X(n, q) to generate a new SAT formula F qs . A SAT model counter, e.g., Relsat [23] or Cachet [24], is then used to count the number of satisfying assignments, ns, of F qs . If the number of satisfying assignments of F qs is not zero, XORSample′ succeeds and reports the ith surviving satisfy- ing assignment from the set of satisfying assignments of F qs enumerated by a SAT enumeration algorithm, e.g., Relsat [23] or mChaff [61] (i is chosen uniformly at random from the set {1, 2, ..., ns})6. The advantage of XORSample′ is that it does not need to generate in- stances that have only one solution, but merely instances that have a small number of solutions. The details of this algorithm is described in Procedure XORSample′(F , q, s, m, x, #var, #xorvar). In this procedure, SATModelCount(F ) denotes 6In particular, the satisfying assignments are stored in a file, each on a separate line, and the solution from the ith line is reported. 25 Chapter 3. Near-uniform sampling by translating k-CLIQUE to SAT Procedure XORSample(F , q, s, m, x, #var, #xorvar, mni) Input: A CNF formula F , probability q, positive integer s, minimum number of variables m in each XOR clause, maximum number of variables x in each XOR clause, number of variables #var of the CNF formula, the variables #xorvar used in the construction of XOR clauses, maximum number of iterations mni Output: A satisfying assignment of F , or Failure begin (satisfiable, σ) ← SATSolver(F ) /* Decide whether F is satisfiable */ if satisfiable = FALSE then return Failure /* no solution exists */ end counter ← 0 iterationSuccessful ← FALSE while iterationSuccessful = FALSE and counter ≤ mni do Qs ← {s random constraints independently drawn from X(n, q)} F qs ← F ∪Qs /* Add s random XOR constraints to F */ (satisfiable, σ) ← SATSolver(F qs ) /* Decide whether F qs is satisfiable and also store the possible satisfying assignment σ reported by the SAT solver */ if satisfiable = TRUE then F ′ ← F qs ∪ {σ̄} /* Remove σ from the set of satisfying assignments */ (satisfiable′,σ′) ← SATSolver(F ′) if satisfiable′ = FALSE then iterationSuccessful ← TRUE return σ /* Reporte σ, which is the unique satisfying assignment of F qs */ end end counter ← counter + 1 end return Failure end 26 Chapter 3. Near-uniform sampling by translating k-CLIQUE to SAT Procedure XORSample′(F , q, s, m, x, #var, #xorvar) Input: A CNF formula F , probability q, positive integer s, minimum number of variables in each XOR clause m, maximum number of variables in each XOR clause x, number of variables of the CNF formula #var, the variables used in the construction of XOR clauses #xorvar Output: A satisfying assignment of F , or Failure begin Qs ← {s constraints randomly drawn from X(n, q)} /* Add s random XOR constraints to F */ F qs ← F ∪Qs ns← SATModelCount(F qs ) /* Count the number of satisfying assignments of F qs using an exact model counter */ if ns 6= 0 then i← a number chosen uniformly at random from {1, 2, ..., ns} A ← Enumerate(F qs ) /* Enumerate the satisfying assignments of F qs using a SAT enumerator */ return the ith satisfying assignment from the set of satisfying assignments A /* Sampled successfully! */ end else return Failure end end a call to any exact model counter that takes a CNF formula and returns its number of satisfying assignments. Enumerate(F ) is a call to any enumer- ation algorithm that takes a CNF formula and returns the set of all its satisfying assignments. 3.3 Empirical results The experiments of this section are designed to investigate the sampling per- formance and practicality of the method proposed in this chapter. The sam- plers used for these experiments are XORSample and XORSample′. These 27 Chapter 3. Near-uniform sampling by translating k-CLIQUE to SAT experiments were performed on a dedicated 2.4 GHz Xeon (dual) machine with 512 KB cache and 1 GB RAM, running SuSE Linux 10.1. As already stated both of the samplers use the same parameters. They take a SAT formula F , the probability of including a variable in an XOR clause q, number of XOR clauses s, range of length (i.e. number of variables) of each XOR clause [m , x], number of variables in the original CNF formula #var, and the variables that are used in the construction of XOR clauses #xorvar. In standard usage, #var equals #xorvar. XORSample has an extra parameter mni which is the maximum number of iterations of the algorithm. We tried to encode all of the DIMACS MAX-CLIQUE instances used in this thesis, but the size of many of them after encoding were huge (see Table 3.1). The number of solutions of the encoded instances may affect the time required to sample a solution by XORSample. If a SAT instance has a huge number of solutions, then XORSample should constrain the instance with a sufficient number of XOR clauses such that the number of solutions reduces to one; however, at the same time having many clauses usually increases the difficulty of the instance. Table 3.1 shows that most of the encoded DIMACS MAX-CLIQUE instances used in this thesis have a huge number of solutions. For a discussion on why we used these instances, see Section 4.2 in Chapter 4. The experiments of this section are performed on two of these instances that have a relatively small size and small number of solutions, hamming6-4 and johnson8-2-4. We used XORSample to sample the satisfying assign- ments of all the other DIMACS MAX-CLIQUE graphs shown in Table 3.1, but each iteration of XORSample took at least 30 CPU seconds, which means even if XORSample needed only 2 iterations to sample a satisfying assignment, the total run time of XORSample to report a satisfying assign- ment would become at least 1 CPU minute. In practice, XORSample needs an even higher number of iterations to sample a satisfying assignment as it needs to generate a set of XOR clauses that reduce the number of satisfying assignments of the original SAT formula to a unique one. In the implementation provided by Gomes et al. for XORSample and XORSample′ the value of q is the average length of XOR clauses divided by the number of variables of the original CNF formula. The average length of XOR clauses is m/x. For the parameter s, we use log2(ns) suggested by Gomes et al., where ns is the expected number of satisfying assignments [1]. The minimum and maximum length of XOR clauses (m and x) was not discussed in detail in the theory of XORSample and XORSample′ [1]; however, Gomes et al. in a work related to sampling [72] demonstrated 28 Chapter 3. Near-uniform sampling by translating k-CLIQUE to SAT Instance Target size # of edges # of target cliques # of satisfying assignments # of clauses # of variables brock200 1 21 14 834 2 1.02181884× 1020 51 287 4 200 brock200 2 11 9 876 14 558 835 200 23 235 2 200 brock200 3 14 12 048 24 2 092 278 988 800 28 866 2 800 brock200 4 16 13 089 30 6.27683697× 1014 34 027 3 200 brock400 3 30 59 681 31 8.22283865× 1033 206 149 12 000 brock400 4 32 59 765 33 8.68331762× 1036 231 267 12 800 c-fat200-1 12 1 534 14 6 706 022 400 33 978 2 400 c-fat200-2 23 3 235 26 6.72152435× 1023 71 888 4 600 c-fat200-5 58 8 473 3 7.05168399× 1078 353 685 11 600 c-fat500-1 14 4 459 19 1 656 387 532 800 172 805 7 000 c-fat500-2 26 9 139 19 7.66253776× 1027 291 137 13 000 c-fat500-5 64 23 191 3 3.80660797× 1089 1 141 623 32 000 c-fat500-10 126 46 627 3 7.11651973× 10211 4 078 749 63 000 gen200 p0.9 44 44 17 910 4 1.06330863× 1055 200 034 8 800 gen200 p0.9 55 55 17 910 4 5.07856134× 1073 310 045 11 000 gen400 p0.9 65 64 71 820 71 9.00897219× 1090 840 044 25 600 gen400 p0.9 75 74 71 820 77 2.54707179× 10109 1 118 054 29 600 hamming6-2 32 1 824 2 5.26261674× 1035 34 016 2 048 hamming6-4 4 704 240 5 760 1 956 256 hamming8-4 16 20 864 480 1.00429391× 1016 46 608 4 096 hamming10-2 512 518 656 2 (512)!× 2 134 485 504 524 288 johnson8-2-4 4 210 105 2 520 452 112 johnson8-4-4 14 1 855 30 2 615 348 736 000 7 924 980 p hat1000-1 10 122 253 276 1 001 548 800 432 257 10 000 p hat1000-2 46 244 799 491 2.70178748× 1060 1 335 747 46 000 p hat300-1 8 10 933 13 524 160 44 725 2 400 p hat300-2 25 21 928 52 8.06582922× 1026 120 447 7 500 p hat300-3 36 33 390 10 3.71993327× 1042 211 296 10 800 p hat500-1 9 31 569 78 28 304 640 115 690 4 500 p hat500-2 36 62 946 14 5.20790658× 1042 394 840 18 000 p hat500-3 50 93 800 62 1.88567378× 1066 668 500 25 000 p hat700-1 11 60 999 2 79 833 600 229 862 7 700 p hat700-2 44 121 728 138 3.66841477× 1056 815 966 30 800 san200 0.7 1 29 13 930 30 2.6525286× 1032 92 999 5 800 san200 0.7 2 18 13 930 2 1.28047474× 1016 40 188 3 600 san200 0.9 1 69 17 910 70 1.19785717× 10100 485 059 13 800 san200 0.9 2 59 17 910 61 8.45967023× 1081 356 049 11 800 san200 0.9 3 43 17 910 50 3.02076315× 1054 191 233 8 600 san400 0.9 1 99 71 820 100 9.33262154× 10157 1 988 079 39 600 sanr200 0.7 18 17 863 13 8.32308582× 1016 40 250 3 600 sanr200 0.9 42 17 863 21 2.95051285× 1052 182 679 8 400 sanr400 0.5 13 39 984 4 24 908 083 200 76 229 5 200 sanr400 0.7 21 55 869 140 7.1527319× 1021 116 352 8 400 DSJC500.5 13 125 248 56 348 713 164 800 107 639 6 500 Table 3.1: The size of encoded DIMACS MAX-CLIQUE graphs as SAT instances using the encoding of Section 3.1. The relatively small instances are shown in bold. 29 Chapter 3. Near-uniform sampling by translating k-CLIQUE to SAT empirically the need and possibility of using short XOR clauses in practice. The average length of XOR clauses determines how quickly XORSample samples a satisfying assignment. In order to find an appropriate range for the average lengths of XOR clauses we manually tried various lengths. The range of lengths of XOR clauses is from 1 to number of variables. The number of SAT variables of the instance johnson8-2-4 encoded as a SAT instance is 140. An XOR clause may contain any one of these 140 variables. We tried various values for m and x: [10, 30], [30, 50], [50, 70], [70, 90], [90, 100], [110, 120] and [120, 140]. The only significant change from one range to another was the time required for sampling each solution. As the number of variables in each XOR clause increases, the time needed to sample each satisfying assignment increases as well. The result of 10 000 samples of the satisfying assignment of the instance johnson8-2-4 encoded as a SAT instance with m = 10 and x = 30 using XORSample is presented in Table 3.2. The number of SAT variables of the instance hamming6-4 encoded as a SAT instance is 320. We tried the following range of number of variables to be included in each XOR clause: [10, 30], [30, 50], [50, 70] and [70, 90]. Again there was no significant change between the ranges of [10, 30], [30, 50] and [50, 70] with respect to various measures of uniformity. We aborted the experiment with the range [70, 90] as it was taking more than 4 CPU hours for 2 000 runs while the experiment with the other 3 ranges each took about 2 CPU hours. The sampling performance of 10 000 runs of XORSample for the instance hamming6-4 encoded as a SAT instance with m = 10 and x = 30 is presented in Table 3.2. The number of satisfying assignments of an encoded instance is k! (where k is the target size) times the number of target cliques, which means for large values of k we need to use a large number of XOR clauses (large s) to decrease the number of satisfying assignments of the SAT formula to a single satisfying assignment, while as the number of clauses increases the difficulty of the SAT formula typically increases as well. The result of sampling the target cliques of instances johnson8-2-4 and hamming6-4 is shown in Table 3.2. We expected XORSample to sample near-uniformly the solutions of both of the instances because of the theo- retical proofs on its sampling performance provided by Gomes et al. The result presented in Table 3.2 is based on 10 000 runs of XORSample. We used minisat [71] as the underlying SAT solver, which was also used by Gomes et al. We consider any distribution of solutions of instances with EMPN/E(n) > 2.5 as biased. EMPN/E(n) is a measure of uniformity defined in Section 30 Chapter 3. Near-uniform sampling by translating k-CLIQUE to SAT Instance Target size # of target cliques EMPN/E(n) normalized entropy INT 10 CPU(s)/solution johnson8-2-4 4 105 1.035 0.994 1.000 1.641 hamming6-4 4 240 1.077 0.832 0.996 2.403 Table 3.2: Sampling two of the encoded DIMACS MAX-CLIQUE graphs using XORSample. Instance Target size # of target cliques EMPN/E(n) normalized entropy INT 10 CPU(s)/solution johnson8-2-4 4 105 1.041 1.000 1.000 0.745 hamming6-4 4 240 1.319 0.992 1.000 1.147 Table 3.3: Sampling the satisfying assignments of two of the DIMACS graphs encoded as SAT instances using XORsample′. 1.2 as the empirical number of samples required to sample each solution at least once divided by the expected theoretical number of samples needed to sample each solution at least once. The distribution of solutions of instances with normalized entropy less than 0.9 and INT 10 not equal to 1 are also considered as biased. INT 10 is a measure of uniformity defined in Section 1.2 as the fraction of relative frequency of solutions falling in the interval [ 1w·n , w n ] with w = n+ √ n2+400n 20 , where n is the number of solutions. All of these choices for thresholds of various measures of uniformity are somewhat arbitrary (see Section 4.3). XORSample sampled the solutions of johnson8-2-4 near-uniformly with respect to any of the 3 measurements as expected; however, the solutions of hamming6-4 are sampled non-uniformly by XORSample with respect to normalized entropy and INT 10. The time required to sample each target clique of hamming6-4 is also relatively high, when compared to the result of other sampling methods (see Table 4.1). We also sampled the satisfying assignments of the instances johnson8- 2-4 and hamming6-4 encoded as SAT instances using XORSample′. Relsat [23] is the underlying model counter that we used for XORSample′ which was also used by Gomes et al. The result presented in Table 3.3 is based on 10 000 runs of XORSample′. XORSample′ samples the target cliques of johnson8-2-4 and hamming6-4 very uniformly with respect to all three measures of uniformity. These results agree with the theoretical proof on the sampling performance of XORSample′ provided by Gomes et al. The advantage of XORSample′ is its quick response in sampling each of the solutions compared with the run times of XORSample. 31 Chapter 3. Near-uniform sampling by translating k-CLIQUE to SAT We used XORSample′ to sample the solutions of all the other DIMACS MAX-CLIQUE instances shown in Table 3.1 encoded as SAT instances us- ing XORSample′, but Relsat [23] took more than 1 minute to count their solutions. 3.4 Conclusion As we have seen in this chapter, XORSample and XORSample′ are able to sample the target cliques of the instance johnson8-2-4 very uniformly with respect to all of the 3 measures of uniformity. The solutions of instance hamming6-4 were sampled uniformly using XORSample with respect to only EMPN/E(n). This instance was sampled uniformly with respect to all measures of uniformity using XORSample′. Both XORSample and XORSample′ had some limitations in practice. The main problem was the huge size of the encoded instances (see Table 3.1). Another limitation was that sampling satisfying assignments of the encoded SAT instances is expensive, which may be resolved by using different SAT solvers other than minisat [71] and Relsat [23]. A limitation more specifically related to XORSample is the difficulty of tuning its parameters, m and x, which was also disscussed in [72]. This approach of translating a graph to a Boolean formula is not a prac- tical sampling method as many samples are required to discover the amount of uniformity of the distribution of solutions and each sample requires a rel- atively large amount of time for the majority of the instances of Table 3.1. The common problem of these methods of translating graphs to other prob- lems is the huge size of the encoded instances. Because of their huge size, it is not even possible to store most of the encoded instances (see Table 3.1). One may try other types of encodings in order to overcome this difficulty [43, 65]. We believe the number of solutions of an instance may be a key factor on how quickly a solution is sampled by XORSample. If a SAT instance has huge number of solutions, then XORSample should constrain the instance with enough number of XOR clauses such that the number of solutions reduces to one; however, at the same time having many clauses usually increases the difficulty of the instance. Although XORSample′ is more efficient than XORSample, as it does not have to iterate many number of times to construct an instance with a unique satisfying assignment, it has different types of limitation. The limitation of this approach is the small varieties of model counters available, as most of 32 Chapter 3. Near-uniform sampling by translating k-CLIQUE to SAT the modern SAT solvers do not support satisfying assignment enumeration at all [73]. As there are also already some counting and sampling procedures [28, 74– 76] for the constraint satisfaction problem (CSP), a possible similar method of sampling near-uniformly the target cliques of graphs is the parsimonious translation of k-CLIQUE to CSP [36] and sampling the solutions of the encoded instance. The encoding we have used in this chapter translate k- CLIQUE to SAT by first translating implicitly to CSP. Of course, one may also try to encode the problem of k-CLIQUE as SAT by first translating it to CSP explicitly. There are many CSP to SAT encodings available [37, 77, 78]. 33 Chapter 4 Heuristic MAX-CLIQUE algorithms as samplers In this chapter we examine how uniformly two of the state-of-the-art heuris- tic MAX-CLIQUE algorithms sample the target cliques of graphs. The input to these MAX-CLIQUE algorithms is a graph consisting of vertices and edges. The heuristic MAX-CLIQUE algorithm introduced by Pullan and Hoos (DLS-MC) is based on a combination of constructive and perturbative local search strategies that uses penalty values associated with vertices to diversify the candidate vertices [2]. As mentioned in Section 2.3, DLS-MC is one of the state-of-the-art algorithms. The instances used for the experiments of this thesis are the DIMACS MAX-CLIQUE graphs; these instances are extensively used for benchmark- ing purposes in the recent literature on heuristic MAX-CLIQUE algorithms. We chose DLS-MC to sample the target cliques of these graphs because of its performance on the DIMACS set, and also because its parameters (e.g. penalty delay) may be adjusted for a better sampling performance (see Chapter 5). Pullan later introduced a new heuristic MAX-CLIQUE algorithm (PLS) to eliminate the parameters of DLS-MC. PLS interleaves three different procedures called phases, in order to effectively find cliques in graphs with different structures. Each phase of PLS is intended for the construction of one type of target cliques. The first phase selects vertices based on their penalty value in order to find target cliques with low degree vertices. The second phase where target cliques with high degree vertices are generated, is a greedy sub-algorithm. The final phase is for the construction of target cliques in random graphs. In this phase vertices are selected randomly [3]. The rest of this chapter is structured as follows. We first describe DLS- MC algorithm in detail in Section 4.1. In Section 4.3 we provide empirical result for sampling the target cliques of DIMACS MAX-CLIQUE graphs using DLS-MC. Next we describe the details of PLS in Section 4.3. The sampling performance of PLS on DIMACS MAX-CLIQUE graphs is pro- 34 Chapter 4. Heuristic MAX-CLIQUE algorithms as samplers vided in Section 4.4. Both DLS-MC and PLS sample near-uniformly the target cliques of most of the DIMACS MAX-CLIQUE graphs used in this thesis. The advantage of finding target cliques of graphs using DLS-MC is that it has exposed param- eters that can be adjusted by the user. When adjusting of the parameters is allowed, more insights may be gained on why an instance is not sampled uniformly. The advantage of PLS is that it is parameter free which is easier to use; however, the corresponding DLS-MC parameters built in PLS may not be optimal for sampling near-uniformly the target cliques of graphs. 4.1 The DLS-MC algorithm DLS-MC is a stochastic local search MAX-CLIQUE algorithm that searches for cliques of a given target size k. DLS-MC has two primary ways of constructing a clique. The first one is an iterative improvement procedure, which expands the current clique by adding a vertex in each iteration. The second one is a plateau search procedure, which swaps the vertices of the current clique with the vertices of the graph not in the clique. The DLS-MC solver has seven parameters: the name of a file containing the input graph in DIMACS format, the number of trials (a trial is a full run of DLS-MC to report a target clique or exhaust the maximum number of selections), a parameter called algorithm to determine how to penalize the vertices, a parameter named restart rule to determine the method of perturbation, maximum number of selections of vertices, target clique size and pd value. Not all of these parameters need to be adjusted for a better search performance. The various options of the algorithm parameter and the restart rule parameter may be used. We may also try different values for pd. Some of the parameters only appear in the implementation which are specified at the beginning of the next section. DLS-MC associates penalty values with the vertices of the given graph to diversify the search. These penalty values are initialized to zero, which is their minimum possible value. DLS-MC always adds a new vertex to the current clique from the set of vertices with minimum penalty value. DLS- MC also uses a perturbation technique to avoid search stagnation. DLS-MC starts with a vertex chosen uniformly at random as its initial clique C, then the clique C is expanded during the iterative improvement phase, by iteratively choosing one vertex at a time (if any) that is connected to all the previous vertices of the clique C. The iterative improvement procedure, as we described, is based on a greedy construction mechanism 35 Chapter 4. Heuristic MAX-CLIQUE algorithms as samplers [2]; this could be one of the reasons that DLS-MC is biased towards some of the target cliques in some graphs. If at any point there is no candidate vertex to be added to C, DLS- MC leaves the iterative improvement phase, and starts a plateau search. If a vertex x with minimum penalty value exists that is adjacent to all the vertices in C but one, say y, a plateau step swaps x with y. DLS-MC stops the plateau search if one of the following two conditions is met. One condition is that a vertex becomes available to expand the current clique using iterative improvement. The other condition happens when no vertex is available to perform a plateau step. A vertex is available for a plateau move if it is connected to all the vertices of the current clique C but one, and the vertex is not part of the current clique C ′ that the plateau phase has started with; DLS-MC checks the inclusion of this vertex to C ′ by storing the current clique C ′ when it leaves the iterative improvement phase. DLS-MC stops alternating between plateau search and iterative improvement when either a clique of size k is found or neither a plateau step nor an iterative improvement step from the current clique is possible. DLS-MC perturbs the current clique C of size less than k, if no iter- ative improvement or plateau search is possible. At this point DLS-MC first updates the penalty values of the current clique’s vertices. The vertex penalties are updated by increasing the penalty value of each vertex that was part of the current clique C by one. All the non-zero penalty values are decreased by one after pd times penalty values are updated (where pd is a parameter of DLS-MC) to prevent the penalty values from becoming too large and allowing DLS-MC to ‘forget’ penalty values over time. An update cycle is defined to be each time DLS-MC finds a maximal clique. The algorithm parameter of DLS-MC determines how the vertices of a maximal clique of size smaller than the target size should be penalized. We use 4 for the value of algorithm which is the default value used by Pullan and Hoos. The value of 4 for the ‘algorithm’ parameter of DLS-MC is the one found by Pullan and Hoos to give the best performance for discovering a clique of target size. By choosing the value of the algorithm parameter as 4, penalty values of the vertices of a maximal clique of a size smaller than the target size are only updated at a pd update cycle. With the algorithm parameter of 4 pd obviously needs to be specified. After updating the penalty values, DLS-MC perturbs the current clique C in one of the following two ways depending on the value of pd. It also depends on the value of the restart rule parameter which is discussed in the following paragraph. If pd is greater than one, then the current clique is reduced to the last vertex v that was added to C. With this method 36 Chapter 4. Heuristic MAX-CLIQUE algorithms as samplers of perturbation, DLS-MC focuses on the neighborhood of the clique C but is unlikely to add recently removed vertices back to the clique C as their penalty values have just been increased; This is equivalent to restarting the search from v. The other method of perturbation is used when the pd value is one (i.e. no penalty value). If the pd value is one, then it is very likely that by using the previous method of perturbation DLS-MC reconstructs the same clique. The clique C is perturbed by connecting a new vertex v to C, the vertex v is picked uniformly at random from the graph and removing the vertices of C that are not adjacent to v. The restart rule parameter of DLS-MC has 6 possible choices and de- termines how DLS-MC should restart after a perturbation. For the pd of 1, the value of restart rule is 1 which means a vertex v is chosen uniformly at random from the graph and the current maximal clique, C, is reduced to a clique containing v and all the vertices of C that are also connected to v. For the values of pd > 1, the value of restart rule is 3 which means the current clique, C, is reduced to the last vertex that was added to C. 4.2 Experimental setup All the experiments for this thesis were performed on a dedicated 2.4 GHz Xeon (dual) machine with 512 KB cache and 1 GB RAM, running SuSE Linux 10.1. In order to find out empirically how uniformly DLS-MC samples the target cliques of a graph, we performed our experiments on many of the commonly used MAX-CLIQUE instances from the Second DIMACS Im- plementation Challenge (1992 - 1993)2, which have also been extensively used for benchmarking purposes in the recent literature on MAX-CLIQUE algorithms. The DIMACS MAX-CLIQUE instances were generated from problems in coding theory, fault diagnosis problems, Keller’s conjecture on tilings using hypercubes and the Steiner triple problem, in addition to randomly generated graphs and graphs where the maximum clique has been ’hidden’ by incorporating low-degree vertices. The problem instances range in size from fewer than 28 vertices and 201 edges to > 500 vertices and 518 656 edges. In order to find a good approximation for the distribution of the sam- pled target cliques within a graph with m target cliques, we should sample individual target cliques a large multiple of m. Hence, we focused on those 2http://dimacs.rutgers.edu/Challenges/ 37 Chapter 4. Heuristic MAX-CLIQUE algorithms as samplers DIMACS MAX-CLIQUE instances (see Appendix) that have fewer than 1 000 target cliques and for which the solvers (DLS-MC [2] and PLS [3]) samples a target clique of them in at most 1 CPU second on average on our reference machine. This resulted in a set of 44 out of the 80 DIMACS MAX-CLIQUE instances. The target sizes for these instances are either the largest known or optimal [2]. The maximum of number of solutions among the 44 instances used in this thesis is 491 (see Appendix). The number of sampling for each instance is chosen to be 50 000. This number would give us a chance to sample each solution about 100 times. The maximum number of selections for both DLS-MC and PLS is 100 000 000, which is the default value used in [2, 3]. 4.3 Sampling performance of DLS-MC In this section we present the sampling result of DLS-MC on the 44 of 80 DIMACS MAX-CLIQUE instances using the default pd values. The sampling result of DLS-MC with pd values taken from [2] is pre- sented in Table 4.1. These default pd values minimize the run time of dis- covering target cliques using DLS-MC. As stated in Section 1.2 we use 3 measures of uniformity in order to determine the amount of uniformity for the distribution of target cliques of each graph sampled by DLS-MC. These measures are normalized entropy, INT 10, and EMPN/E(n). Normalized entropy and INT 10 are used together to determine whether DLS-MC is sampling the target cliques of graphs uniformly. We consider the distributions of solutions of graphs whose sampling probabilities are not within the interval of INT 10 as biased. We consider a distribution of sampled target cliques near-uniform, if its value of normalized entropy is > 0.9 and also its INT 10 value is 1 (i.e. the distribution of sampled solutions is only 10% away from the uniform distribution with respect to the value of normalized entropy and the difference between the least frequent clique and the most frequent clique is at most 0.1). These choices are somehow arbitrary. As shown in Figure 4.1 the majority of the distributions of target cliques of DIMACS MAX-CLIQUE graphs sampled by DLS-MC have normalized entropy > 0.9. Based on normalized entropy and INT 10 the target cliques of 10 of the 44 DIMACX MAX-CLIQUE instances (22% of them) were sampled non-uniformly emphasized in bold in Table 4.1. Any number < 0.001 is denoted by  in Table 4.1. The instances whose target cliques are sampled non-uniformly based on these two measurements are from the 38 Chapter 4. Heuristic MAX-CLIQUE algorithms as samplers Sheet1 Page 1 0 0.4 0.5 0.6 0.7 0.8 0.9 1 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 Relative entropy C u m u la ti v e  p ro b a b ili ty Figure 4.1: Cumulative probability distribution of relative entropies across different graphs induced by DLS-MC. following family of graphs: brock, c-fat, gen, and san. The EMPN/E(n) uniformity measurement is the number of runs of an algorithm to sample each target clique at least once divided by the expected theoretical number of runs a uniform sampler requires. If the sampler is uniform, then the value of EMPN/E(n) should be close to 1. The value of 2.5 is used as a threshold for EMPN/E(n) measurement to distinguish the near-uniform samplers. This choice is somehow arbitrary. The cumulative probability distribution of the values of EMPN/E(n) is presented in Figure 4.2. Each point pi(x, y) on the figure represent the probability that the value of EMPN/E(n) for one of the instances is less than or equal to pi(x, 0). As shown in this figure the value of EMPN/E(n) for the majority of the distributions of solutions of the 44 DIMACS MAX-CLIQUE graphs (36 of 44) is less than 2.5. Using this measurement most of the DIMACS MAX-CLIQUE graphs are sampled near-uniformly using DLS-MC as their EMPN/E(n) values are very close to 1, which is well below our threshold of 2.5. DLS-MC did not sample uniformly 8 of the 44 DIMACS MAX-CLIQUE graphs (18% of them) based on this measurement, emphasized in bold in Table 4.1. Each value after ± in Table 4.1 represents the standard deviation from 39 Chapter 4. Heuristic MAX-CLIQUE algorithms as samplers Sheet1 Page 1 0 1 2 3 4 5 6 7 8 9 10 11 12 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 EMP(n)/E(n) C u m u la ti v e  p ro b a b ili ty Figure 4.2: Cumulative probability distribution of EMPN/E(n) across dif- ferent graphs induced by DLS-MC. the value of EMPN/E(n). The instances whose target cliques are sampled non-uniformly based on this measurement are from the following family of graphs: brock, gen, san, and sanr. As mentioned in Section 1.2 the value of EMPN is evaluated as the average of number of runs that the sampler requires to sample each solution at least once for 100 independent experiments. The distributions of the 100 independent calculations of EMPN/E(n) for two of the instances are presented in Figures 4.3 and 4.4. Based on all 3 of the measurements at the same time, DLS-MC sampled near-uniformly the target cliques of 32 of the 44 DIMACS MAX-CLIQUE graphs used in this thesis (72% of them). DLS-MC with the default pd values used by Pullan and Hoos was not able to sample 12 of the instances near-uniformly (shown in bold in Table 4.1) with respect to some measures of uniformity. The instances that were sampled non-uniformly using DLS-MC based on some of the measures of uniformity are from the following 5 families of DIMACS MAX-CLIQUE instances: brock, c-fat, gen, san and sanr. Most of the brock instances (5 of 6) were sampled non-uniformly based on some measures of uniformity using DLS-MC. All of the instances from the fol- 40 Chapter 4. Heuristic MAX-CLIQUE algorithms as samplers Sheet1 Page 1 0 0.25 5 7.5 10 12.5 15 17.5 20 22.5 25 27.5 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 EMP(n)/E(n) C u m u la ti v e  p ro b a b ili ty Figure 4.3: Cumulative probability distribution of 100 values of EMPN/E(n) induced by 100 experiments using DLS-MC for the instance brock200-4. Sheet1 Page 1 0 0.55 0.65 0.68 0.79 0.82 0.92 0.96 1.09 1.13 1.2 1.23 1.3 1.4 1.57 1.98 0 10 20 30 40 50 60 70 80 90 100 EMP(n)/E(n) C u m u la ti v e  p ro b a b ili ty Figure 4.4: Cumulative probability distribution of 100 values of EMPN/E(n) induced by 100 experiments using DLS-MC for the instance p-hat300 3. 41 Chapter 4. Heuristic MAX-CLIQUE algorithms as samplers lowing families of instances in Table 4.1 were sampled near-uniformly using DLS-MC based on any of the 3 measures of uniformity: hamming, john- son, p hat and DSJC. There does not seem to be a meaningful relationship between the number of solutions and the amount of uniformity. For exam- ple, instance brock200-1 with 2 solutions is sampled non-uniformly, but the instance hamming8-4 with 480 solutions is sampled very uniformly. The instance hamming6-2 with 2 solutions is sampled very uniformly, but the instance san200 0.9 3 with 50 solutions is sampled non-uniformly. There also did not seem to be a meaningful relationship between the number of edges and the amount of uniformity. For example, the instance hamming10- 2 with 518 656 edges is sampled very uniformly, while the instance c-fat200-2 with 3 235 edges is sampled non-uniformly. The instance johnson8-2-4 with 210 edges is sampled very uniformly, but the instance gen400 p0.9.75 with 71 820 edges is sampled non-uniformly. 4.4 The PLS algorithm Phased local search (PLS) [3] is a local search algorithm based on DLS- MC. Unlike DLS-MC, it does not have any parameter that its optimal value depends on the problem instances. As the target cliques of different graphs have different characteristics, various strategies are required to find them. A random selection may find cliques containing a combination of low, average and high degree vertices; a greedy selection method favoring high degree vertices is efficient for discovering cliques containing high degree vertices; and a greedy strategy based on penalty values may be used to report cliques with low degree vertices. PLS, as its name suggests, has three phases. Each of these phases uses one of the methods of selecting vertices described above. PLS starts with a random vertex of the given graph and enters its three phases in sequence repeatedly until either a clique of the target size is constructed or the max- imum number of selections is reached. Each of these phases is a series of steps to add vertices from the graph to the current clique when possible, followed by replacing a vertex (called a plateau vertex as it does not change the size of the current clique) from the graph with one of the vertices of the current clique until either no more addition of vertices to the current clique or replacement of vertices is possible (an iteration). At this point, a perturbation is performed and a new iteration is started. Two types of perturbations are performed depending on the phase that 42 Chapter 4. Heuristic MAX-CLIQUE algorithms as samplers Instance Target size pd # of solutions EMPN/E(n) normalized entropy INT 10 CPU(s)/solution 1 brock200 1 21 2 2 1.153±0.893 0.725  0.027 2 brock200 2 11 2 14 6.856±2.374 0.485  0.005 3 brock200 3 14 2 24 6.528±4.710 0.753 0.417 0.004 4 brock200 4 16 2 30 11.934±3.636 0.784 0.433 0.003 5 brock400 3 30 15 31 1.028±0.335 0.687 0.645 0.269 6 brock400 4 32 15 33 0.988±0.312 0.999 1.000 0.341 7 c-fat200-1 12 1 14 0.904±0.106 1.000 1.000  8 c-fat200-2 23 1 26 2.374±0.536 0.671 0.923 0.001 9 c-fat200-5 58 1 3 0.842±0.162 0.999 1.000  10 c-fat500-1 14 1 19 1.064±0.423 1.000 1.000 0.001 11 c-fat500-2 26 1 19 0.896±0.240 1.000 1.000 0.001 12 c-fat500-5 64 1 3 1.005±0.695 1.000 1.000 0.005 13 c-fat500-10 126 1 3 1.073±0.420 0.999 1.000 0.003 14 gen200 p0.9 44 44 1 4 0.835±0.344 0.981 1.000 0.002 15 gen200 p0.9 55 55 1 4 0.895±0.334 0.986 1.000 0.001 16 gen400 p0.9 65 64 1 71 8.961±4.138 0.775 0.915 0.004 17 gen400 p0.9 75 74 1 77 7.000±3.734 0.847 0.974 0.001 18 hamming6-2 32 5 2 0.707±0.157 1.000 1.000  19 hamming6-4 4 5 240 0.959±0.131 1.000 1.000  20 hamming8-4 16 5 480 0.978±0.144 0.999 1.000  21 hamming10-2 512 5 2 1.143±0.560 1.000 1.000 0.003 22 johnson8-2-4 4 5 105 0.876±0.067 1.000 1.000  23 johnson8-4-4 14 5 30 0.923±0.052 1.000 1.000  24 p hat1000-1 10 1 276 2.183±0.809 0.981 1.000 0.007 25 p hat1000-2 46 1 491 2.067±0.510 0.963 1.000 0.004 26 p hat300-1 8 1 13 1.116±0.464 0.974 1.000 0.001 27 p hat300-2 25 1 52 1.473±0.554 0.962 1.000  28 p hat300-3 36 1 10 0.985±0.714 0.963 1.000 0.001 29 p hat500-1 9 1 78 1.821±0.623 0.972 1.000 0.002 30 p hat500-2 36 1 14 1.232±0.449 0.982 1.000 0.001 31 p hat500-3 50 1 62 1.606±0.506 0.972 1.000 0.003 32 p hat700-1 11 1 2 1.063±0.423 0.999 1.000 0.032 33 p hat700-2 44 1 138 1.418±0.384 0.967 1.000 0.002 34 san200 0.7 1 29 2 30 1.176±0.448 0.992 1.000 0.009 35 san200 0.7 2 18 2 2 0.903±0.383 0.997 1.000 0.062 36 san200 0.9 1 69 2 70 2.065±0.955 0.925 1.000 0.001 37 san200 0.9 2 59 2 61 1.994±0.709 0.875 0.984  38 san200 0.9 3 43 2 50 6.011±3.235 0.797 0.960 0.002 39 san400 0.9 1 99 2 100 1.373±0.363 0.982 1.000 0.005 40 sanr200 0.7 18 2 13 1.096±0.446 0.963 1.000 0.003 41 sanr200 0.9 42 2 21 2.840±1.355 0.895 1.000 0.022 42 sanr400 0.5 13 2 4 0.883±0.433 0.987 1.000 0.064 43 sanr400 0.7 21 2 140 4.002±1.692 0.955 1.000 0.037 44 DSJC500.5 13 2 56 1.683±0.517 0.978 1.000 0.024 Table 4.1: Sampling performance of DLS-MC with pd values taken from [2]. The instances that are sampled non-uniformly with respect to some measures of uniformity are shown in bold. The values for which the instances are considered as non-uniform are also shown in bold. Any number < 0.001 is denoted by . Each value after ± represents the standard deviation from the value of EMPN/E(n). 43 Chapter 4. Heuristic MAX-CLIQUE algorithms as samplers PLS is performing. For the phase that the selection of vertices is random and also for the phase that its selection of vertices is greedy favoring the high degree vertices, the perturbation technique selects a vertex v uniformly at random from the graph, adds it to the current clique and removes all of the vertices of the current clique that are not connected to v. For the phase that the selection of vertices is based on penalty values favoring low degree vertices, the perturbation mechanism reduces the current clique to a vertex selected uniformly at random from the graph. In the next section we will present the result of sampling the 44 DIMACS MAX-CLIQUE graphs used in this thesis (listed in Appendix A), using PLS. 4.5 Sampling performance of PLS In this section we present the sampling performance of PLS on 44 of 80 DIMACS MAX-CLIQUE instances (see Table 4.2). These 44 instances are the same as those used for DLS-MC. The experiment was performed on the same platform as that in Section 4.2. PLS has four parameters: the name of a file containing the input graph in DIMACS format, the number of trials, maximum number of selection of vertices, and the target clique size. The number of times PLS samples a target clique (i.e. number of tri- als) is again 50 000 as was used for DLS-MC. For the maximum number of selections, we use the default value used by Pullan which is 100 000 000 [3]. We use the three uniformity measurement from Section 1.2 to assess the sampling performance of PLS. The thresholds of these measures for distinguishing between the near-uniform and bias instances are the same as the thresholds used in Section 4.3. PLS sampled 11 of the 44 DIMACS MAX-CLIQUE instances (25% of them) non-uniformly based on normalized entropy and INT 10 measure- ments. The instances whose target cliques are sampled non-uniformly based on these two measurements are from the following family of graphs: brock, c-fat, gen, san, and sanr. Using EMPN/E(n) measurement with the threshold of 2.5, most of the 44 DIMACS MAX-CLIQUE graphs are sampled near-uniformly by PLS; however, 11 of the 44 DIMACS MAX-CLIQUE instances (25% of them) in Table 4.2 are sampled non-uniformly. Each value after ± in Table 4.2 repre- sents the standard deviation from the value of EMPN/E(n). The instances whose target cliques are sampled non-uniformly based on this measurement are from the following family of graphs: brock, c-fat, gen, san, and sanr. 44 Chapter 4. Heuristic MAX-CLIQUE algorithms as samplers PLS was able to sample near-uniformly two of the instances that were sampled non-uniformly by DLS-MC with default pd values taken from [2]. The instances that were sampled near-uniformly by PLS but not DLS- MC are brock400 3 and sanr200 0.9. On the other hand, PLS sampled san200 0.9 1 non-uniformly, while it was sampled near-uniformly using DLS- MC. For the other instances, DLS-MC sampled them near-uniformly if and only if PLS did so. PLS sampled the instances brock200 1, brock200 2, brock200 3, brock200 4 and san200 0.9 3 with more bias than DLS-MC with respect to all 3 mea- sures of uniformity. The instance c-fat200-2 was almost sampled by PLS with the same bias as DLS-MC but its value of EMPN/E(n) exceeded the threshold of 2.5. PLS sampled instances gen400 p0.9 65, gen400 p0.9 75 and sanr400 0.7 with almost the same bias as DLS-MC. PLS sampled instance san200 0.9 2 with more bias with respect to all of the measurements, and the values of EMPN/E(n) and normalized entropy passed their thresholds. PLS sampled the instance sanr400 0.5 non-uniformly with respect to normalized entropy and INT 10, while DLS-MC sampled it near-uniformly. The instances that were sampled non-uniformly using PLS based on some of the measures of uniformity are from the following 5 families of DIMACS MAX-CLIQUE instances: brock, c-fat, gen, san and sanr. Most of the brock instances (4 of 6) were sampled non-uniformly using PLS based on some measures of uniformity. All of the instances from the following families of instances in Table 4.2 were sampled near-uniformly using PLS based on any of the 3 measures of uniformity: hamming, johnson, p hat and DSJC. There does not seem to be a meaningful relationship between the number of solutions and the amount of uniformity. For example, instance brock200- 1 with 2 solutions is sampled non-uniformly, but the instance hamming8-4 with 480 solutions is sampled very uniformly. The instance hamming6-2 with 2 solutions is sampled very uniformly, but the instance san200 0.9 3 with 17 910 edges is sampled non-uniformly. There also did not seem to be a meaningful relationship between the number of edges and the amount of uniformity. For example, the instance hamming10-2 with 518 656 edges is sampled very uniformly, while the instance c-fat200-2 with 3 235 edges is sampled non-uniformly. The instance johnson8-2-4 with 210 edges is sampled very uniformly, but the instance gen400 p0.9.75 with 71 820 edges is sampled non-uniformly. 45 Chapter 4. Heuristic MAX-CLIQUE algorithms as samplers 4.6 Conclusion In this chapter we used two of the state-of-the-art heuristic MAX-CLIQUE algorithms to sample the target cliques of some of the DIMACS MAX- CLIQUE instances. Many of these instances were sampled near-uniformly by both of these samplers. There was one instance, san200 0.9 1, that was sampled near-uniformly using DLS-MC but not PLS. On the other hand, there were two instances that were sampled near-uniformly using PLS but not DLS-MC. For the other instances, DLS-MC sampled them near-uniformly if and only if PLS did so. As mentioned in Section 4.4, the instances brock200 1, brock200 2, brock200 3, brock200 4 and san200 0.9 3 were sampled using PLS with more bias than DLS-MC with respect to all 3 measures of uniformity. PLS sampled the instance c-fat200-2 with almost the same bias as DLS- MC but its value of EMPN/E(n) exceeded the threshold of 2.5. The instances gen400 p0.9 65, gen400 p0.9 75 and sanr400 0.7 were sam- pled using PLS with almost the same bias as DLS-MC. The instance san200 0.9 2 was sampled with more bias using PLS with respect to all of the measurements, and the values of EMPN/E(n) and normalized entropy passed their thresholds. The instance sanr400 0.5 was sampled non-uniformly using PLS with respect to normalized entropy and INT 10, while DLS-MC sampled it near- uniformly. An advantage of PLS is that it requires no adjustment of parameters depending on the problem instances. On the other hand, an advantage of DLS-MC is that by changing the values of its parameters more insights can be gained on why these algorithms sample near-uniformly to propose new ways to improve their sampling performance. In Chapter 5 we will sample near-uniformly the 12 instances that were sampled non-uniformly in Table 4.1 by adjusting the value of pd and also by using a method that performs Monte-Carlo steps. 46 Chapter 4. Heuristic MAX-CLIQUE algorithms as samplers Instance Target size # of solutions EMPN/E(n) normalized entropy INT 10 CPU(s)/solution 1 brock200 1 21 2 5.047±5.310 0.241  0.008 2 brock200 2 11 14 9.989±3.401 0.427  0.006 3 brock200 3 14 24 14.312±5.616 0.715 0.375 0.003 4 brock200 4 16 30 28.708±12.759 0.740 0.433 0.002 5 brock400 3 30 31 1.139±0.317 0.978 1.000 0.367 6 brock400 4 32 33 1.091±0.348 0.989 1.000 0.225 7 c-fat200-1 12 14 1.099±0.221 1.000 1.000  8 c-fat200-2 23 26 2.547±0.714 0.674 0.923 0.001 9 c-fat200-5 58 3 1.120±0.295 0.999 1.000  10 c-fat500-10 126 3 0.878±0.224 1.000 1.000 0.003 11 c-fat500-1 14 19 0.962±0.278 1.000 1.000 0.001 12 c-fat500-2 26 19 0.837±0.277 1.000 1.000 0.001 13 c-fat500-5 64 3 0.795±0.382 1.000 1.000 0.004 14 gen200 p0.9 44 44 4 1.058±0.313 0.986 1.000 0.003 15 gen200 p0.9 55 55 4 1.045±0.282 0.986 1.000  16 gen400 p0.9 65 64 71 8.285±3.845 0.785 0.887 0.004 17 gen400 p0.9 75 74 77 6.994±5.256 0.849 0.974 0.001 18 hamming10-2 512 2 0.977±0.430 1.000 1.000 0.005 19 hamming6-2 32 2 1.103±0.593 1.000 1.000  20 hamming6-4 4 240 0.953±0.187 1.000 1.000  21 hamming8-4 16 480 0.968±0.192 0.999 1.000  22 johnson8-2-4 4 105 0.852±0.127 1.000 1.000  23 johnson8-4-4 14 30 0.942±0.942 1.000 1.000  24 p hat1000-1 10 276 2.017±0.651 0.983 1.000 0.008 25 p hat1000-2 46 491 1.904±0.464 0.964 1.000 0.008 26 p hat300-1 8 13 1.123±0.468 0.977 1.000 0.001 27 p hat300-2 25 52 1.434±0.465 0.963 1.000  28 p hat300-3 36 10 1.043±0.397 0.971 1.000 0.002 29 p hat500-1 9 78 1.961±0.789 0.973 1.000 0.002 30 p hat500-2 36 14 1.041±0.340 0.980 1.000 0.001 31 p hat500-3 50 62 1.970±0.673 0.949 1.000 0.009 32 p hat700-1 11 2 0.873±0.873 0.996 1.000 0.027 33 p hat700-2 44 138 1.409±0.429 0.971 1.000 0.002 34 san200 0.7 1 29 30 1.147±0.496 0.984 1.000 0.004 35 san200 0.7 2 18 2 0.923±0.387 0.998 1.000 0.034 36 san200 0.9 1 69 70 9.918±3.434 0.854 0.900 0.001 37 san200 0.9 2 59 61 5.204±3.099 0.841 0.984 0.001 38 san200 0.9 3 43 50 7.841±3.946 0.784 0.920 0.002 39 san400 0.9 1 99 100 1.569±0.542 0.976 1.000 0.005 40 sanr200 0.7 18 13 1.080±0.451 0.981 1.000 0.002 41 sanr200 0.9 42 21 1.315±0.423 0.964 1.000 0.013 42 sanr400 0.5 13 4 1.694±1.897 0.839 0.500 0.018 43 sanr400 0.7 21 140 3.995±1.483 0.946 1.000 0.016 44 DSJC500.5 13 56 1.854±0.704 0.953 1.000 0.017 Table 4.2: Sampling performance of PLS. The instances that are sampled non-uniformly with respect to some measures of uniformity are shown in bold. The values for which the instances are considered as non-uniform are also shown in bold. Any number < 0.001 is denoted by . Each value after ± represents the standard deviation from the value of EMPN/E(n). 47 Chapter 5 Improvements to DLS-MC Graphs with different structures may require different methods of sampling to sample their target cliques near-uniformly. As shown in Section 4.3 of Chapter 4, DLS-MC with the original pd values taken from [2] was not able to solve S-CLIQUE for some of the DIMACS MAX-CLIQUE instances. In this chapter we introduce some ways of sampling these instances more uniformly. These methods are based on adjustment of a parameter of DLS- MC and some modifications to the way DLS-MC selects a vertex. DLS-MC has various parameters. Some of these parameters may be adjusted for a better sampling performance. Its pd parameter was adjusted in [2] for finding large cliques quickly. We show in Section 5.2 that the target cliques of some of the instances are sampled more uniformly when pd values other than the ones used for searching for a target clique efficiently is used. A method inspired by SampleSat [31] is also used in Section 5.3 to sam- ple near-uniformly some of the DIMACS MAX-CLIQUE instances. This method integrates a Monte-Carlo procedure with DLS-MC. Using this method, cliques with some amount of overlap may be sampled more uniformly. This method also improves the uniformity of some of the instances. We also describe two methods that failed to provide any improvements to the sampling performance of DLS-MC, and consider some graphs that their structure does not seem to provide any useful information for improving the uniformity of the sampled solutions. 5.1 Sampling uniformly and graph structures As we will see, different values for the pd parameter affects the amount of uniformity of the distribution of sampled solutions induced by DLS-MC. In this section, we provide an explanation on the effect of pd, based on graph structures. A property of DLS-MC is that in order to construct a clique of size k it adds a vertex (if possible) to an already constructed clique of size k−1. We propose the following hypothesis based on this fact about DLS-MC. 48 Chapter 5. Improvements to DLS-MC c1 c2 Figure 5.1: Depiction of a graph with two maximum (target) cliques c1 and c2. Circles c1 and c2 represent the target cliques of the graph. Each circle represents a clique of size less than or equal to the cliques c1 and c2 that share some vertices with them. Hypothesis 1 Sum of sampling probabilities of a group of cliques of sizes smaller than k that are connected to a target clique of size k has a direct impact on the sampling probability of this target clique sampled using DLS- MC. The amount of overlap between a clique of size k and cliques of sizes less than k also determines how biased DLS-MC is towards the clique of size k. In order to simplify our analysis, we have empirically examined the re- lationship between cliques of target size k and cliques of size k − 1 rather than all of the cliques smaller than the target size. For instance, consider the depicted graph of Figure 5.1. In this instance, cliques c1 and c2 are the target cliques with sizes equal to k and the rest of cliques have sizes smaller than k. In a case that the sum of sampling probabilities of the cliques around c1 is almost the same as the sum of sampling probabilities of the cliques around c2, DLS-MC samples the clique c1 more often than c2 as there is a larger number of smaller cliques around c1. In the next subsection, we test our hypothesis on two of the DIMACS MAX-CLIQUE instances. 5.1.1 Testing Hypothesis 1 on DIMACS graphs In this subsection we use two of the DIMACS MAX-CLIQUE instances to test Hypothesis 1 from Section 5.1. The graphs chosen for this experiment are from the brock class of DI- MACS MAX-CLIQUE instances, namely, brock200-1 and brock200-2. We 49 Chapter 5. Improvements to DLS-MC chose these two instances because they were 2 of the 12 instances that were sampled non-uniformly by DLS-MC with default pd values taken from [2] as shown in Section 4.3. We will see later an analysis for two more of the brock instances. Instance brock200-1 has 200 vertices and 14 834 edges, the size of target cliques of brock200-1 is 21, and it has 2 distinct cliques (b1 and b2) of this size. The amount of overlap between a clique of size 21 and a clique of size 20 is calculated as the number of vertices of the clique of size 20 that are shared with the vertices of the clique of size 21 divided by 20. A clique c1 of size 20 is b1-favoring (i.e., c1 favors sampling of b1) if it has more overlap with clique b1 than the other clique of size 21, b2. In order to determine whether a clique c1 of size 20 has more overlap with b1, the difference of its amount of overlap with b1 from its amount of overlap with b2 is calculated (this difference is called b1-difference); if b1-difference is positive, c1 has more overlap with b1 and is therefore b1-favoring. Figure 5.2 illustrates this in the form of bar graphs. Each bar represents the number of cliques of size 20 of the instance brock200-1 for which their corresponding b1-differences fall within the range of numbers specified on the x axis. If the number of cliques of size 20 that are b1-favoring (positive b1-difference) are more than the number of cliques of size 20 that are b2-favoring (negative b1-difference), then DLS-MC samples b1 more often. For each clique of size 20, we calculated its value of b1-difference. As we can see from Figure 5.2 many of the differences are negative, which shows that the clique b1 has less amount of overlap with the cliques of size 20. In other words, most of the cliques of size 20 are b2-favoring. The first clique b1 of size 21 is connected to 184 of the 344 cliques of size 20. The other clique b2 of size 21 is highly connected to many (315) of the cliques of size 20. The sum of sampling probabilities of cliques of size 20 around b2 is larger than the sum of sampling probabilities of cliques of size 20 around b1, as the cliques of size 20 are sampled with almost equal probability (normalized entropy of 0.952) and there are more cliques of size 20 around b2. DLS-MC therefore samples the target clique b2 much more often (it is sampled with relative frequency of 0.798). The other instance that we used to test Hypothesis 1 is brock200-2. Instance brock200-2 has 200 vertices and 9 876 edges. Since brock200-2 has only 1 clique of its largest known size 12, the chosen target size for cliques of brock200-2 in this experiment is 11. Instance brock200-2 has 14 cliques of size 11. The cliques of size 11 form two groups. One group contains 12 cliques and the other one 2 cliques. In each group, the cliques share with each other 50 Chapter 5. Improvements to DLS-MC Sheet1 Page 1 -1 -0.9 -0.8 -0.7 -0.6 -0.5 -0.4 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 0 5 10 15 20 25 30 35 40 45 50 b1-differences N u m b e r o f c liq u e s  o f s iz e  2 0 Figure 5.2: Each bar represents the number of cliques of size 20 of the instance brock200-1 for which their corresponding b1-differences fall within the range of numbers specified on the x axis. For details, see text. 90% of their vertices, and between the two groups of cliques, the cliques share with each other only 9% of their vertices except one of the cliques in the group containing 12 cliques that is not connected to any of the two cliques in the other group of cliques. As shown in Section 4.3, DLS-MC samples the cliques in the group con- taining two 11-node cliques 87% of the times. Based on Figure 5.3, we provide one possible explanation on why DLS-MC is biased towards these two cliques of brock200-2. Since the cliques from each group share many of their vertices with each other (90%), we randomly picked one clique from each group as a representative. The amount of overlap between a clique of size 10 and a clique of size 11 is calculated as the number of vertices of the clique of size 10 that are shared with the clique of size 11 divided by 10. For each clique of size 10, we calculated which representative clique of size 11 has more overlap with it. We did so by first calculating the amounts of overlap between the cliques of size 10 and the clique r1 belonging to the cluster with two cliques. We then calculated the amount of overlap of each clique of size 10 and the clique r2 from the group containing 12 cliques. By subtracting the former from the latter, we can find out, r1-differences 51 Chapter 5. Improvements to DLS-MC Sheet1 Page 1 -1 -0.9 -0.8 -0.7 -0.6 -0.5 -0.4 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 0 5 10 15 20 25 30 35 40 45 50 55 60 65 70 75 80 r1-differences N u m b e r o f c liq u e s  o f s iz e  1 0 Figure 5.3: Each bar represents the number of cliques of size 20 of the instance brock200-1 for which their corresponding r1-differences fall within the range of numbers specified on the x axis. For details, see text. of the cliques of size 10. Each bar of Figure 5.3 represents the number of cliques of size 10 of the instance brock200-2 for which their corresponding r1-differences fall within the range of numbers specified on the x axis. If the number of cliques of size 10 that are r1-favoring (positive r1-difference) is more than the number of cliques of size 10 that are r2-favoring (negative r1-difference), then DLS-MC samples r1 more often. Figure 5.3 shows that most of the bars with positive values are higher than the bars with negative amounts of overlap. Bars with positive amounts of overlap express the number of cliques of size 10 that have more overlap with r1 (i.e., they are r1-favoring). The relative frequencies of the cliques of size 10 are almost equal (normalized entropy of 0.918). Since most of the cliques of size 10 are r1-favoring, the two cliques from the group of solution with representative clique r2 are sampled more often (the sum of the relative frequencies of these two cliques is 0.87). Among the cliques of brock200-2, there are some cliques of size 10 that do not overlap with any of the cliques of size 11. These types of cliques do not seem to affect the amount of uniformity among the cliques of size 11, but rather increase the time required for sampling a clique of size 11 by DLS-MC. 52 Chapter 5. Improvements to DLS-MC Bald Hairy Figure 5.4: A graph from the family of graphs SG with 4 hairs connected to one of its cliques of size 3. In the Subsection 5.1.3, we perform an experiment under controlled con- ditions on a graph introduced in Subsection 5.1.2 to show an example of cliques of sizes smaller than the target cliques that do not bias the solver towards any of the target cliques. 5.1.2 Testing Hypothesis 1 using a family of small instances In order to perform a more controlled experiment, we created a family of small graphs, SG, to test Hypothesis 1. The backbone of SG graphs has two cliques of size 3 that are connected to each other by a bridge of ten edges and one of the cliques of size 3 (called Hairy) has extra edges (called hairs) attached to its vertices. The other clique of size 3 (called Bald) has no hair attached to it (see Figure 5.4). Figure 5.5 shows that as we increase the number of hairs (i.e. cliques of size 2) connected to Hairy, the normalized entropy of the solutions decreases that is DLS-MC becomes biased towards Hairy. We translated SG with the least entropy (i.e. when 60 hairs were con- nected to Hairy) to a SAT instance (with 304 variables and 2 774 clauses) using the encoding described in Section 3.1. This experiment was performed on the same platform as that in Section 4.2. The result of Table 5.1 is based on 1 000 runs of XORSample procedure. The average length of XOR clauses was 40. XORSample sampled Hairy and Bald very uniformly as shown in Table 5.1. One reason that this amount of uniformity is reached is that the structure of this instance is lost after the translation to SAT. 53 Chapter 5. Improvements to DLS-MC Sheet2 Page 2 0 10 20 30 40 50 60 0.45 0.5 0.55 0.6 0.65 0.7 0.75 0.8 0.85 0.9 0.95 1 Number of hairs R e la ti v e  e n tr o p y Figure 5.5: The effect of increasing the number of hairs connected to the vertices of Hairy on the amount of uniformity of the sampled target cliques. As the number of hairs increases, the normalized entropy decreases. Instance Target size # of target cliques EMPN/E(n) normalized entropy INT 10 CPU(s)/solution SG with 60 hairs 3 2 1.040 0.999 1.000 1.501 Table 5.1: The result of sampling the solutions of SG with 60 hairs attached to Hairy using XORSample. The length of XOR clauses is 40. 54 Chapter 5. Improvements to DLS-MC 5.1.3 Not all cliques of size k − 1 have effect on the amount of uniformity In this subsection, we show an example of cliques of sizes smaller than the target cliques that do not bias the solver towards any of the target cliques. The cliques of size k − 1 in this example do not share any of their vertices with the target cliques, and are located in equal distance from both of the target cliques. For this experiment, we used the graph SG with 60 hairs from the previous subsection. This experiment was performed on the same platform as that in Section 4.2. DLS-MC samples the target cliques, Hairy and Bald, of this instance non-uniformly with relative frequencies of 0.85 and 0.15, respectively. The average time required to sample each target clique was 0.0001 CPU second. We added a string of 10 edges to the vertex that is located exactly in the center of the bridge between Hairy and Bald to create a new instance, and attached in two stages 200 vertices to the vertex at the tip of this branch (see Figure 5.6). After adding 100 vertices to the tip of the branch, the relative frequencies of these two target cliques stayed almost unchanged (0.88 and 0.12) but the average time required to sample each solution increased to 0.0024 CPU seconds. When we attached another 100 vertices to the vertex at the tip of the branch, again the change in the relative frequencies was negligible (0.853 and 0.147) and the average time to sample each target clique increased again (0.01283 CPU seconds). 5.1.4 Modifying a DIMACS MAX-CLIQUE instance, p hat700-1, to test Hypothesis 1 We also made some modifications to one of the DIMACS MAX-CLIQUE instances, p hat700-1, in order to test Hypothesis 1 described in Section 5.1. Instance p hat700-1 has 700 vertices and 60 999 edges. The target (optimal) clique size of p hat700-1 is 11, and it has 2 cliques of this size. The experiments of this section were performed on the same platform as that in Section 4.2. DLS-MC samples the two cliques of size 11 of p hat700-1 uniformly (with normalized entropy of 1 as shown in Table 4.1). We manually added cliques of size 10 (i.e. target size minus 1) to only one of the two target cliques of p hat700-1. In order to add a clique of size 10 to a clique of size 11, a new vertex is added to the graph and then this vertex is connected to 9 of the vertices of the clique of size 11. It is interesting to know that the two target cliques of instance p hat700-1 differ only by a single vertex. Therefore, 55 Chapter 5. Improvements to DLS-MC 8 ... ... Bald Hairy t 1 1 200 1 60 Figure 5.6: Impact of cliques of sizes smaller than the target size that are not connected to any of the target cliques on the amount of uniformity of sampled target cliques. There are 60 vertices connected to Hairy, and there are 200 vertices connected to the vertex with the label t. 56 Chapter 5. Improvements to DLS-MC Sheet1 Page 2 6 7 0.77 0.8 0.23 0.21 0 1 2 3 4 5 6 7 0.2 0.25 0.3 0.35 0.4 0.45 0.5 0.55 0.6 0.65 0.7 0.75 0.8 Number of newly added cliques of size 10 R e la ti v e  f re q u e n c y Figure 5.7: Impact of increasing the number of cliques of sizes smaller than the target cliques connected to one of the target cliques on the amount of uniformity of the sampled solutions. The pink line shows the trend of changes in the relative frequency of the target clique as cliques of size 10 are being attached to it. The grey line shows the corresponding changes in the relative frequency of the other clique of size 11 as cliques of size 10 are being attached to the other cliuqe. connecting a new vertex to 9 of the vertices of one of the two target cliques, connects 8 vertices of the other target clique to this vertex as well. Seven cliques of size 10 are added one by one in 7 different experiments. Figure 5.7 shows that as we increase the number of cliques of size 10 that are connected to only one of the two cliques of size 11 of p hat700-1, DLS-MC samples that target clique more often (pink line). This shows that as the sum of relative frequencies of the cliques around one of the two target cliques increases (by increasing their numbers), the probability of sampling that target clique increases. 57 Chapter 5. Improvements to DLS-MC 5.2 Sampling uniformly and pd The pd parameter of DLS-MC specifies how often all of the non-zero penalty values are decreased by 1 to avoid high penalty values and allow DLS-MC to ‘forget’ penalty values over time (see Section 4.1). Pullan and Hoos showed that pd can be adjusted for a faster search by DLS-MC [2]. They also showed that pd provides a mechanism for focusing on lower degree vertices [2]. This section examines the effect of pd on the sampling uniformity achieved by DLS-MC. The penalty values are updated if the current clique can not be extended to a larger clique or be replaced with a clique of the same size (i.e. no iterative improvement or plateau search is possible) (see Section 4.1 for more details). Any other cliques to which those vertices belong may now also be sampled less often. A pd value > 1 leads to reduction of penalty values every pd update cycle when the algorithm parameter of DLS-MC is 3. This mechanism can provide a way of preventing the reconstruction of the target cliques that are sampled frequently, for some pd update cycles. For the graphs such as the depicted graph of Figure 5.1, a pd value > 1 may improve the amount uniformity compared to when a pd equal to 1 is used. For an example see the sampling result of the instance gen400 p0.9 75 with pd value 1 in Table 5.4 and compare it with its sampling result from Table 4.1 with pd equals to 5. On the other hand, in some cases a better sampling performance requires the value of pd to be equal to 1 (i.e. no penalization), as in these cases increasing the penalty values associated with the vertices of some cliques in a set of uniformly sampled cliques causes DLS-MC to become biased towards some of the cliques whose penalty values are less (for an example, see instance brock400-3 in Table 5.4 and compare it with the result of Table 4.1 shown in Table 5.4 in parentheses). We believe that if target cliques of a graph are sampled non-uniformly using DLS-MC with pd = 1, using pd values > 1 DLS-MC may give a chance to the less frequently sampled target cliques to be sampled more often. On the other hand, if target cliques of a graph are sampled non-uniformly by DLS-MC with a pd value > 1, using pd = 1 we may be able to eliminate this bias. A good value for pd to sample the target cliques of a graph near-uniformly may be estimated after m independent runs of DLS-MC. The value of m depends on the number of target cliques in the graph. The value of m could be much smaller than the number of runs that would be required to get a 58 Chapter 5. Improvements to DLS-MC good approximation of the distribution of the sampled target cliques using the chosen pd value. Depending on graph structures different pd values may affect the amount of uniformity. For the graphs in which the sum of sampling relative frequen- cies of each group of cliques of sizes smaller than the target size that are connected to the target cliques is almost equal, a pd value equal to 1 may be the best. For other types of graphs it may be the best to try pd values > 1 if possible. If a set of k-CLIQUE graphs is available with information about their structures, it is possible to determine whether a pd equal to 1 can be used for sampling near-uniformly of their target cliques without further search for an appropriate value of pd. We first examine the effect of different pd values on the sampling perfor- mance of DLS-MC for the instances from Subsections 5.1.2 and 5.1.4. The first instance from Subsection 5.1.2 is the one with 60 hairs with two target cliques of size 3 (see Figure 5.4) and the instance from Subsection 5.1.4 is p hat700-1 with 7 new cliques of size 10 attached to one of its two target cliques of size 11. The experiments of this section are performed on the same platform as that in Section 4.2. DLS-MC with pd values from 2 to 10 did not provide any significant improvement for the uniformity of the sampled solutions with respect to any of the 3 measures of uniformity (see Tables 5.2 and 5.3). The number of times a target clique of the instance with 60 hairs is sampled is 1 000 and the number of times a target clique of the other instance is sampled is 50 000. The reason the instance from Subsection 5.1.2 is not sampled more uni- formly with pd values > 1 is because after each hair is constructed, using one single plateau step, one of the edges of the target clique attached to the hair is reached and therefore there would be no adjustment of penalty values in practice for this instance. In a similar case after constructing one of the edges of the bridge between the two target cliques by performing a series of plateau steps one of the edges of the target cliques is reached and therefore again no adjustment of penalty values is possible. The reason the modified instance p hat700-1 from Subsection 5.1.4 is not sampled more uniformly with pd values > 1 is that its two target cliques share all of their vertices except 1 and consequently increasing the penalty values of the vertices of the more frequently sampled target clique leads to increasing the penalty values of the vertices of the other clique. In order to see the effect of different pd values on the amount of uni- formity, we also used the 12 DIMACS MAX-CLIQUE instances that were 59 Chapter 5. Improvements to DLS-MC pd EMPN/E(n) normalized entropy INT 10 CPU(s)/solution 1 3.167±2.500 0.529 1.000 0.000 2 6.547±4.506 0.491 1.000 0.000 3 5.180±2.276 0.472 1.000 0.000 4 2.057±0.291 0.430 1.000 0.000 5 2.813±0.640 0.526 1.000 0.000 6 1.817±0.756 0.456 1.000 0.000 7 1.347±0.333 0.491 1.000 0.000 8 5.970±3.176 0.512 1.000 0.000 9 8.933±3.083 0.453 1.000 0.000 10 3.563±1.085 0.485 1.000 0.000 Table 5.2: Sampling performance of DLS-MC with various pd values for the instance with 60 hairs from Subsection 5.1.2. pd EMPN/E(n) normalized entropy INT 10 CPU(s)/solution 1 1.213±0.788 0.745 0.000 0.015 2 1.740±1.240 0.741 0.000 0.015 3 1.233±1.086 0.740 0.000 0.015 4 1.707±2.021 0.740 0.000 0.015 5 1.297±0.975 0.729 0.000 0.015 6 1.520±1.501 0.733 0.000 0.015 7 1.737±1.326 0.731 0.000 0.015 8 1.453±0.808 0.728 0.000 0.015 9 1.520±1.138 0.715 0.000 0.016 10 1.303±0.827 0.718 0.000 0.016 Table 5.3: Sampling performance of DLS-MC with various pd values for the modified p hat700-1 instance with 7 new cliques of size 10 from Subsection 5.1.4. 60 Chapter 5. Improvements to DLS-MC marked as the instances whose target cliques were sampled non-uniformly in Table 4.1. The total number of times a target clique is sampled by DLS-MC is 50 000. For each of these instances we tried the following pd values 1, 5, 10, 15, 20, 25, 30, 35, 40, 45 and 50 for 500 runs of DLS-MC, and picked the pd that improved the value of normalized entropy the most. This value of pd can be used for further near-uniform sampling of the instance. We also calculated the value of EMPN/E(n) 10 times for each of these 12 instances with these different pd values to find some of the promising pd values. For the values of pd that we suspected to result in a better sampling with respect to EMPN/E(n), we calculated the value of EMPN/E(n) 100 times and took their average. It is possible to have a pd value that improves the amount of uniformity with respect to normalized entropy, but decreases the amount of uniformity with respect to EMPN/E(n). For example, the value of normalized entropy for the instance brock200-2 with pd = 2 is 0.485 and with pd = 40 is 0.613, but the amount of uniformity with respect to EMPN/E(n) with pd = 2 is 6.856 and with pd = 40 equals 15.943. If the time required for DLS-MC to sample a target clique with one of these pd values is more than 1 CPU seconds, we chose not to use that pd value as a large number of samples (50 000) should be performed. All of the results in this section are compared with the results of Table 4.1. Table 4.1 represents the sampling performance DLS-MC with the original pd values taken from [2] on the 44 DIMACS MAX-CLIQUE instances used in this thesis. The result of Table 4.1 for each of these 12 instances is shown in parenthesis in front of each result of Table 5.4. The target cliques of instance brock200-1 are sampled much more uni- formly than when pd was 2. The value of normalized entropy went from 0.725 to 0.996, and the value of INT 10 went from  to 1. The value of EMPN/E(n) stayed almost as good as before. The distribution of the target cliques of instance brock200-2 induced by DLS-MC with pd = 25 is more uniform than before with respect to two of the measurements. The values of normalized entropy and INT 10 went from 0.485 to 0.603 and from  to 1 respectively; however, its EMPN/E(n) went from 6.856 to 15.943 and its standard deviation increased as well. The reason instance brock200-2 is sampled with more bias with respect to one of the measures of uniformity could be because EMPN/E(n) is mea- suring a property of DLS-MC not necessarily compatible with normalized entropy (see Section 1.2). For the instance brock200-3, we again have improvement with respect 61 Chapter 5. Improvements to DLS-MC to normalized entropy and INT 10. The value of normalized entropy went from 0.753 to 0.876 and the value of INT 10 went from 0.417 to 0.875. Its target cliques are sampled more biased with respect to EMPN/E(n). Its value of EMPN/E(n) went from 6.528 to 8.14. Instance brock200-4 was also sampled more uniformly with respect to two of the measurements using a pd equals to 30. The value of normalized entropy went from 0.784 to 0.821 and the value of INT 10 went from 0.433 to 0.633; however, the value of EMPN/E(n) went from 11.934 to 20.366. The time required to sample each target clique was much more than before (it went from 0.003 to 0.774). Instance brock400 3 was sampled much more uniformly with respect to two of the measurements. Its normalized entropy went from 0.687 to 0.998, the values of INT 10 went from 0.645 to 1. The value of EMPN/E(n) stayed almost as 1. The time required on average to sample a target clique increased from 0.275 to 0.736. The instance gen400 p0.9 75 is sampled more uniformly with respect EMPN/E(n) and INT 10. Its value of EMPN/E(n) went from 7 to 3.929 and the value of INT 10 went from 0.974 to 1. Its normalized entropy also was improved (it went from 0.847 to 0.860). Instance san200 0.9 2 was also sampled more uniformly with respect to two of the measurements. Its normalized entropy went from 0.875 to 0.897 and its value of INT 10 went from 0.984 to 1. The improvements again are not large enough to be considered as significant. Its value of EMPN/E(n) stayed almost as 2. Instance san200 0.9 3 was sampled more uniformly with respect to EMPN/E(n). Its value of EMPN/E(n) went from 6.011 to 5.137. It was also sampled as uniformly as before with respect to the other measurements of uniformity. Instance sanr200 0.9 was sampled more uniformly with respect to two of the measurements. Its value of EMPN/E(n) went from 2.84 to 1.317 and its normalized entropy went from 0.895 to 0.966. The value of INT 10 stayed as 1. We could not find a value for the pd parameter to significantly improve the amount of uniformity with respect to any of measurements for the follow- ing instances: c-fat200-2, gen400 p0.9 65, san200 0.9 3 and sanr400 0.7. We noted that the value of normalized entropy as a function of pd has a unimodal graph (ignoring little perturbations that are due to randomization) for all the DIMACS MAX-CLIQUE instances presented in Table 4.1 that is - after the entropy starts to decrease it does not increase any more (see Figures 5.8, 5.9 and 5.10). When pd value becomes large the penalty values do not decrease very often; therefore, the number of cliques that can not be 62 Chapter 5. Improvements to DLS-MC Instance Target size pd # of solutions EMPN/E(n) normalized entropy INT 10 CPU(s)/solution 1 brock200 1 21 5 (2) 2 0.893±0.329 (1.153±0.893) 0.996 (0.725) 1.000 () 0.041 (0.027) 2 brock200 2 11 40 (2) 14 15.943±9.778 (6.856±2.374) 0.613 (0.485) 0.500 () 0.006 (0.005) 3 brock200 3 14 30 (2) 24 8.140±6.411 (6.528±4.710) 0.876 (0.753) 0.875 (0.417) 0.003 (0.004) 4 brock200 4 16 30 (2) 30 20.366±12.784 (11.934±3.636) 0.821 (0.784) 0.633 (0.433) 0.774 (0.003) 5 brock400 3 30 1 (15) 31 1.020±0.296 (1.028±0.335) 0.998 (0.687) 1.000 (0.645) 0.736 ( 0.269) 6 c-fat200-2 23 25 (1) 26 2.394±0.772 (2.374±0.536) 0.706 (0.671) 0.923 (0.923)  ( 0.001) 7 gen400 p0.9 65 64 5 (1) 71 17.537±17.595 (8.961±4.138) 0.811 (0.775) 0.944 (0.915) 0.008 (0.004) 8 gen400 p0.9 75 74 5 (1) 77 3.929±1.821 (7.000±3.734) 0.860 (0.847) 1.000 (0.974) 0.002 (0.001) 9 san200 0.9 2 59 15 (2) 61 2.136±0.772 (1.994±0.709) 0.897 (0.875) 1.000 (0.984)  () 10 san200 0.9 3 43 5 (2) 50 5.137±2.341 (6.011±3.235) 0.803 (0.797) 0.980 (0.960) 0.002 (0.002) 11 sanr200 0.9 42 1 (2) 21 1.317±0.529 (2.840±1.355) 0.966 ( 0.895) 1.000 (1.000) 0.012 (0.022) 12 sanr400 0.7 21 1 (2) 140 3.766±1.932 (4.002±1.692) 0.955 (0.955) 1.000 (1.000) 0.034 (0.037) Table 5.4: Sampling performance of DLS-MC with the best pd value with respect to normalized entropy and EMPN/E(n) from the following pd val- ues 1, 5, 10, 15, 20, 25, 30, 35, 40, 45 and 50. The values in parenthesis are the result of sampling the solutions taken from Table 4.1, with a pd value that minimizes the time required to sample each target clique. sampled by DLS-MC increases which leads to a decrease in entropy. Three different cases occur as the value of pd changes: 1. The normalized entropy increases to reach a global maximum and then starts to decrease as the value of pd continues to increase (see Figure 5.8 for an example). 2. The normalized entropy decreases as the pd value increases (see Figure 5.9 for an example). 3. The normalized entropy does not change significantly after some pd value (see Figure 5.10 for an example). Overall, DLS-MC with the chosen pd values other than the ones from Table 4.1 sampled 61% of these 12 instances more uniformly with respect to some measures of uniformity emphasized in bold in Table 5.4. The time required for this approach only increased noticeably for one of the instances (258 times), but for the rest of the instances the change was negligible (less than 2.8 times) if any. This approach of adjusting the pd value does not always succeed to sample near-uniformly at low cost, since if we want to penalize the vertices 63 Chapter 5. Improvements to DLS-MC 0 2 4 6 8 10 12 14 16 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 pd value E n tr o p y brock200_1 Figure 5.8: The effect of changing the value of pd on the amount of entropy of the sampled solutions for the instance brock200 1. of a frequently sampled target clique to impede DLS-MC from reconstructing it again, the vertices of the low frequently sampled target cliques that share many of their vertices with this target clique are also penalized. 5.3 Sampling uniformly and the use of a Monte-Carlo procedure integrated with DLS-MC Some graphs have target cliques which are highly connected to each other. For these types of graphs, if DLS-MC with a pd > 1 is used, it results in decreasing the chance of sampling the cliques that are connected to a vertex with a penalty value higher than the penalty values of some other vertices. We need a method of sampling these connected cliques just before the penalty values are increased in order to have a chance to sample the cliques from other groups of target cliques after penalizing the vertices of this group of solutions. 64 Chapter 5. Improvements to DLS-MC Figure 5.9: The effect of changing the value of pd on the amount of entropy of the sampled solutions for the instance brock400 4. 65 Chapter 5. Improvements to DLS-MC Figure 5.10: The effect of changing the value of pd on the amount of entropy of the sampled solutions for the instance brock200 3. 66 Chapter 5. Improvements to DLS-MC As we can see from the following description of the Monte-Carlo pro- cedure, a target clique may not be reachable in a reasonable number of steps using either low or high temperatures, but with a low temperature. if a target clique is given it can search the neighborhood of this target clique efficiently. The sampling method proposed in this section is inspired by SampleSat [31]. We first let DLS-MC finds a target clique and then a Monte-Carlo method with low temperature is used to search the neighbor- hood of this clique. The Monte-Carlo procedure is described in details as follows. • It first constructs a set of all the vertices that are connected to at least 10% of the vertices of the sampled target clique by DLS-MC. This set is constructed only once and is updated whenever the current clique changes. The value of 10 is somewhat arbitrary. • Then a vertex is chosen uniformly at random from that set. – If the vertex is connected to all of the vertices of the current clique of size s, it will be added to the clique to construct a clique of size s+ 1. (This step is possible only if some other Monte-Carlo step(s) has/have already been performed.) – If the vertex is connected to s − 1 of the vertices of the current clique, the new vertex will be replaced by the only vertex that is not adjacent to it to build a new clique of size s. (This step is also possible if some other Monte-Carlo step(s) has/have already been performed.) – Otherwise (i.e., by adding the vertex, the current clique will be reduced to a smaller clique) the vertex is added to the clique with the following probability: Paccept(T, c, c′) := exp( f(c′)−f(c) T ), where T is a constant, called temperature, provided by the user, c is the old clique, c′ is the new clique, and the function f returns the size of a clique. Using low temperature, the current clique with high probability will be reduced to one of the cliques that have large amount of overlap with it. • At this point, any vertex in the graph that is not connected to the new clique is removed from the set of vertices constructed at the beginning of the Monte-Carlo method, and any vertex connected to the new added vertex that is not already in that set is added to the set. 67 Chapter 5. Improvements to DLS-MC Instance Target size Temperature # of selections # of solutions EMPN/E(n) normalized entropy INT 10 CPU(s)/run 1 brock200 1 21 2 14 091 2 1.043±0.485 (1.153±0.893) 0.765 (0.725)  () 0.027 (0.027) 2 brock200 2 11 10 11 857 14 6.787±2.665 (6.856±2.374) 0.483 (0.485)  () 0.014 (0.005) 3 brock200 3 14 4 21 802 24 6.193±2.435 (6.528±4.710) 0.757 (0.753) 0.375 (0.417) 0.011 (0.004) 4 brock200 4 16 7 30 508 30 12.047±3.964 (11.934±3.636) 0.784 (0.784) 0.433 (0.433) 0.010 (0.003) 5 brock400 3 30 3 74 758 31 4.217±1.706 (1.028±0.335) 0.730 (0.687) 0.935 (0.645) 0.271 ( 0.269) 6 c-fat200-2 23 3 - 26 1.491±0.522 (2.374±0.536) 0.727 (0.671) 0.923 (0.923) 0.004 ( 0.001) 7 gen400 p0.9 65 64 10 - 71 5.393±3.074 (8.961±4.138) 0.844 (0.775) 0.972 (0.915) 0.008 (0.004) 8 gen400 p0.9 75 74 10 - 77 2.492±1.009 (7.000±3.734) 0.830 (0.847) 1.000 (0.974) 0.003 (0.001) 9 san200 0.9 2 59 9 - 61 0.940±0.282 (1.994±0.709) 0.884 (0.875) 1.000 (0.984) 0.001 () 10 san200 0.9 3 43 7 - 50 1.142±0.455 (6.011±3.235) 0.880 (0.797) 1.000 (0.960) 0.003 (0.002) 11 sanr200 0.9 42 7 15 735 21 0.168±0.083 (2.840±1.355) 0.994 ( 0.895) 1.000 (1.000) 0.022 (0.022) 12 sanr400 0.7 21 2 8 475 140 0.440±0.122 (4.002±1.692) 0.994 (0.955) 1.000 (1.000) 0.022 (0.037) Table 5.5: Sampling performance of DLS-MC integrated with a Monte-Carlo procedure. The ‘# of selections’ is the average number of selections reported in [2], required for DLS-MC with the pd values in [2] to find a target clique. An experiment to investigate the sampling performance of this method of integrating a Monte-Carlo procedure with DLS-MC is as follows. The instances used for this experiment are the ones marked as being sampled non-uniformly in Table 4.1. Table 4.1 presents the sampling performance of DLS-MC with default pd values taken form [2] on some of DIMACS MAX- CLIQIUE instances. Temperature is a constant that needs to be specified as a parameter by the user. For the value of temperature we tried the values from 1, 2, ..., 10 for each of the instances and reported the one that improved the value of normalized entropy the most. This value of temperature can be used for further near-uniform sampling of the instance. The total number of times a target clique is sampled by DLS-MC is 50 000, and the number of times a Monte-Carlo step is performed is 1 000. As shown in the column ‘# of selections’ of Table 5.5 DLS-MC with the original pd values requires much higher than 1 000 selections to sample a target clique for most of these instances. The times reported in Table 5.5 are the times required for the 1 000 Monte-Carlo steps and a run of DLS-MC. All of the results in this section are compared with the results of Table 4.1. Perhaps EMPN/E(n) is the best measurement to show the sampling power of this method as many of the cliques in a neighborhood can be sampled by the Monte-Carlo procedure in a run. The empirical result presented in Table 5.5 shows that most of the instances are sampled more uniformly using this method of integrating a 68 Chapter 5. Improvements to DLS-MC Monte-Carlo procedure with DLS-MC when compared to the result of DLS- MC with the original pd values. The method introduced in this section that integrates a Monte-Carlo procedure with DLS-MC did not provide any improvement to uniformity of sampled target cliques from the instances of the brock family except for the instance brock400 3 with respect to two of the measurements. The normal- ized entropy of brock400 3 went from 0.687 to 0.730 and its value of INT 10 went from 0.645 to 0.935. As we already stated the result of this method is compared with the result of DLS-MC with the original pd values in Table 4.1. As the two target cliques of brock200-1 are not connected to each other this method can not provide any improvement to the distribution of the sampled target cliques. The instance brock200-2 also has a similar situation. It has two groups of solutions that are connected to each other by 9% of their vertices (for further details see Subsection 5.1.1). Here we use two more of the instances from the brock family of DIMACS MAX-CLIQUE graphs that were not sampled using the method that inte- grates a Monte-Carlo procedure with DLS-MC more uniformly than when they were sampled using DLS-MC with the original pd values. These two instances are brock200-3 and brock200-4. Table 5.6 contains a 24×24 matrix related to the instance brock200-3 with 24 target cliques. Each entry xi,j of this matrix (i.e. the entry from the ith row and the jth column) represents the number of vertices common between the clique i and the clique j of in- stance brock200-3 divided by the target clique size (14). The target cliques seems to be part of four groups. Cliques 1-7 are part of the first group, clique 8 forms a group by itself, cliques 9-11 and 13-24 are the third group, and clique 12 is also one group by itself. We can see from the matrix in Table 5.7 that the target cliques of instance brock200-4 can also be partitioned into four groups. Table 5.7 is a 30×30 matrix with each entry xi,j representing the number of vertices that are common between clique i and clique j of the instance brock200-4 divided by the target size (16). The four partition of the target cliques of brock200-4 are shown in bold in Table 5.7. The groups are: clique 1 by itself, cliques 2-5 form the second group, cliques 6-13 are the third group, and the cliques 14-30 are in one group. If a clique from any of these groups is sampled by DLS-MC, it is very likely that the Monte-Carlo procedure samples some cliques of the same group. This method of sampling cannot change the probability of reaching a group of target cliques as this is done by DLS-MC in the same manner as before. In this method as it was already explained, we first use DLS-MC 69 Chapter 5. Improvements to DLS-MC 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 1 1.00 0.93 0.93 0.86 0.86 0.86 0.79 0.07 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 2 0.93 1.00 0.86 0.86 0.93 0.93 0.86 0.07 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 3 0.93 0.86 1.00 0.93 0.93 0.79 0.86 0.07 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 4 0.86 0.86 0.93 1.00 0.93 0.79 0.86 0.07 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 5 0.86 0.93 0.93 0.93 1.00 0.86 0.93 0.07 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 6 0.86 0.93 0.79 0.79 0.86 1.00 0.93 0.07 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 7 0.79 0.86 0.86 0.86 0.93 0.93 1.00 0.07 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 8 0.07 0.07 0.07 0.07 0.07 0.07 0.07 1.00 0.07 0.07 0.07 0.07 0.07 0.07 0.07 0.07 0.07 0.07 0.07 0.00 0.07 0.07 0.07 0.07 9 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.07 1.00 0.93 0.93 0.07 0.93 0.93 0.93 0.93 0.93 0.93 0.93 0.93 0.93 0.93 0.93 0.93 10 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.07 0.93 1.00 0.93 0.07 0.93 0.93 0.93 0.93 0.93 0.93 0.93 0.93 0.93 0.93 0.93 0.93 11 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.07 0.93 0.93 1.00 0.07 0.93 0.93 0.93 0.93 0.93 0.93 0.93 0.93 0.93 0.93 0.93 0.93 12 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.07 0.07 0.07 0.07 1.00 0.07 0.07 0.07 0.07 0.07 0.07 0.07 0.07 0.07 0.07 0.07 0.00 13 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.07 0.93 0.93 0.93 0.07 1.00 0.93 0.93 0.93 0.93 0.93 0.93 0.93 0.93 0.93 0.93 0.93 14 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.07 0.93 0.93 0.93 0.07 0.93 1.00 0.93 0.93 0.93 0.93 0.93 0.93 0.93 0.93 0.93 0.93 15 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.07 0.93 0.93 0.93 0.07 0.93 0.93 1.00 0.93 0.93 0.93 0.93 0.93 0.93 0.93 0.93 0.93 16 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.07 0.93 0.93 0.93 0.07 0.93 0.93 0.93 1.00 0.93 0.93 0.93 0.93 0.93 0.93 0.93 0.93 17 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.07 0.93 0.93 0.93 0.07 0.93 0.93 0.93 0.93 1.00 0.93 0.93 0.93 0.93 0.93 0.93 0.93 18 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.07 0.93 0.93 0.93 0.07 0.93 0.93 0.93 0.93 0.93 1.00 0.93 0.93 0.93 0.93 0.93 0.93 19 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.07 0.93 0.93 0.93 0.07 0.93 0.93 0.93 0.93 0.93 0.93 1.00 0.93 0.93 0.93 0.93 0.93 20 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.93 0.93 0.93 0.07 0.93 0.93 0.93 0.93 0.93 0.93 0.93 1.00 0.93 0.93 0.93 0.93 21 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.07 0.93 0.93 0.93 0.07 0.93 0.93 0.93 0.93 0.93 0.93 0.93 0.93 1.00 0.93 0.93 0.93 22 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.07 0.93 0.93 0.93 0.07 0.93 0.93 0.93 0.93 0.93 0.93 0.93 0.93 0.93 1.00 0.93 0.93 23 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.07 0.93 0.93 0.93 0.07 0.93 0.93 0.93 0.93 0.93 0.93 0.93 0.93 0.93 0.93 1.00 0.93 24 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.07 0.93 0.93 0.93 0.00 0.93 0.93 0.93 0.93 0.93 0.93 0.93 0.93 0.93 0.93 0.93 1.00 Table 5.6: A matrix that represents the amount of connectivity among the solutions of brock200-3. Each row and column represent one of the cliques. 70 Chapter 5. Improvements to DLS-MC 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 1 1.00 0.19 0.19 0.19 0.19 0.06 0.06 0.06 0.12 0.12 0.00 0.00 0.12 0.06 0.06 0.06 0.06 0.06 0.06 0.06 0.06 0.06 0.06 0.00 0.06 0.06 0.06 0.06 0.06 0.06 2 0.19 1.00 0.94 0.88 0.94 0.12 0.12 0.12 0.12 0.12 0.06 0.06 0.12 0.12 0.12 0.12 0.12 0.12 0.12 0.12 0.12 0.12 0.12 0.06 0.12 0.06 0.12 0.12 0.12 0.12 3 0.19 0.94 1.00 0.94 0.88 0.12 0.12 0.12 0.12 0.12 0.06 0.06 0.12 0.19 0.19 0.19 0.19 0.19 0.19 0.19 0.19 0.12 0.19 0.12 0.19 0.12 0.19 0.19 0.19 0.19 4 0.19 0.88 0.94 1.00 0.94 0.12 0.12 0.12 0.12 0.12 0.06 0.06 0.12 0.19 0.19 0.19 0.19 0.19 0.19 0.19 0.19 0.12 0.19 0.12 0.19 0.12 0.19 0.19 0.19 0.19 5 0.19 0.94 0.88 0.94 1.00 0.12 0.12 0.12 0.12 0.12 0.06 0.06 0.12 0.12 0.12 0.12 0.12 0.12 0.12 0.12 0.12 0.12 0.12 0.06 0.12 0.06 0.12 0.12 0.12 0.12 6 0.06 0.12 0.12 0.12 0.12 1.00 0.94 0.88 0.81 0.88 0.44 0.38 0.56 0.06 0.06 0.06 0.06 0.06 0.06 0.06 0.06 0.06 0.06 0.06 0.06 0.06 0.06 0.00 0.06 0.06 7 0.06 0.12 0.12 0.12 0.12 0.94 1.00 0.94 0.88 0.94 0.50 0.44 0.62 0.06 0.06 0.06 0.06 0.06 0.06 0.06 0.06 0.06 0.06 0.06 0.06 0.06 0.06 0.00 0.06 0.06 8 0.06 0.12 0.12 0.12 0.12 0.88 0.94 1.00 0.94 0.88 0.56 0.50 0.69 0.06 0.06 0.06 0.06 0.06 0.06 0.06 0.06 0.06 0.06 0.06 0.06 0.06 0.06 0.00 0.06 0.06 9 0.12 0.12 0.12 0.12 0.12 0.81 0.88 0.94 1.00 0.94 0.50 0.50 0.62 0.06 0.06 0.06 0.06 0.06 0.06 0.06 0.06 0.06 0.06 0.06 0.06 0.06 0.06 0.00 0.06 0.06 10 0.12 0.12 0.12 0.12 0.12 0.88 0.94 0.88 0.94 1.00 0.44 0.44 0.56 0.06 0.06 0.06 0.06 0.06 0.06 0.06 0.06 0.06 0.06 0.06 0.06 0.06 0.06 0.00 0.06 0.06 11 0.00 0.06 0.06 0.06 0.06 0.44 0.50 0.56 0.50 0.44 1.00 0.94 0.62 0.06 0.06 0.06 0.00 0.06 0.06 0.06 0.06 0.06 0.06 0.06 0.06 0.06 0.06 0.06 0.06 0.06 12 0.00 0.06 0.06 0.06 0.06 0.38 0.44 0.50 0.50 0.44 0.94 1.00 0.56 0.06 0.06 0.06 0.00 0.06 0.06 0.06 0.06 0.06 0.06 0.06 0.06 0.06 0.06 0.06 0.06 0.06 13 0.12 0.12 0.12 0.12 0.12 0.56 0.62 0.69 0.62 0.56 0.62 0.56 1.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 14 0.06 0.12 0.19 0.19 0.12 0.06 0.06 0.06 0.06 0.06 0.06 0.06 0.00 1.00 0.94 0.94 0.94 0.94 0.94 0.94 0.94 0.94 0.94 0.94 0.94 0.94 0.94 0.94 0.94 0.94 15 0.06 0.12 0.19 0.19 0.12 0.06 0.06 0.06 0.06 0.06 0.06 0.06 0.00 0.94 1.00 0.94 0.94 0.94 0.94 0.94 0.94 0.94 0.94 0.94 0.94 0.94 0.94 0.94 0.94 0.94 16 0.06 0.12 0.19 0.19 0.12 0.06 0.06 0.06 0.06 0.06 0.06 0.06 0.00 0.94 0.94 1.00 0.94 0.94 0.94 0.94 0.94 0.94 0.94 0.94 0.94 0.94 0.94 0.94 0.94 0.94 17 0.06 0.12 0.19 0.19 0.12 0.06 0.06 0.06 0.06 0.06 0.00 0.00 0.00 0.94 0.94 0.94 1.00 0.94 0.94 0.94 0.94 0.94 0.94 0.94 0.94 0.94 0.94 0.94 0.94 0.94 18 0.06 0.12 0.19 0.19 0.12 0.06 0.06 0.06 0.06 0.06 0.06 0.06 0.00 0.94 0.94 0.94 0.94 1.00 0.94 0.94 0.94 0.94 0.94 0.94 0.94 0.94 0.94 0.94 0.94 0.94 19 0.06 0.12 0.19 0.19 0.12 0.06 0.06 0.06 0.06 0.06 0.06 0.06 0.00 0.94 0.94 0.94 0.94 0.94 1.00 0.94 0.94 0.94 0.94 0.94 0.94 0.94 0.94 0.94 0.94 0.94 20 0.06 0.12 0.19 0.19 0.12 0.06 0.06 0.06 0.06 0.06 0.06 0.06 0.00 0.94 0.94 0.94 0.94 0.94 0.94 1.00 0.94 0.94 0.94 0.94 0.94 0.94 0.94 0.94 0.94 0.94 21 0.06 0.12 0.19 0.19 0.12 0.06 0.06 0.06 0.06 0.06 0.06 0.06 0.00 0.94 0.94 0.94 0.94 0.94 0.94 0.94 1.00 0.94 0.94 0.94 0.94 0.94 0.94 0.94 0.94 0.94 22 0.06 0.12 0.12 0.12 0.12 0.06 0.06 0.06 0.06 0.06 0.06 0.06 0.00 0.94 0.94 0.94 0.94 0.94 0.94 0.94 0.94 1.00 0.94 0.94 0.94 0.94 0.94 0.94 0.94 0.94 23 0.06 0.12 0.19 0.19 0.12 0.06 0.06 0.06 0.06 0.06 0.06 0.06 0.00 0.94 0.94 0.94 0.94 0.94 0.94 0.94 0.94 0.94 1.00 0.94 0.94 0.94 0.94 0.94 0.94 0.94 24 0.00 0.06 0.12 0.12 0.06 0.06 0.06 0.06 0.06 0.06 0.06 0.06 0.00 0.94 0.94 0.94 0.94 0.94 0.94 0.94 0.94 0.94 0.94 1.00 0.94 0.94 0.94 0.94 0.94 0.94 25 0.06 0.12 0.19 0.19 0.12 0.06 0.06 0.06 0.06 0.06 0.06 0.06 0.00 0.94 0.94 0.94 0.94 0.94 0.94 0.94 0.94 0.94 0.94 0.94 1.00 0.94 0.94 0.94 0.94 0.94 26 0.06 0.06 0.12 0.12 0.06 0.06 0.06 0.06 0.06 0.06 0.06 0.06 0.00 0.94 0.94 0.94 0.94 0.94 0.94 0.94 0.94 0.94 0.94 0.94 0.94 1.00 0.94 0.94 0.94 0.94 27 0.06 0.12 0.19 0.19 0.12 0.06 0.06 0.06 0.06 0.06 0.06 0.06 0.00 0.94 0.94 0.94 0.94 0.94 0.94 0.94 0.94 0.94 0.94 0.94 0.94 0.94 1.00 0.94 0.94 0.94 28 0.06 0.12 0.19 0.19 0.12 0.00 0.00 0.00 0.00 0.00 0.06 0.06 0.00 0.94 0.94 0.94 0.94 0.94 0.94 0.94 0.94 0.94 0.94 0.94 0.94 0.94 0.94 1.00 0.94 0.94 29 0.06 0.12 0.19 0.19 0.12 0.06 0.06 0.06 0.06 0.06 0.06 0.06 0.00 0.94 0.94 0.94 0.94 0.94 0.94 0.94 0.94 0.94 0.94 0.94 0.94 0.94 0.94 0.94 1.00 0.94 30 0.06 0.12 0.19 0.19 0.12 0.06 0.06 0.06 0.06 0.06 0.06 0.06 0.00 0.94 0.94 0.94 0.94 0.94 0.94 0.94 0.94 0.94 0.94 0.94 0.94 0.94 0.94 0.94 0.94 1.00 Table 5.7: A matrix that represents the amount of connectivity among the solutions of brock200-4. Each row and column represent one of the cliques. 71 Chapter 5. Improvements to DLS-MC with the same pd values used in Table 4.1 to find a target clique and then the Monte-Carlo procedure is used to sample the target cliques around the clique discovered by DLS-MC. Therefore, the probability of finding a clique at the beginning and consequently finding a group of solutions is the same as before. However, since we use the Monte-Carlo procedure right after we find a target clique from a group of solutions that are not sampled frequently by DLS-MC, we can hope to sample most of them using the Monte-Carlo procedure. This will help to decrease the time required to find all the target cliques. This method of integrating a Monte-Carlo procedure with DLS-MC sam- pled the target cliques of instance c-fat200-2 more uniformly with respect to two of the uniformity measurements. Its EMPN/E(n) went from 2.374 to 1.491 and its normalized entropy went from 0.671 to 0.727. The value of the other two measurements stayed almost unchanged. Instance gen400 p0.9 65 was sampled more uniformly with respect to all of the measurements. Its value of EMPN/E(n) went from 8.961 to 5.393, its normalized entropy went from 0.775 to 0.844 and its INT 10 went from 0.915 to 0.972. The Instance gen400 p0.9 75 was sampled more uniformly with respect to EMPN/E(n) and INT 10. The value of EMPN/E(n) went from 7.000 to 2.492, and the value of INT 10 went from 0.974 to 1. Instance san200 0.9 2 was also sampled more uniformly with respect to EMPN/E(n) and INT 10. The value of EMPN/E(n) went from 1.994 to 0.94. The value of INT 10 went from 0.984 to 1. Its normalized entropy and stayed almost unchanged. Instance san200 0.9 3 was sampled more uniformly with respect to all of the measurements. The value of EMPN/E(n) went from 6.011 to 1.142, its normalized entropy went from 0.797 to 0.88 and the value of INT 10 went from 0.96 to 1. Instance sanr200 0.9 was also sampled more uniformly with respect to two of the measurements. The value of EMPN/E(n) went from 2.84 to 0.168, its normalized entropy went from 0.895 to 0.994. The value of INT 10 stayed as 1. DLS-MC also samples instance sanr400 0.7 more uniformly with respect to two of the measurements. The value of EMPN/E(n) went from 4.002 to 0.44 and the value of normalized entropy went from 0.955 to 0.994. The value of INT 10 stayed as 1. The time required for each run of this method that integrates a Monte- Carlo procedure with DLS-MC did not increase for any of the instances more than 0.014 CPU second of the corresponding times reported in Table 4.1. 72 Chapter 5. Improvements to DLS-MC pd EMPN/E(n) normalized entropy INT 10 CPU(s)/run 1 1.300±2.008 (1.347±0.333) 0.964 (0.491) 1.000 (1.000) 0.003 () 1 1.300±2.008 (3.167±2.500) 0.964 (0.529) 1.000 (1.000) 0.003 () Table 5.8: Sampling performance of the method that integrates a Monte- Carlo procedure with DLS-MC with temperature of 1 for the instance with 60 hairs from Subsection 5.1.2. The best result of Table 5.2 with respect to EMPN/E(n) is shown within parenthesis on the first row. The best result of Table 5.2 with respect to normalized entropy is shown within parenthesis on the second row. Table 5.2 represents the sampling performance of DLS- MC with various pd values on the same instance. Within each run multiple solutions may be sampled. The instances c-fat200-2, gen400 p0.9 75, san200 0.9 3, sanr200 0.9 and sanr400 0.7 were sampled more uniformly by the method of Section 5.2 (i.e. adjusting the pd values) than the method that integrates a Monte-Carlo procedure with DLS-MC presented in Section 5.3. Instance sanr200 0.9 was sampled near-uniformly by both of these methods. We also tried this method on the instances from Subsections 5.1.2 and 5.1.4. The experiments for these instances were also performed on the same platform as that in Section 4.2. The sampling performance of the method that integrates a Monte-Carlo procedure with DLS-MC for the instance with two target cliques of size 3 and 60 hairs attached to one of its target cliques from Subsection 5.1.2 based on 1 000 samples with temperature 1 is presented in Table 5.8. For each instance, the value of temperature that optimizes the value of normalized entropy is chosen from 1 to 10. As shown in Table 5.8 using this method we are able to sample the solutions of this instance uniformly. The reason for being able to sample uniformly the target cliques of this instance using this method is that after any of the target cliques is discovered using DLS-MC, the other target clique would also be sampled by taking a series of Monte- Carlo steps. The two target cliques are in a neighborhood with distance of only 10 edges (each edge is basically a clique of size 2) away from each other. The modified p hat700-1 instance with 7 new added cliques of size 10 from Subsection 5.1.4 is sampled 50 000 times using this method. As shown in Table 5.9 the two target cliques of this instance are sampled uniformly when temperature of 0 is used. Monte-carlo steps with temperature 0 be- comes a series of plateau steps. This amount of uniformity with temperature 73 Chapter 5. Improvements to DLS-MC Temperature pd EMPN/E(n) normalized entropy INT 10 CPU(s)/run 0 1 1.307±1.062 (1.213±0.788) 0.990 (0.745) 1.000 () 0.016 (0.015) 1 1 1.090±0.444 (1.213±0.788) 0.828 (0.745) 0.500 () 0.032 (0.015) Table 5.9: Sampling performance of the method that integrates a Monte- Carlo procedure with DLS-MC for the modified p hat700-1 instance with 7 new cliques of size 10 from Subsection 5.1.4. The best result of Table 5.3 is shown within parenthesis. Table 5.3 represents the sampling performance of DLS-MC with various pd values on the same instance. equal to 0 is expected as the target clique differ by a single vertex. The re- sult of sampling the target cliques of this instance with temperature equal to 1 is also reported in Table 5.9. An algorithm can be designed to embed both the method that adjusts the value of pd, and this method of using Monte-Carlo steps after a search by DLS-MC to sample the target cliques of a given graph more uniformly. We believe such a method would sample more uniformly as after adjusting the value of pd target cliques from different groups of solutions can be sampled. After a target clique from a group of solutions is sampled using DLS-MC with an adjusted value, the Monte-Carlo procedure can be used to sample the neighboring target cliques in that group. 5.4 Searching for other methods of improvement We also tried some other methods for solving S-CLIQUE, but they failed to provide any improvement for the instances used in this thesis. A brief outline of these methods is described here. One of these methods was again based on DLS-MC. As shown in Ta- ble 4.1, DLS-MC has the capability to sample a target clique very quickly. However, the target clique that it finds can be the same one in many runs. This could be because the penalty values of these frequently sampled target cliques are not high enough before a clique is discovered. DLS-MC reinitializes the penalty values of all the vertices of the graph to zero after it finds a target clique (i.e. after a run); therefore, when DLS-MC starts a new run no mechanism exists to reduce the chance of reconstructing the target cliques that were constructed in previous runs. We investigated the use of penalty values of the vertices from the previous runs in order to reduce the chance of reconstructing some of the old cliques. 74 Chapter 5. Improvements to DLS-MC This way we hoped to keep the vertices in the regions with target cliques that are sampled by DLS-MC very often with high penalty values, in order to give a chance to DLS-MC to search for the less frequently sampled target cliques. After some pd cycles again the vertices from the neighborhoods of frequently sampled target cliques will have a chance to be part of a target clique. The problem with this method was that some of the target cliques of some instances would not be discovered at all possibly because some of the vertices of these cliques overlapped with the sampled target cliques, and maintained their high penalty values for a long time. We also tried a pre-processing step to reduce the number of edges of the given graphs before any sampling is performed. Using this pre-processing procedure we hoped to eliminate the cliques of sizes smaller than the target size around the target cliques. An adjacency matrix is a representation for a graph such that each of its elements xi,j is 1 if there is an edge between vertex i and vertex j of the graph and is 0 otherwise. As part of this pre- processing we add a self edge (i.e. a loop) to each vertex of the graph, and consequently addition of 1s on the main diagonal of the adjacency matrix. We will explain the reason for the addition of these loops later. Let k be the target size of cliques in the given graph. A property of adjacency matrices with 1s on their main diagonals is that if they are raised to the power k each element xi,j of the matrix represents the number of paths of sizes less than or equal to k between the vertex i and the vertex j. If the number of paths of size at most k between vertex i and vertex j is less than kk−1, then we can prune the edge between the vertices i and j; In a clique of size k there is at least kk−1 paths of size at most k between each pair of its vertices. We can perform the same procedure on the adjacency matrices of the new graphs obtained from pruning until no more pruning is possible. A path from vertex i to vertex j is a list of vertices starting with i and ending with j. A path of size k has k edges. As we added loops to all of the vertices, each path of any size less than k can be seen as a path of size k by taking the loops multiple times. A path of size k consists of k + 1 vertices, but since in a path from vertex i to j the first and the last vertices are fixed there are k − 1 of the vertices of the path that can be any of the k vertices (as we allow loops to be part of a path). Therefore, there are at least kk−1 possible paths between any pair of vertices of a clique of size k. For example, consider the graph of Figure 5.11. Its adjacency matrix is represented in Table 5.10. Its adjacency matrix raised to the power t = 3 is shown in Table 5.11. The new graph after pruning of some edges is shown 75 Chapter 5. Improvements to DLS-MC in Figure 5.12. Each element xi,j of the matrix shown in Table 5.11 that has a value less than 33−1 = 9 means that an edge between vertex i and vertex j can not be part of any clique of size 3 leaving us with the graph of Figure 5.12. Unfortunately, however, this method did not provide noticeable reduction in the number of edges of DIMACS MAX-CLIQUE graphs. Using this method on the instance with 60 hairs from Subsection 5.1.2, only the edges on the bridge between the two target cliques are pruned. 5.5 Graph structures with no useful information for sampling near-uniformly In this section, we discuss some graph structures that do not provide any useful information to sample their target cliques near-uniformly. The graphs that we consider are constructed by merging two graphs of the same size with also target cliques of the same size. If we know that the number of edges, number of vertices, the size of the target cliques, and the number of target clique in each of the two merged graphs are the same, there could be some mechanisms to distinguish between the discovered tar- get cliques of the two graphs. For example, we can define an attribute for each vertex to identify its affiliation with any of the two graphs. This way it may be possible to perform an online judgment to determine the amount of resources of the sampler that should be assigned to each of the two sub- graphs. However, the sampling procedures that we used do not seem to be able to take advantage of such information, assuming that is possible at all. Only knowing that these two subgraphs are disguised in the graph G does not provide any useful informations for the samplers to sample the target cliques of G more uniformly. There are also some DIMACS MAX-CLIQUE instances that have different sizes but the smaller graph has more target cliques. For example, brock200-2 has 200 vertices and 9 876 edges and the instance p hat700-1 has 700 vertices and 60 999 edges. We are looking for cliques of size 11 in both of these graphs. There are 14 target cliques exist in the graph brock200-2, while there are only 2 target cliques in the larger graph p hat700-1. This suggests that even if the size of one graph was bigger than the other one, it may not help us to bias a sampler towards sampling the target cliques of that subgraph. It may, however, be possible to perform an online judgment to determine the amount of resources of the sampler that should be assigned to each of the two subgraphs. A variant of the above case is when we specifically use DLS-MC [2] as the solver. Let us again assume that our graph G consists of two subgraphs; 76 Chapter 5. Improvements to DLS-MC 1 23 4 5 Figure 5.11: A graph with a target clique of size 3. now the question is whether we can make an educated guess about the best value of pd to sample the target cliques of G near-uniformly; our assumption is that DLS-MC samples uniformly the target cliques of the first subgraph with pd value of p1 and the target cliques of the other subgraph with pd value equal to p2. There are three cases that can happen: if both p1 and p2 are 1, then it seems reasonable to use the value of 1 for the pd parameter of DLS-MC when sampling the target cliques of G. If one of the two value of pd for the subgraphs is 1 and the other one is > 1, it is not clear what would be the best value for the value of pd in order for DLS-MC to sample near-uniformly the solutions of G. If both values of p1 and p2 are > 1, then their average could be a good candidate for the pd parameter of DLS-MC to sample near-uniformly the target cliques of G. The empirical investigation of the ideas presented in this section may be studied in future. 5.6 Conclusion In this chapter we introduced two methods of sampling near-uniformly using DLS-MC. The first method was to adjust the value of pd parameter of DLS- 77 Chapter 5. Improvements to DLS-MC 1 23 Figure 5.12: The graph of Figure 5.9 after two of its edges are pruned using the method proposed in Section 5.4. 1 1 1 1 1 1 1 1 0 0 1 1 1 0 0 1 0 0 1 0 1 0 0 0 1 Table 5.10: The adjacency matrix of the graph of Figure 5.11 added to the identity matrix. 15 11 11 7 7 11 9 9 4 4 11 9 9 4 4 7 4 4 4 3 7 4 4 3 4 Table 5.11: The adjacency matrix of the graph of Figure 5.11 raised to the power 3 (i.e. target clique size). 78 Chapter 5. Improvements to DLS-MC MC. Pullan and Hoos showed that some values of pd minimize the time required to find a target clique [2]. Here we empirically showed that for different graph structures different values of pd are required to increase the amount of uniformity of the distribution of their sampled target cliques. A pd value equal to 1 may be the best for the graphs for which the sum of sampling relative frequencies of each group of cliques around target cliques is almost equal. For other types of graphs it may be the best to try pd values > 1 if possible. If a set of k-CLIQUE graphs is available with information about their structures, it is possible to determine whether a pd equal to 1 can be used for sampling near-uniformly of their target cliques without further search for an appropriate value of pd. The second method of sampling proposed in Section 5.3 was inspired by SampleSat [31]. It is using Monte-Carlo with low temperature to sample target cliques in the same neighborhood of a target clique sampled by DLS- MC. A neighboring clique of a clique c is defined in this thesis to be a clique that is connected to at least 10% of the vertices of the clique c. In Tables 5.4 and 5.5 each of the 12 instances are sampled uniformly using one of these two methods. Both of these sampling methods provide improvements to the sampling result of Table 4.1. The instances used for these experiments are the 12 DIMACS MAX-CLIQUE instances that DLS- MC with pd values taken from [2] did not sample their target cliques uni- formly. The method that integrates a Monte-Carlo procedure with DLS-MC in- troduced in Section 5.3 was only able to sample the instance brock400 3 of the brock family more uniformly than DLS-MC with the original pd val- ues. The improvement in uniformity of the distribution of solutions of the instance gen400 p0.9 65 was also not significant using this method. The other sampling method proposed in Section 5.2 that adjusts the value of pd did sample the brock instances and gen400 p0.9 65 more uniformly than DLS-MC with the original pd values with respect to some of the measures of uniformity. The instances c-fat200-2, gen400 p0.9 75, san200 0.9 3, sanr200 0.9 and sanr400 0.7 were sampled more uniformly by the method of Section 5.2 (i.e. adjusting the pd values) than the method that integrates a Monte-Carlo procedure with DLS-MC presented in Section 5.3. Instance sanr200 0.9 was sampled near-uniformly by both of these methods. While there were improvements for the amount of uniformity in the dis- tribution of the sampled target cliques of the instances, the insights gained about the relation between the types of graphs and the proper method of 79 Chapter 5. Improvements to DLS-MC sampling may be more important. These insights are described in the fol- lowing two paragraphs. We believe a pd value equal to 1 should be used to sample near-uniformly when the sum of the relative frequencies (resulted from an independent sampling using DLS-MC) of all the smaller cliques connected to each target clique is almost equal. Another case arises for graphs in which the sum of relative frequencies of their cliques around some of target cliques is more than the sum of relative frequencies of cliques around the other target cliques. DLS-MC with a pd value > 1 may be able to penalize the frequently sampled target cliques of these types of graphs and give a chance to the less frequently sampled target cliques to be sampled more often. A procedure which embeds two phases (inspired by PLS [3]), one for sampling near-uniformly using a pd value equal to 1 and another for sam- pling near-uniformly using some randomly chosen high value of pd, may be able to provide us with an efficient algorithm for sampling near-uniformly the target cliques of a graph. We may also add a third phase that samples near-uniformly using the procedure that integrates a Monte-Carlo proce- dure with DLS-MC. At the end, one of the sampled solutions would be reported uniformly at random. Investigation of such methods appears to be a promising direction for future work. As explained in Section 5.4, we also examined other possible methods but they failed to provide any significant improvement for the instances used in this thesis. 80 Chapter 6 Conclusions and future work The problem of k-CLIQUE has many applications such as information re- trieval, experimental design, signal transmission, computer vision and bioin- formatics [6–8]. Stochastic local search is one of the most effective ap- proaches currently known for solving k-CLIQUE problems [2, 18]. The goal of current state-of-the-art stochastic local search algorithms for the k-CLIQUE problem is to discover a target clique as quickly as possible, but some applications require not just a single target clique but rather a variety of them. Examples of such applications were described in Chapter 1. The goal of this thesis was to study various methods for uniform sampling of the target cliques of graphs, and to suggest various ways to improve their degree of uniformity. We were able to reach this goal to some degree, but more importantly we gained some insights into various properties of the algorithms, which help them to sample the target cliques of some graphs more uniformly. We were not looking for a perfectly uniform sampler, but rather a near- uniform sampler as a tool to find many of the target cliques of a given graph quickly. A natural approach for sampling the target cliques of a graph was to use the already available state-of-the-art heuristic MAX-CLIQUE algorithms. The current state-of-the-art heuristic MAX-CLIQUE solvers can solve some very hard instances [2]. A priori, there is no reason to expect these algorithms to sample the target cliques of a given graph completely uniformly. Therefore, we used the following measurements to assess their degree of uniformity: Shannon’s entropy, normalized entropy, INT 10 and EMPN/E(n). Each one of these measurements captures some aspects of the induced distribution; Shannon’s entropy represents the amount of uncertainty of sampling each target clique, normalized entropy captures how far away we are from the ideal uniform distribution without knowing the total number of target cliques, INT 10 shows the fraction of sampling probabilities that fall within at most 110 of each other, and EMPN/E(n) is the fraction of empirical number of samples required to sample each target clique at least once, divided by the expected theoretical value of the number of samples 81 Chapter 6. Conclusions and future work required to find each target clique at least once. Before using any heuristic MAX-CLIQUE solver, we tried to take advan- tage of the already available SAT samplers by translating a given k-CLIQUE instance to a SAT instance. After sampling the satisfying assignments of the encoded SAT instance using the available SAT samplers, the sampled satisfying assignments are translated back to target cliques. As shown in Chapter 3, the majority of the instances encoded in this way are huge. The SAT samplers that we used are XORSample and XORSample′, as there were theoretical proofs on their sampling performance provided by Gomes et al. For one of the two instances that were small enough, both the samplers sampled its satisfying assignments very uniformly while for the other instance only XORSample′ sampled its satisfying assignments very uniformly with respect to all 3 measures of uniformity. The samplers were not able to sample the satisfying assignments of the encoded instances as efficiently as the native k-CLIQUE algorithm, DLS-MC (see Chapter 4). An additional difficulty with XORSample was the hard task of adjusting its parameters. The limitation of XORSample′ is that there are not many exact counters [73] such as Relsat [23] available. The idea of generalizing XORSample to deal directly with k-CLIQUE graphs was appealing. In order to implement this idea, XORSample types of constraints must be integrated with graphs, such that the resulting con- strained graphs can be used as inputs to k-CLIQUE algorithms; This ap- proach limits the discovery of some of the target cliques of the given graphs. We introduced one type of such constraints, which is described here. The XOR type constraint that we proposed is a set S containing a ran- dom subset of the vertices of the graph. Each time a clique of size less than or equal to k is constructed, a new constraint S of the type mentioned above is also constructed. Any clique of size less than k can not be extended to a larger clique if an odd (or even) number of its vertices does not belong to the current constraint S. The sampler would randomly decide whether an odd or even number of vertices should be part of the set S with probabil- ity of 0.5. This type of constraint that we proposed eliminates the target cliques of the graphs in the same way that the XOR clauses eliminated the Boolean formulas; however, these constraints do not become part of a graph to impede the k-CLIQUE solvers from going to some neighborhoods while doing their search as it was the case for XOR clauses used in XORSample. The constraint that we proposed to use is basically a filter at the very end of the search to reject some of the solutions (rejection sampling). This idea can be implemented in order to investigate its sampling performance empir- ically. The possible shortcoming of this approach is that the constraints do 82 Chapter 6. Conclusions and future work not reduce the number of target cliques while the sampler is performing its search. One may try to discover an XOR type constraint that becomes part of graphs to eliminate some of the target cliques of a given graph, as the XOR clauses were eliminating some of the satisfying assignments of a given formula. We alternatively used native heuristic MAX-CLIQUE algorithms to over- come the limitations of this generic approach. We chose two of the promising state-of-the-art heuristic MAX-CLIQUE algorithms for sampling, namely, DLS-MC and PLS. DLS-MC is based on a combination of constructive and perturbative local search strategies, and makes use of penalty values asso- ciated with the vertices of graphs. PLS as it was already stated has three phases. Each of its phases are designed to find target cliques with different characteristics. For a widely-used set of benchmark instances near-uniform sampling, with respect to all measures of uniformity, can be achieved when these algo- rithms with their default possible parameters are used. PLS is easier to use as it requires no adjustment of parameters, but its sampling performance is not as good as DLS-MC. DLS-MC has a parameter that, as we have shown in Chapter 5, can have a significant impact on sampling performance of DLS-MC. We believe the success of DLS-MC and PLS to sample near-uniformly the target cliques of many of the DIMACS MAX-CLIQUE instances is due to the ways they construct target cliques. The way vertices are selected by DLS-MC provides a mechanism to improve the amount of uniformity. The selection of vertices during a search by DLS-MC is solely based on vertex penalties that are adjusted dynamically during the search. The other mech- anisms built in DLS-MC that may have impact on sampling near-uniformly are the perturbation of the current clique to overcome search stagnation, and the plateau steps that it takes during a search. DLS-MC performs pertur- bations in two different ways, which were explained in Section 4.1. During a plateau search vertices of the current clique are swapped with vertices not included in the current clique to form a new clique of the same size. PLS uses three different methods of selecting the vertices in three dif- ferent phases. Each of its phases are designed to find target cliques with different characteristics. One phase is for finding target cliques in random graphs, the second phase is for finding target cliques with low degree vertices, and the last phase for finding target cliques with high degree vertices. Some of the DIMACS MAX-CLIQUE instances used in this thesis were not sampled near-uniformly using DLS-MC with the original pd values taken 83 Chapter 6. Conclusions and future work from [2] (pd is a parameter of DLS-MC that determines how often the penalty values should be decreased). These values of pd were adjusted to minimize the time required to report a target clique by Pullan and Hoos. We showed that some of these instances can be sampled more uniformly using a pd value other than the ones used in [2]. For graphs in which the sum of relative frequencies (as determined by an independent sampling using DLS-MC) of all the smaller cliques connected to each target clique is almost equal, a pd value equal to 1 should be used to sample near-uniformly. Another type of graphs would be graphs for which the sum of relative frequencies of their cliques around some of target cliques is more than the sum of relative frequencies of cliques around their other target cliques. DLS- MC with a pd value > 1 may be able to penalize the frequently sampled target cliques of these types of graphs and give a chance to the less frequently sampled target cliques to be sampled more often. As we mentioned in Chapter 5, these insights suggest that a proce- dure which embeds two phases (inspired by PLS [3]), one for sampling near-uniformly using a pd value equal to 1 and another for sampling near- uniformly using some randomly chosen value of pd > 1, may be able to efficiently sample the target cliques of a graph near-uniformly. We may also add a third phase that samples near-uniformly using our method that in- tegrates a Monte-Carlo procedure with DLS-MC. At the end, one of the sampled solutions would be reported uniformly at random. If a graph has some groups of target cliques that overlap with each other, a method inspired by SampleSat [31] can be used to sample near-uniformly the target cliques in each group of connected target cliques. The description of this sampling approach is as follows. First DLS-MC is used to sample one of the target cliques from one of the groups, and then a Monte-Carlo procedure is used to sample the target cliques overlapping with the target clique sampled by DLS-MC. This method also improves the uniformity of some of the instances. There were other methods of sampling, stated in the conclusion section of Chapter 5, that we tried but they failed to provide any improvement for the instances used in this study. One method was to preserve the penalty values of the vertices from the previous runs in order to reduce the chance of reconstructing some of the old cliques. The limitation of this method was that some of the target cliques of some instances would not be discovered at all, possibly because some of the vertices of these cliques would stay with high penalty values for a long time. 84 Chapter 6. Conclusions and future work Another approach to improve the uniformity of the probability distribu- tions of the sampled target cliques was a pre-processing step (described in Chapter 5) to reduce the size of the given graphs. Unfortunately, however, this method did not provide significant reduction in the size of any of the DIMACS MAX-CLIQUE graphs. The heuristic MAX-CLIQUE algorithms have various mechanisms to construct a target clique. For example, DLS-MC makes use of penalty values associated with vertices. Perhaps the best approach for improving the uniformity of the sampled solutions would be to take advantage of the mechanisms of the existing heuristic MAX-CLIQUE algorithms. Any new sampling procedure based on this approach would have a way of sampling near-uniformly that may be local to the context of S-CLIQUE. Even though we had very good results for a large set of the most popular benchmark of instances, DIMACS, used for comparison of MAX-CLIQUE algorithms, we believe an important step to take is to test the successful methods (adjusting the value of pd and the method that integrates a Monte- Carlo procedure with DLS-MC) of this thesis on more instances such as frb benchmark instances that arose from the SAT’04 competition7. It is important to consider the fact that these benchmark instances and DIMACS MAX-CLIQUE instances are designed to test the power of MAX-CLIQUE algorithms to find one target clique, but not to test the samplers that are designed to sample the target cliques of these instances uniformly. We are using these instances due to the lack of existence of any benchmark instance specifically designed to examine the sampling performance of S-CLIQUE solvers. As we were able to sample near-uniformly almost all of the DIMACS MAX-CLIQUE instances used in this thesis using various techniques of sam- pling, we suggest the use of our proposed methods for different applications, such as PPI networks. A possible method of sampling near-uniformly the target cliques of graphs is the parsimonious translation of k-CLIQUE to CSP [36] and sampling the solutions of the encoded instance. There are already some counting and sam- pling procedures [28, 74–76] available for the problem of CSP. The encoding we have used in this thesis translate k-CLIQUE to SAT by first translating it implicitly to CSP. Of course, one may also try to encode the problem of k-CLIQUE as SAT by first translating it to CSP explicitly. There are many CSP to SAT encodings available [37, 77, 78]. 7Available at http://www.nlsde.buaa.edu.cn/∼kexu/benchmarks/graph- benchmarks.htm. 85 Chapter 6. Conclusions and future work The method that integrated a Monte-Carlo procedure with DLS-MC proposed in Chapter 5 reports more than one solution per run. We were interested in the power of this algorithm to report the neighboring target cliques. As a direction for sampling near-uniformly, one may measure the sampling performance of stochastic local search algorithms that produce many target cliques within the same run. These types of algorithms require different measures of uniformity. In this thesis we found it necessary in many cases to adjust the values of parameters for the algorithms. As we saw in Chapter 5, some of these parameters can be set based on the structure of graphs. As a possible future direction, one may study the use of automated algorithm design and parameter optimisation techniques [79–82] to build better clique samplers. In some applications, it is the best to use the solvers that are designed to find almost complete subgraphs, quasi-cliques; however, the methods pro- posed for sampling near-uniformly the target cliques of graphs are well ap- plicable to some of the algorithms for finding quasi-cliques, as some of these quasi-clique algorithms are extended from heuristic MAX-CLQUE solvers [14]. 86 Bibliography [1] C. P. Gomes, A. Sabharwal, and B. Selman, “Near-uniform sampling of combinatorial spaces using XOR constraints,” in Proceedings of the Neural Information Processing Systems (NIPS) (B. Schölkopf, J. C. Platt, and T. Hoffman, eds.), (Cambridge, MA), pp. 481–488, MIT Press, 2006. [2] W. Pullan and H. H. Hoos, “Dynamic local search for the maximum clique problem,” Journal of Artificial Intelligence Research, vol. 25, pp. 159–185, 2006. [3] W. Pullan, “Phased local search for the maximum clique problem,” Journal of Combinatorial Optimization, vol. 12, pp. 303–323, November 2006. [4] R. M. Karp, “Reducibility among combinatorial problems,” in Proceed- ing of Complexity of Computer Computations (R. E. Miller and J. W. Thatcher, eds.), pp. 85–103, New York and London: Plenum Press, 1972. [5] M. R. Garey and D. S. Johnson, Computers and Intractability: A Guide to the Theory of NP-Completeness. San Francisco, New York: W. H. Freeman, 1979. [6] E. Balas and C. S. Yu, “Finding a Maximum Clique in an Arbitrary Graph,” SIAM Journal on Computing, vol. 15, no. 4, pp. 1054–1068, 1986. [7] Y. Ji, X. Xu, and G. D. Stormo, “A graph theoretical approach for predicting common RNA secondary structure motifs including pseu- doknots in unaligned sequences,” Journal of Bioinformatics, vol. 20, no. 10, pp. 1603–1611, 2004. [8] P. A. Pevzner and S.-H. Sze, “Combinatorial approaches to finding subtle signals in DNA sequences,” in Proceedings of the Eighth Inter- 87 Bibliography national Conference on Intelligent Systems for Molecular Biology, (La Jolla / San Diego, CA, USA), pp. 269–278, AAAI Press, 2000. [9] A. Grosso, M. Locatelli, and W. J. Pullan, “Simple ingredients leading to very efficient heuristics for the maximum clique problem,” Journal of Heuristics, vol. 14, no. 6, pp. 587–612, 2008. [10] D. Davidov and A. Rappoport, “Efficient unsupervised discovery of word categories using symmetric patterns and high frequency words,” in ACL-44: Proceedings of the 21st International Conference on Com- putational Linguistics and the 44th annual meeting of the Association for Computational Linguistics, (Morristown, NJ, USA), pp. 297–304, Association for Computational Linguistics, 2006. [11] R. Horaud and T. Skordas, “Stereo correspondence through feature grouping and maximal cliques,” Institute of Electrical and Electron- ics Engineers (IEEE) Transactions on Pattern Analysis and Machine Intelligence, vol. 11, no. 11, pp. 1168–1180, 1989. [12] F. Hormozdiari, P. Berenbrink, N. Przulj, and S. C. Sahinalp, “Not all scale free networks are born equal: The role of the seed graph in PPI network emulation,” in Proceeding of Systems Biology and Computa- tional Proteomics (T. Ideker and V. Bafna, eds.), vol. 4532 of Lecture notes in Computer Science, pp. 1–13, Springer, 2006. [13] T. Milenkovic and N. Przulj, “Uncovering biological network function via graphlet degree signatures,” Journal of Cancer informatics, vol. 6, pp. 257–273, 2008. [14] M. Brunato, H. H. Hoos, and R. Battiti, “On effectively finding maxi- mal quasi-cliques in graphs,” in Learning and Intelligent Optimization: Second International Conference, LION 2007 II, Trento, Italy, Decem- ber 8-12. Selected Papers, (Berlin, Heidelberg), pp. 41–55, Springer- Verlag, 2008. [15] C. Bron and J. Kerbosch, “Algorithm 457: finding all cliques of an undi- rected graph,” Communications of the ACM, vol. 16, no. 9, pp. 575–577, 1973. [16] J. T. Hastad, “Clique is hard to approximate within n1−,” in FOCS ’96: Proceedings of the 37th Annual Symposium on Foundations of Computer Science, (Washington, DC, USA), p. 627, Institute of Elec- trical and Electronics Engineers (IEEE) Computer Society, 1996. 88 Bibliography [17] R. Boppana and M. M. Halldórsson, “Approximating maximum inde- pendent sets by excluding subgraphs,” Journal of Behaviour & Infor- mation Technology (BIT), vol. 32, no. 2, pp. 180–196, 1992. [18] I. M. Bomze, M. Budinich, P. M. Pardalos, and M. Pelillo, “The maxi- mum clique problem,” in Proceeding of Handbook of Combinatorial Op- timization (P. M. P. Dingzhu Du, ed.), vol. 1, (Dordrecht, The Nether- lands), pp. 1–74, Kluwer Academic Publishers, 1999. [19] L. G. Valiant and V. V. Vazirani, “NP is as easy as detecting unique solutions,” in STOC ’85: Proceedings of the seventeenth annual ACM symposium on Theory of computing, (New York, NY, USA), pp. 458– 463, Association for Computing Machinery (ACM), 1985. [20] C. E. Shannon, “A mathematical theory of communication,” SIGMO- BILE Mobile Computing and Communications Review, vol. 5, no. 1, pp. 3–55, 2001. [21] P. Flajolet, D. Gardy, and L. Thimonier, “Birthday paradox, coupon collectors, caching algorithms and self-organizing search,” Journal of Discrete Applied Mathematics, vol. 39, no. 3, pp. 207–229, 1992. [22] C. H. Papadimitriou, Computational Complexity. Reading, Mas- sachusetts: Addison Wesley, November 1993. [23] R. J. B. Jr. and J. D. Pehoushek, “Counting models using connected components,” in Proceeding of Association for the Advancement of Ar- tificial Intelligence (AAAI)/Innovative Applications of Artificial Intel- ligence (IAAI), (Austin, Texas, USA), pp. 157–162, AAAI Press / The MIT Press, 2000. [24] T. Sang, F. Bacchus, P. Beame, H. A. Kautz, and T. Pitassi, “Combin- ing component caching and clause learning for effective model count- ing,” in Theory and Applications of Satisfiability Testing - SAT 2004, 7th International Conference, SAT 2004, Vancouver, May 10-13. Pro- ceedings, (Vancouver, BC, Canada), 2004. [25] C. P. Gomes, A. Sabharwal, and B. Selman, “Model counting: A new strategy for obtaining good bounds,” in Proceeding of Association for the Advancement of Artificial Intelligence (AAAI), AAAI Press, 2006. [26] M. R. Jerrum, L. G. Valiant, and V. V. Vazirani, “Random generation of combinatorial structures from a uniform,” Journal of Theoretical Computer Science, vol. 43, no. 2-3, pp. 169–188, 1986. 89 Bibliography [27] R. Dechter, K. Kask, E. Bin, and R. Emek, “Generating random solu- tions for constraint satisfaction problems,” in Eighteenth national con- ference on Artificial intelligence, (Menlo Park, CA, USA), pp. 15–21, American Association for Artificial Intelligence, 2002. [28] V. Gogate and R. Dechter, “A new algorithm for sampling CSP solu- tions uniformly at random,” in Proceeding of Constraint Programming (CP) (F. Benhamou, ed.), vol. 4204 of Lecture notes in Computer Sci- ence, pp. 711–715, Springer, 2006. [29] V. Gogate and R. Dechter, “Approximate solution sampling (and count- ing) on AND/OR spaces,” in Proceeding of Constraint Programming (CP) (P. J. Stuckey, ed.), vol. 5202 of Lecture notes in Computer Sci- ence, pp. 534–538, Springer, 2008. [30] D. Larkin, “Generating random solutions from a constraint satisfaction problem with controlled probability,” in the 1st International Workshop on Constraints in Functional Verification of Principles and Practice of Constraint Programming, 2002. [31] W. Wei, J. Erenrich, and B. Selman, “Towards efficient sampling: Ex- ploiting random walk strategies,” in Proceeding of Association for the Advancement of Artificial Intelligence (AAAI) (D. L. McGuinness and G. Ferguson, eds.), (San Jose, California, USA), pp. 670–676, AAAI Press / The MIT Press, 2004. [32] J. Argelich, A. Cabiscol, I. Lynce, and F. Manyà, “Encoding MAX- CSP into Partial MAX-SAT,” in ISMVL ’08: Proceedings of the 38th International Symposium on Multiple Valued Logic, (Washington, DC, USA), pp. 106–111, Institute of Electrical and Electronics Engineers (IEEE) Computer Society, 2008. [33] A. M. Frisch, T. J. Peugniez, A. J. Doggett, and P. W. Nightin- gale, “Solving non-boolean satisfiability problems with stochastic local search: A comparison of encodings,” Journal of Automated Reasoning, vol. 35, no. 1-3, pp. 143–179, 2005. [34] I. P. Gent, P. Nightingale, and A. G. D. Rowley, “Encoding quantified CSPs as quantified boolean formulae,” in Proceedings of the 16th Eure- opean Conference on Artificial Intelligence (ECAI) (R. L. de Mántaras and L. Saitta, eds.), pp. 176–180, IOS Press, 2004. 90 Bibliography [35] S. D. Prestwich, “Local search on SAT-encoded colouring problems,” in Proceeding of SAT’03 Competition (E. Giunchiglia and A. Tacchella, eds.), vol. 2919 of Lecture notes in Computer Science, pp. 105–119, Springer, 2003. [36] J.-C. Régin, “Using constraint programming to solve the maximum clique problem,” in Proceeding of Constraint Programming (CP) (F. Rossi, ed.), vol. 2833 of Lecture notes in Computer Science, (Kin- sale, Ireland), pp. 634–648, Springer, 2003. [37] T. Walsh, “SAT vs CSP,” in Principles and Practice of Constraint Pro- gramming - CP 2000, 6th International Conference, Singapore, Septem- ber 18-21, 2000, Proceedings (R. Dechter, ed.), vol. 1894 of Lecture notes in Computer Science, pp. 441–456, Springer, 2000. [38] R. Battiti and M. Protasi, “Reactive local search for the maximum clique problem,” Journal of Algorithmica, vol. 29, no. 4, pp. 610–637, 2001. [39] P. Hansen, N. Mladenović, and D. Urošević, “Variable neighborhood search for the maximum clique,” Journal of Discrete Applied Mathe- matics, vol. 145, no. 1, pp. 117–125, 2004. [40] E. Tomita and T. Kameda, “An efficient branch-and-bound algorithm for finding a maximum clique with computational experiments,” Jour- nal of Global Optimization, vol. 37, no. 1, pp. 95–111, 2007. [41] E. Tomita, A. Tanaka, and H. Takahashi, “The worst-case time com- plexity for generating all maximal cliques and computational exper- iments,” Journal of Theoretical Computer Science, vol. 363, no. 1, pp. 28–42, 2006. [42] S. R. Bulò, A. Torsello, and M. Pelillo, “A continuous-based approach for partial clique enumeration,” in Graph-Based Representations in Pat- tern Recognition, 6th IAPR-TC-15 International Workshop, GbRPR 2007, Alicante, June 11-13, Proceedings (F. Escolano and M. Vento, eds.), vol. 4538 of Lecture notes in Computer Science, (Alicante, Spain), pp. 61–70, Springer, 2007. [43] F. Heras and J. Larrosa, “A MAX-SAT inference-based pre-processing for max-clique,” in Theory and Applications of Satisfiability Testing - SAT 2008, 11th International Conference, SAT 2008, Guangzhou, May 12-15. Proceedings (H. K. Büning and X. Zhao, eds.), vol. 4996 of 91 Bibliography Lecture notes in Computer Science, (Guangzhou, China), pp. 139–152, Springer, 2008. [44] A. Bertoni, P. Campadelli, and G. Grossi, “A neural algorithm for the maximum clique problem: Analysis, experiments, and circuit imple- mentation,” Journal of Algorithmica, vol. 33, no. 1, pp. 71–88, 2002. [45] G. Nemhauser and G. Sigimondi, “Properties of vertex packings and in- dependence system polyhedra,” Journal of Mathematics Programming, vol. 6, no. 1, pp. 48–61, 1974. [46] M. Pelillo and A. Torsello, “Payoff-monotonic game dynamics and the maximum clique problem,” Journal of Neural Computation, vol. 18, no. 5, pp. 1215–1258, 2006. [47] L. E. Gibbons, D. W. Hearn, P. M. Pardalos, and M. V. Ramana, “Continuous characterizations of the maximum clique problem,” Math- ematics of Operations Research, vol. 22, no. 3, pp. 754–768, 1997. [48] S. Busygin, “A new trust region technique for the maximum weight clique problem,” Journal of Discrete Applied Mathematics, vol. 154, no. 15, pp. 2080–2096, 2006. [49] I. S. Dhillon, A new O(N2) algorithm for the symmetric tridiagonal eigenvalue/eigenvector problem. PhD thesis, University of California at Berkeley, Berkeley, CA, USA, 1998. [50] I. M. Bomze, M. Budinich, M. Pelillo, and C. Rossi, “Annealed repli- cation: a new heuristic for the maximum clique problem,” Journal of Discrete Applied Mathematics, vol. 121, no. 1-3, pp. 27–49, 2002. [51] M. Pelillo, “Annealed Imitation: Fast Dynamics for Maximum Clique,” in Neural Networks, 2003. Proceedings of the International Joint Con- ference on, vol. 1, pp. 55–60, Institute of Electrical and Electronics Engineers (IEEE), 2003. [52] T. Fahle, “Simple and fast: Improving a Branch-and-Bound algorithm for maximum clique,” in ESA ’02: Proceedings of the 10th Annual Euro- pean Symposium on Algorithms, (London, UK), pp. 485–498, Springer- Verlag, 2002. [53] P. J. Taillon, “A new approach for solving the maximum clique prob- lem,” in Algorithmic Aspects in Information and Management, Second 92 Bibliography International Conference, AAIM 2006, June 20-22, Proceedings (S.-W. Cheng and C. K. Poon, eds.), vol. 4041 of Lecture notes in Computer Science, (Hong Kong, China), pp. 279–290, Springer, 2006. [54] K. Katayama, M. Sadamatsu, and H. Narihisa, “Iterated k-Opt local search for the maximum clique problem,” in Evolutionary Computa- tion in Combinatorial Optimization, 7th European Conference, Evo- COP 2007, April 11-13, Proceedings (C. Cotta and J. I. van Hemert, eds.), vol. 4446 of Lecture notes in Computer Science, (Valencia, Spain), pp. 84–95, Springer, 2007. [55] A. Singh and A. K. Gupta, “A hybrid heuristic for the maximum clique problem,” Journal of Heuristics, vol. 12, no. 1-2, pp. 5–22, 2006. [56] K. Katayama, A. Hamamoto, and H. Narihisa, “An effective local search for the maximum clique problem,” Journal of Information Pro- cessing Letters, vol. 95, no. 5, pp. 503–511, 2005. [57] X. Xu, J. Ma, and J. Lei, “An improved ant colony optimization for the maximum clique problem,” in ICNC ’07: Proceedings of the Third In- ternational Conference on Natural Computation (ICNC 2007), (Wash- ington, DC, USA), pp. 766–770, IEEE Computer Society, 2007. [58] Z. Bai and Q. Lv, “A leader-based parallel cross entropy algorithm for mcp,” in GECCO ’07: Proceedings of the 2007 GECCO conference companion on Genetic and evolutionary computation, (New York, NY, USA), pp. 2401–2406, ACM, 2007. [59] B. Selman, H. Kautz, and B. Cohen, “Local search strategies for satisfi- ability testing,” in DIMACS Series in Discrete Mathematics and The- oretical Computer Science, (Providence, RI), pp. 521–532, American Mathematical Society, 1996. [60] H. H. Hoos and T. Stützle, Stochastic Local Search: Foundations and Applications. The Morgan Kaufmann Series in Artificial Intelligence, San Mateo: Morgan Kaufmann, 2004. [61] M. W. Moskewicz, C. F. Madigan, Y. Zhao, L. Zhang, and S. Malik, “Chaff: engineering an efficient SAT solver,” in DAC ’01: Proceedings of the 38th annual Design Automation Conference, (New York, NY, USA), pp. 530–535, ACM, 2001. [62] J. Pearl, Probabilistic Reasoning in Intelligent Systems : Networks of Plausible Inference. Morgan Kaufmann, September 1988. 93 Bibliography [63] R. Dechter, K. Kask, and R. Mateescu, “Iterative Join-Graph Propaga- tion,” in UAI ’02, Proceedings of the 18th Conference in Uncertainty in Artificial Intelligence, University of Alberta, August 1-4 (A. Darwiche and N. Friedman, eds.), pp. 128–136, Morgan Kaufmann, 2002. [64] V. Gogate and R. Dechter, “Studies in Solution Sampling,” in Pro- ceeding of Association for the Advancement of Artificial Intelligence (AAAI) (D. Fox and C. P. Gomes, eds.), pp. 271–276, AAAI Press, 2008. [65] K. Iwama and S. Miyazaki, “SAT-variable complexity of hard combina- torial problems,” in Proceedings of the World Computer Congress of the IFIP, pages 253–258 (Volume 1). Elsevier Science B.V, pp. 253–258, 1994. [66] S. Kugele, “Efficient Solving of Combinatorial Problems using SAT- Solvers,” Master’s thesis, Fakultät für Informatik, Technische Univer- sität München, October 2006. [67] H. H. Hoos, “SAT-encodings, search space structure, and local search performance,” in IJCAI ’99: Proceedings of the Sixteenth International Joint Conference on Artificial Intelligence, (San Francisco, CA, USA), pp. 296–303, Morgan Kaufmann Publishers Inc., 1999. [68] D. A. Clark, J. Frank, I. P. Gent, and E. MacIntyre, “Local search and the number of solutions,” Lecture notes in Computer Science (LNCS), vol. 1118, pp. 119–133, 1996. [69] J. Frank, P. Cheeseman, and J. Stutz, “When gravity fails: Local search topology,” Computing Research Repository (CoRR), vol. cs.AI/9712101, 1997. [70] S. D. Prestwich, “Negative Effects of Modeling Techniques on Search Performance,” Annals Operational Research, vol. 118, no. 1-4, pp. 137– 150, 2003. [71] N. Eén and N. Sörensson, “An extensible SAT-solver,” pp. 502–518, 2004. [72] C. P. Gomes, J. Hoffmann, A. Sabharwal, and B. Selman, “Short XORs for model counting: From theory to practice,” in Theory and Applica- tions of Satisfiability Testing - SAT 2007, 10th International Confer- ence, May 28-31, Proceedings (J. Marques-Silva and K. A. Sakallah, 94 Bibliography eds.), vol. 4501 of Lecture notes in Computer Science, (Lisbon, Portu- gal), pp. 100–106, Springer, 2007. [73] S. Khurshid, D. Marinov, I. Shlyakhter, and D. Jackson, “A case for ef- ficient solution enumeration,” in Proceeding Sixth International Confer- ence on Theory and Applications of Satisfiability Testing (SAT 2003), Santa Margherita Ligure, 2003. [74] O. Angelsmark and P. Jonsson, “Improved Algorithms for Counting So- lutions in Constraint Satisfaction Problems,” in Principles and Practice of Constraint Programming - CP (F. Rossi, ed.), vol. 2833 of Lecture Notes in Computer Science, (Kinsale, Ireland), pp. 81–95, Springer, 2003. [75] C. P. Gomes, W.-J. van Hoeve, A. Sabharwal, and B. Selman, “Count- ing CSP solutions using generalized XOR constraints,” in Proceeding of Association for the Advancement of Artificial Intelligence (AAAI), (Vancouver, BC), pp. 204–209, July 2007. [76] K. Kask, R. Dechter, and V. Gogate, “Counting-Based look-ahead Schemes for Constraint Satisfaction,” in Principles and Practice of Constraint Programming - CP 2004, 10th International Conference, CP 2004, September 27 - October 1, Proceedings (M. Wallace, ed.), vol. 3258 of Lecture notes in Computer Science, pp. 317–331, Springer, 2004. [77] M. B. Naoyuki Tamura, “Sugar: A CSP to SAT Translator Based on Order Encoding,” in Proceedings of the Second International CSP Solver Competition, pp. 65–69, 2008. [78] N. Tamura, A. Taga, S. Kitagawa, and M. Banbara, “Compiling Finite Linear CSP into SAT,” in Principles and Practice of Constraint Pro- gramming - CP 2006, 12th International Conference, CP 2006, Nantes, France, September 25-29, Proceedings (F. Benhamou, ed.), vol. 4204 of Lecture notes in Computer Science, pp. 590–603, Springer, 2006. [79] H. H. Hoos, “Computer-aided Design of High-Performance algorithms,” Tech. Rep. TR-2008-16, Department of Computer Science,University of British Columbia, December 2008. [80] F. Hutter, H. H. Hoos, K. Leyton-Brown, and K. P. Murphy, “An Experimental Investigation of Model-Based Parameter Optimisation: SPO and beyond,” in Proc. of GECCO-09, 2009. To appear. 95 Bibliography [81] F. Hutter, H. H. Hoos, K. Leyton-Brown, and T. Stützle, “ParamILS: An automatic algorithm Configuration Framework,” Tech. Rep. TR- 2009-01, Department of Computer Science, University of British Columbia, January 2009. [82] F. Hutter, H. H. Hoos, and T. Stützle, “Automatic algorithm con- figuration based on local search,” in Proceeding of the Twenty-Second Conference on Artifical Intelligence (AAAI ’07), pp. 1152–1157, 2007. 96 Appendix 97 Instance Number of nodes Number of edges Target size Number of target cliques 1 brock200 1 200 14 834 21 2 2 brock200 2 200 9 876 11 14 3 brock200 3 200 12 048 14 24 4 brock200 4 200 13 089 16 30 5 brock400 3 400 59 681 30 31 6 brock400 4 400 59 765 32 33 7 c-fat200-1 200 1 534 12 14 8 c-fat200-2 200 3 235 23 26 9 c-fat200-5 200 8 473 58 3 10 c-fat500-1 500 4 459 14 19 11 c-fat500-2 500 9 139 26 19 12 c-fat500-5 500 23 191 64 3 13 c-fat500-10 500 46 627 126 3 14 gen200 p0.9 44 200 17 910 44 4 15 gen200 p0.9 55 200 17 910 55 4 16 gen400 p0.9 65 400 71 820 64 71 17 gen400 p0.9 75 400 71 820 74 77 18 hamming6-2 64 1 824 32 2 19 hamming6-4 64 704 4 240 20 hamming8-4 256 20 864 16 480 21 hamming10-2 1 024 518 656 512 2 22 johnson8-2-4 28 210 4 105 23 johnson8-4-4 70 1 855 14 30 24 p hat1000-1 1 000 122 253 10 276 25 p hat1000-2 1 000 244 799 46 491 26 p hat300-1 300 10 933 8 13 27 p hat300-2 300 21 928 25 52 28 p hat300-3 300 33 390 36 14 29 p hat500-1 500 31 569 9 78 30 p hat500-2 500 62 946 36 14 31 p hat500-3 500 93 800 50 62 32 p hat700-1 700 60 999 11 2 33 p hat700-2 700 121 728 44 138 34 san200 0.7 1 200 13 930 29 30 35 san200 0.7 2 200 13 930 18 2 36 san200 0.9 1 200 17 910 69 70 37 san200 0.9 2 200 17 910 59 61 38 san200 0.9 3 200 17 910 43 50 39 san400 0.9 1 400 71 820 99 100 40 sanr200 0.7 200 17 863 18 13 41 sanr200 0.9 200 17 863 42 21 42 sanr400 0.5 400 39 984 13 4 43 sanr400 0.7 400 55 869 21 140 44 DSJC500.5 500 125 248 13 56 Table 1: The number of edges, vertices and target cliques, and target clique size of each DIMACS MAX-CLIQUE instances used in this thesis. 98

Cite

Citation Scheme:

        

Citations by CSL (citeproc-js)

Usage Statistics

Share

Embed

Customize your widget with the following options, then copy and paste the code below into the HTML of your page to embed this item in your website.
                        
                            <div id="ubcOpenCollectionsWidgetDisplay">
                            <script id="ubcOpenCollectionsWidget"
                            src="{[{embed.src}]}"
                            data-item="{[{embed.item}]}"
                            data-collection="{[{embed.collection}]}"
                            data-metadata="{[{embed.showMetadata}]}"
                            data-width="{[{embed.width}]}"
                            data-media="{[{embed.selectedMedia}]}"
                            async >
                            </script>
                            </div>
                        
                    
IIIF logo Our image viewer uses the IIIF 2.0 standard. To load this item in other compatible viewers, use this url:
https://iiif.library.ubc.ca/presentation/dsp.24.1-0051700/manifest

Comment

Related Items