2009年10月5日月曜日

(58) 和歌山ソフトウエア・コンテストに応募

 2006年9月14日 数独ソフトとその説明資料が完成したので、応募用紙に、(54)数独パネルの解析ソフト(要約)、(55)解析ソフトの特徴、(57)プログラム操作の方法、(50)ナンプレの探索法などの資料を添えて郵送した。

 なお、応募用紙に記入した作品について(目的、アピールポイントなど)の文章は次の通りである。
 
いま全世界で人気沸騰中の「数独(ナンプレ)パズル」の解析ソフトです。Excelの
画面に問題を入力するだけで簡単に誰でもどんな難問でも全自動で数秒にして
解答が得られます。独自の理論に基づき、4つの基本サーチと15種類の探索
マクロを備えており、人間の思考にそった全手筋のセルの値と探索法が出力
されるので、行き詰まったときの次の一手のヒントも得ることができます。問題の
征服に至までの全手順がグラフで示されるので、問題の特徴ややま場が一目
瞭然です。また使用した探索法の種類と数から問題の難易度も判定できるので、
挑戦者だけでなくパズル作成者にとっても大変参考となる解析ソフトです。

2009年10月3日土曜日

(57) プログラム計算のインプットの種類

使用方法

1 画面に.直接入力する方法
(1) Open Page (Sheet 1)を選択する。
(2) Clear (Blue ) のコマンドボタンをクリックして画面の数字を消す。
(3) 画面のセルに直接問題の数字を入力する。
(4) Problem の番号を(D2)のセルにインプットする。
(5) 再度問題を使うときには、Store Problem のコマンドボタンをクリックする。
(6) Cal.(Input) のコマンドボタンをクリックして計算を開始する。
(7) 正しい答えが得られたときには、Conquer が赤字で表示される。
(8) 同時に問題のレベルと計算時間が表示される。
(9) 計算手順はProcedure のコマンドボタンをクリックする。
(10) 解析の順番にセルの番地と入る値と使用する解法が表示されている。
(11) グラフ1には各セルの値を探すのに要した経過時間がプロットされる。
(12) 前にインプットしてストアした問題を再計算する時には、問題番号を(D2)に入れる。
(13) ReInput Problem をクリックするとストアーした問題が画面に呼び出される。
(15) 再計算の手順は(6)以降と同じである。

2. データベースから入力する方法
(1) このファイルには、「ポケット数独上級篇」(Sheet2)と「ニコリ数独名品100選」(Sheet6)
    が入っている。
(2) データベースを呼び出すのは、Sheet1のAC24に書かれた当該セルをダブルクリックする。
(3) M1のセルにインプットされたのを確認する。
(4) D2のセルに問題番号を入力する。
(5) Input Problem のコマンドボタンをクリックすると画面に問題が表示される。
(6) あとの操作は1.の(6)以降とおなじである。
(7) データベースを作るのは空白シートを用意して同じ形式で問題を入力する。
(8) Sheet 1 のマクロを凡例に沿って書き換える。

3.  連続計算の方法
(1)  一冊の本や複数の問題を連続して計算するときに使用する方法である。
(2)  一連の問題を空白シートにデータベースシート(Sheet2 やSheet 6)と同じ形式で作成する。
(3)  Sheet1 にタイトルをつけて、A22近辺のセルに書き込む。
(4)  Sheet1 のマクロに凡例と同様にタイトル名にしたがって、isheet=入力シート、
     dsheet="Sheet4"を記入する。
(5)  問題の数を1番から連続番号でつけ、最初と最後の問題をマクロに記入する。
(6)  問題をインプットして、連続計算の準備は完了する。
(7)  計算したい問題の最初と最後の問題番号をSheet1 のB2 とC2 にインプットする。
(8)  Continuous Cal. のコマンドボタンをクリックすると計算が開始する。
   (デスプレイの表示画面を映すと時間がかかるので、Z30のコマンドボタンを使うと速い)
(9)  計算結果の解答はResult of Cal. のコマンドボタンをクリックする。正解であることの
    Conquer のマーク、問題のレベルおよび解析時間も同時に表示される。
(10) Summary of Cal. のコマンドボタンをクリックすると、連続計算のまとめが表示される。
    表出セルおよび空白セルの数、消費時間、本解法でのレベル評価と作者(出版社)の
    公表レベルおよび使用された解法の種類別の回数などである。 

