8.10题目描述:
Problem a
子图同构:给定两个无向图G和H,判断G是否为H的一个子图,如果是则返回V(G)到V(H)的相关映射。
Problem b
最长路径:给定图G和整数g,求G中一条长为g的简单路径。
Problem c
最大SAT:给定一个CNF公式和整数g,求满足其中至少g个子句的真赋值。
Problem d
稠密子图:给定一个图和两个整数a和b,求G中的a个顶点,使得它们之间最少有b条边。
Problem e
稀疏子图: 给定一个图和两个整数a和b,求G中的a个顶点,使得它们之间最多有b条边。
Problem f
集合覆盖:经典SCP描述包含一个集合U以及U内元素构成的若干各小类集合S,目标是找到S 的一个子集,该子集满足所含元素包含了所有的元素且使小类集合个数最少。
Problem g
(a)令图G 为一个环,环上的顶点数等于图H 的顶点数。那么若G 是H 的同构子
图,则说明H 存在Rudrata 回路。于是知Rudrata 回路事实上是子图同构问题的
Problem a
子图同构:给定两个无向图G和H,判断G是否为H的一个子图,如果是则返回V(G)到V(H)的相关映射。
Problem b
最长路径:给定图G和整数g,求G中一条长为g的简单路径。
Problem c
最大SAT:给定一个CNF公式和整数g,求满足其中至少g个子句的真赋值。
Problem d
稠密子图:给定一个图和两个整数a和b,求G中的a个顶点,使得它们之间最少有b条边。
Problem e
稀疏子图: 给定一个图和两个整数a和b,求G中的a个顶点,使得它们之间最多有b条边。
Problem f
集合覆盖:经典SCP描述包含一个集合U以及U内元素构成的若干各小类集合S,目标是找到S 的一个子集,该子集满足所含元素包含了所有的元素且使小类集合个数最少。
Problem g
可靠网络:给定两个n*n矩阵,一个距离矩阵dij,一个连接需求矩阵rij以及预算b.要求一个图G=({1,2,…,n},E)使得:(1) 其中所有边的总代价不超过b;(2) 在任意两个不同顶点i和j之间,存在rij条顶点互不相交的路径。
(a)令图G 为一个环,环上的顶点数等于图H 的顶点数。那么若G 是H 的同构子
图,则说明H 存在Rudrata 回路。于是知Rudrata 回路事实上是子图同构问题的
一个特例。所以子图同构问题是Rudrata回路问题的推广,因此子图同构问题是NP-完全的。
问题的推广,所以最长路径问题是NP-完全的。
(c)设CNF中共有n个子句,添加约束g = n,就转化为SAT问题。所以最大SAT问题是SAT问题的推广,它是NP-