Programmation par contraintesLa programmation par contraintes (PPC, ou CP pour constraint programming en anglais) est un paradigme de programmation apparu dans les années 1970 et 1980 permettant de résoudre des problèmes combinatoires de grande taille tels que les problèmes de planification et d'ordonnancement. En programmation par contraintes, on sépare la partie modélisation à l'aide de problèmes de satisfaction de contraintes (ou CSP pour Constraint Satisfaction Problem), de la partie résolution dont la particularité réside dans l'utilisation active des contraintes du problème pour réduire la taille de l'espace des solutions à parcourir (on parle de propagation de contraintes).
Constraint satisfactionIn artificial intelligence and operations research, constraint satisfaction is the process of finding a solution through a set of constraints that impose conditions that the variables must satisfy. A solution is therefore a set of values for the variables that satisfies all constraints—that is, a point in the feasible region. The techniques used in constraint satisfaction depend on the kind of constraints being considered.
Constraint logic programmingConstraint logic programming is a form of constraint programming, in which logic programming is extended to include concepts from constraint satisfaction. A constraint logic program is a logic program that contains constraints in the body of clauses. An example of a clause including a constraint is . In this clause, is a constraint; A(X,Y), B(X), and C(Y) are literals as in regular logic programming. This clause states one condition under which the statement A(X,Y) holds: X+Y is greater than zero and both B(X) and C(Y) are true.
Problème de satisfaction de contraintesLes problèmes de satisfaction de contraintes ou CSP (Constraint Satisfaction Problem) sont des problèmes mathématiques où l'on cherche des états ou des objets satisfaisant un certain nombre de contraintes ou de critères. Les CSP font l'objet de recherches intenses à la fois en intelligence artificielle et en recherche opérationnelle. De nombreux CSP nécessitent la combinaison d'heuristiques et de méthodes d'optimisation combinatoire pour être résolus en un temps raisonnable.
Élimination des quantificateursEn logique mathématique, ou plus précisément en théorie des modèles, l'élimination des quantificateurs est l'action consistant à trouver une formule sans quantificateur équivalente à une formule donnée contenant éventuellement des quantificateurs dans la théorie considérée d'un certain langage.
Constraint Handling RulesConstraint Handling Rules (CHR) is a declarative, rule-based programming language, introduced in 1991 by Thom Frühwirth at the time with European Computer-Industry Research Centre (ECRC) in Munich, Germany. Originally intended for constraint programming, CHR finds applications in grammar induction, type systems, abductive reasoning, multi-agent systems, natural language processing, compilation, scheduling, spatial-temporal reasoning, testing, and verification.
Ensemble partiellement ordonnéEn mathématiques, un ensemble partiellement ordonné (parfois appelé poset d'après l'anglais partially ordered set) formalise et généralise la notion intuitive d'ordre ou d'arrangement entre les éléments d'un ensemble. Un ensemble partiellement ordonné est un ensemble muni d'une relation d'ordre qui indique que pour certains couples d'éléments, l'un est plus petit que l'autre. Tous les éléments ne sont pas forcément comparables, contrairement au cas d'un ensemble muni d'un ordre total.
Logique paracohérenteEn logique mathématique, une logique paracohérente (aussi appelé logique paraconsistante) est un système logique qui tolère les contradictions, contrairement au système de la logique classique. Les logiques tolérantes aux incohérences sont étudiées depuis au moins 1910, avec des esquisses remontant sans doute au temps d'Aristote. Le terme paracohérent - (à côté du cohérent, paraconsistent en anglais) - n'a été employé qu'après 1976 par le philosophe péruvien .
Logique ternaireLa logique ternaire, ou logique 3 états, est une branche du calcul des propositions qui étend l'algèbre de Boole, en considérant, en plus des états VRAI et FAUX, l'état INCONNU. Dans la logique ternaire de Stephen Cole Kleene, les tables de vérité des fonctions de base sont les suivantes : D'une certaine manière, ces propriétés correspondent à l'intuition : par exemple, si on ignore si A est vrai ou faux, son inverse est tout aussi incertain. Les autres fonctions logiques se déduisent de par leur définition, la distributivité continuant à s'appliquer.
Logique non classiqueEn logique mathématique, les logiques non classiques sont des logiques formelles qui diffèrent de façon significative de la logique classique. L'adjectif « classique » a un sens normatif autrement dit , il qualifie ce qui est habituel. Les logiques classiques adoptent effectivement des principes usuels comme le tiers exclu, le principe d'explosion, le raisonnement par l'absurde, l'usage de tables de vérité, etc. Dans les logiques non classiques, on étudie des variations, par exemple en supprimant des principes, ou en ayant plus de deux valeurs de vérité.