There are existing standard solvers for tackling discrete optimization problems. However, in practice, it is uncommon to apply them directly to the large input space typical of this class of problems. Rather, the input is preprocessed to look for simplifications and to extract the core subset of the problem space, which is called the Kernel. This pre-processing procedure is known in the context of parameterized complexity theory as Kernelization. In this thesis, I implement parallel versions of some Kernelization algorithms and evaluate their performance. The performance of Kernelization algorithms is measured either by the size of the output Kernel or by the time it takes to compute the kernel. Sometimes the Kernel is the same as the original input, so it is desirable to know this, as soon as possible. The problem scope is limited to a particular type of discrete optimisation problem which is a version of the K-clique problem in which nodes of the given graph are pre-coloured legally using k colours. The final evaluation shows that my parallel implementations achieve over 50% improvement in efficiency for at least one of these algorithms. This is attained not just in terms of speed, but it is also able to produce a smaller kernel.
翻译:解决离散优化问题的现有标准求解器存在。 然而, 在实践中, 直接将其应用到这类问题典型的大输入空间并不常见。 相反, 输入被预处理, 以寻找简化和提取问题空间的核心子集, 即“ 内核 ” 。 这个预处理程序在参数复杂化理论中被称为“ 内核化 ” 。 在这个论文中, 我执行了一些平行版本的“ 内核化” 算法, 并评估其性能。 Kernelization 算法的性能要么以输出 Kernel 的大小衡量, 要么在计算内核时衡量。 有时, 内核值与原始输入相同, 因此最好尽快了解这一点。 问题范围限于特定类型的离散优化问题, 这是一种 K- clocique 问题, 其中给特定图表的节点是使用 k 颜色进行预先涂色的法律化的。 最后评估显示, 我平行执行的算法在至少一个小的算法中提高了50%以上的效率。 这在速度上是无法实现的。