A dynamic graph algorithm is a data structure that supports edge insertions, deletions, and specific problem queries. While extensive research exists on dynamic algorithms for graph problems solvable in polynomial time, most of these algorithms have not been implemented or empirically evaluated. This work addresses the NP-complete maximum weight and cardinality independent set problems in a dynamic setting, applicable to areas like dynamic map-labeling and vehicle routing. Real-world instances can be vast, with millions of vertices and edges, making it challenging to find near-optimal solutions quickly. Exact solvers can find optimal solutions but have exponential worst-case runtimes. Conversely, heuristic algorithms use local search techniques to improve solutions by optimizing vertices. In this work, we introduce a novel local search technique called optimal neighborhood exploration. This technique creates independent subproblems that are solved to optimality, leading to improved overall solutions. Through numerous experiments, we assess the effectiveness of our approach and compare it with other state-of-the-art dynamic solvers. Our algorithm features a parameter, the subproblem size, that balances running time and solution quality. With this parameter, our configuration matches state-of-the-art performance for the cardinality independent set problem. By increasing the parameter, we significantly enhance solution quality.
翻译:动态图算法是一种支持边插入、删除及特定问题查询的数据结构。尽管针对多项式时间内可解的图问题已存在大量动态算法研究,但其中大多数算法尚未被实现或经过实证评估。本研究探讨动态场景下的NP完全最大权重与基数独立集问题,该问题适用于动态地图标注和车辆路径规划等领域。现实世界中的实例可能非常庞大,包含数百万个顶点和边,这使得快速寻找近似最优解具有挑战性。精确求解器能够找到最优解,但其最坏情况下的运行时间是指数级的。相反,启发式算法采用局部搜索技术,通过优化顶点来改进解。在本研究中,我们提出了一种称为最优邻域探索的新型局部搜索技术。该技术通过构建可被精确求解的独立子问题,从而提升整体解的质量。通过大量实验,我们评估了该方法的有效性,并将其与其他先进的动态求解器进行了比较。我们的算法具有一个关键参数——子问题规模,该参数可在运行时间与解的质量之间进行权衡。通过此参数,我们的配置在基数独立集问题上达到了先进算法的性能水平;而通过增大该参数,我们能够显著提升解的质量。