마방진

Utolee90 (토론 | 기여)님의 2019년 9월 12일 (목) 01:44 판 (→‎변형된 형태: 개별 문서로 분리)

마방진(魔方陣, Magic Square)은 각 원소가 n2의 수로 이루어져 있고, 각 행의 원소의 합과 각 열의 원소의 합, 그리고 주대각선에서의 n개의 원소의 합이 모두 같은 n×n 정사각행렬을 의미한다. 원소의 조건은 n2의 연속된 숫자를 의미하는 경우가 많으나 상황에 따라 다른 것을 의미할 수도 있다.

마방진의 개수

1차 마방진은 1 하나의 원소로 된 마방진이며, 2차 마방진은 존재하지 않는다. 3차 마방진은 회전과 대칭이동에 의한 변환을 동일한 것으로 취급할 때 아래에서 언급하는 중국의 로슈방진(Lo Shu Square) 하나뿐이다. 4차 마방진은 회전/대칭이동의 변환에 대해 880가지의 서로 다른 배열이 있다. 5차 마방진은 275,305,224가지 배열이 있으며, 6차 마방진은 정확한 숫자는 알려져 있지 않으나 1.8 × 1019개가 있다고 추정된다.[1]

역사

마방진은 중국에서 적어도 기원전 7세기부터 알려져 있었고, AD 570년에 처음으로 기록이 남겨져 있다. 또한 5차 마방진과 6차 마방진은 10세기경 이슬람권에서 존재가 알려져 있다.

가장 유명한 마방진은 바로 3*3마방진인 로슈 사각형(Lo Shu Square, wikipedia:Lo Shu Square)이다. 아래와 같은 배열로 구성되어 있다.

2 9 4
7 5 3
6 1 8

유럽

1300년경 비잔틴 제국의 수학자 마누엘 모스코푸로스(Manuel Moschopoulos)가 마방진에 대해서 언급하였다.

1514년 알브레히트 뒤러(wikipedia:Albrecht Dürer)의 작품 멜랑꼴리아(Melencolia I.)에 4차 마방진이 새겨져 있는데 절묘하게도 아랫줄 가운데 두 숫자 15,14가 작품의 제작년도를 나타낸다.

1510년 신비주의 작가인 하인리히 코넬리우스 아그리파(wikipedia:Heinrich Cornelius Agrippa)는 그의 저서 De Occulta Philosophia에서 은둔자와 Marsilio FicinoPico della Mirandola의 경이로운 일에 대해 서술하였다. 1531년 개정판에서는 당시에 알려진 행성과 3*3에서 9*9까지의 마방진을 다음과 같이 연계해서 묘사하였다. 참고로 행성의 순서는 프톨레마이오스의 천동설 기준으로 행성의 배열 순서(먼 행성에서 가까운 행성으로)과 일치한다.

마방진의 종류

4×4방진의 서열

보통 마방진은 행, 열, 그리고 주대각선(main diagonal)에 있는 n개의 원소의 합이 일정한 행렬을 의미한다. 우선 1부터 n2까지의 원소의 합은 n2(n2 +1)/2이고, 따라서 각 행/열의 합은 n(n2 +1)/2가 성립한다.

1부터 n2까지 숫자를 가진 n×n 방진 중에서 각 행과 열의 합이 동일하기만 하면 준마방진(semimagic square)라고 부르며, 주대각선 n개의 원소의 합이 동일할 때 일반적인 마방진이 된다.

마방진 중에서 좀 더 강력하게 주대각선이 아닌 끊긴 대각선의 원소들의 합 [math]\displaystyle{ \{a_{i,c+i}:i=1,\cdot\cdot\cdot n\}, \{a_{i,n+c-i}: i=1,\cdot\cdot\cdot ,n\} }[/math](여기서 c는 0 이상의 상수, i+c>n 또는 n+c-i>n이면 n을 빼준다.)까지도 모두 같으면 완전대각방진(Panmagic Square 혹은 Diabolic Magic square)이라고 부른다. 특이하게도 n=3이거나 n=4k+2꼴일 때에는 완전대각방진이 존재하지 않은 것으로 알려져 있다. (참조 : Wikipedia:Panmagic square)

