Collaborating Authors

An admissible and optimal algorithm for searching AND/OR graphs


An AND/OR graph is a graph which represents a problem-solving process. A solution graph is a subgraph of the AND/OR graph which represents a derivation for a solution of the problem. Therefore, solving a problem can be viewed as searching for a solution graph in an AND/OR graph. A “cost” is associated with every solution graph. In this paper, an algorithm for searching for a minimal solution graph in an AND/OR graph is described. If the “lower bound” condition is satisfied, the algorithm is guaranteed to find a minimal solution graph when one exists.

Graph Algorithms in Neo4j: Graph Technology & AI Applications


Mark Needham is a Support Engineer for Neo4j. Amy is the Analytics and AI Program Manager at Neo4j. She believes a thriving graph ecosystem is essential to catalyze new types of insights. Accordingly, she helps ensure Neo4j partners are successful. In her career, Amy has consistently helped teams break into new markets at startups and large companies including EDS, Microsoft, and Hewlett-Packard (HP).

An algorithm for the construction of the graphs of organic molecules


A description and a formal proof of an efficient computer implemented algorithm for the construction of graphs is presented. This algorithm, which is part of a program for the automated analysis of organic compounds, constructs all of the non-isomorphic, connected multi- graphs based on a given degree sequence of nodes and which arise from a relatively small “catalog” of certain canonical graphs. For the graphs of the more common organic molecules, a catalog of most of the canonical graphs is known, and the algorithm can produce all of the distinct valence isomers of these organic molecules.

Clustering Sparse Graphs

Neural Information Processing Systems

We develop a new algorithm to cluster sparse unweighted graphs -- i.e. partition the nodes into disjoint clusters so that there is higher density within clusters, and low across clusters. By sparsity we mean the setting where both the in-cluster and across cluster edge densities are very small, possibly vanishing in the size of the graph. Sparsity makes the problem noisier, and hence more difficult to solve. Any clustering involves a tradeoff between minimizing two kinds of errors: missing edges within clusters and present edges across clusters. Our insight is that in the sparse case, these must be {\em penalized differently}.

(Nearly) Efficient Algorithms for the Graph Matching Problem on Correlated Random Graphs

Neural Information Processing Systems

Graph matching/similarity has applications for pattern matching, vision, social network anonymization, malware analysis, and more. We give the first efficient algorithms proven to succeed in the correlated Erdös-Rényi model (Pedarsani and Grossglauser, 2011). Specifically, we give a polynomial time algorithm for the graph similarity/hypothesis testing task which works for every constant level of correlation between the two graphs that can be arbitrarily close to zero. We also give a quasi-polynomial ($n {O(\log n)}$ time) algorithm for the graph matching task of recovering the permutation minimizing the symmetric difference in this model. This is the first algorithm to do so without requiring as additional input a seed'' of the values of the ground truth permutation on at least $n {\Omega(1)}$ vertices.