gpt4 book ai didi

algorithm - 数独生成器算法

转载 作者:太空狗 更新时间:2023-10-29 21:35:39 25 4
gpt4 key购买 nike

<分区>

我做了一个生成数独的算法,但它的效率非常低。每个谜题都需要几分钟才能生成。所以现在我正在尝试以最佳方式再次编写它。但我遇到了一些需要帮助的问题。

有两种方法:

  1. 从空白网格开始并添加数字,然后检查它是否可解。
  2. 创建包含所有 81 个数字的完整有效网格,然后删除,直到我们对剩余数字的数量感到满意并且它仍然可以解决。

首先我使用了第一种方法,但现在我将使用第二种方法,因为我认为它更有效(我们从保证可以解决的有效难题开始)。我是对的,第二种方法更好?

当我试图生成完整填充的网格时,我遇到了困难。我的算法是:

  • 为每个单元格设置候选项。最初它们是数字 1 到 9。
  • 选择没有值的随机单元格。
  • 从该单元格中随机选择候选者并将其指定为单元格值。其他候选人被丢弃。
  • 现在对于与指定单元格对应的每一行、单元格和正方形,我从这些候选单元格中删除单元格的值,因此每个数字在行/列/正方形中都是唯一的
  • 重复

这种技术保证随机网格没有重复的数字。然而,大多数时候,当我不违反任何安置规则时,就会发生冲突——比如所有候选人都被删除的空单元格等,我需要重新开始。有没有更优雅/更有效的方法来用数字填充整个网格而不破坏放置规则并且仍然是随机数?

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com