3,741 research outputs found

    Une étude des supports résiduels pour la consistance d'arc

    Get PDF
    Pour un algorithme établissant la consistance d'arc (AC), un support résiduel, ou résidu, est un support qui a été trouvé et enregistré lors d'une exécution de la procédure qui détermine si une valeur est supportée par une contrainte. Le point important est qu'un résidu n'offre pas la garantie de représenter un minorant du plus petit support courant de la valeur en question. Dans cet article, nous étudions l'impact théorique d'exploiter des résidus au niveau de l'algorithme élémentaire AC3. Tout d'abord, nous prouvons que AC3r(m) (i.e. AC3 exploitant des résidus) est optimal pour une dureté de contrainte faible ou élevée. Ensuite, nous montrons que MAC2001 présente, par rapport à MAC3r(m), un sur-coût en O(μed) par branche de l'arbre binaire construit par MAC, avec μ représentant le nombre de réfutations de la branche, e le nombre de contraintes et d la taille du plus grand domaine. L'une des conséquences est que, MAC3r(m) admet une complexité temporelle (dans le pire des cas) meilleure que MAC2001 pour une branche impliquant μ réfutations lorsque μ > d2 ou lorsque μ > d et que la dureté de chaque contrainte est soit faible soit élevée. Nos résultats expérimentaux montrent clairement que le fait d'exploiter des résidus permet d'améliorer l'efficacité des algorithmes MAC et SAC embarquant des algorithmes AC à gros grain

    A specialised constraint approach for stable matching problems

    Get PDF
    Constraint programming is a generalised framework designed to solve combinatorial problems. This framework is made up of a set of predefined independent components and generalised algorithms. This is a very versatile structure which allows for a variety of rich combinatorial problems to be represented and solved relatively easily. Stable matching problems consist of a set of participants wishing to be matched into pairs or groups in a stable manner. A matching is said to be stable if there is no pair or group of participants that would rather make a private arrangement to improve their situation and thus undermine the matching. There are many important "real life" applications of stable matching problems across the world. Some of which includes the Hospitals/Residents problem in which a set of graduating medical students, also known as residents, need to be assigned to hospital posts. Some authorities assign children to schools as a stable matching problem. Many other such problems are also tackled as stable matching problems. A number of classical stable matching problems have efficient specialised algorithmic solutions. Constraint programming solutions to stable matching problems have been investigated in the past. These solutions have been able to match the theoretically optimal time complexities of the algorithmic solutions. However, empirical evidence has shown that in reality these constraint solutions run significantly slower than the specialised algorithmic solutions. Furthermore, their memory requirements prohibit them from solving problems which the specialised algorithmic solutions can solve in a fraction of a second. My contribution investigates the possibility of modelling stable matching problems as specialised constraints. The motivation behind this approach was to find solutions to these problems which maintain the versatility of the constraint solutions, whilst significantly reducing the performance gap between constraint and specialised algorithmic solutions. To this end specialised constraint solutions have been developed for the stable marriage problem and the Hospitals/Residents problem. Empirical evidence has been presented which shows that these solutions can solve significantly larger problems than previously published constraint solutions. For these larger problem instances it was seen that the specialised constraint solutions came within a factor of four of the time required by algorithmic solutions. It has also been shown that, through further specialisation, these constraint solutions can be made to run significantly faster. However, these improvements came at the cost of versatility. As a demonstration of the versatility of these solutions it is shown that, by adding simple side constraints, richer problems can be easily modelled. These richer problems add additional criteria and/or an optimisation requirement to the original stable matching problems. Many of these problems have been proven to be NP-Hard and some have no known algorithmic solutions. Included with these models are results from empirical studies which show that these are indeed feasible solutions to the richer problems. Results from the studies also provide some insight into the structure of these problems, some of which have had little or no previous study

    Maintaining Arc Consistency with Multiple Residues

    Get PDF
    International audienceExploiting residual supports (or residues) has proved to be one of the most cost-effective approaches for Maintaining Arc Consistency during search (MAC). While MAC based on optimal AC algorithm may have better theoretical time complexity in some cases, in practice the overhead for maintaining required data structure during search outweighs the benefit, not to mention themore complicated implementation. Implementing MAC with residues, on the other hand, is trivial. In this paper we extend previous work on residues and investigate the use of multiple residues during search. We first give a theoretical analysis of residue-based algorithms that explains their good practical performance. We then propose several heuristics on how to deal with multiple residues. Finally, our empirical study shows that with a proper and limited number of residues, many constraint checks can be saved. When the constraint check is expensive or a problem is hard, the multiple residues approach is competitive in both the number of constraint checks and cpu time

    On the speed of constraint propagation and the time complexity of arc consistency testing

    Full text link
    Establishing arc consistency on two relational structures is one of the most popular heuristics for the constraint satisfaction problem. We aim at determining the time complexity of arc consistency testing. The input structures GG and HH can be supposed to be connected colored graphs, as the general problem reduces to this particular case. We first observe the upper bound O(e(G)v(H)+v(G)e(H))O(e(G)v(H)+v(G)e(H)), which implies the bound O(e(G)e(H))O(e(G)e(H)) in terms of the number of edges and the bound O((v(G)+v(H))3)O((v(G)+v(H))^3) in terms of the number of vertices. We then show that both bounds are tight up to a constant factor as long as an arc consistency algorithm is based on constraint propagation (like any algorithm currently known). Our argument for the lower bounds is based on examples of slow constraint propagation. We measure the speed of constraint propagation observed on a pair G,HG,H by the size of a proof, in a natural combinatorial proof system, that Spoiler wins the existential 2-pebble game on G,HG,H. The proof size is bounded from below by the game length D(G,H)D(G,H), and a crucial ingredient of our analysis is the existence of G,HG,H with D(G,H)=Ω(v(G)v(H))D(G,H)=\Omega(v(G)v(H)). We find one such example among old benchmark instances for the arc consistency problem and also suggest a new, different construction.Comment: 19 pages, 5 figure
    corecore