Une 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 . On appelle la fonction la fonction de réduction, et un algorithme polynomial qui calcule est appelé algorithme de réduction.
Soit un problème de décision. Les instances de ce problème sont des objets abstraits au sens où leur définition est purement mathématique. Pour permettre l'implémentation de ce problème, elles doivent être cependant représentées sous une forme compréhensible par le programme. Ici intervient la notion de codage. On définit une fonction de codage d'un problème de décision comme étant une application injective qui associe à l'ensemble des instances abstraites de un élément de . Ainsi, lorsqu'un programmeur code un problème, les variables représentant les instances du problème sont traduites (par le compilateur dans le cas des langages statiques, par l'interpréteur dans le cas des langages dynamiques) en langage binaire. Le codage est donc un moyen de passer d'un problème abstrait à un problème concret. De fait, si la solution à une instance de problème de décision abstrait est , alors la solution de l'instance du problème concret est aussi . Un léger problème se pose cependant : il est possible que des éléments de ne correspondent à aucune instance du problème (autrement dit, qu'ils n'ont aucun antécédent). Par commodité, on supposera que toute chaîne de ce type a pour image 0.
Un algorithme accepte une chaîne si, étant donné une entrée , l'algorithme sort
Un algorithme rejette une chaîne si .
Le langage accepté par un algorithme est l'ensemble des chaînes acceptées par l'algorithme, soit .
Cette page est générée automatiquement et peut contenir des informations qui ne sont pas correctes, complètes, à jour ou pertinentes par rapport à votre recherche. Il en va de même pour toutes les autres pages de ce site. Veillez à vérifier les informations auprès des sources officielles de l'EPFL.
The students learn the theory and practice of basic concepts and techniques in algorithms. The course covers mathematical induction, techniques for analyzing algorithms, elementary data structures, ma
This course is an introduction to linear and discrete optimization.Warning: This is a mathematics course! While much of the course will be algorithmic in nature, you will still need to be able to p
This course reviews some failure cases in public-key cryptography. It introduces some cryptanalysis techniques. It also presents fundamentals in cryptography such as interactive proofs. Finally, it pr
En 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
En calculabilité et en théorie de la complexité, une réduction est un algorithme transformant une instance d'un problème algorithmique en une ou plusieurs instances d'un autre problème. S'il existe une telle réduction d'un problème A à un problème B, on dit que le problème A se réduit au problème B. Dans ce cas, le problème B est plus difficile que le problème A, puisque l'on peut résoudre le problème A en appliquant la réduction puis un algorithme pour le problème B. On écrit alors A ≤ B.
In computability theory and computational complexity theory, a many-one reduction (also called mapping reduction) is a reduction which converts instances of one decision problem (whether an instance is in ) to another decision problem (whether an instance is in ) using an effective function. The reduced instance is in the language if and only if the initial instance is in its language . Thus if we can decide whether instances are in the language , we can decide whether instances are in its language by applying the reduction and solving .
Explore les caractéristiques et la manipulation des réseaux dynamiques (vecteurs), en mettant l'accent sur les techniques efficaces et les compromis impliqués.
Given two elliptic curves and the degree of an isogeny between them, finding the isogeny is believed to be a difficult problem—upon which rests the security of nearly any isogeny-based scheme. If, however, to the data above we add information about the beh ...
2024
In this thesis, we give new approximation algorithms for some NP-hard problems arising in resource allocation and network design. As a resource allocation problem, we study the Santa Claus problem (also known as the MaxMin Fair Allocation problem) in which ...
EPFL2023
Tris-(2-carboxyethyl)phosphine (TCEP) linked to agarose beads is widely used for reducing disulfide bridges in proteins and peptides. The immobilization of TCEP on beads allows efficient removal after reduction to prevent its reaction with alkylating reage ...