완전마방진 중에서도 임의의 상수 c,d에 대해 2x2 부분행렬 [math]\displaystyle{ \begin{pmatrix} a_ij & a_{i,j+c} \\ a_{i+d,j} & a_{i+d, j+c} \end{pmatrix} }[/math]의 원소의 합이 2n2+2까지 만족하는 마방진을 Most-perfect Magic square(해석하면 가장 완벽한 마방진)이라고 부른다. (참조: Wikipedia:Most-perfect magic squre)

마방진 중에서도 2 이상의 자연수 p에 대해서 각 원소를 p제곱한 원소들을 모아도 마방진을 이룰 경우 p-제곱 마방진(p-multimagic square)라고 부른다.

다른 조건으로 각 행의 원소의 합, 각 열의 원소의 합, 그리고 두 대각선의 원소의 합을 나열할 때 서로 다른 2n+2개의 연속된 자연수로 나열되는 경우를 Antimagic Square라고 부른다. (참조 : Wikipedia:Antimagic square)

마방진을 만드는 방법

홀수 방진

n*n 마방진을 만드는 가장 간단한 방법은 다음과 같다. 이 방법은 아래에서 설명하는 방법의 특수한 경우라 할 수 있다.

  1. 우선 맨 윗줄 가운데에 1을 적는다.
  2. 그 다음 오른쪽 칸의 맨 아랫줄에 2를 적는다.
  3. 그 다음에 2의 오른쪽/위쪽 1칸 대각선 방향에 3을 적는다. 마찬가지로 4~n까지 숫자가 1개씩 커질 때마다 오른쪽/위쪽 1칸 대각선 방향으로 적는다. 만일 k가 맨 오른쪽 칸에 있을 경우 k+1은 한 줄 위의 맨 왼쪽 칸으로 이동한다.
  4. 대각선 방향으로 계속 가면 n+1의 위치는 1과 겹친다. 이 때 n+1은 n의 한 칸 아래칸에 적는다.
  5. 1~3번과 같은 방법으로 n+1~2n까지 숫자들은 1씩 커질 때마다 오른쪽/위쪽 1칸 대각선씩 옮겨서 적는다. 역시 k가 맨 윗줄의 숫자인 경우 다음 숫자는 맨 아랫줄의 오른쪽 1칸으로, 맨 오른쪽의 숫자의 경우 다음 숫자는 1줄 위의 맨 왼쪽 칸으로 옮겨서 적는다.
  6. 2n+1 역시 n+1과 마찬가지로 2n 한 칸 아래에 적는다. 5번처럼 2n+1~3n의 숫자들을 대각선 ↗방향으로 1칸씩 옮겨가면서 적는다. 마찬가지로 3n+1도 3n의 한 칸 아래에 적고, 3n+1~4n도 마찬가지 방법으로 대각선 방향으로 옮겨가면서 적는다.
  7. 6의 과정을 모든 n2개의 칸이 채워질 때까지 적는다.

위와 같은 방법으로 5×5 마방진을 만들 수 있다. 편의상 (k-1)n+1에서 kn까지의 숫자들은 모두 같은 색으로 칠한다.

5×5 마방진
17 24 1 8 15
23 5 7 14 16
4 6 13 20 22
10 12 19 21 3
11 18 25 2 9

일반화된 방법과 완전대각방진 만들기

원소를 증가시키는 방법을 대각선/아랫칸 내리기를 이용하지 않고 다른 간격으로 움직이게 할 수 있다. 여기서 중요한 것은 어떠한 경우에도 중간값이 정중앙에 오게 해야 한다는 것이다. 특히 한 변의 칸의 개수가 6n±1개라면 이것을 이용해서 완전대각방진을 만들 수 있다. 위의 문서를 참조할 것. 여기서는 결과물만 제시한다.

