第一部分: Counting Problems基础

1. Counting Problems

1.1 什么是Counting Problems?

 

1.2 计算问题和计数问题、计算复杂性和计数复杂性的区别、关系

  • 计算问题:
  • 计算复杂性:
  • 计数问题:
  • 计数复杂性:

1.3 研究方向(近似计数与近似取样) 

  • 对于 #P-难的计数问题,既然我们相信不存在多项式时间的算法能够计算其精确解,一个自然的妥协便是计算其近似解:我们希望在多项式的时间内给出问题的一个近似,并且近似的精度可以任意的高。
  • 近似计数的算法又和近似取样的算法是息息相关的。在我们独立集的例子中,一个高效的近似取样的算法,可以在多项式时间内输出一个独立集,并且,每一个独立集被输出的概率是接近一样的。可以证明,对于很多计数问题,近似计数和近似取样是等价的。

2. 计算复杂性

在不同计数问题的框架内,对各种问题的计数复杂性进行分类成为了一个重要的课题。分类的标准则是根据计算复杂度进行制定,因此了解各类问题,对于计数问题的研究具有重要的意义,具体分类如下:

  • 时间复杂度:若存在一个常数C,使得对于所有n>=0,都有|f(n)| <= C*|g(n)|,则称函数f(n)是O(g(n))。
  • 多项式时间(可解)算法:时间复杂度是O(p(n))的算法称为多项式时间算法,这里p(n)是关于n的多项式。不能够这样限制时间复杂度的算法被称为指数时间算法。
  • 以多项式时间可解分类的意义:若一个算法不是多项式的(如指数与阶乘),则当输入规模稍大一些时,它必然是不高效、不实用的。
  • P问题:在多项式时间内可解的问题为P问题(Polynomial Problem,多项式问题)
  • NP问题((Non-deterministic Polynomial Problem,非确定性多项式问题):指问题只能通过验证给定的猜测是否正确来求解(所谓不可求解只是使用多项式时间不可求解,所谓只能验证是只能通过多项式时间验证)。所谓多项式指的是验证猜测可在多项式时间内完成,所谓非确定性指的是问题只能通过验证猜测来解,而不能直接求解。
  • NPC问题(NP完全问题):指满足NP问题条件(即它是一个NP问题)且所有的NP问题都可以用多项式时间约化到它的问题 。
  • 约化:存在一个变化法则,对任意一个程序A的输入,都能按这个法则变换成程序B的输入,使两程序的输出相同。问题A可约化为问题B,即用问题B的解法解决问题A,问题A可以“变成”问题B。
  • 约化实例: 一元一次方程可以“归约”为一元二次方程。
  • 约化性质:约化具有传递性。如果问题A可约化为问题B,问题B可约化为问题C,则问题A一定可约化为问题C。
  • 约化意义:问题A可约化为问题B”等价于“B的时间复杂度高于或者等于A的时间复杂度”。也就是说,问题A不比问题B难。
  • 约化要求:“可约化”指的是可“多项式时间地”约化(Polynomial-time Reducible),即变换输入的方法是能在多项式的时间里完成的。约化的过程只有用多项式的时间完成才有意义。
  • NPH问题(NP难问题,NP-hard):其满足NPC问题定义的第二条但不一定要满足第一条(就是说,NP-Hard问题要比 NPC问题的范围广,但不一定是NP问题)。即多项式时间不可解。                                                       

3. 计数问题基础

  • FP(不是属于P的吗?不理解图灵机是如何用在此处的):

  • #P问题(不明白定义):

  • 重要课题(二分定理)1:如果NP不等于P(因为不是所以NP都能约化成P),则FP不等于#P。即并非所有#P问题都有多项式解,于是,在不同计数问题的框架内,对各种问题的计数复杂性进行分类成为了一个重要的课题。
  • 二分定理:对于不同的计数问题,证明其属于 FP 或者是#P-完备的。
  • 重要课题(近似算法)2:对于那些已经被证明是 #P-完备的问题,一个现实的研究方向是考虑它们的近似算法。对于计数问题,我们考虑所谓的完全多项式时间近似方案(Fully Polynomial Time
    Approximation Scheme, FPTAS)或者完全多项式时间随机近似方案(Fully Polynomial-time Randomized Approximation Scheme, FPRAS)
  • FPRAS与FPTAS:

 

 

       

                                                                                                      

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值