Una reducción de un problema a otro problema B es una transformación f de cualquier instancia a de A en una instancia f ( a ) de B , de modo queABfaAf(a)B
x∈A ⇔ f(x)∈B(E)
Si es una transformación que preserva la complejidad que le interesa (por ejemplo, f es una transformación polinomial si considera N D- dureza), entonces la existencia de un algoritmo A B que resuelve B implica la existencia de un algoritmo que resuelve A : es suficiente para ejecutar f , entonces A B .ffNPABBAfAB
Por lo tanto la existencia de reducción tal de a B medios que B no es más fácil que A . No es necesario tener una reducción al revés.ABBA
Por ejemplo, para colorear gráficos. Puede reducir 3 colores a 4 colores, pero no de manera inmediata. Si tomas una gráfica y eliges f ( G ) = G, entonces tendrás ese x ∈ 3 C O L ⇒ f ( x ) ∈ 4 C O L pero no tienes f ( x ) ∈ 4 C O L ⇒ x ∈ 3 C O L, por supuesto. La conclusión es que la equivalencia (Gf(G)=Gx∈3COL ⇒ f(x)∈4COLf(x)∈4COL ⇒ x∈3COL no se respeta, entonces f noesuna reducción.(E)f
Puede construir una reducción correcta de 3 C O L a 4 C O L pero es un poco más complicado: para cualquier gráfico G , deje que f ( G ) sea el gráfico G extendido con otro nodo u que está vinculado con un borde a cualquier otro nodo.f3COL4COLGf(G)Gu
- La transformación preserva la complejidad (polinomio, aquí);
- si está en 3 C O L, entonces f ( G ) está en 4 C O L : simplemente use el cuarto color para usted ;G3COLf(G)4COLu
- si está en 4 C O L entonces se puede demostrar que todos los nodos excepto u tienen un color que no es u 's, por lo tanto, G está en 3 C O L .f(G)4COLuuG3COL
Eso prueba que f es una reducción y que es más duro que 3 C O L . Puede probar la misma manera que n C O L es más difícil que m C O L para cualquier n ≥ m , la prueba interesante es el hecho de que 3 C O L es más duro que cualquier n C O L .4COL3COLnCOLmCOLn≥m3COLnCOL