使用巨大的哈希表在多项式时间内解决数独问题

Using a giant hashtable to solve a sudoku in polynomial time

假设您要创建一个散列 table,将每个可能的有效 9x9 数独(尚未填写)映射到其解决方案。 (这是一项不可行的任务)

然后你要创建一个简单的程序,它将一个有效的 9x9 数独(同样,尚未填写)作为输入,returns 在散列中映射到它的解决方案table如上所述。

这不会被认为是多项式时间内工作的数独解算器吗?

这个理论解决方案是否有什么地方不能证明数独是 P class 问题?

我认为你误解了这个问题。来自 Wikipedia:

The general problem of solving Sudoku puzzles on n^2×n^2 grids of n×n blocks is known to be NP-complete.

虽然游戏可能通常采用 9x9 变体,但 generally-stated 问题描述了网格大小与寻找解决方案的复杂性之间的关系 - 而不是任何单个网格。如果你的假设是真的,它不会从根本上改变问题的分类。

此外,请考虑如何从这样的哈希中检索候选解决方案 table。如果您使用所有初始值及其位置的序列作为键,那么您需要保留所有可能的初始值集(81 选择 30、1.4e22)- 对于每个唯一的解决方案 (6.7e21)。 (这仅适用于以显示 30 个值开头的解决方案...)