Computational complexityIn computer science, the computational complexity or simply complexity of an algorithm is the amount of resources required to run it. Particular focus is given to computation time (generally measured by the number of needed elementary operations) and memory storage requirements. The complexity of a problem is the complexity of the best algorithms that allow solving the problem. The study of the complexity of explicitly given algorithms is called analysis of algorithms, while the study of the complexity of problems is called computational complexity theory.
Théorie de la complexité (informatique théorique)vignette|Quelques classes de complexité étudiées dans le domaine de la théorie de la complexité. Par exemple, P est la classe des problèmes décidés en temps polynomial par une machine de Turing déterministe. La théorie de la complexité est le domaine des mathématiques, et plus précisément de l'informatique théorique, qui étudie formellement le temps de calcul, l'espace mémoire (et plus marginalement la taille d'un circuit, le nombre de processeurs, l'énergie consommée ...) requis par un algorithme pour résoudre un problème algorithmique.
Problème du sac à dosEn algorithmique, le problème du sac à dos, parfois noté (KP) (de l'anglais Knapsack Problem) est un problème d'optimisation combinatoire. Ce problème classique en informatique et en mathématiques modélise une situation analogue au remplissage d'un sac à dos. Il consiste à trouver la combinaison d'éléments la plus précieuse à inclure dans un sac à dos, étant donné un ensemble d'éléments décrits par leurs poids et valeurs.
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.
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.
Oracle (machine de Turing)vignette|upright=2|Une machine de Turing avec oracle peut faire appel à une boîte noire (oracle). En théorie de la complexité ou de la calculabilité, les machines de Turing avec oracle sont une variante des machines de Turing disposant d'une boîte noire, un oracle, capable de résoudre un problème de décision en une seule opération élémentaire. En particulier, l'oracle peut résoudre en temps constant un problème indécidable comme le problème de l'arrêt.
PréconditionneurEn algèbre linéaire et en analyse numérique, un préconditionneur d'une matrice est une matrice telle que le conditionnement de est plus petit que celui de . Le préconditionnement est surtout utilisé dans les méthodes itératives pour la résolution d'un système linéaire (méthode du gradient, méthode du gradient conjugué, ...). Au lieu de résoudre, on préfère résoudre qui permet de diminuer considérablement le nombre d'itérations dans la méthode de résolution (itérative). On dit que le système est "mieux" conditionné.
Problème de couverture par ensemblesEn informatique théorique, le problème de couverture par ensembles (Set Cover problem en anglais) est un problème d'algorithmique particulièrement important car c'est l'un des 21 problèmes NP-complets de Karp . Étant donné un ensemble A, on dit qu'un élément e est couvert par A si e appartient à A. Étant donné un ensemble U et une famille S de sous-ensembles de U, le problème consiste à couvrir tous les éléments U avec une sous-famille de S la plus petite possible.
Complexité paramétréeEn algorithmique, la complexité paramétrée (ou complexité paramétrique) est une branche de la théorie de la complexité qui classifie les problèmes algorithmiques selon leur difficulté intrinsèque en fonction de plusieurs paramètres sur les données en entrée ou sur la sortie. Ce domaine est étudié depuis les années 90 comme approche pour la résolution exacte de problèmes NP-complets. Cette approche est utilisée en optimisation combinatoire, notamment en algorithmique des graphes, en intelligence artificielle, en théorie des bases de données et en bio-informatique.
Algorithme de recherche d'un zéro d'une fonctionUn algorithme de recherche d'un zéro d’une fonction est une méthode numérique ou un algorithme de recherche d’une valeur approchée d’un x vérifiant , pour une fonction donnée f. Ici, x est un nombre réel appelé zéro de f ou lorsque f est polynomiale, racine de f. Lorsque x est un vecteur, les algorithmes pour trouver x tel que sont généralement appelés « algorithmes de résolution numérique d'un système d'équations ». Ces algorithmes sont une généralisation des algorithmes de recherche d’un zéro d’une fonction et peuvent s’appliquer à des équations linéaires ou non linéaires.
Équation du second degréEn mathématiques, une équation du second degré, ou équation quadratique, est une équation polynomiale de degré 2, c'est-à-dire qu'elle peut s'écrire sous la forme : Dans cette équation, x est l'inconnue les lettres a, b et c représentent les coefficients, avec a différent de 0. a est le coefficient quadratique, b est le coefficient linéaire, et c est un terme constant où le polynome est défini sur .
Méthode itérativeEn analyse numérique, une méthode itérative est un procédé algorithmique utilisé pour résoudre un problème, par exemple la recherche d’une solution d’un système d'équations ou d’un problème d’optimisation. En débutant par le choix d’un point initial considéré comme une première ébauche de solution, la méthode procède par itérations au cours desquelles elle détermine une succession de solutions approximatives raffinées qui se rapprochent graduellement de la solution cherchée. Les points générés sont appelés des itérés.
Extraction de racine carréeEn algorithmique et en analyse numérique, l'extraction de racine carrée est le processus qui consiste, étant donné un nombre, à en calculer la racine carrée. Il existe de nombreuses méthodes pour effectuer ce calcul. C'est un cas particulier de la recherche de calcul de la racine n-ième. La racine carrée d'un nombre pouvant être un nombre irrationnel, l'extraction de racine carrée est en général approchée. L'extraction de la racine carrée d'un nombre a est identique à la résolution de l'équation x - a = 0.
Analyse numériqueL’analyse numérique est une discipline à l'interface des mathématiques et de l'informatique. Elle s’intéresse tant aux fondements qu’à la mise en pratique des méthodes permettant de résoudre, par des calculs purement numériques, des problèmes d’analyse mathématique. Plus formellement, l’analyse numérique est l’étude des algorithmes permettant de résoudre numériquement par discrétisation les problèmes de mathématiques continues (distinguées des mathématiques discrètes).
Fonction itéréeEn mathématiques, une fonction itérée est une fonction obtenue par composition répétée d’une autre fonction avec elle-même un certain nombre de fois. La procédure consistant à appliquer la même fonction à plusieurs reprises s’appelle itération. Les fonctions itérées apparaissent en informatique, dans les systèmes dynamiques, les groupes de renormalisation et sont à la base des fractales. L’itérée, plus précisément la deuxième itérée, d’une fonction f , définie sur un ensemble X et à valeurs dans ce même ensemble X, est la fonction où note la composition de fonctions.
Fonction quadratiqueEn mathématiques, une fonction quadratique est une fonction de plusieurs variables polynomiale de degré 2. Cette notion généralise ainsi celle de fonction du second degré. Elle réalise aussi la partie régulière du développement de Taylor à l’ordre 2 pour une fonction de plusieurs variables. La matrice hessienne associée est la même en tout point, et ne dépend que de la forme quadratique constituée par les termes de degré 2. Elle permet aussi d’écrire le système d'équations linéaires qui détermine les points critiques de la fonction.
Formule quadratiqueEn algèbre classique, la formule quadratique est la solution de l'équation du second degré. Il y a d'autres façons pour résoudre l'équation du second degré au lieu d'utiliser la formule quadratique, comme la factorisation, la méthode de complétion du carré ou le tracé du graphe. Mais utiliser la formule quadratique est souvent la façon la plus pratique. L'équation du second degré générale est : Ici, x représente une valeur inconnue alors que a, b et c sont constantes, avec a non nul.
Physique numériqueLa physique numérique (ou parfois physique informatique) est l'étude et l'implémentation d'algorithmes numériques dans le but de résoudre des problèmes physiques pour lesquels une théorie existe déjà. Elle est souvent considérée comme une sous-discipline de la physique théorique mais certains la considèrent comme une branche intermédiaire entre la physique théorique et la physique expérimentale. En général, les physiciens définissent un système et son évolution grâce à des formules mathématiques précises.
ComplexitéLa complexité caractérise le comportement d'un système dont les composants interagissent localement et de façon non linéaire, ce qui se traduit par un comportement difficilement prédictible. La complexité peut donc caractériser un système "composé d'un grand nombre d'éléments interagissant sans coordination centrale, sans plan établi par un architecte, et menant spontanément à l'émergence de structures complexes" (Alain Barrat, directeur de recherche au Centre de physique théorique de Marseille); mais aussi caractériser des systèmes composés de peu d'éléments (voir le chaos déterministe).
Système de fonctions itéréesvignette|Attracteur de deux similitudes et . En mathématiques, un système de fonctions itérées (SFI ou encore IFS, acronyme du terme anglais Iterated Function System) est un outil pour construire des fractales. Plus précisément, l'attracteur d'un système de fonctions itérées est une forme fractale autosimilaire faite de la réunion de copies d'elle-même, chaque copie étant obtenue en transformant l'une d'elles par une fonction du système. La théorie a été formulée lors d'un séjour à l'université de Princeton par John Hutchinson en 1980.