發刊日期 |
2016年9月
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
標題 | 優化幻方的構作 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
作者 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
關鍵字 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
檔案下載 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
全文 |
JavaScript 產生幻方:
社會在發展, 人類在進化, 幻方也增加了「新品種」。
本文介紹一種「優化幻方」, 爲幻方家族增添更加迷人的斑斕色彩。
1. 基本定義定義1: 自然數方陣。把 $n^2$ 個自然數填入 $n$ 行 $n$ 列的正方形中, 這個填滿數字的正方形就叫「自然數方陣」。 簡稱 $Z$ 陣, $Z=(z_{ij})$ $(i,j=1,2, \ldots, n)$。 一個方陣的每行、每列有 $n$個元素就叫 $n$ 階方陣。與幻方中所稱的「階」相同。 在圖 1 中, $Z$ 與 $H$ 分別是 4 階幻方的自然數方陣和全對稱幻方。
定義2: 幻方。 把連續自然數 $1, 2, \ldots, n^2$ 排成 $n$ 行、 $n$ 列的方陣, 使得這個方陣的每行、 每列及兩條對角線上 $n$ 個元素之和都等於定值, 這個方陣稱為幻方。 古代稱為「洛書」, 又叫「縱橫圖」。 幻方的定值叫「幻和」, $n$ 階幻方的幻和記作 $S_n$。 定義3: 優化方陣。 由 $1,2,\ldots,n$ 各 $n$ 個元素構成的 $n$ 階方陣, 若每行、 每列及每條對角線(包括折斷對角線)上 $n$ 個元素之和都等於定值, 並且關於中心對稱的兩元素之和都相等, 稱爲「優化方陣」。 應當說明的是, 優化方陣的各行、 各列及對角線上允許有相同元素。 定義4: 優化幻方。 在一個幻方中, 同時具有下列兩個性質, 則稱爲「優化幻方」: 在 $n$ 階方陣 $A=(a_{ij})$ 中, 我們分別稱 $$\sum_{j=1}^{n-p} a_{j+p,j}+\sum_{j=n+1-p}^{n} a_{j+p-n,j}\quad \hbox{與}\quad \sum_{j=1}^{n-p} a_{n+1-p-j,j}+\sum_{j=n+1-p}^{n} a_{2n+1-p-j,j}\quad (p=1,2,\ldots)$$ 為 $A$ 的左與右折斷對角線元素和。
定義5: 正交方陣。 設兩個 $n$ 階方陣 $A=(a_{ij})$ 與 $B=(b_{ij})$、 ($i,j=1, 2, \ldots, n$), 將取自 $A$、 $B$ 相同位置的 $(i,j)$ 處的二元素構作有序偶 $(a_{ij}, b_{ij})$, 若 $n\times n$ 個有序偶 $(a_{ij},b_{ij})$ ($i,j=1,2,\ldots,n$) 兩兩不同, 則稱 $A$ 與 $B$ 相互正交。 在方陣 $A$ 與 $B$ 的各行、 各列及對角線上允許有相同元素。 定義6: 廣義幻方。如果一個幻方的元素不是由連續自然數 $1,2,\ldots,n^2$ 所組成, 就叫「廣義幻方」。 如果一個廣義幻方具有每行、 每列及每條對角線(包括折斷對角線)上 $n$ 個元素之和都等於廣義幻方的定值, 並且關於中心對稱的兩元素之和都相等, 則稱爲「優化廣義幻方」。 定義7: 方陣定位法。 用兩個正交方陣 $A$ 與 $B$ 的有序偶 $(a_{ij},b_{ij})$ 為行、列座標, 來確定幻方 $H$ 陣的元素, 稱為「方陣定位法」。 又叫「座標定位法」。
定義8:
循環方陣。
當設定方陣的第 1 行元素之後, 確定一個 $x$ 列為「循環點」。
以圖 2A 為例, 循環點是每行的第 3 列。
首先把第 1 行的 5,2,4 依次填入第 2 行的第 $1\sim 3$ 列的位置上, 再把循環點前面的 1, 3 依次填入第 $2$ 行第 4, 5 列的位置上。
用上述方法填寫第 $3, 4, \ldots, n$ 行的元素, 完成 $n$ 階方陣。
這個方法是把一行數字看作是一個閉合圓環, 從循環點開始依次填入一行, 循環而生成的, 所以叫「循環方陣」。
圖 2A 就是一個 5 階循環方陣, 循環點是每行的第 3 列。
圖 2B 也是一個循環方陣, 其循環點是每行的第 4 列。
循環方陣在構作奇數階幻方時非常方便 2. 構作方法對於 $n$ 階幻方, 根據構作方法可劃分為: $n=2k+1$、 $n=4k$、 $n=4k+2$ ($k=1,2,\ldots$) 階, 三種形式。
已經有人證明不存在由連續自然數構成的 $n=4k+2$ ($k=1,2,\ldots)$ 階「全對稱幻方」 今將 $2k+1$ ($\ge 1$)、 $4k$ ($k\ge 2$) 階優化幻方及 $4k+2$ ($k\ge 1$) 階「廣義優化幻方」的構作方法分述如下。 我們把奇數階幻方分為 $3k\pm 1$ ($k=2,4,\ldots$) 階與 $3k$ ($k\ge 3$ 的奇數)階來討論: 2.1. $3k\pm 1$ 階優化幻方的構作當 $n=3k\pm 1$ ($k=2,4,\ldots$) 用方陣定位法構造一個循環方陣 $A$, 循環點是 $(n+1)/2$ 列, 這個方陣符合優化方陣的條件, 再將 $A$ 陣左右旋轉 180 度, 得到 $B$ 陣, $A$ 與 $B$ 是正交方陣, 構成的方陣 $H=(h_{ij})$ 是一個優化幻方。 也可以經過計算得出優化幻方, 令 $h_{ij}=n(a_{ij}-1)+b_{ij}$ ($i,j=1,2, \ldots, n$),則 $H=(h_{ij})$ 是優化幻方。 圖 2 分別是 $n=5$ 的 $A$、 $B$、 $Z$ 與 $H$ 陣。
由於 $B$ 陣是 $A$ 陣的列變換方陣, 所以構造 $A$ 陣是關鍵, $3k\pm 1$ ($k=2,4,\ldots$) 階 $A$ 陣的構造可用兩種方法。 方法一: 按如下步驟進行: 步驟 1. 先作第 1 行, 令 $a_{1,j}=2j-1$ (mod $n$) ($1\le a_{1j}\le n$; $j=1, 2, \ldots, n$)。 步驟 2. 選取 $(n+1)/2$ 列 (又叫「中列」)為循環點, 按照循環方陣的方法, 向第 2 行、 第 3 行, 至第 $n$ 行循環, 完成循環方陣 $A$。 方法二: 先把奇數 $1, 3, \ldots, n$ 直接填入第 1 行的第 1 列至第 $(n+1)/2$ 列(中列), 把偶數 $2, 4, \ldots, n-1$ 填入中列 $+1$ 列至第 $n$ 列, 完成第 1 行。 取第 1 行的「中列」為循環點, 按照循環方陣的方法, 向下循環填寫, 完成循環方陣 $A$。
無論使用方法一或方法二, 都可以得到同樣的結果, 殊途而同歸。
這兩種方法都可以得到任意奇數 ($n=3,5,\ldots$) 階的幻方。只不過, 當 $n$ 是 3 的倍數時, 得到的幻方不能滿足折斷對角線之和等於定值,
只能得到普通幻方而不能滿足優化幻方的性質, 請讀者自己探索。
本構造方法及定理的證明參閱 2.2. 當 $n=3k$ ($k\ge 3$ 的奇數) 階優化幻方的構作當 $n=3k$ ($k\ge 3$ 的奇數) 時, 用方陣定位法構造出符合「優化方陣」條件的兩個正交方陣 $A=(a_{ij})$ 與 $B=(b_{ij})$ ($i, j=1,2,\ldots,n$)。 圖 3 是 9 階優化幻方的 $A$ 與 $H$, $h_{ij} =n( a_{ij}-1)+ b_{ij}$ ($H$爲幻方, 下同)。 $b_{ij}=a_{i, n-j +1}$ 略。
容易發現, 圖 3 的 $A$ 陣具有優化方陣的性質, 由於$A$ 與 $B$ 是正交方陣, 故得到的 $H$ 是一個優化幻方。 構造 $A$ 陣的關鍵環節在於 $A$ 陣的中間行。 當 $k= 3$ 時, 中間行的元素設計(當然, 有多種設計)爲: $$2,\ 3 ,\ 1,\ 4,\ 5,\ 6,\ 9,\ 7,\ 8$$ 在中間行中, 它們的第 1, 4, 7 列、第 2, 5, 8 列及第 3, 6, 9 列上的3個元素之和都等於 15, 並且關於中心對稱的兩元素之和相等。 當 $k\ge 5$ 的奇數時, 把 $1, 2, \ldots, 3k$ 構成一個 3 行 $k$ 列的矩陣 $E =(e_{ij})$ ($i=1,2,3$; $j=1,2, \ldots, k$) $$e_{ij}=\left\{\begin{array}{lcl} i+1,&\qquad&i=1,2,\ j=1.\\ 1,&&i=3,\ j=1.\\ 3(j-1)+i,&&i=1,2,3,\ j=2,4,\ldots,k-1.\\ 3j-i+1,&&i=1,2,3,\ j=3,5,\ldots,k-2.\\ n,&&i=1,\ j=k.\\ n+i-4,&&i=2,3,\ j=k. \end{array}\right.$$ 令 $E$ 陣的 $1,2, \ldots, k$ 列上的元素, 依次爲 $A$ 陣中間行的第 $1,2, \ldots, n$ 列上的元素。 這裡給出 $k=3$、 5、 7、 9、 11 的 3 行 $k$ 列 $E$ 陣的實例, 以饗幻友。
構造 $E$ 陣的方法是, 首先確定第 1 列和第 $k$ 列上的 3 個元素。 第 1 列的 3 個元素從第 1 行 $\sim$ 第 3 行分別是 2, 3, 1; 第 $k$ 列的 3 個元素從第 1 行 $\sim$ 第 3 行分別是 $n$, $n-2$, $n-1$。 再從第 2 列開始, 按照由小到大、 從上到下的順序排列, 第 2 列與第 3 列兩個相連數字在底部呈 $\cup$ 形連接, 第 3 列與第 4 列兩個相連數字在頂部呈顛倒的「$\cap$」形連接。 這樣輾轉連接的規律是:在同列的 3 個數中, 凡是大偶數在下面的與下一列相連數呈 $\cup$ 形連接, 凡是大奇數在上面的與下一列相連數呈 $\cap$ 形連接, 直到第 $k-1$ 列。 也就是說, 第 $2,4,\ldots, k-1$ 列是按照小數在上、 大數在下的順序排列; 第 $3,5,\ldots,k-2$ 列是按照小數在下、 大數在上的順序排列。 從第 2 列至第 $k-1$ 列 (粗實線所圍部分) 好像一個迴形針一樣, 把「芸芸眾數」上通下達、 左聯右合, 維繫在一起, 雖然經過了蜿蜒曲折的行程, 終究還是組合在一起完成了構造 $E$ 陣的大業。 又像古籍中的「尺蠖之屈」, 也好像我國傳統的「富貴不斷頭」圖案一樣美麗漂亮。 其規律一目了然。 完成了3行、 $k$ 列的 $E$ 陣之後, 再把 $D$ 陣生成 $A$ 陣, 以 $k\!=\!3$ 為例, 按照下列步驟進行; 第一步, 把 $E$ 陣生成 $A$ 陣的中間行: 把 $D$ 陣第一列上的 2、3、1, 依次填入圖 3A 中間行的第 1, 2, 3 列的位置上; 把 $D$ 陣第二列上的 4、5、6,依次填入圖 3A 中間行的第 4, 5, 6,列的位置上; 把 $D$ 陣第三列上的 9、7、8,依次填入圖 3A 中間行的第 7, 8, 9, 列的位置上。 (圖 3A 中間行所示的粗體字) 這個方法好像小朋友玩的「多米諾骨牌」。 不妨把 $D$ 陣每列上的 3 個元素看作是一個豎直的多米諾骨牌, 從後方(右)加力, 使骨牌(列元素)向前(左)傾倒。 把這些平鋪在地面上的數字, 按照從左到右的順序直接填寫到 $A$ 陣中間行的第 $1,2, \ldots, n$ 列的位置上。 當然, 不能重疊。 第二步:由 $A$ 陣的中間行生成完整的 $A$ 陣 (1) 利用循環方陣的方法, 以中間行的「中列」為循環點, 向下循環, 完成中間行以下部分。 (2) 中間行以上部分, 可以用中間行的「中列+1列」為循環點, 從中間行向中間行 $-1$ 行, 中間行 $-2$ 行, $\ldots$, 第 1 行, 逐行向上反循環, 得到 $A$ 陣。 也可以利用關於中心對稱的兩元素之和等於 $n+1$ 的關係, 計算出 $A$ 陣的上部分, 來完成 $A$ 陣。 第三步: 由 $A$ 生成優化幻方 $H$ 令 $h_{ij}=n(a_{ij}-1)+ a_{i,n-j+1}$ ($i,j=1,2,\ldots,n$), 則 $H=(h_{ij})$ ($i, j=1,\ldots,n$) 是 $3k$ 階優化幻方。 3. $4k$ 階優化幻方的構作容易證明不存在 4 階優化幻方。 當 $n=4k$ ($k=2,3,\ldots$)時, 不妨分爲 $k\ge 2$ 的偶數及 $k\ge 3$ 的奇數兩種情形來討論: 3.1. 當 $k\ge 2$ 的偶數時我們先給出一個 $n=8$ 的實例 (圖4)。 在圖 4 中, 優化幻方H是由 $A$ 陣經過計算得到的, 計算公式為 $h_{ij} =n(a_{ij}-1)+ a_{ji}$ ($i,j=1,2, \ldots, n$)。
上例表明, 要造出 $A$ 陣, 只需要作出一個 2 行, $2k$ 列的矩陣 $D=(d_{ij})$ ($i=1,2$; $j=1,2,\ldots,2k$) 即可, 並將其排列在 $A$ 陣的第 1 行與第 2 行的第 $1,2,\ldots,2k$ 列的位置上。 $A$ 陣左半部其餘各行($3\sim n$)上的元素是第 1 行與第 2 行上諸元素的重復; 右半部是左半部的反射, 利用這些性質, 可以很快造出 $A$ 陣, 再按照上述計算公式由 $A$ 陣生成優化幻方。 當 $k\ge 2$ 的偶數時, 設 $t=k/2$, $D$ 陣的造法如下: $$d_{ij}=\left\{\begin{array}{lcl} j&\quad~&\left\{\begin{array}{l} i=1,\ j=1,2,\ldots,t;\ 3t+1,3t+2,\ldots,4t\\ i=2,\ j=t+1,t+2,\ldots,3t \end{array} \right.\\ n-j+1&&\left\{\begin{array}{l} i=1,\ j=t+1,t+2,\ldots,3t\\ i=2,\ j=1,2,\ldots,t;\ 3t+1,3t+2,\ldots,4t \end{array} \right. \end{array} \right.$$ 又由於 $D$ 陣第 2 行上諸元素與第 1 行相對應的兩個元素關於 $n+1$ 互補, 所以作出 $D$ 陣的第 1 行, 即可生成 $D$ 陣, 再由 $D$ 陣生成 $A$ 陣。 我們給出 $k=2,4,6,8,10$, $D$ 陣的實例:
我們觀察這些 $D$ 陣中的大、 小數字 (粗實線所圍) 之排列, 好像兩個碗和盤子, 一仰、一合, 整齊有序。 看到這個圖像, 不禁想起《周易》中的「艮仰盂, 震覆碗」的卦象。 不料想, 八卦的優美圖形竟然在這裡展現, 有趣! 3.2. 當 $k\ge 3$ 的奇數時$A$ 陣的構作仍然按照 $k\ge 2$ 的偶數的方法進行, 先作出一個 2 行, $2k$ 列的矩陣 $D=(d_{ij})$ ($i=1,2$; $j=1,2,\ldots,2k$), 再由 $D$ 陣生成 $A$ 陣 (方法同上)。 當 $k= 3$ 時, $$D=\left(\begin{array}{cccccc} 1,&11,&3,&9,&8,&7\\ 12,&2,&10,&4,&5,&6 \end{array}\right)$$ 當 $k\ge 5$ 的奇數時, $t=(k-3)/2$, $D$ 陣的造法如下 $$d_{ij}=\left\{\begin{array}{lcl} j&\quad~&\left\{\begin{array}{l} i=1,\ j=1,2,\ldots,t;\ 3t+1,\ 3t+2,\ldots,4t+1;4t+3.\\ i=2,\ j=t+1,t+2,\ldots,3t;\ 4t+2,\ 4t+4,\ 4t+5,\ 4t+6. \end{array} \right.\\ n-j+1&&\left\{\begin{array}{l} i=1,\ j=t+1,t+2,\ldots,3t;\ 4t+2,\ 4t+4,\ 4t+5,\ 4t+6.\\ i=2,\ j=1,2,\ldots,t;\ 3t+1,3t+2,\ldots,4t+1;\ 4t+3. \end{array} \right. \end{array} \right.$$ 當 $k\ge 3$ 的奇數時, $k=3,5,7,9$ 的 $D$ 陣實例如下:
這些 $D$ 陣的特點是, 前部分的大、 小數, 像「艮仰盂, 震覆碗」的圖像; 後部分(粗實線所圍的長方形)的 6 列是 $k=3$ 的傳承, 當 $k\gt 3$ 時, 後邊的 6 列只是在 $k=3$ 的基礎上依次加 4 所得。 4. $4k+2$ 階廣義優化幻方的構作$4k+2$ 階廣義優化幻方的構作, 仍然按分爲兩種情形討論: 4.1. 當 $k$ 爲奇數時
如果把 $1,2, \ldots, 4k+2$ 分爲其和相等的兩組, 顯然是不可能的 $k=1$ 的例: 把 $\left(\begin{array}{ccc} 1 ,& 2,& 3\\ 7,& 6,&5\end{array}\right)$ 變換爲 $\left(\begin{array}{ccc} 1 ,& 6,& 5\\ 7,& 2,&3\end{array}\right)$ 即可。 圖 5 是 $n=6$ 的例, $H=(h_{ij})$ ($i,j=1,2,\ldots,n$). $h_{ij}=(a_{ij}-1)*(n+1)+a_{ji}$ ($i,j=1,2,\ldots,n$)。
當 $n\ge 3$ 的奇數時, 仍然可構造一個 2 行, $2k$ 列的矩陣 $D=(d_{ij})$ ($i=1,2; j=1,2,\ldots,2k$), 設 $t=(k-1)/2$, $D$ 陣的造法如下: $$d_{ij}=\left\{\begin{array}{lcl} j&\quad~&\left\{\begin{array}{l} i=1,\ j=1,2,\ldots,t;\ 3t+1,\ 3t+2,\ldots,4t+1.\\ i=2,\ j=t+1,t+2,\ldots,3t;\ 4t+2,\ 4t+3. \end{array} \right.\\ n-j+2&&\left\{\begin{array}{l} i=1,\ j=t+1,t+2,\ldots,3t;\ 4t+2,\ 4t+3.\\ i=2,\ j=1,2,\ldots,t;\ 3t+1,\ 3t+2,\ldots,4t+1. \end{array} \right. \end{array} \right.$$ 當 $n=4k+2$ ($k=1,3,5,7$) 時, $D$ 陣的實例如下:
這些 $D$ 陣的前部分的大、 小數仍然是「艮仰盂, 震覆碗」的圖像,可說是「以不變應萬變」; 後部分(粗實線所圍) 3 列是 $k=1$ 的傳承, 當 $k\gt 1$ 時, 後邊的 3 列, 只是在 $k=1$ 的基礎上依次加 4 所得。 4.2. 當 $k$ 爲偶數時圖 6 是 $k=2$, $n=10$ 階的 $A$ 陣與 $H$ 陣:
在圖 6 中, $H=(h_{ij})$ ($i,j=1,2,\ldots,n$), $h_{ij} =(a_{ij}-1 )*(n+3)+a_{ji}$ ($i,j=1,2,\ldots,n$)。 其 $A$ 陣仍然由 2 行、 $2k$ 列的 $D$ 陣生成。 當 $k\ge 4$ 的偶數時, 設 $t=(k-1)/2$, $D$ 陣的造法如下: $$d_{ij}=\left\{\begin{array}{lcl} j&\quad~&\left\{\begin{array}{l} i=1,\ j=1,2,\ldots,t;\ 3t+1,\ 3t+2,\ldots,4t+1;\ 4t+3.\\ i=2,\ j=t+1,t+2,\ldots,3t;\ 4t+2,\ 4t+4,\ 4t+5. \end{array} \right.\\ n-j+4&&\left\{\begin{array}{l} i=1,\ j=t+1,t+2,\ldots,3t;\ 4t+2,\ 4t+4,\ 4t+5.\\ i=2,\ j=1,2,\ldots,t;\ 3t+1,\ 3t+2,\ldots,4t+1;\ 4t+3. \end{array} \right. \end{array} \right.$$ 當 $k\ge 2$ 的偶數時, $k=2,4,6,8$, $D$ 陣的例子如下:
這些 $D$ 陣的特點是, 前部分大、 小數仍然像「艮仰盂, 震覆碗」; 後部分(粗實線所圍)是 $k=2$ 的傳承, 當 $k\gt 2$ 時, 後邊的 5 列, 只是在 $k=2$ 的基礎上依次加 4 所得。 真是一如既往的 $D$ 陣! 完成 $D$ 陣之後, 按照前面所提供的方法, 可以作出 $A$ 陣, 再由 $A$ 陣作出廣義優化幻方, 就易如反掌了。 利用電腦構作幻方, 更是「唾手可得」。 另外, 介紹一個 25 階優化幻方, 並且它還是一個平方幻方。 有興趣的讀者不妨「解剖」一下, 得出這個幻方的 $A$ 陣與 $B$ 陣, 它可以使你解決 $n\times n$ ($n\ge 3$) 的奇數階平方幻方以及雙重幻方。 引玉之磚如下: 幻和 $S_{25}=7825$; 平方幻方 $S^2_{25}=3263025$。
參考資料---本文作者任職河南省封丘縣科協--- |