Results 21  30
of
124
An attempt to map the performance of a range of algorithm and heuristic combinations
 IN HYBRID PROBLEMS, HYBRID SOLUTIONS
, 1995
"... Constraint satisfaction is the core of many AI and real life problems and much research has been done in this field in recent years. Work has been done in the past on comparing the performance of different algorithms and heuristics. Much of such work has focused on finding "the best" algor ..."
Abstract

Cited by 22 (1 self)
 Add to MetaCart
Constraint satisfaction is the core of many AI and real life problems and much research has been done in this field in recent years. Work has been done in the past on comparing the performance of different algorithms and heuristics. Much of such work has focused on finding "the best" algorithm and heuristic combination for all problems. The objective of this paper is to prove that there is no universally best algorithm and heuristic for all problems different problems can be solved most efficiently by different algorithm and heuristic combinations. The implication of this is important because it means that instead of trying to find "the best " algorithms and heuristics, future research should try to identify the application domain of each algorithm and heuristic (i.e. when they are most effective). Furthermore our results point to future research which focuses on how to retrieve the most efficient algorithm for a given problem. The results in this paper provide a first step towards achieving such goals.
Programming Constraint Services
, 2002
"... This thesis presents design, application, implementation, and evaluation of computation spaces as abstractions for programming constraint services at a high level. Spaces are seamlessly integrated into a concurrent programming language and make constraintbased computations compatible with concurrenc ..."
Abstract

Cited by 21 (1 self)
 Add to MetaCart
This thesis presents design, application, implementation, and evaluation of computation spaces as abstractions for programming constraint services at a high level. Spaces are seamlessly integrated into a concurrent programming language and make constraintbased computations compatible with concurrency through encapsulation. Spaces are applied
Asynchronous Forwardchecking for DisCSPs
, 2007
"... A new search algorithm for solving distributed constraint satisfaction problems (DisCSPs) is presented. Agents assign variables sequentially, but perform forward checking asynchronously. The asynchronous forwardchecking algorithm (AFC) is a distributed search algorithm that keeps one consistent par ..."
Abstract

Cited by 21 (3 self)
 Add to MetaCart
A new search algorithm for solving distributed constraint satisfaction problems (DisCSPs) is presented. Agents assign variables sequentially, but perform forward checking asynchronously. The asynchronous forwardchecking algorithm (AFC) is a distributed search algorithm that keeps one consistent partial assignment at all times. Forward checking is performed by sending copies of the partial assignment to all unassigned agents concurrently. The algorithm is described in detail and its correctness proven. The sequential assignment method of AFC leads naturally to dynamic ordering of agents during search. Several ordering heuristics are presented. The three best heuristics are evaluated and shown to improve the performance of AFC with static order by a large factor. An experimental comparison of AFC to asynchronous backtracking (ABT) on randomly generated DisCSPs is also presented. AFC with ordering heuristics outperforms ABT by a large factor on the harder instances of random DisCSPs. These results hold for two measures of performance: number of nonconcurrent constraints checks and number of messages sent.
Learning to Support Constraint Programmers
 Computational Intelligence
, 2005
"... This paper describes the Adaptive Constraint Engine (ACE), an ambitious ongoing research project to support constraint programmers, both human and machine. The program begins with substantial knowledge about constraint satisfaction. The program harnesses a cognitively oriented architecture—FOr the R ..."
Abstract

Cited by 20 (19 self)
 Add to MetaCart
This paper describes the Adaptive Constraint Engine (ACE), an ambitious ongoing research project to support constraint programmers, both human and machine. The program begins with substantial knowledge about constraint satisfaction. The program harnesses a cognitively oriented architecture—FOr the Right Reasons (FORR) to manage search heuristics and to learn new ones. ACE can transfer what it learns on simple problems to solve more difficult ones, and can readily export its knowledge to ordinary constraint solvers. It currently serves both as a learner and as a test bed for the constraint community. Key words: constraint satisfaction, machine learning, mixture of experts, cognitively oriented architecture. 1.
Backtracking Search Algorithms
, 2006
"... There are three main algorithmic techniques for solving constraint satisfaction problems: backtracking search, local search, and dynamic programming. In this chapter, I survey backtracking search algorithms. Algorithms based on dynamic programming [15]— sometimes referred to in the literature as var ..."
Abstract

