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.
Block codeIn coding theory, block codes are a large and important family of error-correcting codes that encode data in blocks. There is a vast number of examples for block codes, many of which have a wide range of practical applications. The abstract definition of block codes is conceptually useful because it allows coding theorists, mathematicians, and computer scientists to study the limitations of all block codes in a unified way.
Conseil (informatique théorique)En théorie de la complexité, un conseil est une entrée supplémentaire passée à une machine de Turing qui dépend de la taille de l'entrée, afin d'aider la machine à reconnaître un langage. Cette notion est introduite par Richard Karp et Richard J. Lipton en 1982. Étant donnés une fonction et une classe de complexité , la classe est l'ensemble des langages tels qu'il existe un langage et une suite de conseils de taille tels que pour toute entrée de taille , si et seulement si .
Arbre splayUn arbre splay (ou arbre évasé) est un arbre binaire de recherche auto-équilibré possédant en outre la propriété que les éléments auxquels on a récemment accédé (pour les ajouter, les regarder ou les supprimer) sont rapidement accessibles. Ils disposent ainsi d'une complexité amortie en O(log n) pour les opérations courantes comme insertion, recherche ou suppression. Ainsi dans le cas où les opérations possèdent une certaine structure, ces arbres constituent des bases de données ayant de bonnes performances, et ceci reste vrai même si cette structure est a priori inconnue.
Rotation en quatre dimensionsEn mathématiques, les rotations en quatre dimensions (souvent appelées simplement rotations 4D) sont des transformations de l'espace euclidien , généralisant la notion de rotation ordinaire dans l'espace usuel ; on les définit comme des isométries directes ayant un point fixe (qu'on peut prendre comme origine, identifiant les rotations aux rotations vectorielles) ; le groupe de ces rotations est noté SO(4) : il est en effet isomorphe au groupe spécial orthogonal d'ordre 4.
Matrice de rotationEn mathématiques, et plus précisément en algèbre linéaire, une matrice de rotation Q est une matrice orthogonale de déterminant 1, ce qui peut s'exprimer par les équations suivantes : QtQ = I = QQt et det Q = 1, où Qt est la matrice transposée de Q, et I est la matrice identité. Ces matrices sont exactement celles qui, dans un espace euclidien, représentent les isométries (vectorielles) directes.
Matrice triangulairevignette|algèbre linéaire En algèbre linéaire, une matrice triangulaire est une matrice carrée dont tous les coefficients sont nuls d’un côté ou de l’autre de la diagonale principale. C’est en particulier le cas si la matrice est diagonale. Une matrice est triangulaire stricte si elle est triangulaire et que tous ses coefficients diagonaux sont nuls. Dans ce qui suit, on considérera un anneau unitaire R non forcément commutatif, des R-modules à gauche et des R-modules à droite.
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.
Algorithme probabilisteEn algorithmique, un algorithme probabiliste, ou algorithme randomisé, est un algorithme qui utilise une source de hasard. Plus précisément le déroulement de l’algorithme fait appel à des données tirées au hasard. Par exemple à un certain point de l’exécution, on tire un bit 0 ou 1, selon la loi uniforme et si le résultat est 0, on fait une certaine action A et si c'est 1, on fait une autre action. On peut aussi tirer un nombre réel dans l'intervalle [0,1] ou un entier dans un intervalle [i..j].
Code parfait et code MDSLes codes parfaits et les codes à distance séparable maximale (MDS), sont des types de codes correcteurs d'erreur. Un code correcteur est un code permettant au récepteur de détecter ou de corriger des altérations à la suite de la transmission ou du stockage. Elle est rendue possible grâce à une redondance de l'information. Un code est dit parfait s'il ne contient aucune redondance inutile. Le concept correspond à un critère d'optimalité. Un code est dit MDS s'il vérifie un autre critère d'optimalité s'exprimant dans le contexte des codes linéaires.