> For the complete documentation index, see [llms.txt](https://sudoku.kazusa.tech/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://sudoku.kazusa.tech/deadly-pattern-theory/09-broken-loop-and-pattern-having-no-solution/01-reasoning-of-broken-loop.md).

# 全强链死环的基本推理

## 全强链死环类型 1（Broken Loop Type 1） <a href="#type-1" id="type-1"></a>

<figure><img src="/files/KZSuD7usU1zolMdmDK2R" alt="" width="375"><figcaption><p>全强链死环类型 1</p></figcaption></figure>

如图所示。这是一个环路。环路里除了 `r4c6` 是三值格外，其他单元格均为双值格。这意味着所有单元格内部都是强链关系，除了 `r4c6`。

如果 `r4c6(3)` 为假，则这个环路会形成；而且更奇特的是，环路任意相邻两个节点都是强链关系。比如我们从 `2r4c6` 出发，它和 `2r4c7` 为强链关系，接着 `2r4c7` 又和 `3r4c7` 是强链关系，这么一直下去，直到绕回 `2r4c6`。

数一下这个环路的强链关系的数量，是 11，是一个奇数。我们之前说过，如果环路全都是强链关系的话，这意味着相邻节点必须一真一假；但环路长度是奇数又不能找到合适的填法能让环路形成真正的一真一假（始终有一对相邻节点会同真），这构成了矛盾，所以 `r4c6(3)` 不应为假，故 `r4c6 = 3` 是这个题的结论。

这个推理过程是从死环泛化推广得到的，所以这个技巧称为**全强链死环**（Broken Loop），由解素商（提出解鱼的那位）和我二人共同研究和取名。英文名称 broken loop 的 broken 来自于守护者技巧的别名 broken wing，暗指守护者 `r4c6(3)` 为假时造成死局现象。

> 有人问，这个同真不也满足强链不同假的逻辑吗，这哪里矛盾了？要注意的是，最终我们会得到的是*相邻节点*同真。相邻节点意味着他们要么同区域 + 同数，要么同一个单元格，这也能同真就出鬼了。

另外，这个技巧也分子类型。它的类型和唯一矩形那些技巧类似，所以也称呼为类型 1、2、3、4。这个是类型 1（标准类型）。

我们再来看一些例子。

<figure><img src="/files/odGhmINFjBkAl9ViaiUY" alt="" width="375"><figcaption><p>全强链死环类型 1，第 2 个例子</p></figcaption></figure>

如图所示。因为逻辑是完全一样的，所以就不重复说明了。

<figure><img src="/files/4mSrSVuu5F5DneFEkRP5" alt="" width="375"><figcaption><p>全强链死环类型 1，第 3 个例子</p></figcaption></figure>

如图所示。

## 全强链死环类型 2（Broken Loop Type 2） <a href="#type-2" id="type-2"></a>

其实，这个技巧的类型 1 足以介绍以后要说的内容了，但是技巧既然都提到了，干脆我们就把他的子类型也都说一下。

<figure><img src="/files/j4aBPC4z7myBuaM03tfe" alt="" width="375"><figcaption><p>全强链死环类型 2</p></figcaption></figure>

如图所示。本题有两处“守护者”：`r7c5(2)` 和 `r8c4(2)`。如果这两个候选数同为假的话，则图中给的奇数长度的环路会形成。因为这个环路在 `r7c5(2)` 和 `r8c4(2)` 同假之后也是全强链的，所以必然矛盾。因此，本题的结论就是 `r7c4 <> 2` 和 `r8c5 <> 2`。

这个思路非常像是类型 2 的推理过程，所以这个子类型我们就给规划为类型 2。

我们再来看一个例子。

<figure><img src="/files/1t5E5EfLckJXVO466ku7" alt="" width="375"><figcaption><p>全强链死环类型 2，另一个例子</p></figcaption></figure>

如图所示。这个例子也自己看了。

## 全强链死环类型 3（Broken Loop Type 3） <a href="#type-3" id="type-3"></a>

下面我们来看类型 3。

<figure><img src="/files/M9j41Q6LYoUqxts50Fb5" alt="" width="375"><figcaption><p>全强链死环类型 3</p></figcaption></figure>

如图所示。这个是类型 1 里最后那个例子里的另外一个环路。

首先我们可以不难发现，`r6c5(9)` 和 `r6c7(1)` 不同假（同假则奇数全强链环路，矛盾）。所以，这两个数至少有一个为真。而且很显然，因为 `r6c9` 的存在，所以这两个数还不能同真，否则 `r6c9` 无法填数。所以只能恰好有一个为真。

恰好有一个为真就有意思了——它会配合 `r6c9` 形成关于 1 和 9 的显性数对结构，因此最终的结论就是删除 `r6` 别处空格里的候选数 1 和 9，故这个题的结论就是 `r6c3 <> 9`。

我们把这个情况就称为类型 3。

我们再来看一个例子。

<figure><img src="/files/xGywhOXqY8jquG9wBH1v" alt="" width="375"><figcaption><p>全强链死环类型 3，另一个例子</p></figcaption></figure>

如图所示。

## 全强链死环类型 4（Broken Loop Type 4） <a href="#type-4" id="type-4"></a>

下面我们来看最后一种类型。

<figure><img src="/files/EV5Q8p3O9x3NBHYJBxYV" alt="" width="375"><figcaption><p>全强链死环类型 4</p></figcaption></figure>

如图所示。这次我们如果假设 `r1c9(2)` 和 `r2c9(8)` 同为假的话，则会发现一个全强链死环造成矛盾，所以他们不能同假。不过，`c1` 上（或者说 `b3` 里）有 6 的共轭对，所以 `r12c9` 两个单元格又必须填一个 6 进去。所以一边是这两个“守护者”的其中一个数为真，一边是共轭对的这个 6 为真，容不下别的候选数成立，因此这个题的结论是 `r1c9 <> 3` 和 `r2c9 <> 2`。

这个就是类型 4 了。是不是很像是全双值格致死解法里的类型 4？超像的有没有。


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://sudoku.kazusa.tech/deadly-pattern-theory/09-broken-loop-and-pattern-having-no-solution/01-reasoning-of-broken-loop.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
