1
Fork 0
mirror of https://github.com/Steffo99/appunti-magistrali.git synced 2024-11-24 11:14:18 +00:00
appunti-steffo/9 - Algoritmi distribuiti/1 - Problemi algoritmici/riduzione di Karp.md

1.7 KiB

Un problema decisionale A può essere trasformato in un altro problema decisionale B attraverso una riduzione di Karp se:

\def \varProblemA {{\color{DarkOrchid} Problem_{A}}} \def \varProblemB {{\color{SlateBlue} Problem_{B}}} \def \varProblemC {{\color{DarkOliveGreen} Problem_{C}}} \def \karp {\leq_p} \Huge \varProblemA \karp \varProblemB

Corollari

Se un problema è polinomiale, e un altro può essere ridotto ad esso, anche l'altro è polinomiale: \large \begin{cases} \varProblemA \karp \varProblemB \\ \varProblemB \in P \end{cases} \implies \begin{cases} \ \varProblemA \in P \\quad \end{cases}


Se un problema non è polinomiale, e può essere ridotto ad un altro, anche l'altro non è polinomiale: \large \begin{cases} \varProblemA \karp \varProblemB \\ \varProblemA \not\in P \end{cases} \implies \begin{cases} \ \varProblemB \not\in P \\quad \end{cases}


Infine, se due problemi possono ridursi a vicenda uno all'altro, essi sono problemi equivalenti: \large \begin{cases} \varProblemA \karp \varProblemB \\ \varProblemB \karp \varProblemA \end{cases} \implies \begin{cases} \ \varProblemA \equiv_P \varProblemB \\quad \end{cases}

Proprietà

La riduzione di Karp è transitività: \large \begin{cases} \varProblemA \karp \varProblemB \\ \varProblemB \karp \varProblemC \end{cases} \implies \varProblemA \karp \varProblemC