- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:以下の数独を理詰め(ある基準)で解きたいのですが。)
数独の理詰め解法とテクニック
このQ&Aのポイント
- 数独の問題を理詰めの基準で解きます。初級/中級程度の手筋は省略します。
- 禁止テクニックとしてミシチャンのサイトの一部とSudopediaの「Techniques of Last Resort」を挙げます。
- 他のテクニックや唯一解系、独自のテクニックについても解説します。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
これは禁じ手なのかな? オリジナルなので良くわからないw もし、そうであれば、ごめんなさい。 答え (一応確認していますが、間違ってないよな^^; と独り言w) 721 594 368 693 182 745 854 637 291 419 726 853 365 918 472 278 453 916 937 865 124 542 371 689 186 249 537 解法 左上済みのマスから、1~9の数字を当てはめ 行、列、3x3部分 に9個の数字が収まったら 1~9の数字が1つづあるか、評価し、OKなら、その候補を温存し、次のマスを同様に評価していきます。 もちろん、ソレより前のマスで使用している数字はスキップ、はじめから行、列、3x3に与えられている数字もスキップです。 既に、お分かりだと思いますが、これは全候補評価型の方法です。つまり力ずく… 非常に多くのパターンを検討しなければなりません。 しかし、答えが複数存在するような問題であっても解けます。 人手でこれをやるのは、忍耐の限界を超えていると思います。 高速プログラミングの技を駆使すれば、1分前後で解けるでしょう。 アルゴリズムから自作のプログラムを用いて、私のPCでは34秒で答えがでました。 数独は解き方のアルゴリズムも面白いですが、高速プログラミング・テクニックの腕試しとしても面白いテーマだと思います。
お礼
基準に合った解き方は以下のサイトからダウンロードしたSolverで分かりました。 http://sourceforge.net/projects/hodoku/files/ 目的には至りませんでしたが、この問題を試みていただいて有難うございました。
補足
解答はあっていますよ。 しかし残念ながら、解き方は Sudopedia でいう Brute Force (総当り虱潰し) です。 是非、電脳ぬきの頭脳で解ける(質問の基準での)方法を考えてみてください。 あるいはその方法を見つけるプログラムを作ってみてください。