Définitions

Programmation par contraintes

La programmation par contraintes est un paradigme de programmation dans lequel les relations entre variables sont exprimées sous forme de contraintes .

Les contraintes diffèrent des primitives communes des langages de programmation impératifs en ce qu'elles ne spécifient pas d'étape ou de séquence d'étapes à exécuter, mais plutôt les propriétés d'une solution à rechercher. Cela fait de la programmation par contraintes une forme de programmation déclarative. Les contraintes utilisées dans la programmation par contraintes sont de différents types: celles utilisées dans les problèmes de satisfaction de contraintes (par exemple, A ou B est vraie), les inégalités linéaires (par exemple, x ≤ 5) et autres. Les contraintes sont généralement intégrées à un langage de programmation ou fournies via des bibliothèques de logiciels distinctes.

La programmation par contraintes peut être exprimée sous la forme d'une programmation logique par contraintes, qui incorpore des contraintes dans un programme logique . Cette variante de la programmation logique est due à Jaffar et Lassez,  qui ont étendu en 1987 une classe spécifique de contraintes introduites dans Prolog II . Prolog III, CLP (R) et CHIP ont été les premières implémentations de la programmation logique par contraintes .

Au lieu de la programmation logique, le contre traints peuvent être mélangés avec la programmation fonctionnelle, la réécriture et les langages impératifs . Les langages de programmation avec prise en charge intégrée des contraintes incluent Oz (programmation fonctionnelle) et Kaleidoscope (programmation impérative). Généralement, les contraintes sont implémentées dans les langages impératifs via des kits de résolution de contraintes, qui sont des bibliothèques séparées pour un langage impératif existant.

Organisme de formation

CPF, Pole Emploi, Plan de formation   OF N°11755165975 - 17 rue etex, Paris

Recevez des exclus !

Abonnez-vous et recevez des infos en exclu

24pm academy
17 rue etex 75018 Paris
O6 62 55 OO 1O

Search