RSS

 

RSS


パズル


数独コード改善ちょっとはSCIP

  • いわいまさか
  • at 2025/8/13 09:57:31

数独コード改善ちょっとはSCIP

数独コード改善しようと思ったらchatgptがウソついてた。
別解がないと知るにはSCIPは2回必要なのだ。

だが、SCIP2回目やるときmodelを作り直す必要はなかった。

    # 変換解除(原問題に戻す)→ 追加制約できる状態に
    model.freeTransform()

が使えた。
何だか、難しいが。

あなたのコードでは一意解判定の際に、

  1. 最初に1つ目の解を求める(optimize()で内部状態が変換済みに)

  2. 元のモデルに戻すために freeTransform() を呼ぶ

  3. 1つ目の解を禁止する制約(nogood制約)を追加

  4. もう一度 optimize() を実行し、別解があるか判定する

こうしないと、2回目の探索用の制約を追加できません。

だそうだ。
最初からやり直すよりいい。学んだ。


  • コメント (0)
  • トラックバック (0)
トラックバックURL :
http://iwai-masaka.jp/tb.cgi/56736

コメント

この絵に表示されている文字列を入力してください (半角で4文字です)