5×5 완전대각방진
25 3 6 14 17
11 19 22 5 8
2 10 13 16 24
18 21 4 7 15
9 12 20 23 1
7×7 완전대각방진
49 23 4 34 8 38 19
11 41 15 45 26 7 30
22 3 33 14 37 18 48
40 21 44 25 6 29 10
2 32 13 36 17 47 28
20 43 24 5 35 9 39
31 12 42 16 46 27 1

(6n+3)*(6n+3) 완전대각방진은 위와 같은 방법으로 만들 수 없다. 자세한 내용은 위의 내용을 참조할 것. [2] 역시 여기서도 결과물 하나만 제시한다.

 1 
 38 
 75 
 9 
 43 
 80 
 5 
 42 
 76 
 14 
 51 
 58 
 10 
 47 
 57 
 18 
 52 
 62 
 27 
 34 
 71 
 23 
 33 
 67 
 19 
 29 
 66 
 73 
 2 
 39 
 81 
 7 
 44 
 77 
 6 
 40 
 59 
 15 
 49 
 55 
 11 
 48 
 63 
 16 
 53 
 72 
 25 
 35 
 68 
 24 
 31 
 64 
 20 
 30 
 37 
 74 
 3 
 45 
 79 
 8 
 41 
 78 
 4 
 50 
 60 
 13 
 46 
 56 
 12 
 54 
 61 
 17 
 36 
 70 
 26 
 32 
 69 
 22 
 28 
 65 
 21 

4n형태

우선 4n*4n 마방진을 푸는 방법은 다음과 같다.

  • 우선 모든 칸은 4*4로 나눈다. 즉 12*12 마방진은 가로/세로 3*3칸씩으로 나눈다.
  • 그 다음에 아래와 같이 칸을 흑/백으로 칠한다.
흑/백 칠하기
1 0 0 1
0 1 1 0
0 1 1 0
1 0 0 1
  • 다음에 1로 칠해진 칸은 1~n2를 적는다. 왼쪽 위에서 오른쪽으로 1씩 올려가면서 적은 뒤에 한 줄이 채워지면 아랫줄을 채운다. 4*4 마방진의 경우는 다음과 같다.
검은칸에 숫자 채우기
1 4
6 7
10 11
13 16
  • 나머지 하얀색 빈 칸의 경우는 오른쪽 아랫칸을 1로 잡고, 왼쪽으로/윗줄로 올라가면서 1씩 큰 숫자를 적는다. 위에서 검은색 칸은 점대칭도형이기 때문에 (a,b)가 검은 칸일 경우 (n+1-a,n+1-b)가 검은 칸이 된다. 따라서 k가 검은 칸이면 n2+1-k도 검은칸이므로 하얀색 칸의 숫자는 검은색 칸의 숫자와 겹치지 않는다.
흰칸에 숫자 채우기
1 15 14 4
12 6 7 9
8 10 11 5
13 3 2 16
  • 간단히 증명하는 방법이 있다. 우선 검은색 칸은 (행,열) 번호를 붙인다. 그 다음에 흰색 칸에는 (n+1-행, n+1-열)의 값을 적는다. 그러면 각 행/열/주대각선 n개 원소의 합은 정확히 (n(n+1)/2, n(n+1)/2)가 된다는 것을 알 수 있다.
증명
(1,1) (4,4) (4,1) (1,4)
(3,4) (2,2) (2,3) (3,1)
(2,4) (3,2) (3,3) (2,1)
(4,1) (1,3) (1,2) (4,4)
  • 8*8 마방진도 이와 유사하게 만들 수 있다.
8*8 마방진
1 2 62 61 60 59 7 8
9 10 54 53 52 51 15 16
48 47 19 20 21 22 42 41
40 39 27 28 29 30 34 33
32 31 35 36 37 38 26 25
24 23 43 44 45 46 18 17
49 50 14 13 12 11 55 56
57 58 6 5 4 3 63 64
  • 또는 아래의 4*4흑/백 패턴을 이용해 4n*4n 칸을 채우는 흑/백 패턴을 만든 뒤에 흑색 칸은 왼쪽 위부터 오른쪽으로 1식 키우면서 순서대로 채우고 백색 칸은 오른쪽 아래부터 시작해서 왼쪽으로 1씩 키우면서 순서대로 채워서도 만들 수 있다. 다른 8*8 마방진은 만들 수 있다. 여기서 중요한 것은 이 흑/백 패턴이 반드시 점대칭이어야한다는 것이다.
