#排除原理
#排除原理とは、
A | C | |||||||
B | D | |||||||
対象数字(例えば3)が
AB列にはAまたはBのみ
CD列にはCまたはDのみ
(くどいようですが本サイトでは縦列を単に列と呼びます。
また、横列を行と呼びます。)
にしか入る可能性がない場合、
A | C | |||||||
B | D | |||||||
列AB、列CD、行AC、行BDのライン排除が
発生することを指しています。
つまり、対象数字が3である場合、
には3がはいらない事態を#排除といっている訳です。
何故、#かと申します後排除しているラインが、
A | C | |||||||
B | D | |||||||
#状になっているからです。
ニコリでは、この#排除原理を井桁理論と呼んでいます。
何故#上に排除が起きるのでしょうか。
対象数字を3として理由を説明しましょう。
もし、Aに3が入るとすると、
行排除から、Cには3は入りませんから、
CD列にはCまたはDのみが入るの前提条件から、
Dに3が入ることが確定します。
また、3がBに入る場合にも同様にして
3がCに入ることが確定します。
対象数字(例えば3)が
AB列にはAまたはBのみ
CD列にはCまたはDのみ
にしか入る可能性がない
という条件下では、3はAとDに入るか、
BとCに入るしかないのです。
つまり、対角線上に入るしかないのです。
いずれも場合も列と行のライン排除から、
#排除が発生します。
条件は
対象数字(例えば3)が
AC行にはAまたはCのみ
BD行にはBまたはDのみ
にしか入る可能性がない
と変更しても同様に#排除が発生します。
では、どんな場合に
A | C | |||||||
B | D | |||||||
対象数字(例えば3)が
AB列にはAまたはBのみ
CD列にはCまたはDのみ
にしか入る可能性がない
または
対象数字(例えば3)が
AC行にはAまたはCのみ
BD行にはBまたはDのみ
にしか入る可能性がない
という条件が生じるのでしょうか。
いろいろなケースがあります。
基本は
① リスト絞り込み法から
② ライン排除とブロック排除から
③ 相補確定の原理から
の3つですが、その組み合わせもありますから、
多くのケースがある訳です。
では、具体的な事例を見ていくことにしましょう。
以下の事例は説明のための事例で、
答えが1つであるという数独の条件は満たしていません。
つまり、解が複数存在します。
事例Ⅰ
5 | ||||||||
1 | 4 | 9 | 7 | |||||
2 | 8 | 5 | ||||||
1 | ||||||||
4 | ||||||||
2 | 4 | 5 | ||||||
7 | 9 | |||||||
8 | 1 | 2 | 6 |
#排除が発生しています。
なぜですか。
答えは30行下。
5 | ||||||||
1 | 4 | 9 | 7 | |||||
2 | 8 | 5 | ||||||
1 | ||||||||
4 | ||||||||
2 | 4 | 5 | ||||||
7 | 9 | |||||||
8 | 1 | 2 | 6 |
リスト絞り込み法によって、リストを絞ってみてください。
すると
5 | ||||||||
1 | 3,6 | 4 | 9 | 3,8 | 7 | |||
2 | 8 | 5 | ||||||
1 | ||||||||
4 | ||||||||
2 | 4 | 5 | ||||||
3,6 | 7 | 3,8 | 9 | |||||
8 | 1 | 2 | 6 |
ですから、
リストが3と6の方は相補確定の原理から、
この2つのセルからなるセル(ます)群には3と6が入ることが確定します。
リストが3と8の方は相補確定の原理から、
この2つのセルからなるセル群には3と8が入ることが確定します。
ですから、
A | C | |||||||
B | D | |||||||
対象数字(今の例では3)が
AB列にはAまたはBのみ
CD列にはCまたはDのみ
にしか入る可能性がないことが分かります。
5 | ||||||||
1 | 3,6 | 4 | 9 | 3,8 | 7 | |||
2 | 8 | 5 | ||||||
1 | ||||||||
4 | ||||||||
2 | 4 | 5 | ||||||
3,6 | 7 | 3,8 | 9 | |||||
8 | 1 | 2 | 6 |
の
には3は入らないことが確定します。
事例Ⅱ
7 | 3 | |||||||
4 | 9 | |||||||
2 | 6 | 1 | ||||||
5 | ||||||||
8 | ||||||||
6 | 2 | 5 | ||||||
3 | 4 | |||||||
1 | 9 | 8 |
さあ、皆さん考えてみてください。
どうして、#排除になりますか。
答えは30行下。
7 | 3 | |||||||
4 | 9 | |||||||
2 | 6 | 1 | ||||||
5 | ||||||||
8 | ||||||||
6 | 2 | 5 | ||||||
3 | 4 | |||||||
1 | 9 | 8 |
左列はリスト絞り込み法から
7 | 3 | |||||||
3,8 | 4 | 9 | ||||||
2 | 6 | 1 | ||||||
5 | ||||||||
8 | ||||||||
6 | 2 | 5 | ||||||
3,8 | 3 | 4 | ||||||
1 | 9 | 8 |
3と8のみがリストされます。
相補確定に原理から、
AとBのどちらかに8が入ることが確定します。
右列はどうでしょうか。
7 | 3 | |||||||
3,8 | 4 | 9 | ||||||
2 | 6 | 1 | ||||||
5 | ||||||||
8 | ||||||||
6 | 2 | 5 | ||||||
3,8 | 3 | 4 | ||||||
1 | 9 | 8 |
8のライン排除とブロック排除によって、
縦列に注目すると、
のどちらかに8が入ることが確定します。
以上より、8の#排除が生じます。
リスト絞り込み法へ 研究例題1へ
数独 フリーソフト 数独自動生成無料アプリ 難問 作成 プログラム
魔方陣 数独で学ぶ 初心者のための VBA 入門 基礎から応用まで
VB講義へ
VB講義基礎へ
vc++講義へ第1部へ
初心者のための世界で一番わかりやすいVisual C++入門基礎講座
初心者のための世界で一番わかりやすいVisual Basic入門基礎講座
初心者のための VC++による C言語 入門 C++ 入門
基礎から応用まで第1部
初心者のための VC++による C言語 入門 C++ 入門
基礎から応用まで第2部
初心者のための
VC++による C言語 入門 C++ 入門 基礎から応用まで第3部
本サイトトップへ