【図で解説】Excelで数独解析コード-3.0.1-高速VBAコードを徹底解説
本を執筆しました(Kindle版)
「Excelのみで数独をどこまで高速で解析できるか」
数年前から、この課題への挑戦を繰り返し、それをExcelで数独解析ソフトに組み込んできました。
現ソフトはversion 2.2.0のVBAコードを組み込んでいます。
VBAコードのみを更に発展させたものがコード version 3.0.1になります。
コード -3.0.1-は、一般的な事務のPCで数独250問の連続解析を0.2秒以内に終了します。
コード -3.0.1-を公開していますが、理解の難しい部分があり、また内容やロジック解説の要望も多くあるため、図を用い詳細を解説することにしました。
この書籍をご覧いただいた方は、特に次の3つの理解を深め、きっとそれらを使いこなせるようになるでしょう。
1.Excelで数独を高速解析するロジック
2.再帰関数による深さ優先探索のアルゴリズム
3.高速化のポイント
また特典として、9×9の解答作成や既存の問題の難度を高めるコードと解説をつけました。楽しみながらVBAを学ぶことに繋がればと思います。
是非ご一読ください!
【対象】次の方にお薦めです!(数独のルールを知っていることは前提です)
・数独解析コード(ver. 3.0.1)詳細を知りたい方
・Excelで数独を解析するロジックを知りたい方
・Excel VBA 学習者
OS:Windows
Excel:2010/2013/2016/2019/Microsoft365
購入:amazon
特典①
この書籍には特典として、コード -3.0.1-を用いた3つの特別プログラムがついています。
■一意・複数解判定プログラム
数独の問題の解が、一意か複数かを判定するプログラムです。解説とファイルもついています。
■9×9の解答作成プログラム
数独の9×9の解答を瞬時に作成するプログラムです。解説とファイルもついています。
次図はファイル使用の様子です。
解答を1つだけ作成するボタンと、まとめて10作成するボタンがあります。
■既存の問題難度向上プログラム
既存の数独問題の難度を向上するプログラムです。解説とファイルもついています。
次図はファイル使用の様子です。
上の9×9のマスに問題を入れボタンを押すと、下の9×9のマスに、難度を向上した一意解の問題が作成されます。
同じ問題であってもボタンを押すごとに空白となるマスが異なります。
購入:amazon
特典②追加日:2022/01/02
本書に記載されている特設ページでは、100万問の数独9×9解答データを、いつでもダウンロードできます。
サンプルファイル:1,000 / 1,000,000 問 ダウンロード
目次
第1章 解析コードについて 1-1 解析コードの前提 ・前提 1-2 解析コードの構成と流れ ・解析コードの主な構成 ・解析の主な内容 1-3 解析関数の使い方 第2章 解析関数Sudoku_Kaiseki図解 2-1 ①事前準備 ・2次元配列への値のセット ・候補値フラグの設定 ・空白マスのカウント 2-2 ②解法1-1 (候補値絞り込み) ・空白マス数の記録 ・候補値の絞り込み 2-3 ③解法1-2 (候補値絞り込み) ・空白マスの候補値数をカウント 2-4 ④判定1 ・空白マス数をチェック 2-5 ⑤解法2 (候補値調べ) ・空白マス数の記録 ・空白マスの所属する行・列・3×3のエリアの候補値調べ 2-6 ⑥判定2 ・空白マス数をチェック 2-7 ⑦解法3-1 (深さ優先探索) ・処理「A」 ・処理「B」 2-8 ⑧解法3-2 (深さ優先探索) 第3章 コード詳細解説 3-1 解析コード使用例 3-2 宣言セクション 3-3 解析関数 3-4 事前準備パート 3-5 解析メイン関数 ・「解法3」図解 3-6 解法1関数 3-7 候補値フラグTrue数カウント関数 3-8 解法2ルーチン 3-9 候補値調べルーチン 3-10 候補値絞り込みルーチン 3-11 最小候補値数マス検索ルーチン 3-12 候補値を配列に格納するルーチン 3-13 数値仮定関数 第4章 高速化のポイント 4-1 Excelオブジェクトの不使用 4-2 コード構成・構築 ・プログラム構成 ・不要な処理の削除・ショートカット ・高速化処理の組み込み 第5章 特別プログラム 5-1 一意・複数解判定プログラム ・サンプルコード ・解説 ・サンプルファイル 5-2 解答作成プログラム ・サンプルコード ・解説 ・サンプルファイル 5-3 問題難度向上プログラム ・サンプルコード ・解説 ・サンプルファイル 特典 ・サンプルファイル ・ダウンロードページ
数独250問を0.2秒未満で解析コード -3.0.1-を利用した高速解析
●250問連続解析サンプルソフト ダウンロード