第4講 数独作成アプリVer.1開発その2
第5話 第2の工夫とは?
初期配置(問題)がわるいと、
解のない問題になります。
そして、ソフトは解がないことを証明しようとして、
永遠と試行錯誤を繰り返します。
そして、解がなことが分かると問題を1つ修正して、
また解があるかの探索を始めます。
解がないときは、更に問題を修正して同様なことを繰り返します。
問題の修正がかなり深いところまで及ぶ場合には、
2,3時間かかっても適正問題を見いだすことは出来ないでしょう。
しかし、解答がある場合には0.1秒もかからずに見つけてしまうこともあります。
ならば、Ver.1のソフトによる問題修正ではなく、
最初から問題を作り直してしまった方が、
早い可能性があります。
最初から初期配置をやり直す!
急がば回れです。
修正を繰り返す小改革ではなく、抜本から作り直してしまうのです。
では、どのタイミングで現問題を見捨てたら良いでしょうか。
0.1秒もかからずに見つけてしまう場合があるのですから、
問題を作ってから0.1秒たっても解答が見つけられない場合は、
思い切って捨ててしまい最初からやり直すのです。
この改良によって、
毎回数秒以内、基本的には1秒以内でできるようになるのです。
疑似数独作成ソフトVer.2
時間の計測は、
Timerを納めるグローバル変数を用意しておいて、
適切なタイミングでTimerを代入して、
0.1秒を過ぎた時点で、
今動いているすべてのプロシージャを強制的に止めて、
Private Sub CommandButton1_Click()に戻るようにすればいいですね。
では、初期配置(問題作成)を最初からやり直すにはどうしたらよいですか?
答が思いついたら、皆さんプログラミングしてみて下さい。
プログラム例を次話で示します。
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入門へ
本サイトトップへ