4 research outputs found

    Certifying Solvers for Clique and Maximum Common (Connected) Subgraph Problems

    Get PDF
    An algorithm is said to be certifying if it outputs, together with a solution to the problem it solves, a proof that this solution is correct. We explain how state of the art maximum clique, maximum weighted clique, maximal clique enumeration and maximum common (connected) induced subgraph algorithms can be turned into certifying solvers by using pseudo-Boolean models and cutting planes proofs, and demonstrate that this approach can also handle reductions between problems. The generality of our results suggests that this method is ready for widespread adoption in solvers for combinatorial graph problems

    Algoritmos para o problema da clique máxima : análise e comparação experimental

    Get PDF
    Orientador : Prof. Dr. Renato CarmoTese (doutorado) - Universidade Federal do Paraná, Setor de Ciências Exatas, Programa de Pós-Graduação em Informática. Defesa: Curitiba, 28/09/2017Inclui referências : f. 107-113Resumo: O problema da Clique Máxima (CM) é um problema fundamental e há uma grande motivação pela busca de algoritmos tão eficientes quanto possível para resolvê-lo de forma exata. Como esperado para um problema NP-difícil, os melhores algoritmos com desempenho de pior caso conhecido tem custo de tempo exponencial. Por outro lado, resultados experimentais encontrados na literatura indicam que instâncias de tamanho considerável podem ser resolvidas usando algoritmos baseados na técnica de branch-and-bound. Com isso, observa-se uma distância entre os melhores resultados analíticos e os melhores resultados experimentais. Uma possível explicação para discrepância aparente entre teoria e prática foi encontrada pela análise de instâncias aleatórias. Diversos algoritmos de branch- and-bound para a solução exata do CM foram estudados, analisados e implementados. Com base nos resultados analíticos é proposta uma metodologia para comparação experimental de algoritmos, que tem como principal ponto positivo o fato de que algoritmos podem ser comparados independente de detalhes de implementação e execução. Vários algoritmos foram testados como prova de conceito. Também foram estudadas instâncias de pior caso para algoritmos de branch-and-bound que só utilizam coloração como limitante superior, resultando em um custo exponencial de tempo para estes algoritmos. Uma nova família de algoritmos foi desenvolvida, capaz de resolver tais instâncias em tempo polinomial. Recentemente, técnicas de resolvedores para problemas de satisfatibilidade têm sido aplicadas em algoritmos para CM. Tais técnicas dependem de uma redução entre os dois problemas, mas o significado em termos do grafo fica obscurecido nas descrições originais. Algumas técnicas foram estudadas e convertidas para uma descrição que não usa termos referentes aos problemas de satisfatibilidade. A implementação de vários algoritmos estudados foi disponibilizada em um repositório de acesso público. Palavras-chave: Solução exata. Branch-and-bound. Análise de algoritmos. Comparação experimental.Abstract: e Maximum Clique problem (CM) is a fundamental problem and there is a great motivation for the development of efficient exact algorithms to solve it. As expected for a NP-hard problem, the best algorithms where worst case analyses have been conducted present exponential running times. On the other hand, experimental results available in the literature show that instances of considerable size can be solved by branch and bound algorithms. Therefore, there is an apparent gap between the best theoretical results and the best experimental results. One possible explanation for this discrepancy between theory and practice was found through the analyses of random instances. Several exact branch and bound algorithm for CM were studied, analyzed and implemented. Based on these analytical results, a new methodology for the comparison of algorithms is proposed, where algorithms can be tested and compared regardless of implementation and execution details. Several algorithms were tested as a proof of concept. Worst case instances for some branch and bound algorithms were studied, namely algorithms that adopt only coloring-based bounding techniques to reduce the search space. These algorithms present exponential time cost for the studied instances. A new family of algorithms was developed, which is able to solve the mentioned instances in polinomial time. Recently, techniques from satisfiability solvers have been used in algorithms for CM. Such techniques depend on a reduction between the problems, and the original descriptions in terms of propositional calculus obscures their graph theoretic meaning. Some of these techniques were studied and converted to a description that uses only graph theory terminology. The implementation of several algorithms was made available in a public access repository. Keywords: Exact solution. Branch-and-bound. Analysis of algorithms. Experimental comparison

    Solving hard subgraph problems in parallel

    Get PDF
    This thesis improves the state of the art in exact, practical algorithms for finding subgraphs. We study maximum clique, subgraph isomorphism, and maximum common subgraph problems. These are widely applicable: within computing science, subgraph problems arise in document clustering, computer vision, the design of communication protocols, model checking, compiler code generation, malware detection, cryptography, and robotics; beyond, applications occur in biochemistry, electrical engineering, mathematics, law enforcement, fraud detection, fault diagnosis, manufacturing, and sociology. We therefore consider both the ``pure'' forms of these problems, and variants with labels and other domain-specific constraints. Although subgraph-finding should theoretically be hard, the constraint-based search algorithms we discuss can easily solve real-world instances involving graphs with thousands of vertices, and millions of edges. We therefore ask: is it possible to generate ``really hard'' instances for these problems, and if so, what can we learn? By extending research into combinatorial phase transition phenomena, we develop a better understanding of branching heuristics, as well as highlighting a serious flaw in the design of graph database systems. This thesis also demonstrates how to exploit two of the kinds of parallelism offered by current computer hardware. Bit parallelism allows us to carry out operations on whole sets of vertices in a single instruction---this is largely routine. Thread parallelism, to make use of the multiple cores offered by all modern processors, is more complex. We suggest three desirable performance characteristics that we would like when introducing thread parallelism: lack of risk (parallel cannot be exponentially slower than sequential), scalability (adding more processing cores cannot make runtimes worse), and reproducibility (the same instance on the same hardware will take roughly the same time every time it is run). We then detail the difficulties in guaranteeing these characteristics when using modern algorithmic techniques. Besides ensuring that parallelism cannot make things worse, we also increase the likelihood of it making things better. We compare randomised work stealing to new tailored strategies, and perform experiments to identify the factors contributing to good speedups. We show that whilst load balancing is difficult, the primary factor influencing the results is the interaction between branching heuristics and parallelism. By using parallelism to explicitly offset the commitment made to weak early branching choices, we obtain parallel subgraph solvers which are substantially and consistently better than the best sequential algorithms
    corecore