第4講 数独作成アプリVer.1開発その2
第5話 第2の工夫とは?
初期配置(問題)がわるいと、
解のない問題になります。
そして、ソフトは解がないことを証明しようとして、
永遠と試行錯誤を繰り返します。
そして、解がなことが分かると問題を1つ修正して、
また解があるかの探索を始めます。
解がないときは、更に問題を修正して同様なことを繰り返します。
問題の修正がかなり深いところまで及ぶ場合には、
2,3時間かかっても適正問題を見いだすことは出来ないでしょう。

しかし、解答がある場合には0.1秒もかからずに見つけてしまうこともあります。
ならば、Ver.1のソフトによる問題修正ではなく、
最初から問題を作り直してしまった方が、
早い可能性があります。
最初から初期配置をやり直す!
急がば回れです。
修正を繰り返す小改革ではなく、抜本から作り直してしまうのです。
では、どのタイミングで現問題を見捨てたら良いでしょうか。
0.1秒もかからずに見つけてしまう場合があるのですから、
問題を作ってから0.1秒たっても解答が見つけられない場合は、
思い切って捨ててしまい最初からやり直すのです。
この改良によって、
毎回数秒以内、基本的には1秒以内でできるようになるのです。
m
疑似数独作成ソフトVer.2

時間の計測は、
Timerを納めるグローバル変数を用意しておいて、
適切なタイミングでTimerを代入して、
0.1秒を過ぎた時点で、
今動いているすべてのプロシージャを強制的に止めて、
Private Sub CommandButton1_Click()に戻るようにすればいいですね。
では、初期配置(問題作成)を最初からやり直すにはどうしたらよいですか?
答が思いついたら、皆さんプログラミングしてみて下さい。
プログラム例を次話で示します。

第4話へ 第6話へ
004

eclipse c++ 入門
魔方陣 数独(ナンプレ)で学ぶ VBA 入門
数独(ナンプレ)のシンプルな解き方・簡単な解法の研究
vc++講義へ
excel 2013 2010 2007 vba入門へ
VB講義基礎へ
初心者のための世界で一番わかりやすいVisual C++入門基礎講座へ
初心者のための世界で一番わかりやすいVisual Basic入門基礎講座へ
専門用語なしの C言語 C++ 入門(Visual C++ 2010で学ぶ C言語 C++ 入門)
専門用語なしの excel vba マクロ 入門 2013 2010 2007 対応講義 第1部
eclipse java 入門へ
excel 2016 vba 入門へ
小学生からエンジニアまでのRuby入門へ
本サイトトップへ