# 鱼的命名

欢迎来到鱼的最后一节内容。这个部分的内容就留给各位拓展用。它不属于知识点，了解下就行，也以防我以后忘记，做个记录。

## 鱼的命名 <a href="#naming-rule-of-fish" id="naming-rule-of-fish"></a>

鱼的命名主要是由规格和鱼鳍的状态构成；如果算上孪生的话，孪生也会占用一个位置。

先说规格。鱼一共有 7 种规格具有独立的命名：

<table><thead><tr><th width="89">规格</th><th width="209">规格的名称</th><th>英文名</th></tr></thead><tbody><tr><td>1</td><td>一阶鱼 / 独眼鱼</td><td>Cyclopsfish</td></tr><tr><td>2</td><td>二阶鱼</td><td>X-Wing</td></tr><tr><td>3</td><td>三阶鱼 / 剑鱼</td><td>Swordfish</td></tr><tr><td>4</td><td>四阶鱼 / 水母</td><td>Jellyfish</td></tr><tr><td>5</td><td>五阶鱼 / 海星</td><td>Squirmbag / Starfish</td></tr><tr><td>6</td><td>六阶鱼 / 鲸鱼</td><td>Whale</td></tr><tr><td>7</td><td>七阶鱼 / 海怪（利维坦）</td><td>Leviathan</td></tr></tbody></table>

可能你会比较好奇的是，这个规格 1 是什么鬼？鱼还有只有 1 阶的？另外，为什么 5 - 7 阶明明都已经遇不到了，为什么还会有名字？

其实，1 阶就是之前我们说的行列排除技巧。注意，是排除，还得是行列排除，而不是唯一余数。要打通名称系统，这个现在还讲不了，因为超纲了。所以你暂时记住就行了。

然后是 5 - 7 阶。这种过大的规格的鱼其实也是为了之后一种鱼的类型而服务的。所以也属于超纲内容，记住就行。总之就是，这种规格的鱼会在之后的鱼的类型里出现。

然后是 5 阶的名字。在鱼的系统里，5 阶这个规格有两个名字，一个叫 Squirmbag，一个叫 Starfish（海星）。后者有中文翻译，也确实比较接地气（因为也确实是海洋生物）。但是前面这个名字是什么鬼？

下面我们就得掰扯一下鱼这个体系的历史了。不过我们稍微放一边。我先把命名的内容说完。

现在规格的名词都有了。还差的是鱼鳍的状态。先来说英文的部分。鱼鳍一共有这些状态：

* **没有鱼鳍**：`<名字>`
* **鳍鱼**：`Finned <名字>`
* **退化鱼**：`Sashimi <名字>`
* 孪生鱼
  * **孪生鳍鱼**：`Siamese Finned <名字>`
  * **孪生退化鱼**：`Siamese Sashimi <名字>`

然后我们把这些说法，配到前面规格的名词的左边就行，例如 Sashimi Swordfish、Siamese Finned Jellyfish 之类的。

再来说中文的。中文的命名则是这样：

* **没有鱼鳍**：`<多少阶>鱼`
* **鳍鱼**：`鳍<多少阶>鱼` 或 `<多少阶>鳍鱼`
* **退化鱼**：`退化<多少阶>鱼` 或 `<多少阶>退化鱼`
* 孪生鱼
  * **孪生鳍鱼**：`孪生<多少阶>鳍鱼` 或 `<多少阶>孪生鳍鱼`
  * **孪生退化鱼**：`孪生<多少阶>退化鱼` 或 `<多少阶>孪生退化鱼`

比如说孪生三阶鳍鱼、二阶退化鱼、二阶孪生退化鱼之类的。

总之，“孪生”两个字比较特殊，它要么放在最开头，要么就只能放在鱼鳍的修饰部分的左边。

## 鱼的命名由来 <a href="#naming-history" id="naming-history"></a>

