Négation par l'échecLa négation par l'échec (en anglais NAF pour negation as failure, ou NBF pour negation by failure) est une règle d'inférence non monotone en programmation logique, utilisée pour la dérivation de à partir de l'échec de la dérivation de . C'est une caractéristique importante de la programmation logique depuis les origines de Planner et de Prolog. En Prolog, la négation par l'échec est habituellement implémentée en utilisant les fonctionnalités non logiques du langage.
Sémantique des modèles stablesLa sémantique des modèles stables est une sémantique déclarative en programmation logique utilisant la négation par l'échec. C'est l'une des nombreuses approches standard pour la signification de la négation dans la programmation logique, au côté de la terminaison de programme et de la sémantique bien fondée. La sémantique du modèle stable est à la base du langage de programmation déclarative Answer Set Programming (ASP).
Unificationvignette|Unifier deux termes, c'est les rendre identiques en remplaçant les variables. En informatique et en logique, l'unification est un processus algorithmique qui, étant donnés deux termes, trouve une substitution qui appliquée aux deux termes les rend identiques. Par exemple, et peuvent être rendus identiques par la substitution et , qui donne quand on l'applique à chacun de ces termes le terme .
Oz (langage)Oz est un langage de programmation permettant d'employer et de combiner différents paradigmes de programmation : fonctionnel, procédural et objets, relationnel et logique, contraintes, concurrence massive, distribution. Oz fournit par défaut des variables logiques même s'il est possible d'utiliser des variables mutables. De même, l'évaluation est stricte par défaut, mais l'évaluation paresseuse est possible.
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.
Planner (programming language)Planner (often seen in publications as "PLANNER" although it is not an acronym) is a programming language designed by Carl Hewitt at MIT, and first published in 1969. First, subsets such as Micro-Planner and Pico-Planner were implemented, and then essentially the whole language was implemented as Popler by Julian Davies at the University of Edinburgh in the POP-2 programming language.
Programmation logique inductiveLa programmation logique inductive (ILP de l'anglais Inductive Logic Programming) est un sous-domaine de l'apprentissage automatique basée sur la programmation logique. À partir d'un ensemble de connaissances préalables et de résultats attendus, divisés en exemples positifs et négatifs, un système ILP déduit un programme logique hypothétique qui confirme les exemples positifs et infirme les exemples négatifs. On peut résumer le principe de fonctionnement d'un système ILP par le schéma suivant : exemples positifs + exemples négatifs + connaissances préalables ⇒ programme hypothétique.
Logique non monotoneUne logique non-monotone est une logique formelle dans laquelle la base de faits inférés peut ne pas croître et même parfois décroître. En effet, la plupart des logiques formelles sont monotones, ce qui signifie qu'ajouter un fait ou un axiome à un ensemble de faits ou d'axiomes n'enlève pas de faits à cet ensemble. Autrement dit, cela signifie qu'ajouter une nouvelle connaissance à un système ne fera qu'augmenter les faits inférés dans ce système.
Wolfram LanguageWolfram Language est un langage de calcul multi-paradigme général développé par la société Wolfram Research. Ce langage est utilisé pour le calcul symbolique, la programmation fonctionnelle et la programmation basée sur des règles et il peut utiliser des structures et des données arbitraires. Wolfram Language est un langage de calcul multi-paradigmes général développé par Wolfram Research. C'est également le langage de programmation de Mathematica (programme de calcul symbolique mathématique) et du Wolfram Programming Cloud.
Chaînage arrièreLe chaînage arrière ou raisonnement arrière est une méthode d'inférence qui peut être décrite (en termes profanes) comme une manière de travailler en remontant en arrière de l'objectif. Il est utilisé en intelligence artificielle, dans un système expert à base de règles ou encore dans un assistant de preuve. En théorie des jeux, son utilisation dans les sous-jeux pour trouver une solution au jeu est appelée raisonnement rétrograde.