Programmation par contraintes


Révision datée du 11 mars 2020 à 09:34 par Pitpitt (discussion | contributions) (Page créée avec « ==en construction== Catégorie:Vocabulaire Catégorie:Intelligence artificielle Catégorie:24pm ==Définition== La programmation par contraintes est un parad... »)
(diff) ← Version précédente | Voir la version actuelle (diff) | Version suivante → (diff)

en construction


Définition

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.

Français

Programmation par contraintes loc. nominale. masc.

Anglais

XXXXXXX


Source : 24pm Academy

Contributeurs: Imane Meziani, wiki