可能在看了前面的命名之后，你还是有所疑惑。为什么看起来 1 - 7 阶里只有 2 阶不是鱼的名称。要说清楚这一点，我们就不得不回忆一下鱼这个体系命名的历史了。

最开始，鱼这个体系是不存在的。最初，数独游戏开始全球蔓延的时候，一个来自新西兰、在香港担任法官的、名叫**高乐德**（Wayne Gould）的人发现了二阶鱼这个技巧。因为它当时的推理方式是按照前文里“左上右下角填或右上左下填”的思维在思考，因此使用了一种叫 X-Wing 的战机为这个技巧取了名。

叫 X-Wing 的战机是哪里来的呢？它来自于星球大战这部电影。它大概长这样：

<figure><img src="https://3269563042-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FBwg2o9WwhosLFTuqyR3w%2Fuploads%2FBd79zwvm2NzdjjFsSBQ2%2Fimage.png?alt=media&#x26;token=8e185cac-6870-486d-8923-0b6df4ef7ad6" alt="" width="375"><figcaption><p>X-Wing 战机</p></figcaption></figure>

> 图源：<https://static.wikia.nocookie.net/starwars/images/2/22/RedFive_X-wing_SWB.png/revision/latest?cb=20160915042221>

可以看到，它的机翼是 X 形状的，所以就叫它 X 机翼战机了；机翼在英语里也用的是 wing 这个词，所以就是 X-Wing 了。

对比一下 X-Wing 技巧你就可以发现，它的推理过程最终也是对角两处填入进去数字，构成的两种填法。如果我们用线条画出来，就非常像是 X-Wing 战机的机翼。这个技巧因此得名。

三阶鱼的名字 Swordfish 也不是随便取的。不过，它并非来自于海里游的鱼。和 X-Wing 的来源类似，三阶鱼的名字来自于一架叫做 Fairey Swordfish 的飞机。这种飞机在飞行的时候刚好是三层机翼的样子。

<figure><img src="https://3269563042-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FBwg2o9WwhosLFTuqyR3w%2Fuploads%2F9DJS2AauEt60km7ZUGeT%2Fimage.png?alt=media&#x26;token=62c19607-b64f-4cbb-a812-d657989bd74b" alt="" width="375"><figcaption><p>Fairey Swordfish 飞机</p></figcaption></figure>

> 图源：<https://underwatermalta.org/discover/fairy-swordfish/>

如图所示。该飞机的机翼是上下两层的，而尾巴上有一点，飞起来就是三层的样子。

顺带一说，这个飞机名字还有一个别名叫 Stringbag（网袋）。具体的名字由来也可以参考上图给出的图片来源的链接。是的，这架飞机的 Stringbag 这个称呼的前缀换成了 Squirm（蠕动）就摇身一变成为了五阶鱼的叫法。

所以，鱼的命名系统来源并非是海里游的鱼，而是各种战机和直升机的叫法。但是恰好因为三阶鱼的 Swordfish 战机的名字带有鱼类的名称，所以后面才渐渐演变为各种鱼的名称。这便是为什么二阶鱼（X-Wing）没有鱼的对应名称的原因。

而台湾引入的名称“链列”，来自于数组。数组在台湾也有一个名称，叫做“链数”。比如说三数组在台湾叫做三链数。而因为数组和鱼自身因为结构的“相似性”，所以鱼就把“链数”的“链”字沿用了下来，并把第二个字改成了矩阵的台湾称呼“阵列”（array），并取了“列”这个字。这是台湾对鱼的称呼“链列”的由来。

最后，鱼的称呼和数组也是相似的。比如三数组、四数组对应到鱼里就是三阶鱼和四阶鱼。不过，其实严格的叫法应当是三鱼、四鱼之类的，“阶”这个字是不说的。只是这么叫很难去理解，也不符合中文的叫法，所以就补充上了“阶”这个字。严格叫法下，比如英语里，是确实存在诸如 2-fish、3-fish、4-fish 的写法的。