Cited by 19 (2 self)
 Add to MetaCart
There are three main algorithmic techniques for solving constraint satisfaction problems: backtracking search, local search, and dynamic programming. In this chapter, I survey backtracking search algorithms. Algorithms based on dynamic programming [15]— sometimes referred to in the literature as variable elimination, synthesis, or inference algorithms—are the topic of Chapter 7. Local or stochastic search algorithms are the topic of Chapter 5. An algorithm for solving a constraint satisfaction problem (CSP) can be either complete or incomplete. Complete, or systematic algorithms, come with a guarantee that a solution will be found if one exists, and can be used to show that a CSP does not have a solution and to find a provably optimal solution. Backtracking search algorithms and dynamic programming algorithms are, in general, examples of complete algorithms. Incomplete, or nonsystematic algorithms, cannot be used to show a CSP does not have a solution or to find a provably optimal solution. However, such algorithms are often effective at finding a solution if one exists and can be used to find an approximation to an optimal solution. Local or stochastic search algorithms are examples of incomplete algorithms. Of the two
Decomposable Constraints
, 2000
"... Many constraint satisfaction problems can be naturally and efficiently modelled using nonbinary constraints like the "alldifferent" and "global cardinality" constraints. Certain classes of these nonbinary constraints are "network decomposable" as they can be repre ..."
Abstract

Cited by 17 (3 self)
 Add to MetaCart
(Show Context)
Many constraint satisfaction problems can be naturally and efficiently modelled using nonbinary constraints like the "alldifferent" and "global cardinality" constraints. Certain classes of these nonbinary constraints are "network decomposable" as they can be represented by binary constraints on the same set of variables. We compare theoretically the levels of consistency which are achieved on nonbinary constraints to those achieved on their binary decomposition. We present many new results about the level of consistency achieved by the forward checking algorithm and its various generalizations to nonbinary constraints. We also compare the level of consistency achieved by arcconsistency and its generalization to nonbinary constraints, and identify special cases of nonbinary decomposable constraints where weaker or stronger conditions, than in the general case, hold. We also analyze the cost, in consistency checks, required to achieve certain levels of consistency.
Java Constraint Library: bringing constraint technology on the Internet using the Java language
 In Working Notes of the Workshop on Constraints and Agents
, 1997
"... Distributed problem solving on the web is becoming more and more important. Client server architectures are often confronted with server overload. The process of browsing a large number of alternative solutions is particularly tedious. In this paper, we present a methodology for distributing th ..."
Abstract

Cited by 16 (3 self)
 Add to MetaCart
(Show Context)
Distributed problem solving on the web is becoming more and more important. Client server architectures are often confronted with server overload. The process of browsing a large number of alternative solutions is particularly tedious. In this paper, we present a methodology for distributing the computation between server and client. The idea is to formalize the problem as a constraint satisfaction problem (CSP). This formalization supports a natural decomposition of the task into two subtasks: generation of the CSP by the server from its database, and generating and browsing the solutions on the client. In this way, the browsing process runs locally and can be very fast, while the server is only accessed once during the process. We provide the Java Constraint library (JCL) for implementing the agent that solves the CSP on the client. We illustrate the concept on the example of planning air travel. Introduction From time to time, we are all faced with the problem of ...
Concurrent dynamic backtracking for distributed csps
 In CP2004
, 2004
"... Abstract. A distributed concurrent search algorithm for distributed constraint satisfaction problems (DisCSPs) is presented. Concurrent search algorithms are composed of multiple search processes (SPs) that operate concurrently and scan nonintersecting parts of the global search space. Search proce ..."
Abstract

Cited by 12 (8 self)
 Add to MetaCart
