论文部分内容阅读
作为求解NP难解问题的一种新途径,参数计算方法受到了人们的广泛关注,并被应用到诸多领域难解问题的求解中。Packing和Matching问题是一类重要的NP难解问题,在调度、代码优化等领域有着重要的应用。其中,3D-Matching问题是六个基本NP完全问题之一。本文主要以3-Set Packing问题、加权3-Set Packing问题、加权3D-Matching问题、加权rD-Matching问题、加权r-Set Packing问题、加权P2-Packing问题为例,讨论了Packing和Matching问题的参数算法设计方法,主要的研究工作和创新点包括:本文以3-Set Packing问题为例,研究了问题解与问题特定实例的关系。通过对问题解空间结构的深入分析,得到了3-Set Packing问题的求解与问题两个特殊实例的求解存在着密切的联系。基于对特殊实例的求解,提出了3-Set Packing问题时间复杂度为O*(3.533k)确定性算法,改进了当时的最好结果O*(4.613k)。对于加权3-Set Packing问题,本文深入分析了问题实例与目标解的关系,将问题实例分成两部分处理。基于对问题实例的分析,得到了特定的问题结构特性,提出了加权3-Set Packing问题时间复杂度为O*(10.63k)确定性算法。通过对问题实例结构的进一步划分,提出了加权3-Set Packing问题时间复杂度为O*(7.563k)的确定性参数算法,改进了当时的最好结果O*(12.83k)。对于加权3D-Matching问题,通过对问题的结构特性的研究,得到了如下性质:k-matching中存在两列使得该两列中至少有2k/3元素被包含在(k+1)-matching中所对应的两列中。基于给出的性质,提出了时间复杂度为O*(4.823k)的确定性参数算法,改进了当时的最好结果O*(5.473k)。本文将划分和排序技术应用到加权rD-Matching和加权r-Set Packing问题的算法设计中,得到了相应问题的有效算法。对于加权rD-Matching问题的给定实例(S,K),对S中的第一列的元素进行划分,得到了如下性质:通过枚举n种可能的划分,使得存在一种划分使得最大加权k-Matching中的第一列元素中有k/2个元素被划分到一部分中,而另外k/2个元素被划分到另一部分中。基于上述性质并对最大加权k-Matching中的另外(r-1)k个元素进行有效划分,提出了时间复杂度为O*(4(r-1)k+o(k))的确定性参数算法,改进了以前的最好结果O*(4rk+o(k))。本文提出的结果是当前求解加权rD-Matching问题的最好确定性算法。求解加权rD-Matching的算法可用于求解非加权3D-Matching问题,得到了时间复杂度为O*(16k+o(k))的确定性算法,改进了以前的最好结果O*(21.26k),且本文得到的结果是当前求解非加权3D-Matching问题的最好结果。对于加权r-Set Packing问题,通过对实例S中元素进行排序,得到了如下性质:存在对权值最大的k-Packing的一个划分,使得权值最大的k-Packing中有k/2个元素被划分一个部分中。基于上述性质并对剩余的(2r-1)k/2个元素进行划分,本文提出了时间复杂度为O*(2(2(2r-1)k+o(k))的确定性算法,改进了当前的最好结果O*(22rk+o(k))。求解加权r-Set Packing问题的算法可用于求解非加权3-Set Packing问题,得到了时间复杂度为O*(32k+o(k))的确定性算法,改进了以前的最好结果O*(3.533k),且本文得到的结果是当前求解非加权3-Set Packing问题的最好结果。本文还研究了加权点不相交S-path理论的相关特性,得到了加权二分图中加权点不相交S-path的相关性质。利用加权点不相交S-path求解加权P2-Packing问题,提出了加权P2-Packing问题时间复杂度为O*(8k)的确定性参数算法。本文提出的求解加权P2-Packing的算法同样适用于求解非加权的P2-Packing问题,提出了时间复杂度为O*(8k)的确定性算法,改进了当前的最好结果O*(14.67k)。本文提出的算法是当前求解P2-Packing问题的最好结果。综上所述,本文主要研究Packing和Matching问题的参数算法设计。通过对3-Set Packing、加权3-Set Packing、加权3D-Matching、加权rD-Matching、加权r-Set Packing、加权P2-Packing等问题结构的深入研究,设计了相应的有效确定性参数算法,丰富了求解Packing和Matching问题的求解思路,具有重要的指导意义。