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回目の探索用の制約を追加できません。

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



数独コード改善SCIP1回 結果

  • いわいまさか
  • at 2025/8/11 21:42:37


数独コード改善SCIP1回 結果

結局chatgpt曰く
「そう。論理的に一意性を保証するには、実質 “2回” 必要です。」
だそうです。

chatgpt うそついてた。
のだった。

うーーーん。







数独コード改善SCIP1回

  • いわいまさか
  • at 2025/8/11 07:07:14


数独コード改善SCIP1回

chatgptにコードの改善について聞いてみた。
実行速度に関して。
いくつかあるが順番にやる。

SCIPの使い方。

①答えを求める。
②別解を求める。
これをやるのに2回SCIPをよんできた。

chatgptの指摘によると1回で済むという。
やってみる。

ちなみに
「答えがあって」「別解がないもの」が求めるもの。

改善期待。
だが、うそかも。









数独22

  • いわいまさか
  • at 2025/8/10 16:21:25


数独22

長らく出来なかった表出数字22ができた。
記録しとくよ。

解いてる途中。






土偶勾玉記念のGIF

  • いわいまさか
  • at 2025/8/09 09:37:44


土偶勾玉記念のGIF

作った。
GIFだとちょっとだけ作る。
ちょっとだけ。






記事一覧へ