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).
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.
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.
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.
Magnitude apparentevignette|Image de la nébuleuse de la Tarentule prise par le télescope VISTA de l'ESO. La nébuleuse a une magnitude apparente de 8 et est entourée d'objets célestes aux magnitudes diverses. La magnitude apparente est une mesure de l'irradiance d'un objet céleste observé depuis la Terre. Utilisée quasi exclusivement en astronomie, la magnitude correspondait historiquement à un classement des étoiles, les plus brillantes étant de « première magnitude », les deuxièmes et troisièmes magnitudes étant plus faibles, jusqu'à la sixième magnitude, étoiles à peine visibles à l'œil nu.
Classe de complexitéEn informatique théorique, et plus précisément en théorie de la complexité, une classe de complexité est un ensemble de problèmes algorithmiques dont la résolution nécessite la même quantité d'une certaine ressource. Une classe est souvent définie comme l'ensemble de tous les problèmes qui peuvent être résolus sur un modèle de calcul M, utilisant une quantité de ressources du type R, où n, est la taille de l'entrée. Les classes les plus usuelles sont celles définies sur des machines de Turing, avec des contraintes de temps de calcul ou d'espace.
Magnitude (astronomie)vignette|Sources lumineuses de différentes magnitudes. En astronomie, la magnitude est une mesure sans unité de la luminosité d'un objet céleste dans une bande de longueurs d'onde définie, souvent dans le spectre visible ou infrarouge. Une détermination imprécise mais systématique de la grandeur des objets est introduite dès le par Hipparque. L'échelle est logarithmique et définie de telle sorte que chaque pas d'une grandeur change la luminosité d'un facteur 2,5.
Magnitude absolueEn astronomie, la magnitude absolue indique la luminosité intrinsèque d'un objet céleste, au contraire de la magnitude apparente qui dépend de la distance à l'astre et de l'extinction dans la ligne de visée. Pour un objet situé à l'extérieur du Système solaire, elle est définie par la magnitude apparente qu'aurait cet astre s'il était placé à une distance de référence fixée à 10 parsecs (environ 32,6 années-lumière) en l'absence d'extinction interstellaire.
Cohérence (logique)En logique mathématique, la cohérence, ou consistance, d'une théorie axiomatique peut se définir de deux façons, soit par référence à la déduction : il n'est pas possible de tout démontrer à partir des axiomes de la théorie, soit par référence à la sémantique de la théorie : celle-ci possède des réalisations qui lui donnent un sens. La première définition est syntaxique au sens où elle utilise des déductions ou démonstrations, qui sont des objets finis.
SemanticsSemantics () is the study of reference, meaning, or truth. The term can be used to refer to subfields of several distinct disciplines, including philosophy, linguistics and computer science. In English, the study of meaning in language has been known by many names that involve the Ancient Greek word σῆμα (sema, "sign, mark, token"). In 1690, a Greek rendering of the term semiotics, the interpretation of signs and symbols, finds an early allusion in John Locke's An Essay Concerning Human Understanding: The third Branch may be called σημειωτική [simeiotikí, "semiotics"], or the Doctrine of Signs, the most usual whereof being words, it is aptly enough termed also λογικὴ, Logick.
Étoile variableEn astronomie, une étoile variable ou, par ellipse, une variable est une étoile dont l'éclat varie au cours de périodes plus ou moins longues (on parle à ce titre de variabilité stellaire). Alors que la plupart des étoiles sont de luminosité presque constante, comme le Soleil qui ne possède pratiquement pas de variation mesurable (environ 0,1 % sur un cycle de 11 ans), la luminosité de certaines étoiles varie de façon perceptible pendant des périodes de temps beaucoup plus courtes.
Problème algorithmiqueUn problème algorithmique est, en informatique théorique, un objet mathématique qui représente une question ou un ensemble de questions auxquelles un ordinateur devrait être en mesure de répondre. Le plus souvent, ces problèmes sont de la forme : étant donné un objet (l'instance), effectuer une certaine action ou répondre à telle question. Par exemple, le problème de la factorisation est le problème suivant : étant donné un nombre entier, trouver un facteur premier de cet entier.
Recherche dichotomiqueLa recherche dichotomique, ou recherche par dichotomie (), est un algorithme de recherche pour trouver la position d'un élément dans un tableau trié. Le principe est le suivant : comparer l'élément avec la valeur de la case au milieu du tableau ; si les valeurs sont égales, la tâche est accomplie, sinon on recommence dans la moitié du tableau pertinente. Le nombre d'itérations de la procédure, c'est-à-dire le nombre de comparaisons, est logarithmique en la taille du tableau.
Sémantique opérationnelleEn informatique, la sémantique opérationnelle est l'une des approches qui servent à donner une signification aux programmes informatiques d'une manière rigoureuse, mathématiquement parlant (voir Sémantique des langages de programmation). Une sémantique opérationnelle d'un langage de programmation particulier décrit comment chaque programme valide du langage doit être interprété en termes de suite d'états successifs dans la machine. Cette suite d'états est la signification du programme.
Propagation de contraintesLa propagation de contraintes dans le domaine de la programmation par contraintes est le fait de réduire le domaine d'une variable afin de maintenir l'ensemble des valeurs possibles cohérent avec les contraintes du problème. La propagation de contraintes permet ainsi de résoudre un problème si la propagation permet d'établir la cohérence du problème. Les techniques de propagation de contraintes sont utilisées pour réduire la taille de l'espace de recherche lors de la résolution d'un problème de satisfaction de contraintes par un algorithme de recherche arborescente.
Problème P ≟ NPvignette|400px|Représentation visuelle des deux configurations possibles. Le problème P ≟ NP est une conjecture en mathématiques, et plus précisément en informatique théorique, considérée par de nombreux chercheurs comme une des plus importantes conjectures du domaine, et même des mathématiques en général. L'Institut de mathématiques Clay a inclus ce problème dans sa liste des sept problèmes du prix du millénaire, et offre à ce titre un million de dollars à quiconque sera en mesure de démontrer P = NP ou P ≠ NP ou de démontrer que ce n'est pas démontrable.
Expérimentation médicale nazievignette|redresse=1.5|Le Block 10, lieu d'expérimentation « médicale» nazi à Auschwitz I. L’expérimentation médicale nazie désigne les expériences médicales pratiquées en vertu de l'idéologie nazie par des médecins SS sur des déportés dans les camps de concentration et des instituts scientifiques, ainsi que par la société Ahnenerbe — héritage des ancêtres dont Heinrich Himmler était le président.
Sémantique dénotationnelleEn informatique, la sémantique dénotationnelle est une des approches permettant de formaliser la signification d'un programme en utilisant les mathématiques. Parmi les autres approches, on trouve la sémantique axiomatique et la sémantique opérationnelle. Cette discipline a été introduite par Christopher Strachey et Dana Scott. En général, la sémantique dénotationnelle utilise des techniques de programmation fonctionnelle pour décrire les langages informatiques, les architectures et les programmes.
Algorithme A*En informatique, plus précisément en intelligence artificielle, l'algorithme de recherche A* (qui se prononce A étoile, ou A star en anglais) est un algorithme de recherche de chemin dans un graphe entre un nœud initial et un nœud final tous deux donnés. En raison de sa simplicité il est souvent présenté comme exemple typique d'algorithme de planification, domaine de l'intelligence artificielle.