8*8 마방진 다른 예시
1 63 62 4 60 6 7 57
56 10 11 53 13 51 50 16
48 18 19 45 21 43 42 24
25 47 46 28 36 30 31 33
32 34 35 29 37 27 26 40
41 23 22 44 20 46 47 17
49 15 14 52 12 54 55 9
8 58 59 5 61 3 2 64

완전대각 방진

완전대각방진을 만들기 위해서는 위의 방법과는 다른 방법을 사용해야 한다. 위의 본문을 참조할 것. [3] 역시 결과만 올리겠다.

 33   26   35   28   40   31   38   29 
 48   23   46   21   41   18   43   20 
 49   10   51   12   56   15   54   13 
 64    7   62    5   57    2   59    4 
 25   34   27   36   32   39   30   37 
 24   47   22   45   17   42   19   44 
  9   50   11   52   16   55   14   53 
  8   63    6   61    1   58    3   60 


가장 완벽한 마방진

아래 마방진은 가장 완벽한 4*4 마방진(The most perfect magic square)이 된다. 규칙성을 살펴보면 다음과 같다. 편의상 합하게 되는 숫자의 묶음을 같은 배경색으로 칠한다.

4*4 most perfect magic square
3 6 12 13
16 9 7 2
5 4 14 11
10 15 1 8
  • 가로줄과 세로줄 상의 모든 원소의 합이 동일하다.
행/열상의 원소의 합은 동일
3 6 12 13   3 6 12 13
16 9 7 2 16 9 7 2
5 4 14 11 5 4 14 11
10 15 1 8 10 15 1 8
  • 주대각선/부대각선 상에 있는 모든 원소의 합이 동일하다.
대각선 상의 원소의 합은 동일
3 6 12 13   3 6 12 13
16 9 7 2 16 9 7 2
5 4 14 11 5 4 14 11
10 15 1 8 10 15 1 8
  • 서로 인접한 사각형 네 개로 구성된 정사각형 내부에서 모든 원소의 합이 동일하다.
서로 정사각형을 이루는 네 원소의 합이 동일
3 6 12 13   3 6 12 13
16 9 7 2 16 9 7 2
5 4 14 11 5 4 14 11
10 15 1 8 10 15 1 8
  • (홀,홀) 원소 4개, (홀,짝) 원소 4개, (짝,홀) 원소 4개, 그리고 (짝,짝) 원소 4개의 합이 동일하다.
서로 정사각형을 이루는 네 원소의 합이 동일
3 6 12 13
16 9 7 2
5 4 14 11
10 15 1 8

4n+2 짝수 마방진

당연히 n=0일 때에는 마방진이 생기지 않는다. 위의 두 경우보다는 다소 복잡하게 나온다. (4n+2)×(4n+2) 마방진을 작성하는 방법은 다음과 같다.

  • 우선 (2n+1)×(2n+1) 크기의 네 개의 구역으로 나눈다. 그 다음에 각 구역에 아래와 같이 나눈다.
1 4
3 2
  • 그다음에 1구역에 (2n+1)×(2n+1) 마방진을 만든다.
  8    1    6                  
 3  5  7      
 4  9  2      
           
           
           
  • 그 다음에 2구역에는 (2n+1)2+1~2×(2n+1)2까지 숫자를 1구역에 마방진을 만드는 방식과 같은 방식으로 적는다. 마찬가지로 3구역에도 2×(2n+1)2+1~3×(2n+1)2까지, 4구역에도 3×(2n+1)2+1~4×(2n+1)2까지 같은 방식으로 적는다.
  8    1    6   35   28    33  
 3  5  7  30  32  34
 4  9  2  31  36  29
 26  19  21  17  10  15
 21  23  25  12  14  16
 22  27  20  13  18  11
  • 그 다음에 위의 1/4구역은 구역의 중심칸과 아래 n줄의 숫자를 교환한다. 단 중심줄 바로 아래칸은 교환하지 않는다. 아래 3/2구역은 아래 n-1줄의 숫자를 교환한다.
