8 research outputs found
Enumerating Graph Partitions Without Too Small Connected Components Using Zero-suppressed Binary and Ternary Decision Diagrams
Partitioning a graph into balanced components is important for several applications. For multi-objective problems, it is useful not only to find one solution but also to enumerate all the solutions with good values of objectives. However, there are a vast number of graph partitions in a graph, and thus it is difficult to enumerate desired graph partitions efficiently. In this paper, an algorithm to enumerate all the graph partitions such that all the weights of the connected components are at least a specified value is proposed. To deal with a large search space, we use zero-suppressed binary decision diagrams (ZDDs) to represent sets of graph partitions and we design a new algorithm based on frontier-based search, which is a framework to directly construct a ZDD. Our algorithm utilizes not only ZDDs but also ternary decision diagrams (TDDs) and realizes an operation which seems difficult to be designed only by ZDDs. Experimental results show that the proposed algorithm runs up to tens of times faster than an existing state-of-the-art algorithm
J-POP: Japanese Puzzles as Optimization Problems
Japanese puzzle games such as Sudoku and Futoshiki are familiar recreational pursuits, but they also present an interesting computational challenge. A number of algorithms exist for the automated solution of such puzzles, but, until now, these have not been compared in a unified way. Here we present an integrated framework for the study of combinatorial black-box optimisation, using Japanese puzzles as the test-bed. Importantly, our platform is extendable, allowing for the easy addition of both puzzles and solvers. We compare the performance of a number of optimization algorithms on six different puzzle games, and identify a subset of puzzle instances that could provide a challenging benchmark set for future algorithms
Exact Computation of Influence Spread by Binary Decision Diagrams
Evaluating influence spread in social networks is a fundamental procedure to
estimate the word-of-mouth effect in viral marketing. There are enormous
studies about this topic; however, under the standard stochastic cascade
models, the exact computation of influence spread is known to be #P-hard. Thus,
the existing studies have used Monte-Carlo simulation-based approximations to
avoid exact computation.
We propose the first algorithm to compute influence spread exactly under the
independent cascade model. The algorithm first constructs binary decision
diagrams (BDDs) for all possible realizations of influence spread, then
computes influence spread by dynamic programming on the constructed BDDs. To
construct the BDDs efficiently, we designed a new frontier-based search-type
procedure. The constructed BDDs can also be used to solve other
influence-spread related problems, such as random sampling without rejection,
conditional influence spread evaluation, dynamic probability update, and
gradient computation for probability optimization problems.
We conducted computational experiments to evaluate the proposed algorithm.
The algorithm successfully computed influence spread on real-world networks
with a hundred edges in a reasonable time, which is quite impossible by the
naive algorithm. We also conducted an experiment to evaluate the accuracy of
the Monte-Carlo simulation-based approximation by comparing exact influence
spread obtained by the proposed algorithm.Comment: WWW'1
Fast Arrays: Atomic Arrays with Constant Time Initialization
Some algorithms require a large array, but only operate on a small fraction of its indices. Examples include adjacency matrices for sparse graphs, hash tables, and van Emde Boas trees. For such algorithms, array initialization can be the most time-consuming operation. Fast arrays were invented to avoid this costly initialization. A fast array is a software implementation of an array, such that the entire array can be initialized in just constant time.
While algorithms for sequential fast arrays have been known for a long time, to the best of our knowledge, there are no previous algorithms for concurrent fast arrays. We present the first such algorithms in this paper. Our first algorithm is linearizable and wait-free, uses only linear space, and supports all operations - initialize, read, and write - in constant time. Our second algorithm enhances the first to additionally support all the read-modify-write operations available in hardware (such as compare-and-swap) in constant time
Finding All Solutions and Instances of Numberlink and Slitherlink by ZDDs
Link puzzles involve finding paths or a cycle in a grid that satisfy given local and global properties. This paper proposes algorithms that enumerate solutions and instances of two link puzzles, Slitherlink and Numberlink, by zero-suppressed binary decision diagrams (ZDDs). A ZDD is a compact data structure for a family of sets provided with a rich family of set operations, by which, for example, one can easily extract a subfamily satisfying a desired property. Thanks to the nature of ZDDs, our algorithms offer a tool to assist users to design instances of those link puzzles
Algoritmi e strutture di dati per la rappresentazione compatta di cammini minimi in grafi
La tesi si propone di enumerare con un costo output-sensitive i cammini tra due vertici di un grafo. In particolare una fase di pre-elaborazione costruisce una struttura di dati che permette di raggiungere efficientemente lo scopo