组合数学是个有趣的学科:对数字按特定顺序排列,就得到一些奇特的属性,例如幻方。然而组合数学问题大多数都只能暴力枚举得到答案,只有少数具备通解。
幻方
一个NxN的方阵,里面所有的数字互不相等,如果此方阵的每行、每列和两条主对角线中的数字之和相同,则此方阵称为幻方。N称为阶数。百科
例如:
3阶 | 4阶 | 5阶 |
---|---|---|
幻和 15 | 幻和 34 | 幻和 65 |
2 9 4 7 5 3 6 1 8 \begin{matrix}2 & 9 & 4 \\7 & 5 & 3 \\6 & 1 & 8\end{matrix} 276951438 | 1 8 11 14 12 13 2 7 6 3 16 9 15 10 5 4 \begin{matrix}1&8&11&14 \\12&13&2&7 \\6&3&16&9\\15&10&5&4\end{matrix} 11261581331011216514794 | 1 14 20 23 7 18 22 6 4 15 9 5 13 17 21 12 16 24 10 3 25 8 2 11 19 \begin{matrix}1&14&20&23&7\\18&22&6&4&15\\9&5&13&17&21\\12&16&24&10&3\\25&8&2&11&19\end{matrix} 11891225142251682061324223417101171521319 |
一些幻方因具备其他属性,被赋予特殊的名字:
完美幻方:在幻方的基础上,所有泛对角线之和也相同,例如上面的4阶、5阶幻方。
平方幻方:在幻方的基础上,每行、每列和两条主对角线中的数字的平方和相同。最小的平方幻方为8阶。
立方幻方:在平方幻方的基础上,每行、每列和两条主对角线中的数字的立方和相同。目前最小的立方幻方为12阶。
六角幻方(Magic Hexagon):正六边形的幻方,每行以及所有对角线的数字之和相同(幻和为38),如下图:
18
11
9
17
1
6
14
3
7
5
8
15
19
2
4
13
16
12
10
\begin{matrix}&&18&&11&&9\\&17&&1&&6&&14\\3&&7&&5&&8&&15\\&19&&2&&4&&13\\&&16&&12&&10\end{matrix}
31719187161211512649810141315
拉丁方
一个NxN的方阵,有N种不同的元素,每一种不同的元素在同一行或同一列里只出现一次。
例如下面的3阶拉丁方,每一行、每一列都只包含一个相同的字母(abc)。同时可以看到每一行、每一列也都只包含一个相同的数字(123)。字母和数字各组成两组不同的拉丁方。
可以进一步观察发现:同一个字母+数字的组合,在拉丁方中都只出现一次,称为这两个拉丁方互相正交。像这样的拉丁方称为正交拉丁方。
3阶 | 4阶 | 5阶 |
---|---|---|
a 1 b 2 c 3 c 2 a 3 b 1 b 3 c 1 a 2 \begin{matrix}a1&b2&c3\\c2&a3&b1\\b3&c1&a2\end{matrix} a1c2b3b2a3c1c3b1a2 | a 1 b 2 c 3 d 4 b 4 a 3 d 2 c 1 c 2 d 1 a 4 b 3 d 3 c 4 b 1 a 2 \begin{matrix}a1&b2&c3&d4\\b4&a3&d2&c1\\c2&d1&a4&b3\\d3&c4&b1&a2\end{matrix} a1b4c2d3b2a3d1c4c3d2a4b1d4c1b3a2 | a 1 b 2 c 3 d 4 e 5 b 5 c 1 d 2 e 3 a 4 c 4 d 5 e 1 a 2 b 3 d 3 e 4 a 5 b 1 c 2 e 2 a 3 b 4 c 5 d 1 \begin{matrix}a1&b2&c3&d4&e5\\b5&c1&d2&e3&a4\\c4&d5&e1&a2&b3\\d3&e4&a5&b1&c2\\e2&a3&b4&c5&d1\end{matrix} a1b5c4d3e2b2c1d5e4a3c3d2e1a5b4d4e3a2b1c5e5a4b3c2d1 |
三十六军官问题(欧拉提出):从不同的6个军团各选6种不同军阶的6名军官共36人,要如何排成一个6行6列的方队,使得每一行、每一列都各包含6个军团和6种军阶?这个问题就是6阶的正交拉丁方。但经过穷举法已经证明了不存在6阶的正交拉丁方,因而此问题无解。
N皇后问题
N皇后问题:是要求在一个NxN的棋盘上面,放置N个皇后,使得任何一个皇后都不会攻击到其他皇后。
例如下图4x4的棋盘上记录了4皇后问题的2组解:其中标号为1的皇后之间不会互相攻击,同时标号为2的皇后也不会互相攻击。
下图也记录了5皇后问题的5组解,6皇后问题的4组解.
4阶 | 5阶 | 6阶 |
---|---|---|
. 1 2 . 2 . . 1 1 . . 2 . 2 1 . \begin{matrix}.&1&2&.&\\2&.&.&1&\\1&.&.&2\\.&2&1&.&\end{matrix} .21.1..22..1.12. | 1 2 3 4 5 4 5 1 2 3 2 3 4 5 1 5 1 2 3 4 3 4 5 1 2 \begin{matrix}1&2&3&4&5\\4&5&1&2&3&\\2&3&4&5&1\\5&1&2&3&4\\3&4&5&1&2\end{matrix} 1425325314314254253153142 | . 1 2 3 4 . 3 . 4 1 . 2 4 2 . . 3 1 1 3 . . 2 4 2 . 1 4 . 3 . 4 3 2 1 . \begin{matrix}.&1&2&3&4&.&\\3&.&4&1&.&2&\\4&2&.&.&3&1&\\1&3&.&.&2&4&\\2&.&1&4&.&3&\\.&4&3&2&1&.&\end{matrix} .3412.1.23.424..1331..424.32.1.2143. |
进一步地,一个NxN的棋盘上面,最多可以放置多少组N皇后?扩展N皇后
施泰纳(Steiner)系统
S
S
S是一个包含n个元素的集合,记
S
k
S_k
Sk是
S
S
S的子集并且包含k个元素。取特定的一些
S
k
S_k
Sk构成一个集合
{
S
k
}
\{S_k\}
{Sk}。如果在
S
S
S中取任意t个元素,在
{
S
k
}
\{S_k\}
{Sk}中有且仅有一个
S
k
S_k
Sk完全包含这t个元素,那这个
{
S
k
}
\{S_k\}
{Sk}称为Steiner系统,用
S
(
t
,
k
,
n
)
S(t,k,n)
S(t,k,n)表示。
百科
例如:Fano平面
S
(
2
,
3
,
7
)
=
{
a
b
c
,
a
d
e
,
a
f
g
,
c
d
f
,
c
e
g
,
b
d
g
,
b
e
f
}
S(2,3,7)=\{abc,ade,afg,cdf,ceg,bdg,bef\}
S(2,3,7)={abc,ade,afg,cdf,ceg,bdg,bef},任意2个字母在集合中只出现1次,比如同时包含c和g的元素只有
c
e
g
ceg
ceg。
十五女学生问题(柯克曼提出):十五个女学生,要求连续七天,每天都平均分成五组出门(每组三人),并且任意两人组队过的次数只有一次。这实际上是
S
(
2
,
3
,
15
)
=
{
a
b
j
,
c
e
m
,
f
k
l
,
h
i
n
,
d
g
o
,
a
c
h
,
d
e
i
,
f
g
m
,
j
l
n
,
b
k
o
,
a
d
l
,
b
h
m
,
g
i
k
,
c
f
n
,
e
j
o
,
a
e
g
,
b
i
l
,
c
j
k
,
d
m
n
,
f
h
o
,
a
f
i
,
b
c
d
,
g
h
j
,
e
k
n
,
l
m
o
,
a
k
m
,
d
f
j
,
e
h
l
,
b
g
n
,
c
i
o
,
b
e
f
,
c
g
l
,
d
h
k
,
i
j
m
,
a
n
o
}
S(2,3,15)=\\ \{abj, cem ,fkl, hin ,dgo,\\ ach ,dei ,fgm, jln, bko,\\ adl, bhm ,gik, cfn, ejo,\\ aeg, bil ,cjk ,dmn ,fho,\\ afi, bcd, ghj, ekn, lmo,\\ akm, dfj ,ehl, bgn ,cio,\\ bef,cgl ,dhk, ijm ,ano\}
S(2,3,15)={abj,cem,fkl,hin,dgo,ach,dei,fgm,jln,bko,adl,bhm,gik,cfn,ejo,aeg,bil,cjk,dmn,fho,afi,bcd,ghj,ekn,lmo,akm,dfj,ehl,bgn,cio,bef,cgl,dhk,ijm,ano}
每一行就是一天的安排,刚好七天。
哈达玛(Hadamard)矩阵
哈达玛(Hadamard)矩阵是由1和-1构成的n阶方阵
H
n
H_n
Hn,并且满足
H
n
H
n
T
=
n
I
H_nH_n^T=nI
HnHnT=nI。仅当n=1,2或4的倍数时存在哈达玛矩阵。由定义可知,矩阵的任意两行向量都互相正交。
如下图,第一行为哈达玛矩阵,前4个使用
H
2
n
=
[
H
n
H
n
H
n
−
H
n
]
H_{2n}=\left[ \begin{matrix} H_n&H_n\\H_n&-H_n\end{matrix} \right]
H2n=[HnHnHn−Hn]公式构建,看起来就是个分形图案。
第二行为沃尔什(Walsh)矩阵(哈达玛矩阵在
n
=
2
k
n=2^k
n=2k的特殊情况),因为外观比较有规律而列举出来。
顺便一说,第一行最右侧的矩阵是12阶的哈达玛矩阵,长得像但不是沃尔什矩阵。
拉姆齐(Ramsey)数
拉姆齐(Ramsey)数:要找这样一个最小的数n,使得n个人中必定有p个人相识或q个人互不相识。通常记为
R
(
p
,
q
)
R(p,q)
R(p,q)。
例如:在n个人里面,要么这n个人互不相识,要么至少2个人互相认识。所以
R
(
2
,
n
)
=
n
R(2,n)=n
R(2,n)=n。
这个问题也等同于:在一个完全图
K
n
K_n
Kn中,用红蓝颜色填充所有的边,最后不论如何,总能找到 全是红色边的
K
p
K_p
Kp,或者 全是蓝色边的
K
q
K_q
Kq。
如上图,在完全图
K
5
K_5
K5中,找不到红色或蓝色的三角形
K
3
K_3
K3,因此
R
(
3
,
3
)
>
5
R(3,3)>5
R(3,3)>5。
当前计算拉姆齐数只能通过暴力枚举的方法,只要找出一个反倒的完全图就确定其下界,而枚举量随着n呈现指数型爆炸增长,远超出计算机能力,所以已知的拉姆齐数极为有限:
3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | |
---|---|---|---|---|---|---|---|---|
3 | 6 | 9 | 14 | 18 | 23 | 28 | 36 | 40~42 |
4 | 18 | 25 | 36~40 | 49~58 | 59~79 | 73~106 | 92~136 | |
5 | 43~48 | 58~85 | 80~133 | 101~194 | 133~282 | 149~381 |
相关证明
另外,完全图
K
n
K_n
Kn可以使用三种不同颜色来填充,目前已知的拉姆齐数
R
(
3
,
3
,
3
)
=
17
,
R
(
3
,
3
,
4
)
=
30
R(3,3,3)=17, R(3,3,4)=30
R(3,3,3)=17,R(3,3,4)=30
结语
本文主要列举笔者以往接触到的一些奇特的数字组合,这里作为入门进行介绍,后续还会补充更多内容,敬请期待。