Once again: Finding simple cycles in graphs (original) (raw)

An almost linear time algorithm for finding hamilton cycles in sparse random graphs with minimum degree at least three

Random Structures & Algorithms, 2014

We describe an algorithm for finding Hamilton cycles in random graphs. Our model is the random graph G = G δ≥3 n,m . In this model G is drawn uniformly from graphs with vertex set [n], m edges and minimum degree at least three. We focus on the case where m = cn for constant c. If c is sufficiently large then our algorithm runs in O(n 1+o(1) ) time and succeeds w.h.p. * Research supported in part by NSF Grant CCF2013110 algorithm that reduces this to n 1.5+o(1) for sufficiently large c. The main aim of this paper is to construct an almost linear time algorithm for this model. Theorem 1.1. If c is sufficiently large then our algorithm finds a Hamilton cycle in G δ≥3 n,m , m = cn, and runs in O(n 1+o(1) ) time and succeeds w.h.p.

Finding All Bounded-Length Simple Cycles in a Directed Graph

arXiv (Cornell University), 2021

A new efficient algorithm is presented for finding all simple cycles that satisfy a length constraint in a directed graph. When the number of vertices is nontrivial, most cycle-finding problems are of practical interest for sparse graphs only. We show that for a class of sparse graphs in which the vertex degrees are almost uniform, our algorithm can find all cycles of length less than or equal to k in O((c + n)(k − 1)d k) steps, where n is the number of vertices, c is the total number of cycles discovered, d is the average degree of the graph's vertices, and k > 1. While our analysis for the running time addresses only a class of sparse graphs, we provide empirical and experimental evidence of the efficiency of the algorithm for general sparse graphs. This algorithm is a significant improvement over the only other deterministic algorithm for this problem known to us; it also lends itself to massive parallelism. Experimental results of a serial implementation on some large real-world graphs are presented.

Finding long cycles in graphs

Europhys. Lett Phys Rev E

We analyze the problem of discovering long cycles inside a graph. We propose and test two algorithms for this task. The first one is based on recent advances in statistical mechanics and relies on a message passing procedure. The second follows a more standard Monte Carlo Markov Chain strategy. Special attention is devoted to Hamiltonian cycles of (non-regular) random graphs of minimal connectivity equal to three.

Finding Hamilton cycles in random graphs with few queries

Random Structures & Algorithms, 2016

We introduce a new setting of algorithmic problems in random graphs, studying the minimum number of queries one needs to ask about the adjacency between pairs of vertices of in order to typically find a subgraph possessing a given target property. We show that if , then one can find a Hamilton cycle with high probability after exposing edges. Our result is tight in both p and the number of exposed edges. © 2016 Wiley Periodicals, Inc. Random Struct. Alg., 49, 635–668, 2016

Algorithms for finding an induced cycle in planar graphs

Combinatorica, 2010

In this paper, we consider the problem for finding an induced cycle passing through k given vertices, which we call the induced cycle problem. The significance of finding induced cycles stems from the fact that precise characterization of perfect graphs would require structures of graphs without an odd induced cycle, and its complement. There has been huge progress in the recent years, especially, the Strong Perfect Graph Conjecture was solved in [6]. Concerning recognition of perfect graphs, there had been a long-standing open problem for detecting an odd hole and its complement, and finally this was solved in [4]. Unfortunately, the problem of finding an induced cycle passing through two given vertices is NP-complete in a general graph [2]. However, if the input graph is constrained to be planar and k is fixed, then the induced cycle problem can be solved in polynomial time [11, 12, 13]. In particular, an O(n 2) time algorithm is given for the case k = 2 by McDiarmid, Reed, Schrijver and Shepherd [14], where n is the number of vertices of the input graph. Our main results in this paper are to improve their result in the following sense. 1. The number of vertices k is allowed to be non-trivially super constant number, up to k = o((log n log log n) 2 3). More precisely, when k = o((log n log log n) 2 3), then the ICP can be solved in O(n 2+ε) time for any ε > 0. 2. The time complexity is linear if k is fixed. We note that the linear time algorithm (the second result) is independent from the first result. Let us observe that if k is as a part of the input, then the problem is still NP-complete. We need to impose some condition on k.

