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).
Langage de description de matérielUn langage de description de matériel, ou du matériel (ou HDL pour hardware description language en anglais) est un langage informatique permettant la description d'un circuit électronique au niveau des transferts de registres (RTL). Celui-ci peut décrire les fonctions réalisées par le circuit (description comportementale) ou les portes logiques utilisées par le circuit (description structurelle). Il est possible d'observer le fonctionnement d'un circuit électronique modélisé dans un langage de description grâce à la simulation.
Assistant de preuveEn informatique (ou en mathématiques assistées par informatique), un assistant de preuve est un logiciel permettant la vérification de preuves mathématiques, soit sur des théorèmes au sens usuel des mathématiques, soit sur des assertions relatives à l'exécution de programmes informatiques. Beaucoup de projets ont été lancés pour formaliser les mathématiques, en 1966, Nicolaas de Bruijn lance le projet Automath, suivi par d'autres projets.
Standard MLStandard ML (SML) is a general-purpose, modular, functional programming language with compile-time type checking and type inference. It is popular among compiler writers and programming language researchers, as well as in the development of theorem provers. Standard ML is a modern dialect of ML, the language used in the Logic for Computable Functions (LCF) theorem-proving project. It is distinctive among widely used languages in that it has a formal specification, given as typing rules and operational semantics in The Definition of Standard ML.
Contrainte (mathématiques)En mathématiques, une contrainte est une condition que doit satisfaire la solution d'un problème d'optimisation. On distingue deux types de contraintes : les contraintes d'égalité et les contraintes en inégalité. L'ensemble des solutions satisfaisant toutes les contraintes est appelé l'ensemble admissible. On considère un problème d'optimisation classique : avec et et désigne le vecteur . Dans cet exemple, la première ligne montre la fonction à minimiser (appelée fonction objectif ou fonction-coût) mais aussi l'ensemble où la solution doit être recherché, ici C.
Optimisation linéairethumb|upright=0.5|Optimisation linéaire dans un espace à deux dimensions (x1, x2). La fonction-coût fc est représentée par les lignes de niveau bleues à gauche et par le plan bleu à droite. L'ensemble admissible E est le pentagone vert. En optimisation mathématique, un problème d'optimisation linéaire demande de minimiser une fonction linéaire sur un polyèdre convexe. La fonction que l'on minimise ainsi que les contraintes sont décrites par des fonctions linéaires, d'où le nom donné à ces problèmes.
RaisonLa raison est généralement considérée comme une faculté propre de l'esprit humain dont la mise en œuvre lui permet de créer des critères de vérité et d'erreur et d'atteindre ses objectifs. Elle repose sur la capacité qu'aurait l'être humain de faire des choix en se basant sur son intelligence, ses perceptions et sa mémoire tout en faisant abstraction de ses préjugés, ses émotions ou ses pulsions. Cette faculté a donc plusieurs emplois : connaissance, éthique et technique.
Moteur d'inférenceUn moteur d'inférence (du verbe « inférer » qui signifie « déduire ») est un logiciel (processus informatique) correspondant à un algorithme de simulation des raisonnements déductifs. Un moteur d'inférence permet aux systèmes experts de conduire des raisonnements logiques et de dériver des conclusions à partir d'une base de faits et d'une base de connaissances. Les moteurs d'inférence peuvent implémenter : une logique formelle d'ordre 0 (logique des propositions), d'ordre 0+, d'ordre 1 (logique des prédicats) ou d'ordre 2 avec une gestion d'hypothèses monotone ou non monotone, un chaînage avant, chaînage arrière ou mixte, une complétude déductive ou non.
Méthode de saisievignette|Saisie logiciellement assistée de caractères chinois. Une méthode de saisie, également méthode d'entrée (de l'input method), est un programme ou un composant d'un système d'exploitation qui permet aux utilisateurs d'un ordinateur de saisir des caractères complexes et des symboles, tels que les caractères chinois, l'alphabet coréen, le système d'écriture japonais ou ceux de langues d'origine indienne (sanskrit, tamoul, tibétain, etc.), à l'aide d'un clavier occidental classique.
P/polyEn informatique théorique, plus précisément en théorie de la complexité, P/poly est la classe de problèmes de décision décidés par une famille de circuits booléens de tailles polynomiales. Cette classe a été introduite par Karp et Lipton en 1980. Cette classe est importante, car comme P est incluse dans P/poly, si on démontre que NP ⊈ P/poly, alors on résout le problème ouvert P est différent de NP. Il y a deux définitions équivalentes, la première donnée avec le modèle de calcul des circuits booléens, l'autre avec des machines de Turing.