Abstract Domains in Constraint Programming
eBook - ePub

Abstract Domains in Constraint Programming

  1. 176 pages
  2. English
  3. ePUB (mobile friendly)
  4. Available on iOS & Android
eBook - ePub

Abstract Domains in Constraint Programming

About this book

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

Frequently asked questions

Yes, you can cancel anytime from the Subscription tab in your account settings on the Perlego website. Your subscription will stay active until the end of your current billing period. Learn how to cancel your subscription.
No, books cannot be downloaded as external files, such as PDFs, for use outside of Perlego. However, you can download books within the Perlego app for offline reading on mobile or tablet. Learn more here.
Perlego offers two plans: Essential and Complete
  • Essential is ideal for learners and professionals who enjoy exploring a wide range of subjects. Access the Essential Library with 800,000+ trusted titles and best-sellers across business, personal growth, and the humanities. Includes unlimited reading time and Standard Read Aloud voice.
  • Complete: Perfect for advanced learners and researchers needing full, unrestricted access. Unlock 1.4M+ books across hundreds of subjects, including academic and specialized titles. The Complete Plan also includes advanced features like Premium Read Aloud and Research Assistant.
Both plans are available with monthly, semester, or annual billing cycles.
We are an online textbook subscription service, where you can get access to an entire online library for less than the price of a single book per month. With over 1 million books across 1000+ topics, we’ve got you covered! Learn more here.
Look out for the read-aloud symbol on your next book to see if you can listen to it. The read-aloud tool reads text aloud for you, highlighting the text as it is being read. You can pause it, speed it up and slow it down. Learn more here.
Yes! You can use the Perlego app on both iOS or Android devices to read anytime, anywhere β€” even offline. Perfect for commutes or when you’re on the go.
Please note we cannot support devices running on iOS 13 and Android 7 or earlier. Learn more about using the app.
Yes, you can access Abstract Domains in Constraint Programming by Marie Pelleau in PDF and/or ePUB format, as well as other popular books in Computer Science & Artificial Intelligence (AI) & Semantics. We have over one million books available in our catalogue for you to explore.
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 of contents

  1. Cover image
  2. Title page
  3. Table of Contents
  4. Dedication
  5. Copyright
  6. Preface
  7. Introduction
  8. 1. State of the Art
  9. 2. Abstract Interpretation for the Constraints
  10. 3. Octagons
  11. 4. Octagonal Solving
  12. 5. An Abstract Solver: AbSolute
  13. Conclusion and Perspectives
  14. Bibliography
  15. Index