Abstract Domains in Constraint Programming
eBook - ePub

Abstract Domains in Constraint Programming

Marie Pelleau

Compartir libro
  1. 176 páginas
  2. English
  3. ePUB (apto para móviles)
  4. Disponible en iOS y Android
eBook - ePub

Abstract Domains in Constraint Programming

Marie Pelleau

Detalles del libro
Vista previa del libro
Índice
Citas

Información del libro

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

Preguntas frecuentes

¿Cómo cancelo mi suscripción?
Simplemente, dirígete a la sección ajustes de la cuenta y haz clic en «Cancelar suscripción». Así de sencillo. Después de cancelar tu suscripción, esta permanecerá activa el tiempo restante que hayas pagado. Obtén más información aquí.
¿Cómo descargo los libros?
Por el momento, todos nuestros libros ePub adaptables a dispositivos móviles se pueden descargar a través de la aplicación. La mayor parte de nuestros PDF también se puede descargar y ya estamos trabajando para que el resto también sea descargable. Obtén más información aquí.
¿En qué se diferencian los planes de precios?
Ambos planes te permiten acceder por completo a la biblioteca y a todas las funciones de Perlego. Las únicas diferencias son el precio y el período de suscripción: con el plan anual ahorrarás en torno a un 30 % en comparación con 12 meses de un plan mensual.
¿Qué es Perlego?
Somos un servicio de suscripción de libros de texto en línea que te permite acceder a toda una biblioteca en línea por menos de lo que cuesta un libro al mes. Con más de un millón de libros sobre más de 1000 categorías, ¡tenemos todo lo que necesitas! Obtén más información aquí.
¿Perlego ofrece la función de texto a voz?
Busca el símbolo de lectura en voz alta en tu próximo libro para ver si puedes escucharlo. La herramienta de lectura en voz alta lee el texto en voz alta por ti, resaltando el texto a medida que se lee. Puedes pausarla, acelerarla y ralentizarla. Obtén más información aquí.
¿Es Abstract Domains in Constraint Programming un PDF/ePUB en línea?
Sí, puedes acceder a Abstract Domains in Constraint Programming de Marie Pelleau en formato PDF o ePUB, así como a otros libros populares de Computer Science y Computer Engineering. Tenemos más de un millón de libros disponibles en nuestro catálogo para que explores.

Información

Año
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: yy ∗ (x − 2)
5: yx/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...

Índice