44,306 research outputs found
Finding communities in sparse networks
Spectral algorithms based on matrix representations of networks are often
used to detect communities but classic spectral methods based on the adjacency
matrix and its variants fail to detect communities in sparse networks. New
spectral methods based on non-backtracking random walks have recently been
introduced that successfully detect communities in many sparse networks.
However, the spectrum of non-backtracking random walks ignores hanging trees in
networks that can contain information about the community structure of
networks. We introduce the reluctant backtracking operators that explicitly
account for hanging trees as they admit a small probability of returning to the
immediately previous node unlike the non-backtracking operators that forbid an
immediate return. We show that the reluctant backtracking operators can detect
communities in certain sparse networks where the non-backtracking operators
cannot while performing comparably on benchmark stochastic block model networks
and real world networks. We also show that the spectrum of the reluctant
backtracking operator approximately optimises the standard modularity function
similar to the flow matrix. Interestingly, for this family of non- and
reluctant-backtracking operators the main determinant of performance on
real-world networks is whether or not they are normalised to conserve
probability at each node.Comment: 11 pages, 4 figure
Efficient management of backtracking in and-parallelism
A backtracking algorithm for AND-Parallelism and its implementation at the Abstract Machine level are presented: first, a class of AND-Parallelism models based on goal independence is defined, and a generalized version of Restricted AND-Parallelism (RAP) introduced as characteristic of this class. A simple and efficient backtracking algorithm for R A P is then discussed. An implementation scheme is presented for this algorithm which
offers minimum overhead, while retaining the performance and storage economy of sequent ial implementations and taking advantage of goal independence to avoid unnecessary
backtracking ("restricted intelligent backtracking"). Finally, the implementation of backtracking in sequential and AND-Parallcl systems is explained through a number of
examples
Enhancing a Search Algorithm to Perform Intelligent Backtracking
This paper illustrates how a Prolog program, using chronological backtracking
to find a solution in some search space, can be enhanced to perform intelligent
backtracking. The enhancement crucially relies on the impurity of Prolog that
allows a program to store information when a dead end is reached. To illustrate
the technique, a simple search program is enhanced.
To appear in Theory and Practice of Logic Programming.
Keywords: intelligent backtracking, dependency-directed backtracking,
backjumping, conflict-directed backjumping, nogood sets, look-back.Comment: To appear in Theory and Practice of Logic Programmin
Assessing Percolation Threshold Based on High-Order Non-Backtracking Matrices
Percolation threshold of a network is the critical value such that when nodes
or edges are randomly selected with probability below the value, the network is
fragmented but when the probability is above the value, a giant component
connecting large portion of the network would emerge. Assessing the percolation
threshold of networks has wide applications in network reliability, information
spread, epidemic control, etc. The theoretical approach so far to assess the
percolation threshold is mainly based on spectral radius of adjacency matrix or
non-backtracking matrix, which is limited to dense graphs or locally treelike
graphs, and is less effective for sparse networks with non-negligible amount of
triangles and loops. In this paper, we study high-order non-backtracking
matrices and their application to assessing percolation threshold. We first
define high-order non-backtracking matrices and study the properties of their
spectral radii. Then we focus on 2nd-order non-backtracking matrix and
demonstrate analytically that the reciprocal of its spectral radius gives a
tighter lower bound than those of adjacency and standard non-backtracking
matrices. We further build a smaller size matrix with the same largest
eigenvalue as the 2nd-order non-backtracking matrix to improve computation
efficiency. Finally, we use both synthetic networks and 42 real networks to
illustrate that the use of 2nd-order non-backtracking matrix does give better
lower bound for assessing percolation threshold than adjacency and standard
non-backtracking matrices.Comment: to appear in proceedings of the 26th International World Wide Web
Conference(WWW2017
On the Efficiency of Optimising Shallow Backtracking in Prolog
The cost of backtracking has been identified as one of the bottlenecks in
achieving peak performance in compiled Prolog programs. Much of the backtracking in
Prolog programs is shallow, i.e. is caused by unification failures in the head of a
clause when there are more alternatives for the same procedure, and so special treatment
of this form of backtracking has been proposed as a significant optimisation. This
paper describes a modified WAM which optimises shallow backtracking. Four different
implementation approaches are compared. A number of benchmark results are presented,
measuring the relative tradeoffs between compilation time, code size, and run time. The
results show that the speedup gained by this optimisation can be significant
On Backtracking in Real-time Heuristic Search
Real-time heuristic search algorithms are suitable for situated agents that
need to make their decisions in constant time. Since the original work by Korf
nearly two decades ago, numerous extensions have been suggested. One of the
most intriguing extensions is the idea of backtracking wherein the agent
decides to return to a previously visited state as opposed to moving forward
greedily. This idea has been empirically shown to have a significant impact on
various performance measures. The studies have been carried out in particular
empirical testbeds with specific real-time search algorithms that use
backtracking. Consequently, the extent to which the trends observed are
characteristic of backtracking in general is unclear. In this paper, we present
the first entirely theoretical study of backtracking in real-time heuristic
search. In particular, we present upper bounds on the solution cost exponential
and linear in a parameter regulating the amount of backtracking. The results
hold for a wide class of real-time heuristic search algorithms that includes
many existing algorithms as a small subclass
Intelligent search strategies based on adaptive Constraint Handling Rules
The most advanced implementation of adaptive constraint processing with
Constraint Handling Rules (CHR) allows the application of intelligent search
strategies to solve Constraint Satisfaction Problems (CSP). This presentation
compares an improved version of conflict-directed backjumping and two variants
of dynamic backtracking with respect to chronological backtracking on some of
the AIM instances which are a benchmark set of random 3-SAT problems. A CHR
implementation of a Boolean constraint solver combined with these different
search strategies in Java is thus being compared with a CHR implementation of
the same Boolean constraint solver combined with chronological backtracking in
SICStus Prolog. This comparison shows that the addition of ``intelligence'' to
the search process may reduce the number of search steps dramatically.
Furthermore, the runtime of their Java implementations is in most cases faster
than the implementations of chronological backtracking. More specifically,
conflict-directed backjumping is even faster than the SICStus Prolog
implementation of chronological backtracking, although our Java implementation
of CHR lacks the optimisations made in the SICStus Prolog system. To appear in
Theory and Practice of Logic Programming (TPLP).Comment: Number of pages: 27 Number of figures: 14 Number of Tables:
Independent AND-parallel implementation of narrowing
We present a parallel graph narrowing machine, which is
used to implement a functional logic language on a shared memory multiprocessor. It is an extensión of an abstract machine for a purely functional language. The result is a programmed graph reduction machine which integrates the mechanisms of unification, backtracking, and independent
and-parallelism. In the machine, the subexpressions of an expression can run in parallel. In the case of backtracking, the structure of an expression is used to avoid the reevaluation of subexpressions as far as possible. Deterministic computations are detected. Their results are maintained and need not be reevaluated after backtracking
- …