2009年10月2日金曜日

(56) プログラムの操作の説明

 プログラムの操作は簡単で次の順序で計算が可能である。

 (1) 画面をクリアー
 (2) Database (Sheet 6) にあらかじめ入力した問題の「問題番号」を
    入れる。
 (3) 「計算開始」をクリック。
 (4) 解が得られ、数独ルールを満足していると「Conquer」マークが示され、
    同時に問題の難易度レベルおよび計算時間が示される。
 (5) 解き方の手順を見るには、「とき方のヒント」をクリック。49個の空白セルに
   入る順番とその番地と数字と使用した見つけ方が示されます。
 (6)計算過程にかかった計算時間の推移は「解析過程のグラフ」をクリック。
 (7)探索法の種類によって重みをつけてやり、計算でえられた探索法の順番
   にしたがって人間の思考の過程をシミュレートするには「シミュレーション」
   をクリック。
   実際に人間が解いた場合の経過時間の経緯は「Human」をクリック。
 (8)連続計算をする場合には「連続計算」をクリック。
   初級の問題ならほぼ2分前後でとくことができる。
 

2009年10月1日木曜日

(55) 数独解析ソフトの特徴

解析ソフトの特徴
(1)  Excel VBA で書かれた全自動の数独ソルバーである。部分的にパソコン
    を使うのはあるようだが、全自動は聞いたことがない。
(2)  誰でもどこでも操作できる容量の小さい(1.4MB)簡易プログラムで難しい
    操作は要らない。数字を入力するだけで、PC嫌いの人でも簡単に使える。
(3)  独自の理論に基づく特性マトリックスを導入し、バグのない簡素な解法の
    プログラミングを可能にした。また効率のよいマトリックス演算により高速
    計算を実現している。
(4)  これまで公表されている数独の解法を体系化した。基本解法4種類に
    加え、15種類の解法を組み込み、今のところ難解問題をすべて征服し、
    解けない問題はない。
     そのため、問題の入力ミスやプリントミスが発見できる。(本や雑誌に
     掲載されている解法の説明は実に誤りが多い)
(5)  これを可能にしている最強の解法はAサーチである。このサーチでは
    手順が行き詰まったとき候補の一つを仮定して次に進む。(「矛盾の常識」
    として紹介しているものあり、ただし1階層のみ)本解法では5階層に
    わたって探索する。大抵の場合、基本サーチとAサーチだけで解に到達
    することができる。しかし人間が解く場合色々な解法を見つけるのが
    パズルの醍醐味であるのでこれはすべての他の解法が上手くいかなかった
    場合のみ使うようになっている。
(6)  解が求まっても正しくルールを満足しているかどうかを調べるルール
    チェックの機能を持っている。解が正しければ「Conquer」と表示し、誤って
    いればその誤りの場所を表示する。これはインプットミスなどで解けない
    場合しばしば起こる。
(7)  計算は①直接画面に数字をインプットして行う方法と②あらかじめシート
    に書き込んだデータベースから問題を取り出して行う方法および③データ
    ベースの問題を連続して解く方法の3種類が選択できる。
(8)  解析結果は解答とともに解析の進行にしたがって解の数字と場所および
    使われた解法を現す記号が表示される。途中段階で行き詰まったとき、
    どの数字あるいはセルに注目してどんな解法を使えばよいのかのヒントを
    得ることができる。
(9)   同時に計算時間もわかるので、解析の進行とともに消費した時間を
    プロットし(グラフ 1 )ごく大雑把な問題解析の特徴を類推することができる。
    各解法に評価値を与え、解析の進行とともに変化量を推定する手法を
    提案している。人間の思考脳力と関連付けることも考えられる。
(10)  本解法独自の難易度レベルの設定を行っている。レベルは8段階で、
    順次、「Beginner」、「Very Easy」、「Easy」、「Pleasant」、
    「Comfort」、「Hard」、「Very Hard」、「Ultra Hard」である。難易度の
    測定は人間の勘に頼る部分が多いが、本方法では完全に自動的に行わ
    れる。問題作成者にはよい道しるべとなるだろう。
(11)  本ソフトは拡大ナンプレや変形ナンプレに対して簡単なマクロの追加や
    変更によってVersion Up することができる。