Dans la théorie de la calculabilité et de la complexité (et peut-être dans d'autres domaines), les réductions sont omniprésentes. Il en existe de nombreuses sortes, mais le principe reste le même: montrez qu'un problème est au moins aussi complexe qu'un autre problème en mappant des instances de à des solutions équivalentes à la solution . Essentiellement, nous montrons que tout résolveur pour peut également résoudre si nous lui permettons d'utiliser la fonction de réduction en tant que pré-processeur.L 2 L 2 L 1 L 1 L 2
J'ai réalisé ma part de réductions au fil des ans et quelque chose ne cesse de m'embêter. Bien que chaque nouvelle réduction nécessite une construction (plus ou moins) créative, la tâche peut sembler répétitive. Existe-t-il un pool de méthodes canoniques?
Quelles sont les techniques, modèles et astuces que l’on peut utiliser régulièrement pour construire des fonctions de réduction?
Ceci est supposé devenir une question de référence . Veillez donc à donner des réponses générales, présentées de manière didactique, illustrées par au moins un exemple mais couvrant néanmoins de nombreuses situations. Merci!
Réponses:
Le cas particulier
Supposons que nous voulons montrer par rapport à une certaine notion de réduction R . Si L 1 est un cas particulier de L 2 , c'est assez trivial: on peut essentiellement utiliser la fonction identité. L'intuition derrière cela est claire: le cas général est au moins aussi difficile que le cas spécial.L1≤RL2 R L1 L2
En "pratique", on nous donne et nous nous retrouvons avec le problème de choisir un bon partenaire de réduction L 1 , c’est-à-dire de trouver un cas particulier de L 2 qui s’est avéré R -hard.L2 L1 L2 R
Exemple simple
Supposons que nous voulions montrer que KNAPSACK est NP-difficile. Heureusement, nous savons que SUBSET-SUM est NP-complet, et il s’agit bien d’un cas particulier de KNAPSACK. La réduction
suffit; est l'instance KNAPSACK qui demande si nous pouvons obtenir au moins la valeur v avec des valeurs d'élément dans V de sorte que les poids correspondants provenant de W restent au-dessous de w au total. Nous n’avons pas besoin des restrictions de poids pour simuler SUBSET-SUM, nous les définissons simplement à des valeurs tautologiques.( V, W, v , w ) v V W w
Problème d'exercice simple
Considérons le problème de MAX-3SAT: étant donné une formule propositionnelle et un entier k , déterminez s’il existe une interprétation de φ qui remplit au moins k clauses. Montrer que c'est NP-difficile.φ k φ k
Exemple
Supposons que nous étudions le problème de SUBSET-SUM et que nous voulions montrer qu'il est NP-difficile.
Nous avons de la chance et savons que le problème de PARTITION est NP-complet. Nous confirmons qu’il s’agit bien d’un cas particulier de SUBSET-SUM et formulons
où est l'ensemble d'entrée de PARTITION et est une instance de SUBSET-SUM qui demande après un sous-ensemble de sommant à . Ici, nous devons nous occuper du cas où il n’y a pas de approprié ; dans ce cas, nous donnons un exemple infaisable et arbitraire.( A , k ) A k kA (A,k) A k k
Problème d'exercice
Considérez le problème LONGEST-PATH: à partir d’un graphe orienté , des nœuds de et d’un entier , déterminez s’il existe un chemin simple allant de à dans de longueur au moins .s , t G k s t G kG s,t G k s t G k
Montrer que LONGEST-PATH est NP-hard.
la source
Tirer parti d'un problème connu à proximité
Face à un problème difficile, il est souvent judicieux d'essayer de rechercher un problème similaire qui a déjà fait ses preuves. Ou peut-être pouvez-vous immédiatement constater qu'un problème ressemble beaucoup à un problème connu.
Exemple de problème
Considérer un problème
nous souhaitons montrer que complet. Nous constatons rapidement qu’il est très proche d’un problème que nous savons déjà difficile, à savoir le problème de satisfiabilité (SAT) .N P
L'adhésion à est simple à montrer. Le certificat est deux affectations. Clairement, on peut vérifier en temps polynomial si les assignations satisfont à une formule.N P
dureté N P résulte d'une réduction de SAT . Étant donné une formule φ , nous la modifions en introduisant une nouvelle variable v . Nous ajoutons une nouvelle clause ( v ∨ ¬ v ) à la formule. Maintenant, si φ est satisfiable, il le sera avec v = ⊥ et v = ⊤ . Par conséquent, φ a au moins 2 assignations satisfaisantes. Par contre, si φ n'est pas satisfiable, il ne le deviendra certainement pas quelle que soit la valeur de v .N P SAM φ v ( V ∨ ¬ v ) φ v = ⊥ v = ⊤ φ φ v
Il s'ensuit que est N P- complet, c'est ce que nous voulions montrer.DOUBLE-SAT N P
Trouver des problèmes à proximité
Réduire les problèmes est un genre d’art. L’expérience et l’ingéniosité sont souvent nécessaires. Heureusement, de nombreux problèmes difficiles sont déjà connus . Informatique et Intractabilité de Garey et Johnson: Un guide de la théorie de la NP-Complétude est un classique avec son annexe énumérant de nombreux problèmes. Google Scholar est aussi un ami.
la source
En calculabilité, nous étudions souvent des ensembles de machines de Turing. En d'autres termes, nos objets sont des fonctions et nous avons accès à une numérotation de Gödel . C'est formidable car nous pouvons faire à peu près ce que nous voulons avec la fonction d'entrée, tant que nous restons calculables.
Supposons que nous voulions montrer que n'est pas décidable. Notre objectif est d’atteindre l’équivalence de DoomL
avec le problème de l' arrêt (ou toute autre langue indécidable / problème).K= { ⟨ M⟩ | M( ⟨ M⟩ ) Arrête }
Nous devons donc trouver une cartographie computable¹ de telle sorte que f M est toujours calculable. C'est un acte créatif éclairé par l'équivalence du destin. Voir quelques exemples pour avoir une idée de comment cela fonctionne:⟨ M⟩ ↦ ⟨ fM⟩ FM
la source
Une stratégie utile consiste à travailler à partir de grandes compilations de problèmes de la classe de complexité en question et à trouver les "problèmes les plus proches apparents" au problème à l'étude. Computers and Intractability, un guide de la théorie de l’exhaustivité des NP, Garey et Johnson, est une excellente référence dans ce domaine. Il est organisé en différents types de problèmes.
la source