교환된 칸은 색칠
  8    1    6   35   28    33  
 3  32  7  30  5  34
 31  9  29  4  36  2
 26  19  21  17  10  15
 21  23  25  12  14  16
 22  27  20  13  18  11
  • 다른 방법으로 LUX 방법이 있다. 이것은 다음과 같은 순서로 배열된 2×2 숫자패턴 L,U,X (2n+1)×(2n+1) 배열을 이용해 배열하는 것이다.
L   U   X
4 1 1 4 1 4
2 3 2 3 3 2

모두 가로의 합은 동일하며 세로의 합은 L은 (좌)=(우)+2, U는 (좌)=(우)-4, X는 (좌)=(우)-2가 성립한다. 따라서 각 세로줄마다 L은 n+1개, U는 1개, X는 n-1개씩 배열하면 직교방진이 성립한다. 또한 대각선은 L은 n개 U 2개, X는 n-1개씩 배열하면 된다.

그 다음에 위의 L,U,X 패턴 위에 (2n+1)×(2n+1) 마방진을 이용해 패턴번호를 붙인다. 우선 패턴 1번이 L로 마크된 경우는 L 모양으로 [math]\displaystyle{ \begin{bmatrix} 4&1 ₩₩ 2 &3\end{bmatrix} }[/math]로 적는다. 그 다음에 패턴 2번이 X로 마크된 경우에는 X 모양으로 [math]\displaystyle{ \begin{bmatrix} 5&8 ₩₩ 7 &6\end{bmatrix} }[/math] 이런 식으로 적는다. 이런 식으로 (2n+1)2 패턴까지 채운다. 그러면 (4n+2)개의 짝수 마방진이 완성된다.

일례로 LUX 패턴을 이용해서 10(=4×2+2)차 마방진을 작성할 수 있다. 우선 아래처럼 5×5 LUX 패턴을 작성하면 각 세로줄에는 L=3, U=X=1임을 확인할 수 있다. 또한 오른쪽의 5차 마방진도 만들 수 있다.

L L L L L   17 24 1 8 15
L L L L L 23 5 7 14 16
L L U L L 4 6 13 20 22
U U L U U 10 12 19 21 3
X X X X X 11 18 25 2 9

이제 LUX 패턴에 맞추어 마방진을 작성하면 다음과 같이 만들 수 있다.

10차 마방진
68 65 96 93 4 1 32 29 60 57
66 67 94 95 2 3 30 31 58 59
92 89 20 17 28 25 42 39 64 61
90 91 18 19 26 27 40 41 62 63
16 13 24 21 49 52 80 77 88 85
14 15 22 23 50 51 78 79 86 87
37 40 45 48 76 73 81 84 12 9
38 39 46 47 74 75 82 83 10 11
41 44 69 72 97 100 5 8 33 36
43 42 71 70 99 98 7 6 35 34

마방진의 합성

두 마방진 A, B을 이용해서 크로네커 곱(Kroneker Product)과 유사한 형태의 연산을 이용해서 원소를 생성할 수 있다. 이를 이용해서 전체가 마방진이면서 각 구획도 마방진을 이루는 방진을 이룰 수 있다. 특히 A, B가 완전대각방진(Panmagic Square)이 되면 합성마방진도 완전대각방진이 된다.

예시 - 3×3 마방진과 4×4 마방진의 합성으로 만들어지는 12×12 마방진. 여기서 A=(aij)는 m차 마방진, B=(bij)는 n차 마방진으로 놓을 때 [math]\displaystyle{ A \otimes_M B = \begin{bmatrix} (a_11 -1)I_n + B & (a_12 -1) I_n + B & \cdots & (a_1m -1) I_n + B \\ (a_21 -1)I_n + B & (a_22 -1) I_n + B & \cdots & (a_2m -1) I_n + B \\ \vdots & \vdots & \ddots & \vdots \\ (a_m1 -1)I_n + B & (a_m2 -1) I_n + B & \cdots & (a_mm -1) I_n + B \end{bmatrix} }[/math]

