三十六军官问题

更新时间:2020-12-09 12:03

大数学家欧拉曾提出一个问题:即从不同的6个军团各选6种不同军阶的6名军官共36人,排成一个6行6列的方队,使得各行各列的6名军官恰好来自不同的军团而且军阶各不相同,应如何排这个方队?如果用(1,1)表示来自第一个军团具有第一种军阶的军官,用(1,2)表示来自第一个军团具有第二种军阶的军官,用(6,6)表示来自第六个军团具有第六种军阶的军官,则欧拉的问题就是如何将这36个数对排成方阵,使得每行每列的数无论从第一个数看还是从第二个数看,都恰好是由1、2、3、4、5、6组成。历史上称这个问题为三十六军官问题。

解决

三十六军官问题提出后,很长一段时间没有得到解决,直到20世纪初才被证明这样的方队是排不起来的。尽管很容易将三十六军官问题中的军团数和军阶数推广到一般的n的情况,而相应的满足条件的方队被称为n阶欧拉方。欧拉曾猜测:对任何非负整数t,n=4t+2阶欧拉方都不存在。t=1时,这就是三十六军官问题,而t=2时,n=10,数学家们构造出了10阶欧拉方,这说明欧拉猜想不对。但到1960年,数学家们彻底解决了这个问题,证明了n=4t+2(t≥2)阶欧拉方都是存在的。

应用

这种方阵在近代组合数学中称为正交拉丁方,它在工农业生产和科学实验方面有广泛的应用。现已经证明,除了2阶和6阶以外,其它各阶3,4,5,7,8,……各阶正交拉丁方都是作得出来的。

除了上面的定义外需要注意的是每个组合不能重复,如2阶方正会出现类似如下情况:

(1,1) (2,1)

(2,2) (1,2)

由于出现类似(1,1)的重复,问题中36个军官不可能同时站在不同位置,故不满足需求,所以2阶方正不存在。根据计算机编程能很容易求得3,4,5阶的方正,由于组合众多,现举例如下:

3阶:

(1,1) (2,2) (3,3)

(2,3) (3,1) (1,2)

(3,2) (1,3) (2,1)

4阶:

(2,1) (4,4) (3,2) (1,3)

(4,2) (2,3) (1,1) (3,4)

(3,3) (1,2) (2,4) (4,1)

(1,4) (3,1) (4,3) (2,2)

5阶:

(1,1) (2,2) (3,5) (4,3) (5,4)

(4,5) (1,3) (5,2) (3,4) (2,1)

(2,4) (5,5) (4,1) (1,2) (3,3)

(5,3) (3,1) (1,4) (2,5) (4,2)

(3,2) (4,4) (2,3) (5,1) (1,5)

c++ 代码如下:

免责声明
隐私政策
用户协议
目录 22
0{{catalogNumber[index]}}. {{item.title}}
{{item.title}}