2006年8月下旬にかけて、can matrix , g matrix を使ったナンプレ探索法を一気に開発した。参考にした解法は当時の数独本に断片的に掲載されていたもので、下記に示す。
探索法はすでに述べた4つの基本サーチに加えて15個の探索法よりなっている。一つひとつの説明は省略するが、その全体の概要は次の通りである。
探索記号 マクロの名称 探索原理と公表されている解法
(文献は下記に示す)
B B_search あるBlockの中で入るセルが一つしかない数
字を探す。
初級パターン①②③④
point 1
平行線、水平線、垂直線の常識
直交平行線の常識
L L_search ある行の中で入るセルが一つしかない数字を
探す。
初級ショキュウパターン⑤
point 2
C C_search ある列の中で入るセルが一つしかない数字
を探す。
point 3
M M_search 一つしか候補をもたないセルを探す。
中級パターン④、⑤
上級パターン②
point 4
残り物の常識、別方向からの決定
V pair_number_search_process あるBlock 2つだけの数字が水平ま
たは垂直に並んでいるとき、同行ま
たは同列にはその数字は入らない。
中級パターン③
ローカル系
G pair_block_cell_search_process
pair_line_cell_search_process
pair_column_cell_search_process
同Block、同列、同行内で二つのセルが同じ数字の二つの候補だけを
もつとき、Block 内、同列、同行の他のセルはそれらの候補をもたない。
Q double_pair_cell_search 同Block,同行、同列で二つのセル
line_column_double_pair_cell_search が二つの数字を専有する
ときこれらのセルは他の候補を持たない。
上級パターン①
定員確定の法則
コンビネーション系
二重線の常識
T triple_block_cell_search_process
triple_column_cell_search_process
triple_line_cell_search_process
同Block,同行、同列で三つセルが三つの数字を専有するとき
これら以外のセルはその三つの数字の候補を持たない。
三国同盟
P parallel_line_number_search_process
parallel_column_number_search_process
二つの行または列に同じ数字の入るセルが二つありその列
または行が等しいとき他のセルにはその数字は入らない。
四角の対角線
マトリックス系
U triple_parallel_line_number_search_process
triple_parallel_column_number_search_process
三つの行または列にわたり二つの数字をもつ番地が交互に
配列されるとき同じ列または行の他のセルにはその数は入
りえない。
マトリックス系
R triple_pair_block_search
triple_pair_line_column_search
同じBlock,行、列の中の三つのセルに三の同じ数字を持つ
セルがあればそのセルは三つの数字で専有され他の候補
を持たない。
コンビネーション系
S cross_pair_block_search
cross_pair_line_column_search
あるBlockの二つの数字の行または列が等しく、他のBlock
の同じ数字の一つが同行または同列にあるとき残のセルが
その数字になる。
point 5
コンビネーション系
H Hamada_line_search
Hamada_column_search
同Blockの二つのセルと同行、同列にあるセルの同じ二つの
候補より巧妙にこれらの数字を特定する。
浜田ロジック
W pair_number_line_search
ある行の二つの数字の候補が、あるBlockにあるときBlock内
のセルはその数字の候補を持たない。
A output_two_candidate
new_class_search
二つに候補をもつセルの一つの数字を仮定して探索を続ける。
もし行き詰ると、もうひとつの他の数字が特定できる。
矛盾の常識
Y pair_number_column_search
ある列の二つの数字の候補が、あるBlockにあるときBlock内
のセルはその数字の候補を持たない。
X triple_number_search_process
同Block内の3つの候補が同行または同列に並ぶときその行、
列の他のセルはその候補を持たない。
中級パターン②
ローカル系
空き直線の常識
K triple_parallel_line_search
triple_parallel_column_search
二つの行(列)に候補が矩形状に配置されるとき、同じ数字
をもつ他の行(列)の数字が特定される。
四角の対角線
D rectangular_block_line_search
rectangular_block_column_search
二つの行(列)に候補が矩形状に配置されるとき、同行(列)
に同じ数字をもつBlockの数字が特定される。
公表されている解法は次の資料を参考にしました。
(1) ニコリ「数独」名品100選:ニコリ編著 (文芸春秋)
初級パターン、中級パターン、上級パターン
(2) ナンプレ超上級編11 西尾徹也 (世界文化社)
三国同盟、四角の対角線、浜田ロジック
(3) 難問ナンプレに挑戦 2 稲葉直貴 (世界文化社)
ローカル系、コンビネーション系、マトリックス系
(4) 西尾徹也のナンプレBS 100 西尾徹也 (世界文化社)
point 1~point 5、point 6(定員確定の法)
(5) ナンバープレイス解法教室 藤原
http://www.pro.or.jp/~fuji/java/puzzle/numplace/knowhow.1-1
平行線、水平線、垂直線の常識
直交平行線の常識,別方向からの決定
二重線の常識、空き直線の常識
残り物の常識、矛盾の常識
0 件のコメント:
コメントを投稿