« 数独日誌121128 | トップページ | 数独日誌121206 »

数独日誌121202

   池田書店「激」Vol.8の下一桁が4の問題をやりました。今回も124番でNice Loopを使いました。Nice Loopを探す場合は、盤面を書き直して、強リンク(ある行、列、ブロックにその数字が2つしか入らない状態)に印をつける作業をするので、ひとつ余分に手間がかかります。下にまた途中図を書きましたので、よかったらトライしてみて下さい。

   前半の問題はヒント数字の配置が巧みで、熟練の作者が作った雰囲気があります。80番台くらいから急に難しくなるようです。前回未完だった113番はその後XY-Chainでクリアできました。

以下私の使った手筋です。
3国同盟 113
4国同盟(隠れ2国) 114
四角の対角線 54,64,74
XY-Wing 84
XY-Wing×2 114
XY-Wing×3 124
Sashimi Fish 124
Sashimi Fish×2 104
Finned Fish 113
XY-Chain 94,104
XY-Chain×2 84
XY-Chain×3 113
XYZ-Chain 113
W-Wing 124
Nice Loop×3 124

124番途中図
105 986 702
060 300 598
890 000 100

420 000 087
080 040 050
650 008 001

070 000 819
008 097 000
906 802 075

|

« 数独日誌121128 | トップページ | 数独日誌121206 »

趣味」カテゴリの記事

コメント

こんにちは。私は「激8」を持っていないので、124番途中図から解いてみました。
まずr169c278で4のSwordfishが成立し、r3c8,r8c278から4を除外できます。次にr1c2 =3= r1c8(3-4) =4= r6c8 -4- r6c7 =4= r9c7(4-3) =3= r8c789の繋がりでGrouped AICが成立します。r1c2とr8c789のどこかに必ず3が入るので、r8c2から3を除外でき、r8c2=1が確定します。その後、XY-Wingを2回ほど使って解きました。

投稿: DokuZuki | 2012年12月 2日 (日) 15時58分

DokuZukiさんへ
早速コメントをいただき、ありがとうございます。「激8」の124番ですが、情けないことに4についてのSwordfishを見落としていました。

1行、9行の4についてのSashimi Fishでr8c8だけから4を除外としていました。

結局、
r1c8(34)-r1c2(34)-r9c2(134)-r9c7(34)-r8c9(346)-r3c9(346)-r1c8
(4強-4弱-4強-4弱-4強-4弱)
以上6マス構成の連続タイプのNice Loop(これはX-cycleというんでしたっけ?)が成り立ち、弱リンクのある行(列、ブロック)から4が除外できるので、r8c278とr3c8から4を除外できる、としました。

