48 research outputs found
How to search for millions of queens
Journal ArticleThe n-queens problem is a classical combinatorial problem in artificial intelligence (AI) area. Since its simplicity and regular structure, this problem has widely been chosen as a testbed to develop and benchmark new AI search problem-solving strategies in the AI community. Due to its inherent complexity, so far even very efficient AI search algorithms can only find a solution for n-queens problem with n up to about 100. In this manuscript we present a new probabilistic local search algorithm which is based on a gradient-based heuristic. This efficient algorithm is capable of finding a solution for over 1,000,000 queens in several CPU hours on a 25Mhz Motorola 68030 computer
Ringo: Interactive Graph Analytics on Big-Memory Machines
We present Ringo, a system for analysis of large graphs. Graphs provide a way
to represent and analyze systems of interacting objects (people, proteins,
webpages) with edges between the objects denoting interactions (friendships,
physical interactions, links). Mining graphs provides valuable insights about
individual objects as well as the relationships among them.
In building Ringo, we take advantage of the fact that machines with large
memory and many cores are widely available and also relatively affordable. This
allows us to build an easy-to-use interactive high-performance graph analytics
system. Graphs also need to be built from input data, which often resides in
the form of relational tables. Thus, Ringo provides rich functionality for
manipulating raw input data tables into various kinds of graphs. Furthermore,
Ringo also provides over 200 graph analytics functions that can then be applied
to constructed graphs.
We show that a single big-memory machine provides a very attractive platform
for performing analytics on all but the largest graphs as it offers excellent
performance and ease of use as compared to alternative approaches. With Ringo,
we also demonstrate how to integrate graph analytics with an iterative process
of trial-and-error data exploration and rapid experimentation, common in data
mining workloads.Comment: 6 pages, 2 figure
A Procedural Interface for Program Directing
This paper presents a library of directing commands which enable the construction of powerful directors. The interface has been implemented in a Unix environment as a runtime subsystem running in the directed program's address space. The paper provides the description of the interface and the basic programming techniques in building directors. Examples of novel applications, illustrating the use of the directing interface, are demonstrated by the directors for the visualization of program control and structured snapshot