2009年7月8日水曜日

(27) V サーチを追加

Ver12 の激辛2 では 100題中 15題が Not Conquer となった。これは、まだまだ探索法が少なく、A サーチにのみ頼っているためで、人間の思考にははるかに及ばないことの証拠であろう。これからは、人間の思考に近い探索法をマクロにすることに心がけよう。その手始めに、新しい探索法である gloval_victory_search マクロを作成した。現在の V_search に相当し、「VL」と「VC」からなる。

V_search の探索法
① igrp でブロック順に空白セルにいる候補を調べる。
② 数字を numb=1 から 9 まで順番に調べる。ここに、numb はセルに候補として入る数字をあらわす。
③ igrp の中で、numbの候補の数を調べる。もしこれが 一つしかなかったら、Pサーチで求まる決定値に相当する。各ブロックで numbの数を数えて num とする。 num=2 であれば、( i1 , i2 )=a1 , ( j1 ,j2 ) =b1=numb として二つだけの候補が求まる。
④ igrp の同行 i1=j1 または 同列 i2=j2 の他のセルには数字 numb ははいりえないので、もし他のblock の同行、同列に numbがあれば、それを除外する。結果として、除外したセルの属する block で、numb の入るセルが一つあれば、そのセルはnumbとなり、数字が確定する。

 
2006年6月27日にこのマクロが完成し、激辛2の15題あった Not Conquer は96,97,99,103の四つになった。計算時間も 8.7分に短縮された。 

0 件のコメント:

コメントを投稿