Skip to main content
QUICK REVIEW

[论文解读] Simulated Annealing Algorithm for Graph Coloring

Alper Köse, Berke Aral Sonmez|arXiv (Cornell University)|Dec 3, 2017
Scheduling and Timetabling Solutions参考文献 2被引用 4
一句话总结

该论文提出一种使用马尔可夫链蒙特卡洛(MCMC)的模拟退火算法,通过最小化计数非正常着色边数的能量函数 H 来解决图着色问题。该方法通过动态降低温度(β)以逃离局部极小值,在足够多的颜色和迭代次数下,特别在具有 1000 个顶点的 Erdos-Renyi 图上,对 q=5 和 q=7 可实现正确着色(H=0)。

ABSTRACT

The goal of this Random Walks project is to code and experiment the Markov Chain Monte Carlo (MCMC) method for the problem of graph coloring. In this report, we present the plots of cost function \(\mathbf{H}\) by varying the parameters like \(\mathbf{q}\) (Number of colors that can be used in coloring) and \(\mathbf{c}\) (Average node degree). The results are obtained by using simulated annealing scheme, where the temperature (inverse of \(\mathbfβ\)) parameter in the MCMC is lowered progressively.

研究动机与目标

  • 开发并测试一种基于 MCMC 的模拟退火方法,以最小化图着色中的代价函数 H。
  • 研究可用颜色数(q)和平均节点度数(c)对可达到的最小能量 H_min 的影响。
  • 评估迭代次数和 β 冷却调度对收敛至低能量或正确着色状态的影响。
  • 比较 MATLAB 与 C++ 实现版本在大规模图着色中的性能与效率。
  • 探索通过多次独立运行和并行化提升解质量的策略。

提出的方法

  • 使用接受概率为 exp(−βΔH) 的 Metropolis 算法,随机更新顶点颜色。
  • 采用动态 β 调度:β 按 (0.2 + N/n)/0.2 递增,其中 N 为顶点数,n 为迭代次数。
  • 初始着色为均匀随机;每一步随机选择一个顶点,用不同颜色重新着色。
  • 能量函数 H 计算两端点颜色相同的边数:H(x) = Σ_{(v,w)∈E} 1_{x_v = x_w}。
  • 模拟退火逐步降低温度(提高 β),以促进收敛至低能量状态。
  • C++ 实现显著提升了运行效率(在 1000 个顶点图上进行 10^6 次迭代时,耗时 0.04 秒 vs. MATLAB 的 50 秒)。

实验结果

研究问题

  • RQ1可用颜色数(q)如何影响图着色中可达到的最小能量 H_min?
  • RQ2平均节点度数(c)增加如何影响实现正确着色(H=0)的难度?
  • RQ3何种 β 冷却调度能平衡收敛速度与解质量?
  • RQ4多次独立运行是否能提高找到全局最小值 H=0 的可能性?
  • RQ5实现效率(MATLAB 与 C++)如何影响大规模模拟的可行性?

主要发现

  • 对于具有 1000 个顶点和 c=5 的 Erdos-Renyi 图,q=5 和 q=7 均实现 H_min=0(正确着色),而 q=3 的 H_min=34。
  • 当 c=20 时,仅 q=7 实现 H_min=5;q=5 的 H_min=302,q=3 的 H_min=1510,表明颜色越少,问题难度越大。
  • 对所有 q 值,H_min 随 c 线性增加,但 q 越小,斜率越陡,反映出颜色选择多样性降低的影响。
  • 增加迭代次数可改善收敛性,H_min 随每个 β 值停留时间延长而降低。
  • 最终 β 值必须足够大,以冻结马尔可夫链(即限制热涨落),从而确保收敛。
  • 多次独立运行显著提高了找到 H=0 的可能性,且由于运行之间相互独立,易于实现并行化。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。