Grouped AICの理屈は今1つ分かりにくい感じがしますが、(http://www.geocities.jp/master_mishichan/ultra.html
確かにr8c2に3が入ると、r1c2が4、r6c8も4、r9c7も4となり、第8行に3が2つ入ってしまいます。

ここがポイントだったのでしょう。私はr8c2から3を除外できることが分かったのはNice Loopを4つ(3つではありませんでした)使った後で、XY-Wingを使ってやっとたどり着きました。相変わらずだいぶ過剰でした。

投稿: ikachan | 2012年12月 2日 (日) 18時14分

ikachanさんへ
AICのロジックは結構単純ですよ。X-Chainの考え方を拡張しただけのものです。X-Chainでは強・弱リンクを同ユニット内の同種の候補数字間で考えますが、AICではそれに加えて同マス内の異種の候補数字間でも強・弱リンクを考えます。つまり、2択マスであればその2つの数字は強リンクで繋がっていると考え、3択以上のマスであればその中の2つの数字は弱リンクで繋がっていると考えます。もちろん、2択マスを弱リンクと見なすこともできます。これらの強・弱リンクを交互に繋いだChain(両端は強リンク)がAICです。そして、Chainの両端のどちらかが必ず真になることを利用して候補数字を除外します。

124番のGrouped AICの場合で考えてみます。
r1c2 =3= r1c8(3-4) =4= r6c8 -4- r6c7 =4= r9c7(4-3) =3= r8c789
この場合も単純に強・弱リンクを交互に繋いでいるだけです。
ここでr1c2<>3と仮定すると、r1c8=3(<>4) → r6c8=4 → r6c7<>4 → r9c7=4(<>3) → r8c789のどこかが3となります。よって、Chainの両端のr1c2とr8c789のどこかに必ず3が入ることになり、r8c2から3を除外できます。

実は、Nice LoopとAICにそれほどの違いはありません。違いはLoopとChainのどちらで考えるかということと適用方法くらいであり、X-CycleとX-Chainの違い程度のものです。従って、Discontinuous Nice Loopが成立すればAICも成立しますし、逆にAICが成立すればDiscontinuous Nice Loopも成立します。

124番の場合もGrouped AICだけでなくGrouped Discontinuous Nice Loopが成立しています(私はNice LoopよりもAICの方が好きなので、Grouped AICの方を使いましたが)。それが次のようなLoopです。
r8c2 -3- r1c2 =3= r1c8 =4= r6c8 -4- r6c7 =4= r9c7 =3= r8c789 -3- r8c2
r8c2の3が弱・弱リンクで繋がる不連続点となり、これを除外できます。

投稿: DokuZuki | 2012年12月 3日 (月) 01時33分

okuZukiさんへ
ていねいな解説コメントありがとうございます。Nice LoopにGroupedの形があるんですね。知りませんでした。

少し質問があります。
AICはマスの内部でもリンクを考えるということですが、例えば124番で、r6c8のマスは候補数字が234だと思いますが、r1c8からの4についての強リンクの後、r6c8のマスの内部での2または3への弱リンクというのは考えないのでしょうか?

強リンク弱リンクを交互にするために、2択マスを弱リンクと見立てたり、マス内のリンクはスキップしたりが可能ということでしょうか?

もしそうだとすると、マス内のリンクをスキップするか、しないかの判断材料が増えて、手筋を探すのがとても大変になるような気がするのですが。

Nice Loopの場合は強リンクを続ける場合は異なる数字で、弱リンクを続ける場合は2択マスで、強リンクから弱リンクへ続ける場合は同じ数字で、というようなルールがあるわけですが、AICの場合はそういうルールはない、ということでしょうか?

お手数ですが、教えていただければ幸いです。

投稿: ikachan | 2012年12月 5日 (水) 14時56分

ikachanさんへ
ご質問にお答えしたいと思います。

> AICはマスの内部でもリンクを考えるということですが、例えば
> 124番で、r6c8のマスは候補数字が234だと思いますが、r1c8から
> の4についての強リンクの後、r6c8のマスの内部での2または3
> への弱リンクというのは考えないのでしょうか?
それも考えられますね。ただ、その先に有望なユニット内の強リンクはなさそうですが。

> 強リンク弱リンクを交互にするために、2択マスを弱リンクと見
> 立てたり、マス内のリンクはスキップしたりが可能ということで
> しょうか?
その通りです。

> もしそうだとすると、マス内のリンクをスキップするか、しない
> かの判断材料が増えて、手筋を探すのがとても大変になるような
> 気がするのですが。
Nice Loopの方は普段使わないので、その辺りはよく分かりません。ただ、AICの方は次のように考えると分かりやすいかと思います。

数独は9×9の2次元パズルですが、各マスに1~9の数字用の箱を順番に積んで3次元で考えてみたいと思います。すると、確定数字や候補数字は単なる位置情報と考えることができます。その中でChainを繋ぐ場合、平面上の行・列・ブロック方向と縦方向(マス内の候補数字間)の4方向で強・弱リンクを探すことになります。つまり、マス内のリンクはChainを繋ぐ一方向に過ぎないということです。また、Chainは平面方向により広がった方が成立しやすくなるでしょうから、平面方向の強・弱リンクを優先して探すことになると思います。

> Nice Loopの場合は強リンクを続ける場合は異なる数字で、弱リ
> ンクを続ける場合は2択マスで、強リンクから弱リンクへ続ける
> 場合は同じ数字で、というようなルールがあるわけですが、AIC
> の場合はそういうルールはない、ということでしょうか?
AICではそのようなルールを覚える必要はありません。なぜなら、それらはAICでは当然のことばかりだからです。ユニット内の強リンクと強リンクを繋ぐ場合、間にマス内の弱リンクが必要になるので、数字が変わるのは当然です。また、ユニット内の弱リンクと弱リンクを繋ぐ場合、間にマス内の強リンクが必要になるので、2択マスになるのも当然です。それから、ユニット内の強リンクと弱リンクを繋ぐ場合、自然な繋がりなので間にマス内のリンクを入れる必要はなく、数字は変わりません。

私は、Nice Loopは裏にAICの考え方を隠して、効率よく解くことに特化した解法ではないかと考えています。

投稿: DokuZuki | 2012年12月 5日 (水) 20時40分

DokuZukiさんへ
早速詳しい解説をありがとうございます。おかげ様でAICの理解がだいぶ進んだように思います。

AICは強弱のリンクを繰り返すというルールだけで、Nice Loopのようなルールは必要ない、というところはなるほど、と思いました。

数独の盤面を3次元で考える、というところも斬新な発想だと思いました。

投稿: ikachan | 2012年12月 5日 (水) 22時00分

ikachanさんへ
数独を3次元で考えるという手法は、海外サイトでたまにそのようなイメージ図を見かけるので、特に私のオリジナルというわけではありません。この手の解法は3次元で考えるとイメージしやすいようです。

ところで、前回コメントの最後の一文で少し書き足らなかった部分があるので、次のように修正したいと思います。
> Nice Loopは、裏にAICの考え方を隠して法則化することにより、
> 効率よく解くことに特化した解法ではないかと思います。それ
> 故、何故そうなるのかという意味が分かりづらくなっていると
> 思います。

続いて、HoDoKuにあるhttp://hodoku.sourceforge.net/en/tech_chains.php#nl">AICの解説を使ってAICを具体的に説明したいと思います。AICには成立条件の違いによりType 1とType 2があります。

Type 1では、Chainの両端が同数字で同ユニット内にないことが成立条件になります。左図の場合は
5- r1c2(5=3) -3- r1c4 =3= r3c4(3-9) =9= r7c4(9-2) =2= r7c2 -2- r8c3(2=5) -5
のChainが考えられます。Chainの両端は5であり同ユニット内にないので、Type 1の成立条件を満たしています。Chainの両端のr1c2とr8c3のどちらかに必ず5が入ることになるので、どちらからも見ることができるr123c3,r78c2から5を除外できます。

なお、下位の解法のSkyscraper、2-String Kite、XY/W/M-Wing、Remote Pairs、XY/X-ChainなどがType 1に属しています。

Type 2では、Chainの両端が異数字で同ユニット内にあることが成立条件になります。左図の場合は
4- r6c2 =4= r9c2 -4- r9c5(4=9) -9- r5c5 =9= r5c4(9-8) =8= r6c4 -8
のChainが考えられます。Chainの両端は4と8の異数字であり同ユニット(r6)内にあるので、Type 2の成立条件を満たしています。Chainの両端のr6c2=4とr6c4=8のどちらかが必ず真になるので、r6c2から8、r6c4から4を除外できます。

これは次のように考えることができます。r6c2=4と仮定するとr6c2から4以外を除外でき、r6c4=8と仮定するとr6c2から8を除外できます。いずれにしてもr6c2から8を除外できることになります。同様に、r6c4=8と仮定するとr6c4から8以外を除外でき、r6c2=4と仮定するとr6c4から4を除外できます。いずれにしてもr6c4から4を除外できることになります。

また、これを3次元で考えることもできます。Chain端のr6c2の4から真上に位置するr6c2の8を見ることができ、もう一方のChain端のr6c4の8からも同平面上にあるr6c2の8を見ることができます。r6c2の8はChainの両端から見ることができるので、これを除外できます。同様に、r6c4の4もChainの両端から見ることができるので、これを除外できます。

なお、Type 2に属している下位の解法は、私が知る範囲ではS-Wingくらいです。

ちなみに、Chainの両端が同数字で同ユニット内にある場合や、Chainの両端が異数字で同マス内にある場合は、AIC Loop (Continuous Nice Loop)が成立します。また、Chainの両端が異数字で同ユニット内にない場合は、いずれの解法も成立しません。

投稿: DokuZuki | 2012年12月 7日 (金) 07時15分

おはようございます。前回のコメントで使った同ユニット内、同マス内、同平面上という言葉が少し変な感じがするので、次のように訂正したいと思います。
同ユニット内 → 同一ユニット内
同マス内 → 同一マス内
同平面上 → 同一平面上

それから、Type 2はType 1に比べると少し分かりづらいですが、3次元で立体的に考えると、Type 1と同じ感覚で適用できると思います。

投稿: DokuZuki | 2012年12月 8日 (土) 08時09分

DokuZukiさんへ
Hodokuの解説ありがとうございます。Type2というのがあるのですね。

Type2の左の例題はNice Loopの考え方では、
r6c2-r9c2-r9c5-r5c5-r5c4-r6c4-r6c2の順に、
4強-4弱-9弱-9強-8強-8弱となり、
不連続点のr6c2から8が除外できます。

また逆にr6c4-r5c4-r5c5-r9c5-r9c2-r6c2r-6c4の順に、
8強-9強-9弱-4弱-4強-4弱となり、
不連続点のr6c4から4が除外できます。
ということになるでしょうか。

これに対しType1の左の例題は、
r123c2-r1c2-r1c4-r3c4-r7c4-r7c2-r8c3-r123c3
5弱-3弱-3強-9強-2強-2弱-5弱
となり、弱リンクが連続している不連続点の
r123c3から5が除外できる、というGrouped
Nice Loopの考え方になるんでしょうか。

また逆にr78c2-r8c3-r7c2-r7c4-r3c4-r1c4-r1c2-r78c2
5弱-2弱-2強-9強-3強-3弱-5弱
となり、弱リンクが連続している不連続点の
r78c2から5が除外できる。
ということになると思います。

投稿: ikachan | 2012年12月 9日 (日) 17時44分

ikachanさんへ
> Type2の左の例題はNice Loopの考え方では、
> r6c2-r9c2-r9c5-r5c5-r5c4-r6c4-r6c2の順に、
> 4強-4弱-9弱-9強-8強-8弱となり、
> 不連続点のr6c2から8が除外できます。
>
> また逆にr6c4-r5c4-r5c5-r9c5-r9c2-r6c2r-6c4の順に、
> 8強-9強-9弱-4弱-4強-4弱となり、
> 不連続点のr6c4から4が除外できます。
> ということになるでしょうか。
そうですね。AICでは複数のDiscontinuous Nice Loopが同時に成立します。従って、複数のマスから候補数字を除外することができます。

> これに対しType1の左の例題は、
> r123c3-r1c2-r1c4-r3c4-r7c4-r7c2-r8c3-r123c3
> 5弱-3弱-3強-9強-2強-2弱-5弱
> となり、弱リンクが連続している不連続点の
> r123c3から5が除外できる、というGrouped
> Nice Loopの考え方になるんでしょうか。
不連続点でGroupedを考えることはないと思います。この場合は、次の3つのDiscontinuous Nice Loopが同時に成立していると考えることができます。
r1c3-r1c2-r1c4-r3c4-r7c4-r7c2-r8c3-r1c3
r2c3-r1c2-r1c4-r3c4-r7c4-r7c2-r8c3-r2c3
r3c3-r1c2-r1c4-r3c4-r7c4-r7c2-r8c3-r3c3

> また逆にr78c2-r8c3-r7c2-r7c4-r3c4-r1c4-r1c2-r78c2
> 5弱-2弱-2強-9強-3強-3弱-5弱
> となり、弱リンクが連続している不連続点の
> r78c2から5が除外できる。
> ということになると思います。
この場合も、次の2つのDiscontinuous Nice Loopが同時に成立していると考えることができます。
r7c2-r8c3-r7c2-r7c4-r3c4-r1c4-r1c2-r7c2
r8c2-r8c3-r7c2-r7c4-r3c4-r1c4-r1c2-r8c2
従って、Type 1の左の例題では、5つのDiscontinuous Nice Loopが同時に成立していると考えることができ、5つのマスから候補数字を除外することができます。

投稿: DokuZuki | 2012年12月 9日 (日) 22時30分

DokuZukiさんへ
コメントありがとうございます。
おかげ様でAICのことがある程度わかりました。

投稿: ikachan | 2012年12月10日 (月) 22時29分

コメントを書く



(ウェブ上には掲載しません)




トラックバック


この記事へのトラックバック一覧です: 数独日誌121202:

« 数独日誌121128 | トップページ | 数独日誌121206 »