【计算理论】计算复杂性 ( 多项式时间规约 | NP 完全 ★ | 布尔可满足性问题 ) ★





一、多项式时间规约 分析



多项式时间规约概念 : 【计算理论】计算复杂性 ( 多项式等价引入 | 多项式时间规约 )


下图中 , 给定 输入 x \rm x x , 想要知道 x \rm x x 字符串 , 是否可以被 L \rm L L 语言对应的算法接受 ;

在这里插入图片描述

做一个规约 , 将上述问题 , 转化为 f ( x ) \rm f(x) f(x) 是否能被 L ′ \rm L' L 语言对应的算法接受 ;


首先将 x \rm x x 字符串 , 输入到函数 f \rm f f 中计算 , 得到输出 f ( x ) \rm f(x) f(x) ,

然后将 f ( x ) \rm f(x) f(x) 输入到 L ′ \rm L' L 算法中 , 查看该输入是否能被接受 ,

如果 L ′ \rm L' L 接受 f ( x ) \rm f(x) f(x) , 那么就说 x \rm x x 是被 L \rm L L 所接受的 ;





二、NP 完全 ★ ( 计算理论最重要的概念 )



NP 完全 定义 ★ :

如果 语言 B \rm B B N P \rm NP NP 完全的 , 必须满足如下两个条件 :

① 是 N P \rm NP NP 问题 : 语言 B \rm B B 对应的计算问题必须在 N P \rm NP NP , 换句话说就是可以找到一个多项式算法 , 可以验证该计算问题 ;

② 是 N P \rm NP NP 最难问题 : N P \rm NP NP 中的任何计算问题 A \rm A A , 都可以在 多项式时间规约 到 B \rm B B , 也就是说 N P \rm NP NP 中的任何计算问题 , 其难易程度都不会超过 B \rm B B , B \rm B B N P \rm NP NP 中最难的问题 ;


N P \rm NP NP 中其它所有的计算问题的难以长度都不会超过 B \rm B B , B \rm B B 问题是 N P \rm NP NP 中最难的问题 ;


NP 完全命题 ★ : 如果 B \rm B B 问题是 N P \rm NP NP 完全的 , 并且 B \rm B B 能在 多项式时间规约 到 C \rm C C , 记作 B ≤ C \rm B \leq C BC , C \rm C C 也是 N P \rm NP NP 完全的 ;


该命题是很重要的命题 , 验证一个命题是 N P \rm NP NP 完全的 , 需要满足上面的两个条件 , ① 是 N P \rm NP NP 问题 , ② 是 N P \rm NP NP 最难问题 ;

将计算问题与 N P \rm NP NP 中最难问题 B \rm B B 进行比较 , 是很难的 , 如果已经知道某个计算问题是 N P \rm NP NP 完全的 , 就不需要与 N P \rm NP NP 中所有问题进行比较 , 只与当前已知的 N P \rm NP NP 完全问题比较即可 ;


已知的 N P \rm NP NP 完全的 计算问题 B \rm B B , 与 要验证的 C \rm C C 问题 , 进行规约 , 就知道 C \rm C C 问题是否是 N P \rm NP NP 完全的 ;


历史已经找到了一个 N P \rm NP NP 完全问题 : 布尔可满足性问题 ( Boolean Satisfiability Problem;SAT ) ;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值