• Computability 6: Reducibility


    1. Many-One Reducibility

      A problem is a set of numbers in computability theory.

      Problem $A$ is said to be m-reducible to problem $B$ ($Aleq_m B$) iff there exists a total computable function $f$ such that $xin ALeftrightarrow f(x)in B$. This is the so-called m-reduction.

      Given $Aleq_m B$, we have known that:

      (i) if $B$ is recursive, then $A$ must be recursive;

      (ii) if $B$ is r.e., then $A$ must be r.e.;

      (iii) if $A$ is productive, then $B$ must be productive;

      (iv) if $A$ is creative and $B$ is r.e., then $B$ must be creative.

      Problem $A$ is r.e. iff $Aleq_m K$. An r.e. set is m-complete if every r.e. set is m-reducible to it. Thus, $K$ is one of m-complete sets.

      (Myhill's Theorem) A set is m-complete iff it is creative.

      Two sets $A$ and $B$ are many-one equivalent ($Aequiv_m B$) iff both $Aleq_m B$ and $Bleq_m A$ hold. Many-one equivalence is an equivalence relation since it is reflexive, symmetric and transitive. We define the equivalence class of a problem $A$ based on $equiv_m$ as $d_m(A)={B ext{ | } ext{ }Aequiv_m B}$, which is known as m-degree.

      Given two m-degrees $mathbf{a}$ and $mathbf{b}$, we further define $mathbf{a}leq_mmathbf{b}$ iff $(exists A_1in mathbf{a})(exists B_1inmathbf{b})(A_1leq_m B_1) $ and $(forall A_2inmathbf{a})(forall B_2inmathbf{b})(B_2 leqslant_m A_2) $. This is a partial order on m-degrees since it is transitive and irreflexive.

      In the picture above, $o={varnothing}$, $n={mathbb{N}}$, $mathbf{0}_m={A ext{ | }A ext{ is recursive}}$, and $mathbf{0}_m'=d_m(K)$. All m-degrees form a join-semilattice since for any $mathbf{a}$ and $mathbf{b}$, if we pick $Ainmathbf{a}$ and $Binmathbf{b}$, there will exist $d_m(Aoplus B)$ as the least upper bound of $mathbf{a}$ and $mathbf{b}$. About lattice, we give the following picture as a refresher.

      

    2. Polynomial-Time Reducibility

      A function $f$ is polynomial-time computed by a program $P$ iff there exists some constants $c$ and $k$ such that for any instance $n$, $f(n)$ is computed by $P(n)$ within $ccdot n^k$ steps.

      A problem is polynomial-time decidable iff it is polynomial-time partially decidable.

      A problem $A$ is poly-reducible to another problem $B$ ($Aleq_P B$) iff there exists a polynomial-time total computable function $f$ such that $A(n)Leftrightarrow B(f(n))$.

      A decision problem is a P problem iff there is a polynomial-time algorithm to solve it.

      A decision problem belongs to NP iff there is a polynomial-time certifier for it. A certifier checks a certificate related to the problem. A P problem must be an NP problem, but whether P=NP is still unknown (probably not).

      An NP-Hard problem is a problem to which any NP problem is poly-reducible. An NP-Complete problem is a problem that belongs to both NP and NP-Hard. From the definition of poly-reducibility, we can deduce that if $Aleq_P B$:

      (1) $B$ belongs to NPC implies $A$ belongs to NP;

      (2) if $A$ is NPC and $B$ is NP, then $B$ is NPC.

      P=NP iff there exists an NPC problem that is polynomial-time solvable. Here are some famous NPC problems:

     

    References:

      1. Cutland, Nigel. Computability: an introduction to recursive function theory[M]. Cambridge: Cambridge University Press, 1980

      2. Cormen, T. H. et al. Introduction to Algorithms [M] .  北京:机械工业出版社, 2006-09

  • 相关阅读:
    Debug入门之旅StackoverFlow exception的调试
    [软件调试学习笔记]WinDbg演示IA32 CPU下的Windows 分页机制下的地址转换过程
    转载推荐:COM中不同字符类型相互转换,例如char*, BSTR, CString等等
    一种强行指定dll assembly读取其相应*.dll.config配置文件的方法(又名:如何创建.net 的DCOM)
    COM中的error handling机制及示例(ISupportEfforInfo,ICreateErrorInfo,IErrorInfo)
    (转载)如何在WCF实现impersonnate客户端的功能
    如何实现DCOM或者COM+的远程调用
    [软件调试学习笔记]防止栈缓冲区溢出的基于Cookie的安全检查机制
    关于COM的RegFree(免注册)技术简介及实例讲解。
    如何通过扩展WCF来定制和扩展WCF行为
  • 原文地址:https://www.cnblogs.com/DevinZ/p/4539855.html
Copyright © 2020-2023  润新知