|
@ -27,6 +27,18 @@ |
|
|
|
|
|
|
|
|
<img src="/images/illegal_3+4.png" alt="illegal_3+4" style="zoom: 40%;" /> |
|
|
<img src="/images/illegal_3+4.png" alt="illegal_3+4" style="zoom: 40%;" /> |
|
|
|
|
|
|
|
|
|
|
|
**错误原因:** |
|
|
|
|
|
|
|
|
|
|
|
+ 缺少2 x 2块 |
|
|
|
|
|
|
|
|
|
|
|
+ 仅有一个空格 |
|
|
|
|
|
|
|
|
|
|
|
+ 存在两个2 x 2块 |
|
|
|
|
|
|
|
|
|
|
|
+ 存在3 x 1块 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
### 布局间的关系 |
|
|
### 布局间的关系 |
|
|
|
|
|
|
|
@ -59,7 +71,7 @@ |
|
|
|
|
|
|
|
|
### 编码 |
|
|
### 编码 |
|
|
|
|
|
|
|
|
合法华容道均有编码,长度9位,每一位是单个16进制数(0~9与A~F);同一布局只能有唯一编码,同一编码亦对应唯一布局,即编码与布局一一对应; |
|
|
合法华容道均有编码,长度9位,每一位是单个16进制数(0\~9与A\~F);同一布局只能有唯一编码,同一编码亦对应唯一布局,即编码与布局一一对应; |
|
|
|
|
|
|
|
|
**位置编号** |
|
|
**位置编号** |
|
|
|
|
|
|
|
@ -357,9 +369,11 @@ |
|
|
|
|
|
|
|
|
### 群 |
|
|
### 群 |
|
|
|
|
|
|
|
|
定义:群是有限个不同布局的集合,该集合中任意一个布局无论如何移动,其结果仍在该群内; |
|
|
定义:群是有限个不同布局的集合,该集合中全部布局都可以由其中任一布局经过有限次移动得到; |
|
|
|
|
|
|
|
|
|
|
|
性质:任意一个布局无论如何移动,其结果仍在该群内; |
|
|
|
|
|
|
|
|
性质:群是封闭的,群中所有元素构成一个关系网; |
|
|
构造:群是封闭的,群中所有元素无序且互异,同时构成一个关系网; |
|
|
|
|
|
|
|
|
最简性:只需群中任意一个布局,即可复原出群中的所有元素; |
|
|
最简性:只需群中任意一个布局,即可复原出群中的所有元素; |
|
|
|
|
|
|
|
@ -369,8 +383,6 @@ |
|
|
|
|
|
|
|
|
对于一个特定的 *jiang_num-bing_num-style_num* 分组,可拆分出n个群;将分出的群按元素数量从大到小排列,若存在元素数量相同的群,则取其中的最小元素排序;对这些群进行编号得0 ~ (n - 1) 共n个群,编号记为group_num; |
|
|
对于一个特定的 *jiang_num-bing_num-style_num* 分组,可拆分出n个群;将分出的群按元素数量从大到小排列,若存在元素数量相同的群,则取其中的最小元素排序;对这些群进行编号得0 ~ (n - 1) 共n个群,编号记为group_num; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
因而对于某一群,存在一个唯一编号 *jiang_num-bing_num-style_num-group_num* ;由于群中的元素个数是确定的,将其中的元素按编码从小到大排列,其中的元素可得唯一编号group_index; |
|
|
因而对于某一群,存在一个唯一编号 *jiang_num-bing_num-style_num-group_num* ;由于群中的元素个数是确定的,将其中的元素按编码从小到大排列,其中的元素可得唯一编号group_index; |
|
|
|
|
|
|
|
|
所以,对于任意布局,可得唯一编号 *jiang_num-bing_num-style_num-group_num-group_index*; |
|
|
所以,对于任意布局,可得唯一编号 *jiang_num-bing_num-style_num-group_num-group_index*; |
|
@ -379,7 +391,39 @@ |
|
|
|
|
|
|
|
|
## 层级关系 |
|
|
## 层级关系 |
|
|
|
|
|
|
|
|
最少步数:从布局A到布局B所需最少的移动步骤 |
|
|
**最少步数**:当布局A和布局B处于同一个群时,从布局A移动到B所需最少的步数,该数值存在且是确定的; |
|
|
|
|
|
|
|
|
|
|
|
性质:布局A到B的最少步数与布局B到A的最少步数必定相同; |
|
|
|
|
|
|
|
|
|
|
|
**最短路径**:从布局A到布局B,所有满足最少步数的路径(最少路径可能不止一条); |
|
|
|
|
|
|
|
|
|
|
|
**最远步数**:布局A到它所在群中任一布局均存在一最少步数,其中最大的最少步数称为最远步数; |
|
|
|
|
|
|
|
|
|
|
|
**最远布局**:布局A到布局B的最少步数为最远步数时,称布局B为布局A的最远布局(一般情况下不止一个); |
|
|
|
|
|
|
|
|
|
|
|
(标准华容道中不存在最远布局退化的情况,即最远步数至少为1) |
|
|
|
|
|
|
|
|
|
|
|
**最少步解**:布局A所在群中存在一布局S,满足2 x 2方块在棋盘的最下方中间(即2 x 2块所在位置编号为13,亦或编码以D开头),记A到S的最少步数为n,此时不存在其他任何满足以上条件的S‘使得最少步数小于n,则称S为布局A的最少步解,n为最少步解的步数(亦简称为最少步); |
|
|
|
|
|
|
|
|
|
|
|
**解**:布局A所在群中存在一布局S满足2 x 2方块在棋盘的最下方中间,且有A到S的任意最短路径中均不存在符合2 x 2方块在棋盘的最下方中间的布局,此时称S为布局A的解; |
|
|
|
|
|
|
|
|
|
|
|
性质:布局的解可能是空集;最少步解属于解的子集(特定条件下两者可以相同); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
**层模型** |
|
|
|
|
|
|
|
|
|
|
|
表述:存在一起始布局A,从它开始衍生出有限个布局,每个布局抽象为一个节点,同时称A为根节点;由于任一由A衍生出布局到根节点存在一个确定的最少步数,将其称之为到根节点的距离;将所有距离相同的布局称为一个层,层内元素无序且互异,根节点所在层称为第0层,之后依次排列可得有限个层; |
|
|
|
|
|
|
|
|
|
|
|
记排列的最后一层为第n层,则共有n + 1个层(包括第0层); |
|
|
|
|
|
|
|
|
|
|
|
性质1:所有层中的元素集合即为根节点所在的群; |
|
|
|
|
|
|
|
|
|
|
|
性质2:某一节点所在层数为其到根节点的最少步数; |
|
|
|
|
|
|
|
|
|
|
|
性质3:若最后一层为第n层,则最远步数为n,且第n层的所有元素均为最远布局; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
最短路径:从布局A到布局B,所有满足最少步数的路径(最少路径可能不止一条); |
|
|
|
|
|
|
|
|
|
|
|