Abstract Domains in Constraint Programming
eBook - ePub

Abstract Domains in Constraint Programming

Marie Pelleau

  1. 176 pages
  2. English
  3. ePUB (adapté aux mobiles)
  4. Disponible sur iOS et Android
eBook - ePub

Abstract Domains in Constraint Programming

Marie Pelleau

DĂ©tails du livre
Aperçu du livre
Table des matiĂšres
Citations

À propos de ce livre

Constraint Programming aims at solving hard combinatorial problems, with a computation time increasing in practice exponentially. The methods are today efficient enough to solve large industrial problems, in a generic framework. However, solvers are dedicated to a single variable type: integer or real. Solving mixed problems relies on ad hoc transformations. In another field, Abstract Interpretation offers tools to prove program properties, by studying an abstraction of their concrete semantics, that is, the set of possible values of the variables during an execution. Various representations for these abstractions have been proposed. They are called abstract domains. Abstract domains can mix any type of variables, and even represent relations between the variables.

In this work, we define abstract domains for Constraint Programming, so as to build a generic solving method, dealing with both integer and real variables. We also study the octagons abstract domain, already defined in Abstract Interpretation. Guiding the search by the octagonal relations, we obtain good results on a continuous benchmark. We also define our solving method using Abstract Interpretation techniques, in order to include existing abstract domains. Our solver, AbSolute, is able to solve mixed problems and use relational domains.

  • Exploits the over-approximation methods to integrate AI tools in the methods of CP
  • Exploits the relationships captured to solve continuous problems more effectively
  • Learn from the developers of a solver capable of handling practically all abstract domains

Foire aux questions

Comment puis-je résilier mon abonnement ?
Il vous suffit de vous rendre dans la section compte dans paramĂštres et de cliquer sur « RĂ©silier l’abonnement ». C’est aussi simple que cela ! Une fois que vous aurez rĂ©siliĂ© votre abonnement, il restera actif pour le reste de la pĂ©riode pour laquelle vous avez payĂ©. DĂ©couvrez-en plus ici.
Puis-je / comment puis-je télécharger des livres ?
Pour le moment, tous nos livres en format ePub adaptĂ©s aux mobiles peuvent ĂȘtre tĂ©lĂ©chargĂ©s via l’application. La plupart de nos PDF sont Ă©galement disponibles en tĂ©lĂ©chargement et les autres seront tĂ©lĂ©chargeables trĂšs prochainement. DĂ©couvrez-en plus ici.
Quelle est la différence entre les formules tarifaires ?
Les deux abonnements vous donnent un accĂšs complet Ă  la bibliothĂšque et Ă  toutes les fonctionnalitĂ©s de Perlego. Les seules diffĂ©rences sont les tarifs ainsi que la pĂ©riode d’abonnement : avec l’abonnement annuel, vous Ă©conomiserez environ 30 % par rapport Ă  12 mois d’abonnement mensuel.
Qu’est-ce que Perlego ?
Nous sommes un service d’abonnement Ă  des ouvrages universitaires en ligne, oĂč vous pouvez accĂ©der Ă  toute une bibliothĂšque pour un prix infĂ©rieur Ă  celui d’un seul livre par mois. Avec plus d’un million de livres sur plus de 1 000 sujets, nous avons ce qu’il vous faut ! DĂ©couvrez-en plus ici.
Prenez-vous en charge la synthÚse vocale ?
Recherchez le symbole Écouter sur votre prochain livre pour voir si vous pouvez l’écouter. L’outil Écouter lit le texte Ă  haute voix pour vous, en surlignant le passage qui est en cours de lecture. Vous pouvez le mettre sur pause, l’accĂ©lĂ©rer ou le ralentir. DĂ©couvrez-en plus ici.
Est-ce que Abstract Domains in Constraint Programming est un PDF/ePUB en ligne ?
Oui, vous pouvez accĂ©der Ă  Abstract Domains in Constraint Programming par Marie Pelleau en format PDF et/ou ePUB ainsi qu’à d’autres livres populaires dans Computer Science et Computer Engineering. Nous disposons de plus d’un million d’ouvrages Ă  dĂ©couvrir dans notre catalogue.

Informations

Année
2015
ISBN
9780081004647
1

State of the Art

Abstract

In this chapter, we present the notions upon which abstract interpretation (AI) is based and the principles of constraint programming (CP). We do not provide an exhaustive presentation of both areas, but rather give the notions needed for the understanding of this book. The concepts discussed include those of partially ordered sets, lattice and fixpoint, which are at the basis of the underlying theories in both fields. It also includes the in-place tools, such as narrowing and widening operators in AI or consistency and splitting operators in CP. Finally, the chapter presents an analysis of the similitudes between an AI and CP upon which rely the works presented in this book.
Keywords
Abstract interpretation (AI)
Concrete semantics
Constraint programming (CP)
Constraint satisfaction problem (CSP)
Large Hadron Collider (LHC)
Narrowing operator
Propagation loop
Transfer function
Widening operator
In this chapter, we present the notions upon which abstract interpretation (AI) is based and the principles of constraint programming (CP). We do not provide an exhaustive presentation of both areas, but rather give the notions needed for the understanding of this book. The concepts discussed include those of partially ordered sets, lattice and fixpoint, which are at the basis of the underlying theories in both fields. It also includes the in-place tools, such as narrowing and widening operators in AI or consistency and splitting operators in CP. Finally, the chapter presents an analysis of the similitudes between an AI and CP upon which rely the works presented in this book.

1.1 Abstract interpretation

The founding principles of AI were introduced in 1976 by Patrick and Cousot [COU 76]. In this section, we only present some aspects of AI that will be needed afterward. For a more complete presentation, see [COU 92a, COU 77a].

1.1.1 Introduction to abstract interpretation

One of the applications of AI is to automatically prove that a certain type of bug does not exist in a program and that there is no error during a program execution. Let us see an example.
Example 1.1
Backtrace
Consider the following program:
1: real x, y
2: x ← 2
3: y ← 5
4: y ← y ∗ (x − 2)
5: y ← x/y
The backtrace for this program is:
linexy
1??
22?
325
420
52NaN Error: division by zero
In toy examples like this one, the backtrace allows us to quickly dete...

Table des matiĂšres