文件名称:Cuda-sudoku-solver
文件大小:7KB
文件格式:ZIP
更新时间:2024-07-16 14:29:50
Cuda
cuda-sudoku-求解器 算法 数独使用模拟退火法求解 该程序接受部分完成的数独网格,其中 0 代表一个空位。 所有 9 个 3x3 子网格都填充了对该网格可行的数字,即。 这种随机填充将解决问题的三个约束之一。 因此,所有 9 个子网格将恰好有 1-9 一次。 接下来运行一个循环,直到达到最低温度。 选择一个随机子网格。 随机选择两个随机可变点(即给定数独中的 0)。 交换这些随机选择的点的值。 计算能量或适应度。 这里使用的适应度函数是:(81*2) -(每行和每列中唯一数字的总数)。 当数独被解决时,这个能量将为零。 如果新状态的能量低于先前状态,则接受新状态。 否则仍然以接受概率接受或拒绝新状态。 根据冷却计划降低温度 ( current_temperture * 0.8 )。 编译运行 make ./sudoku_solver test_input.in
【文件预览】:
Cuda-sudoku-solver-master
----sudoku_solver.cu(14KB)
----Makefile(141B)
----README.md(1KB)
----Test Inputs()
--------test4.in(89B)
--------test3.in(89B)
--------test1.in(89B)
--------test5.in(89B)
--------test2.in(89B)
--------test7.in(89B)
--------hardest_sudoku_2012.in(89B)
--------test6.in(89B)