Structure de contrôleEn programmation informatique, une structure de contrôle est une instruction particulière d'un langage de programmation impératif pouvant dévier le flot de contrôle du programme la contenant lorsqu'elle est exécutée. Si, au plus bas niveau, l'éventail se limite généralement aux branchements et aux appels de sous-programme, les langages structurés offrent des constructions plus élaborées comme les alternatives (if, if–else, switch...), les boucles (while, do–while, for...) ou encore les appels de fonction.
Predicate transformer semanticsPredicate transformer semantics were introduced by Edsger Dijkstra in his seminal paper "Guarded commands, nondeterminacy and formal derivation of programs". They define the semantics of an imperative programming paradigm by assigning to each statement in this language a corresponding predicate transformer: a total function between two predicates on the state space of the statement. In this sense, predicate transformer semantics are a kind of denotational semantics.
Géométrie affinevignette|Géometrie affine La géométrie affine est la géométrie des espaces affines : il s'agit grossièrement d'ensembles de points définis par des propriétés spécifiques permettant de parler d'alignement, de parallélisme, d'intersection. Les notions de longueur et d'angle lui sont toutefois étrangères : elles dépendent de structures supplémentaires, traitées dans le cadre de la géométrie euclidienne. Dissocier les notions propres à la géométrie affine est récent dans l'histoire des mathématiques.
Complexité en tempsEn algorithmique, la complexité en temps est une mesure du temps utilisé par un algorithme, exprimé comme fonction de la taille de l'entrée. Le temps compte le nombre d'étapes de calcul avant d'arriver à un résultat. Habituellement, le temps correspondant à des entrées de taille n est le temps le plus long parmi les temps d’exécution des entrées de cette taille ; on parle de complexité dans le pire cas. Les études de complexité portent dans la majorité des cas sur le comportement asymptotique, lorsque la taille des entrées tend vers l'infini, et l'on utilise couramment les notations grand O de Landau.
Fonction imbriquéeUne fonction imbriquée ou fonction interne est une fonction dont la définition est encapsulée dans une autre fonction. Elle ne peut être appelée que par la fonction englobante ou par des fonctions imbriquées directement ou non dans la même fonction englobante. En d'autres termes, la portée de la fonction imbriquée est limitée par la fonction englobante; elle offre un contrôle très strict de leur visibilité (scope) par le reste du programme.
Problème NP-completEn théorie de la complexité, un problème NP-complet ou problème NPC (c'est-à-dire un problème complet pour la classe NP) est un problème de décision vérifiant les propriétés suivantes : il est possible de vérifier une solution efficacement (en temps polynomial) ; la classe des problèmes vérifiant cette propriété est notée NP ; tous les problèmes de la classe NP se ramènent à celui-ci via une réduction polynomiale ; cela signifie que le problème est au moins aussi difficile que tous les autres problèmes de l
Espace affineEn géométrie, la notion d'espace affine généralise la notion d'espace issue de la géométrie euclidienne en omettant les notions d'angle et de distance. Dans un espace affine, on peut parler d'alignement, de parallélisme, de barycentre. Sous la forme qui utilise des rapports de mesures algébriques, qui est une notion affine, le théorème de Thalès et le théorème de Ceva sont des exemples de théorèmes de géométrie affine plane réelle (c'est-à-dire n'utilisant que la structure d'espace affine du plan réel).
Boucle forEn informatique, la boucle for est une structure de contrôle de programmation qui permet de répéter l'exécution d'une séquence d'instructions. Selon les langages de programmation, différents mots-clés sont utilisés pour signaler cette structure de contrôle : for pour les descendants d'Algol, do pour FORTRAN, PL/I, etc. Une "boucle for" a deux parties : une entête qui spécifie la manière de faire l'itération, et un corps qui est exécuté à chaque itération. Dans cette forme de boucle, une variable prend des valeurs successives sur un intervalle.
Demi-groupeEn mathématiques, plus précisément en algèbre générale, un demi-groupe (ou semi-groupe) est une structure algébrique constituée d'un ensemble muni d'une loi de composition interne associative. Il est dit commutatif si sa loi est de plus commutative. Un demi-groupe est un magma associatif. Un monoïde est un demi-groupe unifère, c'est-à-dire possédant un élément neutre. L'ensemble des entiers naturels non nuls muni de l'addition est un demi-groupe. Tout monoïde est un demi-groupe. Tout groupe est un demi-groupe.
Logique de HoareLa logique de Hoare, parfois appelée logique de Floyd-Hoare, est une méthode formelle définie par le chercheur en informatique britannique Tony Hoare dans un article de 1969 intitulé An Axiomatic Basis for Computer Programming. La méthode de Hoare met en place un formalisme logique permettant de raisonner sur la correction des programmes informatiques. Elle est fondée sur la syntaxe en ce sens que la correction d'un programme est décrite et démontrée par induction (récurrence) sur la structure du programme : à chaque règle syntaxique de construction d'un programme correspond une règle de la logique de Hoare.
Temps de calcul pseudo-polynomialEn informatique théorique, et notamment en théorie de la complexité, un algorithme est appelé pseudo-polynomial si sa complexité en temps est un polynôme en la valeur numérique de l'entrée (mais pas nécessairement en la taille en mémoire de l'entrée). Considérons le problème du test de primalité. On peut vérifier qu'un entier naturel donné n est premier en testant qu'il n'est divisible par aucun des entiers . Cela exige divisions, de sorte que le temps pris par cet algorithme naïf est linéaire en la valeur n .
Space (mathematics)In mathematics, a space is a set (sometimes called a universe) with some added structure. While modern mathematics uses many types of spaces, such as Euclidean spaces, linear spaces, topological spaces, Hilbert spaces, or probability spaces, it does not define the notion of "space" itself. A space consists of selected mathematical objects that are treated as points, and selected relationships between these points. The nature of the points can vary widely: for example, the points can be elements of a set, functions on another space, or subspaces of another space.
Réduction polynomialeUne réduction polynomiale est un outil d'informatique théorique, plus particulièrement de théorie de la complexité. C'est une classe particulière de réductions particulièrement importante, notamment pour le problème P = NP. Dans le cadre des langages formels pour les problèmes de décision, on dit qu'un langage est réductible en temps polynomial à un langage (noté ) s'il existe une fonction calculable en temps polynomial telle que pour tout , si et seulement si .
Équation linéaireUne équation à coefficients réels ou complexes est dite linéaire quand elle peut être présentée sous la forme ax = b ou, de manière équivalente ax – b = 0, où x est l'inconnue, a et b sont deux nombres donnés. Si a est différent de zéro, la seule solution est le nombre x = b/a. Plus généralement, une équation est dite linéaire lorsqu'elle se présente sous la forme u(x) = b, où u est une application linéaire entre deux espaces vectoriels E et F, b étant un vecteur donné de F. On recherche l'inconnue x dans E.
Groupe affineLes automorphismes d'un espace affine A constituent un groupe appelé groupe affine de A et noté GA(A). En notant E l'espace vectoriel qui dirige A, l'application qui à tout automorphisme u de A fait correspondre l'automorphisme f de E associé à u est un morphisme du groupe affine GA(A) dans le groupe linéaire GL(E). Son noyau forme le groupe des translations. GA(A) est isomorphe au produit semi-direct du groupe additif de E par GL(E). Il est donc engendré par les translations, les transvections et les dilatations.
MonoïdeEn mathématiques, un monoïde est une structure algébrique utilisée en algèbre générale, définie comme un ensemble muni d'une loi de composition interne associative et d'un élément neutre. Autrement dit, c'est un magma associatif et unifère, c'est-à-dire un demi-groupe unifère. Il arrive parfois qu'une structure composée d'un ensemble et d'une unique opération soit relativement pauvre en éléments inversibles, par exemple un anneau où l'on considère uniquement la multiplication. Une telle structure est appelée monoïde.
NP (complexité)La classe NP est une classe très importante de la théorie de la complexité. L'abréviation NP signifie « non déterministe polynomial » (« en »). Un problème de décision est dans NP s'il est décidé par une machine de Turing non déterministe en temps polynomial par rapport à la taille de l'entrée. Intuitivement, cela revient à dire qu'on peut vérifier « rapidement » (complexité polynomiale) si une solution candidate est bien solution.
Application affineEn géométrie, une application affine est une application entre deux espaces affines qui est compatible avec leur structure. Cette notion généralise celle de fonction affine de R dans R (), sous la forme , où est une application linéaire et est un point. Une bijection affine (qui est un cas particulier de transformation géométrique) envoie les sous-espaces affines, comme les points, les droites ou les plans, sur le même type d'objet géométrique, tout en préservant la notion de parallélisme.
Hiérarchie polynomialeEn théorie de la complexité, la hiérarchie polynomiale est une hiérarchie de classes de complexité qui étend la notion de classes P, NP, co-NP. La classe PH est l'union de toutes les classes de la hiérarchie polynomiale. Il existe plusieurs définitions équivalentes des classes de la hiérarchie polynomiale. On peut définir la hiérarchie à l'aide des quantificateurs universel () et existentiel ().
Polynômethumb|Courbe représentative d'une fonction cubique. En mathématiques, un polynôme est une expression formée uniquement de produits et de sommes de constantes et d'indéterminées, habituellement notées X, Y, Z... Ces objets sont largement utilisés en pratique, ne serait-ce que parce qu'ils donnent localement une valeur approchée de toute fonction dérivable (voir l'article Développement limité) et permettent de représenter des formes lisses (voir l'article Courbe de Bézier, décrivant un cas particulier de fonction polynomiale).