多项式时间归约
1、优化问题可转换为判定问题, 关注同样的结构指标
(1)优化问题:关注特殊结构,优化结构指标
(2)判定问题:不关注指标的最大/小值,关注阙值k
是否存在一个结构,指标与k满足某关系
(3)优化难于判定:优化的解⇒判定的解,判定的解⇏优化的解
很多优化问题在多项式时间内可解 ⇔ 其判定问题在多项式时间内可解
所以,可只关注形式上更便于处理判定问题
2、最大团问题:
①题目描述:无向图G,若子图H为完全图,则H为G的一个团,团的大小为顶点个数
完全图:任意两点有边相连
优化问题 |
判定问题 |
输入:无向图G 优化问题:求G中最大团的大小 |
输入:G与参数k 判定问题:图G中是否存在大小为k的团 |
最大团的大小a,比较a与k,即可得判定问题的解 |
②结构:图;优化指标:团的大小
③判定问题在多项式时间内可解 ⇒ 优化问题多项式时间可解
2、问题间难易关系的定义基于问题间的归约
①问题P可归约到Q(P≤Q):解决P可以间接通过解决Q来实现,是一个转换函数T(x)
(1)P的任意合法输入x,转换成Q的一个合法输入T(x)
(2)假设Q有解决算法,将T(x)输入,得Q的输出
(3)仅在Q对T(x)的输出为YES时,P对x的输出才为YES
②判定问题的解释YES/NO,这为定义两个问题间的归约带来便利
③例子
(1)判定问题:
P1:输入一组布尔值b1,…bn,判定输入值中是否有≥1个为TRUE
P2:输入一组整数值k1,…kn,判定输入值中max是否为正整数
(2)P1到P2归约,T(x)为布尔值→整数,P1输入→P2输入