Abstract. A distributed concurrent search algorithm for distributed constraint satisfaction problems (DisCSPs) is presented. Concurrent search algorithms are composed of multiple search processes (SPs) that operate concurrently and scan nonintersecting parts of the global search space. Search processes are generated dynamically, started by the initializing agent, and by any number of agents during search. In the proposed, ConcDB, algorithm, all search processes perform dynamic backtracking. As a consequence of dynamic backtracking, a search space scanned by one search process can be found unsolvable by a different search process. This enhances the efficiency of the ConcDB algorithm. Concurrent search is an asynchronous distributed algorithm and is shown to be faster than asynchronous backtracking (ABT). The network load of ConcDB is also much lower than that of ABT. 1
On the Relations between Intelligent Backtracking and Failuredriven Explanation Based Learning in Constraint Satisfaction and Planning
, 1998
"... The ideas of intelligent backtracking (IB) and explanationbased learning (EBL) have developed independently in the constraint satisfaction, planning, machine learning and problem solving communities. The variety of approaches developed for IB and EBL in the various communities have hitherto been i ..."
Abstract

Cited by 11 (6 self)
 Add to MetaCart
(Show Context)
The ideas of intelligent backtracking (IB) and explanationbased learning (EBL) have developed independently in the constraint satisfaction, planning, machine learning and problem solving communities. The variety of approaches developed for IB and EBL in the various communities have hitherto been incomparable. In this paper, I formalize and unify these ideas under the taskindependent framework of refinement search, which can model the search strategies used in both planning and constraint satisfaction problems (CSPs). I show that both IB and EBL depend upon the common theory of explanation analysiswhich involves explaining search failures, and regressing them to higher levels of the search tree. My comprehensive analysis shows that most of the differences between the CSP and planning approaches to EBL and IB revolve around different solutions to: (a) how the failure explanations are computed; (b) how they are contextualized (contextualization involves deciding whether or not to keep the flaw description and the description of the violated problem constraints); and (c) how the storage of explanations is managed. The differences themselves can be understood in terms of the differences between planning and CSP problems as instantiations of refinement search. This unified understanding is expected to support a greater crossfertilization of ideas among CSP, planning and EBL communities.
Efficient Backtracking Instruction Schedulers
 In Proc. of Intl. Conf. on Parallel Architectures and Compilation Techniques
, 2000
"... instruction scheduling, global scheduling, compiler optimization, EPIC, VLIW, instructionlevel parallel processors Current schedulers for acyclic regions schedule operations in dependence order and never revisit or undo a scheduling decision on any operation. In contrast, backtracking schedulers ma ..."
Abstract

Cited by 10 (1 self)
 Add to MetaCart
(Show Context)
instruction scheduling, global scheduling, compiler optimization, EPIC, VLIW, instructionlevel parallel processors Current schedulers for acyclic regions schedule operations in dependence order and never revisit or undo a scheduling decision on any operation. In contrast, backtracking schedulers may unschedule already scheduled operations, in order to make space for the operation currently being scheduled. Backtracking schedulers have the potential for generating better schedules, e.g. more effectively filling branch delay slots, but are more compiletime intensive and therefore, not considered practical for production use. In this report, we first describe conventional cycle and list schedulers followed by two novel backtracking schedulers. The fullbacktracking OperBT scheduler enables backtracking for all operations and unschedules already scheduled operations to make space for the current operation, if, among other situations, there is no available slot that satisfies dependence constraints. This scheduler is effective in generating high quality schedules that for instance, successfully fill branch delay slots but likely backtracks too often. The selective backtracking ListBT scheduler enables backtracking only when scheduling certain types of operations, for which backtracking is likely to be advantageous, e.g. branches. When not scheduling these operations (or operations that were displaced through backtracking), the scheduler reverts to efficient scheduling in dependence order. The ListBT scheduler backtracks less often than the OperBT scheduler. Both schedulers successfully fill a large fraction of the branch delay slots and improve performance of the scheduled code significantly.