A general purpose algorithm for counting simple cycles and simple paths of any length

We describe a general purpose algorithm for counting simple cycles and simple paths 4 of any length on a (weighted di)graph on N vertices and M edges, achieving a time complexity of O(N + M + (L^ω + L∆) |S_L|). In this expression, |S_L| is the number of (weakly) connected induced subgraphs of G on at most L vertices, ∆ is the maximum degree of any vertex and ω is the exponent of matrix multiplication. We compare the algorithm complexity both theoretically and experimentally with most of the existing algorithms for the same task. These comparisons show that the algorithm described here is the best general purpose algorithm for the class of graphs where (1 + L^(ω−1)/∆ )|S_L| ≤ |Cycle_L|, with |Cycle_L| the total number of simple cycles of length at most L, including backtracks and self-loops. On Erdös-Rényi random graphs, we find empirically that this happens when the edge probability is larger than circa 4/N. In addition, we show that some real-world networks also belong to this class. Finally, the algorithm permits the enumeration of simple cycles and simple paths on networks where vertices are labeled from an alphabet on n letters with a time complexity of O(N + M + (n^L L^ω + ∆) |S_L|). A Matlab implementation of the algorithm proposed here is available for download.

A practical parallel algorithm for cycle detection in partitioned digraphs

1999

Graph theoretic techniques are used in variety of important computational problems in the areas of computational physics, mechanics, and fluid flow. We present a new, parallel algorithm for detecting cycles in partitioned, directed graphs that is both scalable in the graph and machine size, and performs well in practice. As an example, on ap= 64 processor cluster, we have solved an extremely large and difficult input problem with n= 2^ 28 vertices in less than five minutes. Our parallel algorithm uses a new graph representation, called ...

A Distributed Algorithm for Finding Hamiltonian Cycles in Random Graphs in O(log n) Time

ArXiv, 2018

It is known for some time that a random graph G(n,p)G(n,p)G(n,p) contains w.h.p. a Hamiltonian cycle if ppp is larger than the critical value pcrit=(logn+loglogn+omegan)/np_{crit}= (\log n + \log \log n + \omega_n)/npcrit=(logn+loglogn+omegan)/n. The determination of a concrete Hamiltonian cycle is even for values much larger than pcritp_{crit}pcrit a nontrivial task. In this paper we consider random graphs G(n,p)G(n,p)G(n,p) with ppp in tildeOmega(1/sqrtn)\tilde{\Omega}(1/\sqrt{n})tildeOmega(1/sqrtn), where tildeOmega\tilde{\Omega}tildeOmega hides poly-logarithmic factors in nnn. For this range of ppp we present a distributed algorithm calAHC{\cal A}_{HC}calAHC that finds w.h.p. a Hamiltonian cycle in O(logn)O(\log n)O(logn) rounds. The algorithm works in the synchronous model and uses messages of size O(logn)O(\log n)O(logn) and O(logn)O(\log n)O(logn) memory per node.

Cycle bases in graphs characterization, algorithms, complexity, and applications

Computer Science Review, 2009

Cycles in graphs play an important role in many applications, e.g., analysis of electrical networks, analysis of chemical and biological pathways, periodic scheduling, and graph drawing. From a mathematical point of view, cycles in graphs have a rich structure. Cycle bases are a compact description of the set of all cycles of a graph. In this paper, we survey the state of knowledge on cycle bases and also derive some new results. We introduce different kinds of cycle bases, characterize them in terms of their cycle matrix, and prove structural results and apriori length bounds. We provide polynomial algorithms for the minimum cycle basis problem for some of the classes and prove APX -hardness for others. We also discuss three applications and show that they require different kinds of cycle bases.

An algorithm for minimum cycle basis of graphs

2008

We consider the problem of computing a minimum cycle basis of an undirected non-negative edge-weighted graph G with m edges and n vertices. In this problem, a {0, 1} incidence vector is associated with each cycle and the vector space over F 2 generated by these vectors is the cycle space of G. A set of cycles is called a cycle basis of G if it forms a basis for its cycle space. A cycle basis where the sum of the weights of the cycles is minimum is called a minimum cycle basis of G. Minimum cycle basis are useful in a number of contexts, e.g. the analysis of electrical networks and structural engineering.