Algorithmethumb|Algorithme de découpe d'un polygone quelconque en triangles (triangulation). Un algorithme est une suite finie et non ambiguë d'instructions et d’opérations permettant de résoudre une classe de problèmes. Le domaine qui étudie les algorithmes est appelé l'algorithmique. On retrouve aujourd'hui des algorithmes dans de nombreuses applications telles que le fonctionnement des ordinateurs, la cryptographie, le routage d'informations, la planification et l'utilisation optimale des ressources, le , le traitement de textes, la bio-informatique L' algorithme peut être mis en forme de façon graphique dans un algorigramme ou organigramme de programmation.
Démonstration (logique et mathématiques)vignette| : un des plus vieux fragments des Éléments d'Euclide qui montre une démonstration mathématique. En mathématiques et en logique, une démonstration est un ensemble structuré d'étapes correctes de raisonnement. Dans une démonstration, chaque étape est soit un axiome (un fait acquis), soit l'application d'une règle qui permet d'affirmer qu'une proposition, la conclusion, est une conséquence logique d'une ou plusieurs autres propositions, les prémisses de la règle.
Raisonnement par récurrencevignette|Le raisonnement par récurrence est comme une suite de dominos. Si la propriété est vraie au rang n0 (i. e. le premier domino de numéro 0 tombe) et si sa véracité au rang n implique celle au rang n + 1 (i. e. la chute du domino numéro n fait tomber le domino numéro n + 1) alors la propriété est vraie pour tout entier (i. e. tous les dominos tombent). En mathématiques, le raisonnement par récurrence (ou par induction, ou induction complète) est une forme de raisonnement visant à démontrer une propriété portant sur tous les entiers naturels.
Algorithme de rechercheEn informatique, un algorithme de recherche est un type d'algorithme qui, pour un domaine, un problème de ce domaine et des critères donnés, retourne en résultat un ensemble de solutions répondant au problème. Supposons que l'ensemble de ses entrées soit divisible en sous-ensemble, par rapport à un critère donné, qui peut être, par exemple, une relation d'ordre. De façon générale, un tel algorithme vérifie un certain nombre de ces entrées et retourne en sortie une ou plusieurs des entrées visées.
Computer-assisted proofA computer-assisted proof is a mathematical proof that has been at least partially generated by computer. Most computer-aided proofs to date have been implementations of large proofs-by-exhaustion of a mathematical theorem. The idea is to use a computer program to perform lengthy computations, and to provide a proof that the result of these computations implies the given theorem. In 1976, the four color theorem was the first major theorem to be verified using a computer program.
Proofs and RefutationsProofs and Refutations: The Logic of Mathematical Discovery is a 1976 book by philosopher Imre Lakatos expounding his view of the progress of mathematics. The book is written as a series of Socratic dialogues involving a group of students who debate the proof of the Euler characteristic defined for the polyhedron. A central theme is that definitions are not carved in stone, but often have to be patched up in the light of later insights, in particular failed proofs. This gives mathematics a somewhat experimental flavour.
É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 .
Théorie de la démonstrationLa théorie de la démonstration, aussi connue sous le nom de théorie de la preuve (de l'anglais proof theory), est une branche de la logique mathématique. Elle a été fondée par David Hilbert au début du . Hilbert a proposé cette nouvelle discipline mathématique lors de son célèbre exposé au congrès international des mathématiciens en 1900 avec pour objectif de démontrer la cohérence des mathématiques.
Algorithme de triUn algorithme de tri est, en informatique ou en mathématiques, un algorithme qui permet d'organiser une collection d'objets selon une relation d'ordre déterminée. Les objets à trier sont des éléments d'un ensemble muni d'un ordre total. Il est par exemple fréquent de trier des entiers selon la relation d'ordre usuelle « est inférieur ou égal à ». Les algorithmes de tri sont utilisés dans de très nombreuses situations. Ils sont en particulier utiles à de nombreux algorithmes plus complexes dont certains algorithmes de recherche, comme la recherche dichotomique.
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.
Algorithme génétiqueLes algorithmes génétiques appartiennent à la famille des algorithmes évolutionnistes. Leur but est d'obtenir une solution approchée à un problème d'optimisation, lorsqu'il n'existe pas de méthode exacte (ou que la solution est inconnue) pour le résoudre en un temps raisonnable. Les algorithmes génétiques utilisent la notion de sélection naturelle et l'appliquent à une population de solutions potentielles au problème donné.
Vérification formelleIn the context of hardware and software systems, formal verification is the act of proving or disproving the correctness of intended algorithms underlying a system with respect to a certain formal specification or property, using formal methods of mathematics. Formal verification can be helpful in proving the correctness of systems such as: cryptographic protocols, combinational circuits, digital circuits with internal memory, and software expressed as source code.
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.
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.
Irrationnel quadratiqueUn irrationnel quadratique est un nombre irrationnel solution d'une équation quadratique à coefficients rationnels, autrement dit, un nombre réel algébrique de degré 2. Il engendre donc un corps quadratique réel Q(), où d est un entier positif sans facteur carré. Les irrationnels quadratiques sont caractérisés par la périodicité à partir d'un certain rang de leur développement en fraction continue (théorème de Lagrange). Les exemples les plus simples d'irrationnels quadratiques sont les racines carrées d'entiers naturels non carrés (le plus célèbre étant ).
Démonstration constructiveUne première vision d'une démonstration constructive est celle d'une démonstration mathématique qui respecte les contraintes des mathématiques intuitionnistes, c'est-à-dire qui ne fait pas appel à l'infini, ni au principe du tiers exclu. Ainsi, démontrer l'impossibilité de l'inexistence d'un objet ne constitue pas une démonstration constructive de son existence : il faut pour cela en exhiber un et expliquer comment le construire. Si une démonstration est constructive, on doit pouvoir lui associer un algorithme.
Forme quadratiquethumb|L'annulation d'une forme quadratique donne le cône de lumière de la relativité restreinte, son signe fait la différence entre les événements accessibles ou inaccessibles dans l'espace-temps. En mathématiques, une forme quadratique est un polynôme homogène de degré 2 avec un nombre quelconque de variables. Les formes quadratiques d'une, deux et trois variables sont données respectivement par les formules suivantes (a,b,c,d,e,f désignant des coefficients) : L'archétype de forme quadratique est la forme x + y + z sur R, qui définit la structure euclidienne et dont la racine carrée permet de calculer la norme d'un vecteur.
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].
Correction d'un algorithmeUn algorithme est correct s'il fait ce qu'on attend de lui. Plus précisément, rappelons qu'un algorithme est décrit par une spécification des données sur lesquelles l'algorithme va démarrer son calcul et une spécification du résultat produit par l'algorithme. Démontrer la correction de l'algorithme consiste à démontrer que l'algorithme retourne, quand il calcule en partant des données, un objet qui est un des résultats escomptés et qui satisfait la spécification du résultat comme énoncé dans la description de l'algorithme.
Algorithmic paradigmAn algorithmic paradigm or algorithm design paradigm is a generic model or framework which underlies the design of a class of algorithms. An algorithmic paradigm is an abstraction higher than the notion of an algorithm, just as an algorithm is an abstraction higher than a computer program. Backtracking Branch and bound Brute-force search Divide and conquer Dynamic programming Greedy algorithm Recursion Prune and search Kernelization Iterative compression Sweep line algorithms Rotating calipers Randomized i