【組合數學】幻方、拉丁方、塗色問題

gonghr發表於2022-03-08

引言

組合數學研究的主要問題

  • 存在性問題
  • 計數和分類問題
  • 構造性問題
  • 優化問題

幻方問題

幻方的定義

幻方:一個 n 階幻方是由整數 1,2,3…,n^2 按下述方式 組成的 n×n 方陣:該方陣每行上的整數的和、每列上的整數的和以及兩條對角線中每條對角線上的整數的和都等於同一個數

幻和 S:每一行(或列或對角線)數字的和

\[1+2+3+...+n^2=\frac{n^2\left( n^2+1 \right)}{2} \\ n\cdot S=\frac{n^2\left( n^2+1 \right)}{2} \\ S=\frac{n\left( n^2+1 \right)}{2} \]

幻方的存在性問題

  • 不存在二階幻方(反證法)

幻方的構造性問題

奇數階幻方的構造:連續擺放法

  • 1 放在 (n+1)/2 列第 1 行的方格中;

  • 按照副對角線方向(即行號減1,列號加1)依次 把從小到大的各個數字放入相應的方格中;

  • 如果行號變成0(第 1 行上面一行),則改成第 n 行相應列對應的方格;

  • 如果列號變成 n+1(第 n 列右面一列),則改成第 1 列相應行對應的方格;

  • 如果輪到的方格已經填有數字或者到了第 0 行第 n+1 列對應的方格,則退到前一個方格正下方的方格.

?舉例:構造五階幻方
【組合數學】幻方、拉丁方、塗色問題

偶數階幻方的構造:n=4k 對稱法

  • n×n 的方陣分成上、下、左、右四個 2k×2k 的方 陣;

  • 處理左上的 2k×2k 方陣,每行每列任意取一半(k個) 的方格做標記,塗成陰影;

  • 按對稱軸將陰影向下和向右作對稱圖形,使得 n×n 的 方陣的每一行和每一列都有一半(n/2)的方格被塗成陰影;

  • 1 開始依次填入方格中,第一遍:從第 1 行第 1 列的方格開始往右,不是陰影則填數字,是陰影的方格不填數字,但相應的數字加 1. 第 1 行填完後填第 2 行依次到第 n 行第 n 列的方格;

  • 第二遍:從第 n 行第 n 列的方格開始依次往左,規則同前,從 1 開始的數字依次填入,第 n 行結束之後 是第 n-1 行第 n 列的方格,直到第 1 行第 1 列的方格

?舉例:構造四階幻方

【組合數學】幻方、拉丁方、塗色問題

單偶數階幻方 n=4k+2

  • n×n 的方陣分成上、下、左、右四個 (2k+1)×(2k+1) 的方陣,編為左上A、右下B、右上C、 左下D

  • 1~(2k+1)^2放在 A 中做成第一個幻方;

  • (2k+1)^2+1~2(2k+1)^2 放在 B 中成第二個幻方;

  • 2(2k+1)^2+1~3(2k+1)^2 放在 C 中成第三個幻方;

  • 3(2k+1)^2+1~4(2k+1)^2 放在 D 中成第四個幻方;

  • A 的各行從第 1 列開始向右取 m 個(m=(n-2)/4)方格, 但中間一行(k+1行)從第 2 列開始;把這些方格中的數字與 D 中相應位置的數字對換;

  • C 中各行最後一列右起向左各取 m-1 個方格,把這些方格中的數字與 B 中相應位置的數字對換

?舉例:構造六階幻方

  • 填充
【組合數學】幻方、拉丁方、塗色問題
  • 對換
    m = (n-2)/4 = (6-2)/4 = 1
【組合數學】幻方、拉丁方、塗色問題

拉丁方問題

拉丁方的定義

n 階拉丁方:由數字 1,2,…,n 構成的 n×n 的方陣,使得在每 1 行、 每 1 列中每個數字都恰好出現一次.

拉丁方的存在性問題

  • 2 階拉丁方存在
【組合數學】幻方、拉丁方、塗色問題

拉丁方的構造性問題

n階拉丁方的構造方法

正交拉丁方

三十六軍官問題:有 36 名軍官來自 6 個不同的軍團,共有 6 種不同的軍銜,他們能否排成一個 6*6 的方陣,使得每行每列恰有各種軍銜, 並且每行和每列上的不同軍銜的 6 名軍 官還分別來自不同的軍團?

:從 n 個軍團裡選 n 個不同的軍銜,能 否排成一個 n*n 的方陣,使得每行每列恰有各種軍銜,並且每行和每列上的不同軍銜的 n 名軍官還分別來自不同的軍團?
把問題規模縮小到三階可以得到:

【組合數學】幻方、拉丁方、塗色問題

正交拉丁方的定義

\[\text{設}A=\left( a_{ij} \right) _{n\times n}\text{,}B=\left( b_{ij} \right) _{n\times n}\text{是兩個}n\times n\text{拉丁方,令}C=\left[ \left( a_{ij},b_{ij} \right) \right] _{n\times n}\text{,若}C\text{的}n^2\text{對陣列互不相同,則稱}A\text{與}B\text{正交} \\ \]

  • 不存在 2 階正交拉丁方
  • 36 軍官問題即不存在 6 階正交拉丁方

塗色問題

實際應用中,很多計數問題都可抽象成塗色問題

例:對正三角形的三個頂點塗以紅、藍(rb)兩種顏色,求有多少種不同的塗色方案?

解:

  • 三點全塗紅色,只有一種 rrr

  • 三點全塗藍色,只有一種 bbb

  • 兩點塗紅色,一點塗藍色,藍色可分別塗於三個頂點之一,故有 3brrrbrrrb

  • 由對稱性可知,兩點塗藍色,一點塗紅色的方案也 有 3rbb,brb,bbr

相關文章