数独日誌140316
【Tachyonさんから早くも問題提供】
XY-Wingという手筋は、例えば3つの2択マスが連鎖していて、候補数字が12,23,31となっていたとき、第1のマスと第3のマスの両方を臨むマスXから1が除外できる、というものです。
Xに1が入ると、第1のマスは2、第2のマスは3、第3のマスは1が入り、マスXと第3のマスの両方に1が入る状態になってしまいます。
2択マスの連鎖が3つを超える場合が、XY-Chainとなります。例えば4つの2択マスの候補数字が12,23,34,41となっている場合です。同じ理由で第1のマスと第4のマスの両方を臨むマスから1が除外できます。
XYZ-Wingという手筋はXY-Wingで2択マスの中に3択マスが入る場合です。例えば12,213,31となっているとき、第1のマスと第3のマスの両方を臨むマスYから1が除外できます。ただし、マスYと第2のマスも連鎖している必要があります。
このとき、Yに1が入ると、第1のマスが2、第2のマスが3、第3のマスが1となり、やはりマスYと第3のマスの両方に1が入る状態になってしまいます。
このXYZ-Wingを構成するマスの数が3つを超える場合、XYZ-Chainと呼んでいます。私が適当に名づけたもので、この名称はミシチャンさんのサイトにも登場していません。
Tachyonさんから早くも問題提供していただきました。ありがとうございます。今回はNice LoopとXYZ-Chainが合体した問題ということです。XYZ-Chainは、XY-Chainを、背理法を使って探しているときになかなか見つからず、苦し紛れに使った、というケースが多いです。
それをTachyonさんが分析してくれました。ALSは私はよく理解できていないのですが、とりあえず、挑戦してみたいと思います。数独日誌140307のコメント欄から転載します。
例によって2題ずつ取り上げたいと思います。
『数独日誌140102に、私の最後のコメントで予告した (Grouped) Nice Loop with XYZ-Chain に取り組んでいますが、ikachanさんが使ったXYZ-Chainで、公表されている手筋を取り上げてみますと:
①39,95,54,453のXYZ-Chain
(数独日誌130410:池田書店「激7」86番)
②56,651,15,58,82,26,65のXYZ-Chain
(数独日誌130410:池田書店「激7」106番)
③38,839,92,29,93のXYZ-Chain
(数独日誌130712:世界文化社「超上級編30」98番)
④23,39,93,35,532のXYZ-Chain
(数独日誌130903:世界文化社「世界一5」46番)
⑤72,24,43,329,932,24,47のXYZ-Chain
(数独日誌130903:世界文化社「世界一5」81番)
⑥37,78,84,482,23のXYZ-Chain
(数独日誌130923:世界文化社「世界一5」92番)
⑦56,63,34,452,245のXYZ-Chain
(数独日誌140301:世界文化社「超上級編31」72番)
となり、二つのマスで構成される以下のALS(Almost Locked Sets)を含んでいる事がわかります。(※ALSについては http://www0geocities0jp/master_mishichan/hyper0html
を参照)
[XYZ,XY]型:
①ではXYZマスは最後の453、XYマスは3番目の54
②ではXYZマスは2番目の651、XYマスは最初の56
③ではXYZマスは2番目の839、XYマスは最初の38
④ではXYZマスは最後の532、XYマスは4番目の35
⑥ではXYZマスは4番目の482、XYマスは3番目の84
[XYZ,XYZ]型:
⑤では329と932
⑦では452と245
[XYZ,XY]型を見てみますと、このChainは、三択マス(XYZ)と二択マス(XY)のセット(ALS)を、あたかも一つの二択マス(XZあるいはYZ)のように繋いでいます。(但し、このセットにあるXあるいはYについては、必ずこの2つのマスが共存するユニット(ブロック/ライン)にある候補としか繋げません)
そこで、大日向一富巨さんか或いは他の人の次の出題まで、このTachyonが、恐れながらも、おじゃまさせて頂きますということで、まず[XYZ,XY]型のALSを含んだ、五マス構成のNice Loop(不連続タイプ)の問題を4つ紹介したいと思います。 今回は前のシリーズでやった、いわゆるミニブロックを利用したGroup化はありません。どの問題も、うまくやれば基本的な技(N国同盟を含む)と[XYZ,XY]型のALSを含んだNiceLoop一発で解けます。』
NLwith[XYZ,XY]【1】(hint:Σ-WingあるいはΣ-WingⅡに近いです)
810 003 076
090 026 030
000 007 500
108 302 004
004 010 700
900 408 000
001 700 000
080 230 040
300 000 027
NLwith[XYZ,XY]【2】(hint:Σ-WingⅡに近いです)
003 082 400
200 900 005
010 003 082
700 000 000
691 428 573
000 000 006
850 200 090
100 804 057
007 150 208
| 固定リンク
「趣味」カテゴリの記事
- 数独日誌240915(2024.09.15)
- 数独日誌240908(2024.09.08)
- 数独日誌240901(2024.09.01)
- 数独日誌240825(2024.08.25)
- 数独日誌240811(2024.08.11)
コメント
すみません。ALSの参照先を、http://www0geocities0jp/master_mishichan/hyper0html
としていますが、正しくは:
http://www.geocities.jp/master_mishichan/hyper.html
です。訂正いたします。
投稿: Tachyon | 2014年3月16日 (日) 10時32分
やってみました。
基本手筋で候補数字のリストアップをしてから「2択ポイントチェック」を当てはめています。
[上の問題]右上ブロックにある(2,2)のペアからスタートします。r2c7が4であることが簡単に出てきます。これで終わりまで行きます。
[下の問題]右上ブロックにある(9,9)ペアからスタートします。r7c9が4であることがわかります。これで終わりまで行きます。
投稿: htms42 | 2014年3月16日 (日) 20時13分
ご無沙汰してます。DokuZukiです。
今回テーマとなっているXYZ-Chainについてコメントさせて頂きます。XYZ-Chainという名称ですが、実は既に存在しています。しかし、その内容はikachanさんのXYZ-Chainとは少し異なったものになっています。まずこちらをご覧ください。
┏━━━━━━┳━━━━━━┓
┃ ┃ ┃
┃ 12 ┃ ┃
┃ 23 ┃ ┃
┣━━━━━━╋━━━━━━┫
┃ ┃ ┃
┃134 ┃ 45 ┃
┃ -1 ┃ 15 ┃
┗━━━━━━┻━━━━━━┛
この図で本来のXYZ-Chainを説明したいと思います。この図では次のようなリンク式を考えることができます。
r2c2(12)-r3c1(23)-r5c1(314)-r5c4(45)-r6c5(51)
ここでr5c1<>1と仮定すると、XY-Chainが成立してr2c2とr6c5のどちらかに必ず1が入ります。従って、r5c1、r2c2、r6c5のどこかに必ず1が入ることになり、この3マスから共通して見ることができるr6c2から1を除外できます。
ちなみにこのXYZ-Chainの延長線上にはForcing Chainというのがあります。Forcing ChainはNice Loop/AICより上位に位置する解法であり、これらを3分岐以上も考えるように拡張したものと言えると思います。
XYZ-Chainについてはこちらの本に解説があります。
The Hidden Logic of Sudoku (Second Edition)
http://www.amazon.co.jp/Hidden-Logic-Sudoku-Denis-Berthier/dp/1847992145/
この本にはXYZ-Chainのようなマニアックな解法の解説が載っているのですが、英語で書かれている上に分かりやすい図も余りないので、お勧めはしません。実際、私もこの本の内容は余り理解できていません。
ということで、Tachyonさんのリストの箇所で実際はどんな解法が適用できるか分析してみました。その結果がこちらです。
① Singly Linked ALS-XZ
② XYZ-Chain(この場合はXYZ-Loopとも言える)
③ XYZ-ChainまたはALS-XY-Wing
④ Singly Linked ALS-XZ
⑤ ALS-XY-Wing
⑥ ALS-XY-Wing
⑦ Singly Linked ALS-XZ
本来のXYZ-Chainを考えることができたのは②と③だけでした。また、②以外はALS系の解法を考えることができました。このALS系の解法とは、簡単に言えば複数のALSを弱リンクで繋いだChain/Loopです。なお、リストアップしたALS系の解法は、できるだけALSの個数が少なくなるものを選定しました。ということは、ALSを2択マスとかに細かく分解してリンク数を増やしたChainを考えることもできるということです。そちらの方がikachanさんの解き方に近くなります。
②のXYZ-Chain(XYZ-Loop)の場合、Chainが合流するので結構難易度が高いと思うのですが、それを見付けられるとはすごいと思いました。
もしご要望があれば、ALSについて詳しく解説させて頂きます。
Tachyonさんへ
(Grouped) Nice Loop with XYZ-Chainとされると、ほとんどCell Forcing Chainのようなものをイメージしてしまいます。なので、(Grouped) Nice Loop with ALSとされる方がよいのではないでしょうか?細かなところを突っついて申し訳ないのですが、後で混乱を招くといけないのでコメントさせて頂きました。
投稿: DokuZuki | 2014年3月17日 (月) 18時53分
DokuZukiさんへ
久々のコメントありがとうございます。とってもうれしいです。
なるほど、本来のXYZ-Chainは、三択マスの余分な候補が不連続点となる候補を伺えればよいわけですね。
> 本来のXYZ-Chainを考えることができたのは②と③だけでした。
> また、②以外はALS系の解法を考えることができました。
> ②のXYZ-Chain(XYZ-Loop)の場合、
> Chainが合流するので結構難易度が高いと思うのですが、
> それを見付けられるとはすごいと思いました。
②については、以下のようにr5c5(56)が、Chainの要素として、[XYZ,XY]型ALSの一部となったり、単独の二択マスとなったりしていると捉える事ができます。
r5c6(157) -5- [r5c58(56,156)] -1- r2c8(15) -5- r2c5(58) -8- r6c5(28) -2- r4c5(26) -6- r5c5(56) -5- r5c6
(※[ ]は[XYZ,XY]型ALSを表します)
> (Grouped) Nice Loop with XYZ-Chainとされると、
> ほとんどCell Forcing Chainのようなものを
> イメージしてしまいます。
> なので、(Grouped) Nice Loop with ALSとされる方が
> よいのではないでしょうか?
はじめは私も、その名前を考えておりましたが、「...with ALS」とすると、四択や五択マスをもつALSなども含まれ、テーマが大きくなりすぎてやめた次第です。
数独日誌では、ikachanさんのやり方が、XYZ-Chainとして定着しているのですから、変える必要はないと思うのですが、
変えるとしたら「...with XYZ-ALS」とするか、あるいはChainの「i」をとって「...with XYZ-chan」とするのは、ikachanさん、どうでしょうか?
投稿: Tachyon | 2014年3月18日 (火) 19時40分
②のどこにXYZ-Chainがあるのか分からないという方も多いと思いますので、具体的に説明したいと思います。次の図の箇所でXYZ-Chainが成立しています。
┏━━━━━━┳━━━━━━┳━━━━━━┓
┃ ┃ ┃ ┃
┃ ┃ 58 ┃ 15 ┃
┃ ┃ ┃ ┃
┣━━━━━━╋━━━━━━╋━━━━━━┫
┃ ┃ 26 ┃ ┃
┃ -5 -5 -5 ┃ -5 56 -5 ┃ -5 156 -5 ┃
┃ ┃ 28 ┃ ┃
┗━━━━━━┻━━━━━━┻━━━━━━┛
リンク式は次の通りです。
r5c5(56)-r4c5(62)-r6c5(28)-r2c5(85)-r2c8(51)-r5c8(156)-r5c5(65)
ここでr5c8<>5と仮定すると、XY-Chainが成立し、Chainの両端はr5c5(5)の同一点なのでr5c5の5が確定します。従って、r5c8とr5c5のどちらかに必ず5が入ることになり、共通して見ることができるr5c1234679から5を除外できます(実際に除外できるのはr5c6の5のみです)。このXYZ-Chainの場合は、r5c5の6の地点でChainが合流しているので、見付けにくいと思います。XY-ChainではChainの合流なんて考えませんが、XYZ-ChainではChainの合流を考える必要があります。
ちなみに、r5c8の5とr5c5の5は同一ユニット(r5)内にあるのでXYZ-Loopとも言えますが、XYZ-Loopについては更に話がややこしくなるので、今回は割愛します。
Chainの合流があるXYZ-Chainをもう1例考えてみます。
┏━━━━━━┳━━━━━━┳━━━━━━┓
┃ ┃ -1 ┃ ┃
┃ 56 ┃ -1 167 ┃ 78 ┃
┃ ┃ -1 ┃ ┃
┣━━━━━━╋━━━━━━╋━━━━━━┫
┃ ┃ -1 ┃ ┃
┃ ┃ 12 -1 ┃ ┃
┃ ┃ 23 -1 ┃ ┃
┣━━━━━━╋━━━━━━╋━━━━━━┫
┃ ┃ ┃ ┃
┃ 45 ┃ 34 ┃ 48 ┃
┃ ┃ ┃ ┃
┗━━━━━━┻━━━━━━┻━━━━━━┛
この場合のリンク式は次の通りです。
r5c5(12)-r6c4(23)-r8c4(34)-r8c2(45)-r2c2(56)-r2c6(617)-r2c8(78)-r8c8(84)-r8c4(43)-r6c4(32)-r5c5(21)
長々書きましたが、実際はr8c4の4の地点でChainが合流していて、更にr6c4、r5c5とChainが伸びています。r2c6とr5c5のどちらかに必ず1が入るので、共通して見ることができるr123c5,r456c6から1を除外できます。
投稿: DokuZuki | 2014年3月18日 (火) 19時42分
DokuZukiさんへ
> XY-ChainではChainの合流なんて考えませんが、
> XYZ-ChainではChainの合流を考える必要があります。
本来のXYZ-Chainは、合流することができ、
その合流地点から一本伸びた線の到着点の候補と三択マスの余分な候補の両方を伺える候補は除外できるということですね?
XYZ-Chain(本来)の合流した形というのは犬の紐付首輪
(あるいは投げ縄、あるいは東京の山手線と新宿駅を含む中央線の一部)みたいで
(②の場合は、紐付首輪の紐が、極端に短く、一つのマス(r5c5)内に収まっていてr5c5の候補6(合流地点)からr5c5の候補5(到着点))、
私には、なにかChainというよりはWarpに近い感じがします。
投稿: Tachyon | 2014年3月19日 (水) 18時22分
htms42さんへ
htms42さんの解答を見ないと、今回Nice Loopの手筋は見つからなかったと思います。
DokuZukiさんへ
久々のコメントありがとうございます。お二人のやりとりはいつもながら高度で、なかなかついていけません。頭の回転が好調なときにじっくり解読させてください。
Tachyonさんへ
とても難しいと思います。[XYZ,XY]の形はいくつか登場するのですが、なかなかNice Loopとうまく結びつきません。2題ともhtms42さんの答えをヒントにしました。ただし【2】は想定外の形だと思います。
【1】
htms42さんの解き方を補足すると、右上ブロックで2が入る可能性があるのはr1c7とr3c9の2か所です。
r1c7の方に2が入ると、もともと右上ブロックで4が入る可能性のあるのはr12c7の2か所だったので、r2c7が4に決まります。
一方r3c9の方に2が入ると、r3c123の3つのマスに候補数字が346の3国同盟が現れます。すると中上ブロックで4が入るのがr1c5に決まり、右上ブロックではr2c7が4となります。
よってr1c7とr3c9のどちらに2が入ってもr2c7は4で確定する、ということだと思います。
結局、
r1c7(249)=2=r1c3(25)=5=r1c31(57/457)=7=r1c31(57/457)=4=r2c7(148)-4-r1c7
これで5マス構成の Nice Loop with XYZ-Chainが成り立ち、強リンクと弱リンクが連結しているr1c7が不連続点となり、ここから弱リンクの数字である4が除外できる、ということでしょうか。
r1c7に4が入ると、r1c3が2、r2c13が5と7、r2c7が4になり、右上ブロックに4が2つ入ってしまいます。
【2】
まずhtms42さんに質問です。
>右上ブロックにある(9,9)ペアからスタート
>します。
とありますが、r3c7=9とすると、r46c7が18の2国同盟、するとr7c7に1が入らないので、r7c9が1となると思います。
別のルートだとr3c7=9のとき、r1c9が1、よってr7c9は4となります。
このようにルートによって結果が違う場合はr7c9が4で確定とは言えないのではないでしょうか。
結局、
r7c9(14)=4=r4c9(149)=9=r1c9(19)-9-r3c7(679)=9=r46c7(189/189)=8=r46c7(189/189)=1=r7c7(136)-1-r7c9
これで7マス構成のNice Loop with XYZ-Chainが成り立ち、強リンクと弱リンクが連結しているr7c9が不連続点となり、ここから弱リンクの数字である1が除外できます。
もしr7c9に1が入ると、r4c9が4、r1c9が9となり、r46c7には8と9が入るので、r7c7が1となり、右下ブロックに1が2つ入ってしまいます。
これは[XYZ,XYZ]型になるのでしょうか。
投稿: ikachan | 2014年3月19日 (水) 18時49分
Tachyonさんへ
こちらこそ返信ありがとうございます。今後ともよろしく。
> ②については、以下のようにr5c5(56)が、Chainの要素として、
> [XYZ,XY]型ALSの一部となったり、単独の二択マスとなったり
> していると捉える事ができます。
>
> r5c6(157) -5- [r5c58(56,156)] -1- r2c8(15) -5- r2c5(58)
> -8- r6c5(28) -2- r4c5(26) -6- r5c5(56) -5- r5c6
> (※[ ]は[XYZ,XY]型ALSを表します)
なるほど。そういうことですか。ルートの1部が重なっていてもよいのですね。リンク式を少し作り替えてみると
r5c58{561}-r2c8(15)-r2c5(58)-r6c5(82)-r4c5(26)-r5c5(65)
となります。これならALS-XY-Chainと言えそうですね。Chainの両端の5から共通して見ることができるr5c6の5を除外できます。また、Chainの両端が同一ユニット(r5)内にあるので、ALS-XY-Loopと考えることもできないかなと思ったのですが、Chainの両端の1部が重なっていると、どうも連続ループを考えることはできないようです。
> はじめは私も、その名前を考えておりましたが、「...with ALS」と
> すると、四択や五択マスをもつALSなども含まれ、テーマが大きく
> なりすぎてやめた次第です。
2マス3数字のALS限定ということですね。それなら、「with ALS(3数字)」とか「with 3-Digit ALS」とかにされてはいかがでしょうか?最も、私が決めることではないので、これ以上書かないことにします。
> 本来のXYZ-Chainは、合流することができ、その合流地点から
> 一本伸びた線の到着点の候補と三択マスの余分な候補の両方を
> 伺える候補は除外できるということですね?
その通りです。ただ、元の本にはChainの合流パターンは多分載っていなかったと思います。でも、上位のForcing ChainではChainの合流を考えるので、その入口くらいに位置するXYZ-Chainでも、当然Chainの合流を考えることができるだろうと思い付きました。
> 私には、なにかChainというよりはWarpに近い感じがします。
ここまでXYZ-ChainをXY-Chainベースで説明してきましたが、Cell Forcing Chainベースで説明した方がよかったかもしれません。それなら、Warpとお感じになることはなかったかもしれまん。
投稿: DokuZuki | 2014年3月19日 (水) 20時09分
ikachanさんへ
[2]
>このようにルートによって結果が違う場合はr7c9が4で確定とは言えないのではないでしょうか。
確かにr3c7を9だとしてスタートするとr7c9がルートによって異なる数字になるという結果になっています。これには気が付かずにやっています。でも気が付かなくてもOKです。
ルートによって異なる結果がでたということは矛盾が生じたということです。
ここで2つの考え方があります。
(1)r3c7が9だとした時に生じた矛盾ですからその9が排除されると考えます。これでr1c9が9に確定します。r7c9が4になるということも出てきます(これはもともと確認済みのことです)。
・・・矛盾が簡単にみつかってしまったということですから使えばいいと思います。
(2)r3c7が9であるとしてつながりを調べると2つの候補数字1,4が両方とも選ばれてしまいました。これは「このセルの数字を決めることはr3c7の9にはできない」ということだと考えます。元の2択の相手であったr1c9の9によってどちらであるかが決まることになります。(矛盾の現れ方にもう一つ、「どちらの数字も入らない」という場合があります。その場合も2択の相手の結果によって決まると考えることができます。)
今のところこういう風に考えています。
投稿: htms42 | 2014年3月21日 (金) 12時01分
【1】、【2】を解いてみたのですが、かなり難しかったので、私もhtms42さんのコメントをヒントにさせて頂きました。どのように解かれているかは分からなかったのですが、どこの数字を除外できるかはだいたい読み取れたので、それが可能な解法を探してみました。
【1】
Singly Linked ALS-XZ
r1c45{495}-r2c479{5184}
=> r1c7<>4
Tachyonさんの出題意図とは異なるものになってしまいました。
【2】
AIC with ALS
r46c8{421} -1- r1c8 =1= r1c9(1-9) =9= r4c9
=> r4c9<>4
こちらはTachyonさんの条件を満たしていると思います。
投稿: DokuZuki | 2014年3月21日 (金) 12時32分
ikachanさんへ
すみません、私の説明が足りなかったようです。お詫びします。
【1】について:
まずikachanさんの手筋をみますと、ALSというよりは隠れ(hidden)ALSを使っています。
左上ブロックにおける、r12c3,r2c3の5と7がそれです。
(※隠れALSについては、DokuZukiさん、宜しくお願い致します)
標準NiceLoopでは、XY-Chainの部分が弱リンクであるように、
この拡張NiceLoopの、XYZ-Chain(ikachanさんのやり方)においては、[XYZ,XY]型ALSへは原則として弱リンクで接続します。
Σ-Wingは:
ab = bc = c - ca - ab
(caは必ず二択マス、左端と右端のabは同一マスでそこのaを除外できます)
で表せますが、このcaの部分に、[XYZ,XY]型ALSを当てはめてみます。
そこで、Xをa、Yをd、Zをcとしますと、
ab = bc = c - [adc,ad] - ab となります。
想定で、Σ-Wingに近い手筋は:
r1c3(25) =2=
r1c7(249) =4= r2c7(148) -4-
[r2c13(457,57)] -5- r1c3
とし、r1c3の5が除外できます。
つぎにΣ-WingⅡは:
ab = b - bc - ca - ab
(bc,caは必ず二択マス、左端と右端のabは同一マスでそこのaを除外できます)
で表せますが、このbcの部分に、[XYZ,XY]型ALSを当てはめてみます。
そこで、Xをc、Yをd、Zをbとしますと、
ab = b - [cdb,cd] - ca - ab となります。
想定で、Σ-WingⅡに近い手筋は:
r1c7(249) =4= r2c7(148) -4-
[r2c13(457,57)] -5- r1c3(25) -2- r1c7
とし、r1c7の2が除外できます。
【2】について:
まずikachanさんの手筋をみますと、ここでも隠れALSを使っているように見えます。
r4578の1と8と9がそれみたいです。DokuZukiさん、どうでしょうか?
Σ-WingⅡ:ab = b - bc - ca - ab
に今度は、caの部分に、[XYZ,XY]型ALSを当てはめてみます。
そこで、Xをa、Yをd、Zをcとしますと、
ab = b - bc - [adc,ad] - ab となります。
想定で、Σ-WingⅡに近い手筋は:
r1c8(16) =1= r1c9(19) -1-
r7c9(14) -4-
[r29c8(36,346)] -6- r1c8
とし、r1c8の6が除外できます。
ついでに、[XYZ,XYZ]型ALSを使った以下の手筋でも一発で解けます。
r7c7(136) =1=
r7c9(14) =4= r4c9(149) -4-
[r46c8(124,124)] -1- r46c7(189/189) =1= r7c7
とし、r7c7の1が確定できます。
ALSは私にとっても、かなりの難物です。
いっしょに見つけ方を追求していきましょう。
投稿: Tachyon | 2014年3月21日 (金) 13時16分
DokuZukiさんへ、
【1】について:
DokuZukiさんの解き方を、強いて[XYZ,XY]型を使った解き方に置き換えてみますと、
r1c7(249) -4- [r1c45(59,459)] -5- [r2c49(158,18)] -1(or8)- [r2c79(148,18)] -4- r1c7
でikachanさん式XYZ-Chainになるかと思います。
【2】について:
[XYZ,XYZ]型を使った解き方では、私のより、DokuZukiさんの方がリンクも少なくスマートですね。
投稿: Tachyon | 2014年3月21日 (金) 14時06分
htms42さんへ
回答ありがとうございます。
矛盾が生じるというと、ある行(or列orブロック)に数字Aが2つ入ってしまう、あるいは入らなくなってしまう、というパターンだけかと思っていました。
こういう形もアリということなんでしょうね。
Tachyonさんへ
Σ-Wingということは全く考えずにやってしまいました。そもそもΣ-Wingが何たるかも、情けないことにすぐ忘れてしまいます。
投稿: ikachan | 2014年3月21日 (金) 17時19分
> 【1】について:
>
> まずikachanさんの手筋をみますと、ALSというよりは隠れ
> (hidden)ALSを使っています。
> 左上ブロックにおける、r1c3,r2c13の5と7がそれです。
> (※隠れALSについては、DokuZukiさん、宜しくお願い致します)
Hidden ALSについては知らなかったのですが、どういうものかはだいたいイメージできます。
(Naked) ALSとHidden ALSは文字通り表裏の関係にあります。例えば2マス3数字のALSがあるように、2数字3マスのHidden ALSも考えることができます。こちらがその例です。
┏━━━━━━┳━━━━━━┳━━━━━━┓
┃ ┃ ┃ ┃
┃ / 1249 / ┃ / 1258 / ┃ / 1267 / ┃
┃ ┃ ┃ ┃
┗━━━━━━┻━━━━━━┻━━━━━━┛
/には1も2も入らないものとすると、r2で1と2はr2c258の3マスに限定されます。このr2c258の1,2のセットが2数字3マスのHidden ALSです。ここでr2c2<>1,2と仮定すると、r2c8は12に限定されます。また、r2c8<>1,2と仮定すると、r2c2は12に限定されます。従って、r2c2の12とr2c8の12をGrouped的な強リンクで繋ぐことができます。
※ どちらかが必ず真になる関係が強関係であり、その最小単位が強リンクです。r2c2の12とr2c8の12はどちらかが必ず真になる(r2c2<>1,2かつr2c8<>1,2はあり得ない)ので、強リンクで繋ぐことができるわけです。
同様にr2c2の12とr2c5の12を強リンクで繋ぐことができ、r2c5の12とr2c8の12も強リンクで繋ぐことができます。このような強リンクはChain/Loopの1部に組み込むことができます。
【1】の場合、左上ブロックで5,7が入るのはr1c3,r2c13の3マスに限定されます。これが2数字3マスのHidden ALSです。ここでr1c3<>5と仮定するとr2c1は57に限定され、r2c1<>5,7と仮定するとr1c3の5が確定するので、r1c3の5とr2c1の57を強リンクで繋ぐことができます。それ故、これを組み込んだAIC with Hidden ALSを考えることができるのですが、リンク式でHidden ALSをどのように表記すればよいか思い付きません。そこで、とりあえず候補数字の直接のリンクだけで表すことにします。
r1c7(2)=r1c3(2)-r1c3(5)=r2c1(57)-r2c1(4)=r2c7(4)
Chainの両端は異種の数字ですが同一ユニット内にあるので、r1c7から4を除外できます。
> 【2】について:
>
> まずikachanさんの手筋をみますと、ここでも隠れALSを使って
> いるように見えます。
> r3467c7の1と8と9がそれみたいです。DokuZukiさん、
> どうでしょうか?
c7で1,8,9が入るのはr3467c7の4マスに限定されます。これが3数字4マスのHidden ALSです。ここでr3c7<>9と仮定するとr7c7の1が確定し、r7c7<>1と仮定するとr3c7の9が確定するので、r3c7の9とr7c7の1を強リンクで繋ぐことができます。それ故、これを組み込んだAIC with Hidden ALSを考えることができます。
r1c9(1)=r1c9(9)-r3c7(9)=r7c7(1)
Chainの両端の1から共通して見ることができるr7c9の1を除外できます。
Hidden ALSについては全く知らなくて、思い付きもしませんでした。流石はTachyonさんです。勉強になりました。また、Hidden ALSも結構使えるなと思いました。
> 【1】について:
>
> DokuZukiさんの解き方を、強いて[XYZ,XY]型を使った解き方に
> 置き換えてみますと、
>
> r1c7(249) -4- [r1c45(59,459)] -5- [r2c49(158,18)] -1(or8)-
> [r2c79(148,18)] -4- r1c7
>
> でikachanさん式XYZ-Chainになるかと思います。
[r2c49(158,18)]と[r2c79(148,18)]を1や8の弱リンクで繋ぐことはできないはずです。なぜなら、2組のALSにはr2c9(18)がダブって存在するからです。どちらかが必ず偽になる関係が弱関係であり、その最小単位が弱リンクです。「r2c49のどちらかに1が入る」と「r2c79のどちらかに1が入る」はr2c9=1の場合、どちらも真になります。従って、どちらかが必ず偽になる関係にはならず、弱リンクで繋ぐことはできないはずです。
②で考えたALS-XY-ChainのChainの両端が同一ユニット内にあるにもかかわらず、ALS-XY-Loopと考えることができないのも、同じ理由です。Chainの両端の1部が重なっていてChainの両端を弱リンクで繋ぐことができないので、連続ループを考えることができないのです。
投稿: DokuZuki | 2014年3月23日 (日) 10時36分
DokuZukiさんへ
>> r1c7(249) -4- [r1c45(59,459)] -5- [r2c49(158,18)] -1(or8)-
>> [r2c79(148,18)] -4- r1c7
>> でikachanさん式XYZ-Chainになるかと思います。
> [r2c49(158,18)]と[r2c79(148,18)]を1や8の弱リンクで繋ぐことは
> できないはずです。
> なぜなら、2組のALSにはr2c9(18)がダブって存在するからです。
> どちらかが必ず偽になる関係が弱関係であり、
> その最小単位が弱リンクです。
> 「r2c49のどちらかに1が入る」と「r2c79のどちらかに1が入る」
> はr2c9=1の場合、どちらも真になります。
> 従って、どちらかが必ず偽になる関係にはならず、
> 弱リンクで繋ぐことはできないはずです。
なるほど、気がつきませんでした。
そこで以下のように訂正してみたのですが、どうでしょうか?
r1c7(249) -4- [r1c45(59,459)] -5- [r2c49(158,18)] -18- r2c7(148) -4- r1c7
投稿: Tachyon | 2014年3月23日 (日) 15時42分
Tachyonさんへ
HALS (Hidden Almost Locked Set) は、AHS (Almost Hidden Subset) とも言うようです。AHSについてはこちらのサイトに記述があります。
- 頭が良くなる楽しいナンプレ -
http://www7b.biglobe.ne.jp/~doctonakaoartificialintelligence/YY_Chain_Group.html#AHS
ただ、AHSの論理の説明部分は見当違いのように思います。また、例として挙げた2-String KiteやGrouped 2-String KiteでのAHSの説明が変ですし、3番目の図に至ってはそもそも2-String Kiteの条件を満たしていないようです。Tachyonさんはどう思いますか?
話は変わりますが、こちらのブログの記事をご覧ください。
- 数独とスパイダーソリティアとエクセル -
http://blogs.yahoo.co.jp/excel_otaku/35603792.html
この中に
> ALSの重複と制約事項
> ALSの解法においてその重複は許されます。しかし重複マスが
> RCCを持つことはできません。
という記述があります。これは、重複マスにある数字で弱リンクを繋ぐことはできないということを意味します。また、重複マスにない数字なら弱リンクを繋ぐことができるということでもあります。ということで、そのような例を考えてみました。
┏━━━━━━━┳━━━━━━━┓
┃ 1234 1234┃2345 34 -1 ┃
┃ ┃ 345 ┃
┃ -1 -1 -1 ┃ 1345┃
┗━━━━━━━┻━━━━━━━┛
Singly Linked ALS-XZ
r1c2345{12345}-r12c5,r3c6{5341}
=> r1c6,r3c123<>1
2組のALSの重複マスであるr1c5(34)に5はないので、5の弱リンクで繋ぐことができます。
Tachyonさんの問いに対しては次回のコメントでお答えします。
投稿: DokuZuki | 2014年3月28日 (金) 19時00分
DokuZukiさんへ
- 頭が良くなる楽しいナンプレ - について:
> ...3番目の図に至ってはそもそも
> 2-String Kiteの条件を満たしていないようです。
「AHS1 は 行6 で,1つの数字 数字9 は 2つのマス 行6列2,行6列8 にしか配置できません。」とありますが、図の行6列3に候補数字9があります。
> Tachyonさんはどう思いますか?
うーん、図も豊富で詳しくて丁寧そうですが、わかりにくいですね。
ヒマなときに検討してみたいと思います。
- 数独とスパイダーソリティアとエクセル - について:
ikachan式XYZ-Chainでは、RCC(Restricted Common Candidates)は不連続点へのリンク以外の、ALS間の弱リンクの対象となる
候補を表すと思います。
DokuZukiさんの挙げた例を、私なりに整理してみますと、
r3c123(or r1c6) -1- [r1c2345(1234/1234/2345/34)] -5- [r12c5,r3c6(34/345,1345)] -1- r3c123(or r1c6)
となり、この場合のRCCは、r1c4,r2c5,r3c6の5となります。
私の問いの式
r1c7(249) -4- [r1c45(59,459)] -5- [r2c49(158,18)] -18- r2c7(148) -4- r1c7
では、「-18-」が問題となると思いますが、r2c49とr2c7にはダブるセルはなく、またr2c7はALSではありません。
このリンクの対象となる候補は、r2c4とr2c7の1と8だと考えてください。といっても分かりにくいかなこれ...
投稿: Tachyon | 2014年3月29日 (土) 16時35分
Tachyonさんへ
AHSについて少し調べてみましたが、Almost Hidden SubsetよりもAlmost Hidden Setと表記されることの方が多いようです。それと、「頭が良くなる楽しいナンプレ」の中のAHSについての記述は、冒頭部分を除けばほとんどがAHSの説明になっていないというのが私の結論です。
> そこで以下のように訂正してみたのですが、どうでしょうか?
> r1c7(249) -4- [r1c45(59,459)] -5- [r2c49(158,18)] -18-
> r2c7(148) -4- r1c7
ALSの特性を生かして2数字の弱リンクで繋ぐというのは、なかなか面白い発想ですね。これなら全く問題ないです。r2c7(184)はALSではありませんが、1マス2数字のALSのような役割を担っているので、これはALS-XY-Wingの拡張型と言えるのかなと思います。
実は私も同じようなことを考えていました。元になったのは次のようなVWXYZ-Wingです。
┏━━━━━━━┳━━━━━━━┓
┃ VWZ VWZ .┃VWXYZ -Z -Z ┃
┃ ┃ ┃
┃ ┃ XYZ XYZ┃
┗━━━━━━━┻━━━━━━━┛
VWXYZ-Wingには幾つかパターンがありますが、これはSingly Linked ALS-XZでは説明できないパターンです。Cell Forcing Chain(r1c4を分岐マスと考えて5本のChainを繋ぐ)を使えば説明できます。r1c124,r3c56のどこかにZが必ず入るので、共通して見ることができるr1c56からZを除外できます。
上図のr1c4からZを抜いたのが次の図です。
┏━━━━━━━┳━━━━━━━┓
┃ VWZ VWZ .┃VWXY -Z -Z ┃
┃ ┃ ┃
┃ -Z -Z -Z ┃ XYZ XYZ┃
┗━━━━━━━┻━━━━━━━┛
これもVWXYZ-Wingであり、r1c12,r3c56のどこかにZが必ず入るので、共通して見ることができるr1c56,r3c123からZを除外できます。
この図なら、Cell Forcing Chainを使わなくても、1本のChainで説明できるのではないかと考えました。それがこちらのリンク式です。
r1c12{ZVW} -VW- r1c4(VWXY) -XY- r3c56{XYZ}
=> r1c56,r3c123<>Z
これを言葉で説明してみます。r1c12<>Zと仮定すると → r1c12=VW → r1c4<>V,W → r1c4はX,Yのどちらか → r3c56にX,Yのどちらかが入らない → r3c56のどちらかにZが入るとなります。従って、r1c12,r3c56のどこかにZが必ず入ることになり、共通して見ることができるr1c56,r3c123からZを除外できます。
r1c4(VWXY)は、r1c12{ZVW}、r3c56{XYZ}のそれぞれと2数字の弱リンクで繋がることで、2組のALSを中継する役割を担っています。r1c4(VWXY)はALSではありませんが、まるで1マス2数字のALSのようです。それ故、このように考えた場合の解き方をALS-XY-Wing Linked by Multivalueと呼んでみたいと思います。なお、BivalueではなくMultivalueとしているのは、ALSによっては3数字以上のリンクも考えられるからです。
更にALSの個数を増やした例を考えてみます。
┏━━━━━━━┳━━━━━━━┓
┃ UVW UVW ┃ VWXY┃
┃ ┃ ┃
┃ TU ┃ ┃
┣━━━━━━━╋━━━━━━━┫
┃ TZ ┃ -Z -Z -Z ┃
┃ ┃ XYZ ┃
┃ ┃ XYZ ┃
┗━━━━━━━┻━━━━━━━┛
ALS-XY-Chain Linked by Multivalue
r34c3{ZTU} -U- r1c12{UVW} -VW- r1c6(VWXY) -XY- r56c6{XYZ}
=> r4c456<>Z
続いて2組のALSを中継するマスを2個に増やしてみます。
┏━━━━━━━┳━━━━━━━━━┓
┃ TUV TUV ┃UVWXY UVWXY ┃
┃ ┃ XYZ┃
┃ ST ┃ XYZ┃
┣━━━━━━━╋━━━━━━━━━┫
┃ SZ ┃ -Z ┃
┃ ┃ ┃
┃ ┃ ┃
┗━━━━━━━┻━━━━━━━━━┛
ALS-XY-Chain Linked by Multivalue
r34c3{ZST} -T- r1c12{TUV} -UV- r1c45{UVWXY} -XY- r23c6{XYZ}
=> r4c6<>Z
これを言葉で説明してみます。r4c3<>Zと仮定すると → r3c3=T → r1c12<>T → r1c12=UV → r1c45<>U,V → r1c45に少なくともX,Yのどちらかが入る → r23c6にX,Yのどちらかが入らない → r23c6のどちらかにZが入るとなります。従って、r4c3,r23c6のどこかにZが必ず入ることになり、共通して見ることができるr4c6からZを除外できます。
r1c45{UVWXY}は、r1c12{TUV}、r23c6{XYZ}のそれぞれと2数字の弱リンクで繋がることで、2組のALSを中継する役割を担っています。r1c45{UVWXY}はALSではありませんが、まるで2マス3数字のALSのようです。
2組のALSを中継するマスが3個の場合も同様に考えることができます。
最後にALS-XY-Chain Linked by Multivalueの問題を出題します。
<27>
--8 -1- -79
-5- --- ---
-9- -7- 6--
6-- --7 -2-
--- --- 9-4
--4 83- 1--
-65 --1 ---
--3 --2 -8-
--- --8 4--
基本解法で解けるところまで解いた後、すぐにこの解法を適用できます。ただ、試験的に作った問題なので、この解法の1例目と成立箇所が全く同じです。それ故、面白みに欠けるかもしれませんが、その後も結構難しいはずです。
投稿: DokuZuki | 2014年3月30日 (日) 12時07分
ALS-XY-Wing Linked by Multivalueの例をもう1つ考えてみました。
┏━━━━━━━┳━━━━━━━┳━━━━━━━┓
┃ ┃ ┃ ┃
┃ UVWZ ┃ UVW UVW ┃ UVWXY ┃
┃ ┃ ┃ ┃
┣━━━━━━━╋━━━━━━━╋━━━━━━━┫
┃ ┃ ┃ ┃
┃ ┃ ┃ XY ┃
┃ ┃ ┃ ┃
┣━━━━━━━╋━━━━━━━╋━━━━━━━┫
┃ ┃ ┃ ┃
┃ -Z .┃ ┃ XYZ .┃
┃ ┃ ┃ ┃
┗━━━━━━━┻━━━━━━━┻━━━━━━━┛
r2c246{ZUVW} -UVW- r2c8(UVWXY) -XY- r58c8{XYZ}
=> r8c2<>Z
図を見れば、r8c2にZが入らないのは明らかかと思います。
ということで、このタイプのALS-XY-Wing Linked by Multivalueを適用できる問題を作ってみました。
<28>
--- 69- -3-
--5 8-- ---
63- --- --4
2-- --- 41-
--9 --- 8-7
--- 17- 2--
-9- --6 --1
--4 -8- ---
--1 --5 7--
投稿: DokuZuki | 2014年3月31日 (月) 18時09分
DokuZukiさんへ
<27>について:
r6c1(or r4c45) -9- r4c3 -1- r3c3 -2- [r1c12] -34- r1c6 -56- [r56c6] -9- r6c1(or r4c45)
と見ました。後はHiddenRectangleとNiceLoop等で解きました。
<28>について:
r2c2 -1- [r279c5] -234- r5c5 -56- [r5c28] -1- r2c2
と見ました。後は基本ワザですんなりと解けました。
投稿: Tachyon | 2014年4月 4日 (金) 20時16分
Tachyonさんへ
お見事です。どちらもALS Linked by Multivalueに関しては想定通りです。
私の想定は一応こんな感じでした。
<27>
1. ALS-XY-Chain Linked by Multivalue: r34c3{912} -2-
r1c12{234} -34- r1c6(3456) -56- r56c6{569}
=> r4c45,r6c1<>9
2. Naked Pair: r8c47{57} => r8c2<>7, r8c59<>5
3. Empty Rectangle: r3c8=r1c7-r8c7=r8c4 (5) => r3c4<>5
4. W-Wing: r2c6(3=4) -4- r2c8 =4= r3c8 -4- r3c1(4=3)
=> r3c6<>3
5. X-Wing: r35c18 (3) => r279c8<>3
<28>
1. Hidden Pair: r46c6{89} => r4c6<>3, r6c6<>3,4
2. ALS-XY-Wing Linked by Multivalue:
r279c5{1234} -234- r5c5(23456) -56- r5c28{561}
=> r2c2<>1
<28>のような行・列交差型の他にも、ALS-XY-Wing Linked by Multivalueにはライン(行または列)・ブロック交差型があります。その場合は交差部に2・3個の中継マスを考えることもできます。例えば次のような感じです。
┏━━━━━━━┳━━━━━━━━━┓
┃ UVZ UVZ ┃UVWXY UVWXY -Z .┃
┃ ┃ ┃
┃ -Z -Z -Z ┃ XYZ XYZ┃
┗━━━━━━━┻━━━━━━━━━┛
ALS-XY-Wing Linked by Multivalue:
r1c12{ZUV} -UV- r1c45{UVWXY} -XY- r3c56{XYZ}
=> r1c6,r3c123<>Z
このタイプのALS-XY-Wing Linked by Multivalueを適用できる問題も作ってみました。
<29>
--- --- --3
2-- 4-- -5-
-98 -7- ---
-5- 7-6 --2
--3 --- 6--
-7- 5-- 48-
--1 -5- 3--
9-- --1 -4-
-4- 9-- --6
いかがでしょうか?
投稿: DokuZuki | 2014年4月 7日 (月) 07時00分
前回のコメントを少し訂正します。「ライン・ブロック交差型のALS-XY-Wing Linked by Multivalueの場合、その交差部に1~3個の中継マスを考えることができる。」と書きましたが、「~1個あるいは2個の中継マス~」の誤りでした。3個の中継マスは原理的にあり得ないようです(それが成立するようにヒント数字を配置できないので)。
ライン・ブロック交差型(中継マス2個)の問題をもう1問作ってみました。例図や<29>とほとんど同じもので、UVWXYZ-Wingのパターンの1つでもあります。
<30>
--- -6- --3
--5 1-9 ---
-21 --- 96-
1-- --8 --5
-67 --1 4--
--- -4- -2-
5-- --- -97
-8- -1- 3--
--3 9-- ---
投稿: DokuZuki | 2014年4月 8日 (火) 19時32分
DokuZukiさんへ
<29>について:
r6c9 -9- [r34c7] -12- r89c7 -78- [r78c9] -9- r6c9
と見ました。後はSashimiFish等で解きました。
<30>について:
r4c2 -3- [r6c13] -89- r6c79 -67- [r4c78] -3- r4c2
と見ました。後は基本ワザですんなりと解けました。
何だか、この解法はSueDeCoqに似ている気がします。
投稿: Tachyon | 2014年4月11日 (金) 08時58分
Tachyonさんへ
どちらも想定通りです。私的に表記するとこんな感じになります。
<29>
1. Sashimi X-Wing: [3] r389c14 => r8c2,r9c5<>3
2. ALS-XY-Wing Linked by Multivalue:
r34c7{912} -12- r89c7{12578} -78- r78c9{789} => r6c9<>9
<30>
1. ALS-XY-Wing Linked by Multivalue:
r4c78{367} -67- r6c79{67189} -89- r6c13{893} => r4c2<>3
> 何だか、この解法はSueDeCoqに似ている気がします。
確かにSue de Coqによく似ていますね。<29>の場合はr89c7に5がなければSue de Coqが成立しますし、<30>の場合もr6c79に1がなければSue de Coqが成立します。2組のALSの数字に重複があるSue de Coqは、Sudopedia (Mirror) やHoDoKuには載っていませんが、問題なく成立するようです。例えばこんな感じです。
┏━━━━━━━┳━━━━━━━┳━━━━━━━━━┓
┃ * * ABC┃ABC * * ┃ *# ABCDE ABCDE┃
┃ ┃ ┃ CDE # # ┃
┃ ┃ ┃ # CDE # ┃
┗━━━━━━━┻━━━━━━━┻━━━━━━━━━┛
r1c34{ABC}とr2c7,r3c8{CDE}はALSであり、r1c89の2マスは2組のALSの数字のみで構成されているので、Sue de Coqが成立します。*からA,B,C、#からC,D,Eを除外できますが、それだけでなく混在マスのr1c89から重複数字のCを除外できます。なぜなら、r1c89のどちらかにCが入ると、もう一方に入る数字がなくなってしまうからです。この除外はVWXYZ-Wingによるものとも言えます。
投稿: DokuZuki | 2014年4月12日 (土) 09時37分
3月28日のコメントで、2組のALSに重複マスがあっても弱リンクで繋ぐことができる例を考えましたが、机上の空論ではしょうがないので、実際にその問題を作ってみました。
<31> <32>
--- -6- 1-- 59- -8- 4--
--3 --- -7- --6 5-- -8-
8-- 1-- --2 -7- --- 2-6
-6- -8- 4-9 --- --4 --7
--1 34- 7-- 4-- -7- 12-
--- --- --1 --- 8-- -3-
-57 8-- -6- --1 --2 -4-
--- 9-- --- --5 --3 9--
28- --5 --- -3- -9- ---
<31>はSingly Linked ALS-XZ(重複マスあり)、<32>はAIC with ALS(重複マスあり)を適用できます。
投稿: DokuZuki | 2014年4月14日 (月) 19時34分
DokuZukiさんへ
2014年4月12日のコメントについて:
なるほど、DokuZukiさんの最後の図について以下のように変えてみると、r3c123からCが除外でき、仮押さえのカーブみたいに、
連続タイプと不連続タイプが共存したような形になる訳ですね。
┏━━━━━━━┳━━━━━━━┳━━━━━━━━━┓
┃ABC * ABC┃ * * * ┃ *# ABCDE ABCDE┃
┃ ┃ ┃ # # # ┃
┃-C -C -C ┃ ┃ CDE CDE # ┃
┗━━━━━━━┻━━━━━━━┻━━━━━━━━━┛
<31>について:
r9c5 -1- [r9c789,r7c9] -9- [r7c5679] -1- r9c5
と見ました。後は2StringKiteとXYZ-Wing等で解きました。
<32>について:
AIC with ALS(重複マスあり)を適用できるのは、6のSwordFishを使う前でしょうか?
SwordFishを使った後は、標準NiceLoop等で解けちゃいました。
投稿: Tachyon | 2014年4月17日 (木) 15時29分