예시 [math]\displaystyle{ \begin{bmatrix} 1 & 15 & 14 & 4 \\ 12 & 6&7&9 \\ 8 & 10&12&5 \\ 13&3&2&16 \end{bmatrix} \otimes_M \begin{bmatrix} 8 & 1 & 6 \\ 3 & 5& 7 \\ 4&9&2 \end{bmatrix} }[/math]

결과

위의 두 마방진의 합성
8 1 6 134 127 132 125 118 123 35 28 33
3 5 7 129 131 133 120 122 124 30 32 34
4 9 2 130 135 128 121 126 119 31 36 29
107 100 105 53 46 51 62 55 60 80 73 78
102 104 106 48 50 52 57 59 61 75 77 79
103 108 101 49 54 47 58 63 56 76 81 74
71 64 69 89 82 87 98 91 96 44 37 42
66 68 70 84 86 88 93 95 97 39 41 43
67 72 65 85 90 83 94 99 92 40 45 38
116 109 114 26 19 24 17 10 15 143 136 141
111 113 115 21 23 25 12 14 16 138 140 142
112 117 110 22 27 20 13 18 11 139 144 137

라틴방진

라틴방진(Latin Square)은 nXn 정사각행렬 중 1부터 n까지 원소가 n개씩 배열되어 있고, 각 행과 열에는 1부터 n까지 하나씩 들어가 있는 방진을 의미한다.

사토르 방진

사토르 방진은 가로로 읽으나 세로로 읽으나 같은 문장이 되는 일종의 마방진이다. 회문이지 사토르 방진을 구성하는 "SATOR AREPO TENET OPERA ROTAS"에서 유래한 이름이다.

변형된 형태

정사각형 대신에 정육각형 배열로 구성된 Magic Hexagon이 있다.

또한 최석정의 구수략(九數略)에서는 마방진의 변형된 형태가 나온다. 대표적으로 육각형 형태로 숫자가 배열되어 있고, 각 육각형의 숫자들의 합이 일정한 지수귀문도, 십자가 모양의 사각형 모양인 낙서사구도, 방사형 형태의 중상용구도, 마방진+8각형 숫자 배열인 낙서구구도, 팔각형의 합을 구하는 후책용구도가 있다. [4]

별 모양

각 변의 합이 26인 육각 별 모양(Magic Hexagram) 배열은 다음과 같다.

Magic Hexagram.png

좀 더 일반적으로, 육각별, 칠각별, 팔각별 배열도 존재한다. 단 오각별 배열은 존재하지 않는다.

Magic6star-sum26.svg Magic7star-sum30.svg Magic8star-sum34.svg
Magic hexagram
M = 26
Magic heptagram
M = 30
Magic octagram
M = 34

육각형 모양

구수략에 나타난 형태

구수략에서는 지수귀문도, 낙서사구도, 중상용구도, 낙서구구도, 후책용구도 등이 등장한다.

지수귀문도

지수귀문도(地數龜文圖)는 벌집 모양으로 배열된 숫자들이 1부터 1개씩 커지면서 각 육각형의 여섯 꼭지점의 숫자의 합이 모두 일치하는 형태를 말한다.

관련 문서

각주

  1. Loly, Peter. "The invariance of the moment of inertia of magic squares", Mathematical Gazette 88, March 2004, 151–153.
  2. 참조 : Wikipedia:Pandiagonal Magic Square
  3. 출처 : Wikipedia:Pandiagonal magic square
  4. 참조 : 동아사이언스 라이브러리, 300년만에 풀린 최석정의 마법진 (1997년 12월호)
Wikipedia-ico-48px.png이 문서에는 영어판 위키백과의 Magic Square 문서 740717847 판을 번역한 내용이 포함되어 있습니다.