Ⅰ. 서론
셀룰라 오토마타(CA)는 Von Neumann[1]에 의하여 스스로 조직화하고 재생산할 수 있는 모델로 처음 소개되었다. 이후 1980년대에 Wolfram[2]은 CA를 셀이라 불리는 메모리의 배열로 소개하고, 셀의 상태가 자기 자신 및 인접한 셀 상태의 국소적인 상호작용에 의해서 동시에 갱신되는 시스템으로 제안하였다. 또한 CA는 간단하고, 규칙적이며, 작은 단위로 확장 연결할 수 있는 구조이기 때문에 하드웨어 구현에 알맞다.
GF(2) 위에서의 CA에 대한 분석은 그동안 많은 연구가 이루어졌으며, 이러한 CA는 폭 넓게 응용되었다. 특히 Cho 등은 GF(2) 위에서 TPMA- CA(Two Predecessor Multiple Attractor Cellular Automata)의 상태전이 그래프를 기본경로를 이용하여 상태전이 그래프를 구성하는 알고리즘을 제안하였다[3,4]. 또한 여원 CA가 비선형이기 때문에 선형 CA에 비하여 분석이 용이하지 못하다. 이러한 문제점을 해결하기 위하여 여원 CA와 선형 CA사이의 관계를 밝힘으로써 선형 TPNCA(Two Predecessor Nongroup Cellular Automata) 에 대응하는 여원 nongroup CA의 상태전이 행동을 분석하였다[5,6].
GF(2) 위에서의 CA는 셀이 한 개의 비트로 이루어져 있으므로 데이터 처리가 비트 단위로 이루어진다. 그러나 GF(2P) 위에서의 CA는 여러 개의 비트가 한 개의 셀을 이룬다. 따라서 바이트 단위 이상의 단위로 데이터 처리가 가능하다. Sikdar 등은 테스트 패턴 생성을 위하여 계층적 구조를 갖는 GF (2P) 위에서의 group CA를 사용하였으며[7], VLSI 회로의 결함을 진단하기 위하여 GF(2P) MACA를 이용하였다[8].
본 논문에서는 GF(2P) 위에서 선형 SACA(Sin- gle Attractor Cellular Automata)를 특성화하고 상태전이 그래프를 효과적으로 구성하는 알고리즘을 제안한다. 또한 선형 SACA에 대응하는 여원 SACA의 상태전이 그래프를 구성하는 알고리즘을 제안한다.
Ⅱ. GF(2p) Cellular Automata
GF(2) CA는 한 셀의 상태가 {0, 1}의 원소이다. 반면 GF(2P) CA는 p개의 기억소자가 한 개의 셀을 이루기 때문에 셀의 상태는 {0, 1, 2. 2P-1} 의 원소이다. 그림 1은 일반적인 GF(2P) CA의 구 조이다.
그림 1. GF(2P) CA의 일반적 구조
GF(2P)는 GF(2)의 확대체로 2P개의 원소로 이루어진다. GF(2P)를 생성하는 다항식을 생성다항식이라 한다. CA의 다음상태를 결정하는 전이행렬은 다음과 같은 삼중 대각행렬로 이루어진다. 이때 wij는 j번째 셀의 현재상태가 i번째 셀의 다음상태에 대한 의존도로써 가중치라 하며 GF(2P)의원소이다.
예를 들어 3 셀 GF(22) CA의 전이행렬이 다음
\(T=\left(\begin{array}{ccccc} w_{11} w_{12} & 0 & \cdots & 0 \\ w_{21} & w_{22} & w_{23} & \cdots & 0 \\ 0 & w_{32} & w_{33} & \cdots & 0 \\ \vdots & \vdots & \vdots & \ddots & \vdots \\ 0 & 0 & 0 & \cdots & w_{n n} \end{array}\right)\)
과 같다고 하자.
\(T=\left(\begin{array}{ccc} 0 & \alpha & 0 \\ \alpha & 0 & \alpha \\ 0 & \alpha^{2} & 1 \end{array}\right)\)
여기서는 GF(22)를 생성하는 생성자이다. 따라서 GF(22)의 원소는 0, 1, a, a2이다. 또한 a는 생성다항식 g(x) = x2 + x + 1의 해가 된다. n셀 GF(2P) CA의 현재 상태 x에 대하여 다음 상태 y는 y= Tx 이다.
생성다항식을 특성다항으로 갖는 행렬 M을 생성행렬이라 한다. 위의 예에서 생성다항식 g(x) = x2 + x + 1의 생성행렬은 \(M=\left(\begin{array}{ll} 1 & 1 \\ 1 & 0 \end{array}\right)\)이다.
n셀 GF(2P) CA의 상태 x는 n개의 GF(2P)의 원소인사로 이루어진 벡터로 표현된다. 유한체 위에서 곱셈과 덧셈을 위해 ai와 Mi의 마지막 열벡터와 대응시킨다. 예에서 a=<10> = 2, a2 = <11> = 3, a3 = l = <01> = l, 0 =<00>= 0이다. 따라서 GF(22)위에서 덧셈과 곱셈은 표 1과 같다.
표 1. GF(22)위에서의 곱셈과 덧셈
Ⅲ. GF(2p) Celkilar Automata
3.1 선형 GF(2p) SAGA
선형 n셀 GF(2P) SAGA C는 nongroup CA로 |T| = 0이다. 상태 0만 유일한 어트랙터(attractor) 로 C의 상태전이 그래프는 깊이가 n인 한 개의 트리로 구성된다. C의 모든 상태의 개수는 2np, 이고, 임의의 도달가능한 상태의 직전자의 수는 2p이다. 다음 정리는 C의 전이행렬 T의 성질을 나타낸다.
<정리 1>선형 n셀 GF(2P) SACA C의 전이 행렬을 T 라 하면 다음을 만족한다.
(1) rank( T) = n-1.
(2) rank(T+ Z) = n.
(3) T의 특성다항식과 최소다항식은 xn이다.
(증명)(1)상태 0의 직전자의 집합은 X I Tx = 0이다. C의 상태전이 그래프에서 상태 0의 직전자의 수는 IxI Tx = 0 I = 2p이어야 하므로 행렬 방정식 Tx= 0 에서 자유변수는 1개이다. 따라서 dimN(T) = 1 이므로 rank( T) =n-1이다.
(2) C 의 상태전이 그래프에서 어트랙터는 상태 0뿐 이므로 {x|Tx = x}= {x|(T+I)x= 0 } = {0} 이다. 따라서 dimN(T+I)= 0 이므로 rank( T + I) =n이다.
(3) C의 상태전이 그래프의 트리의 깊이는 n이므로 모든 상태 y에 대하여 Tny=0이어야 한다. 따라서 Tn = 0 을 만족해야 하므로 T의 최소다항식은 m(x) = xn 이다. 그런데 T의 특성다항식은 n차 다항식이다. 그러므로 T의 최소다항식과 특성 다항식은 모두 xn 이다.
<정리 2>C에서 임의의 도달 가능한 상태의 서로 다른 두 직전자의 합은 상태 0의 0이 아닌 직전자 중의 하나이다.
(증명) 도달 가능한 상태 x의 서로 다른 직전자 y와 z에 대하여 Ty = Tz=rc 이다.
T(y + z)=0 이므로 y + z 는 0의 직전자이다. g ¥ z이므로 y + z≠0 이다. 따라서 y + z 는 0이 아닌 0의 직전자 중 하나이다.
예를 들어 전이행렬이 \(T=\left(\begin{array}{ll} 2 & 2 \\ 2 & 2 \end{array}\right)\)인 2셀 GF(22) CA의 상태 전이그래프는 그림 2와 같다. 그림 2에서 상태<11>의 직전자 중<30>과 <12>의 합은 상태 0의 직전자 중 <22>와 같다.
그림 2. 2셀 GF(22) SACA의 상태전이그래프
C의한 임의의 도달 가능한 상태에서 가장 가까운 순환상태 k로 가는 상태변화를 트리의 경로라 한다. 그림 2에서 03→11→00은 0-트리의 경로 중 하나이다.
<정리 3> C에서 하나의 0-트리의 경로를 알 때 이를 기본경로로 하여 0-트리의 나머지 부분을 기본 경로에 놓인 상태들의 합으로 구성할 수 있다.
(증명) 상태 x가 C의 상태전이 그래프에서 한 도달 불가능한 상태라 하고 x로부터 T를 연속하여 적용한 x→Tx→…→Tn-1x (=0)를 0-트리의 한 기본경로를 얻을 수 있다. Sl,0=Tn-l-1x라 하자. C의 상태전이 그래프에서 레벨 l의 k번째 상태 Sl,k (k = 0, 1, 2, …,n-1) 를 다음과 같이 두자
\(S_{l, k}=\left(b_{l}+1\right) S_{l, 0}+\sum_{i=1}^{l-1} b_{i} S_{i, 0}\)
여기서 bi는 k를 2p진법으로 표현했을 때 각 자리의 수이다. 즉 \(k=b_{l} b_{l-1} \cdots b_{1_{\left(2^{\prime}\right)}}\left(0 \leqq k \leqq\left(2^{p}\right)\right.\left.l-1\left(2^{p}\right)-1\right)\)이다. 그러면 레벨 1 부터 레벨 n까지 상태 수는 다음과 같다.
\(\sum_{l=1}^{n}\left(2^{p}\right)^{l-1}\left(2^{p}-1\right)=\left(2^{p}\right)^{n}-1\)
어트랙터를 포함한 C의 상태전이 그래프의 모든 상태 수는 (2p)n-1+1=2pn으로 r-셀 GF(2P) CA의 모든 상태 수와 같다. 또한 다음이 성립한다.
\(\begin{aligned} T S_{l, k} &=T\left(\left(b_{l}+1\right) S_{l, 0}+\sum_{i=1}^{l-1} b_{i} S_{i, 0}\right) \\ &=\left(b_{l}+1\right) T S_{l, 0}+\sum_{i=1}^{l-1} b_{i} T S_{i, 0} \\ &=\left(b_{l}+1\right) S_{l-1,0}+b_{l-1} S_{l-2,0} \\ &+\cdots+b_{2} S_{1,0}+b_{1} S_{0,0} \end{aligned}\) (1)
식 (1)에서 S0,0=0이고, 상태전이 그래프에서 레벨이 하나 낮아질 때마다 상태의 수는 2P개씩 작아지므로 \(k^{\prime}=\left[\frac{k}{2^{p}}\right]\)라 두면
\(k=b_{l} b_{l-1} \cdots b_{1_{\left(2^{2}\right)}} k^{\prime}=b_{l} b_{l-1} \cdots b_{\left.2^{2}\right)}=b_{l-1}^{\prime} \cdots b_{1_{\left(b^{\prime}\right)}}^{\prime}\)
이 된다. 따라서 식 (1)은 다음과 같다.
\(T S_{l, k}=\left(b_{l-1}^{\prime}+1\right) S_{l-1,0}+\sum_{i=1}^{l-2} b_{i}^{\prime} S_{i, 0}=S_{l-1, k^{\prime}}\)
그림 2에서 03→11→00를 0트리의 기본경로라 하면 레벨 2의 6번째 상태 S2,6 =<23>은 2 <03> + 2 <11> = <23> 을 만족한다.
3.2 여원 GF(2p) SACA
각 셀에 적용되는 상태전이 규칙이 XOR논리와 XNOR 논리의 조합으로 이루어지는 여원 CA의 다음 상태를 나타내는 함수는 \(y=\bar{T} x=T x+F\)이다. 여기서 F를 여원벡터라 한다. 예를 들어 전이행렬 T가 다음과 같은 4- 셀 GF(22) CA를 생각해 보자.
\(T=\left(\begin{array}{llll} 1 & 2 & 0 & 0 \\ 0 & 1 & 3 & 0 \\ 0 & 0 & 1 & 2 \\ 0 & 0 & 0 & 1 \end{array}\right)\)
이때, 여원 벡터를 F=[2 0 3 1]t라 하면 주어진 4-셀 여원 GF(22) CA의 구조는 그림 3과 같다. 현재 상태가 x = [3 1 2 3]t 일 때 , 다음 상태 y는 y=Tx + F에 의해 구한다. 표 1을 이용하여 g를 구하면 다음과 같다.
그림 3. 4-셀 GF(22) 여원 CA의 구조
\(y=\left(\begin{array}{llll} 1 & 2 & 0 & 0 \\ 0 & 1 & 3 & 0 \\ 0 & 0 & 1 & 2 \\ 0 & 0 & 0 & 1 \end{array}\right)\left(\begin{array}{l} 3 \\ 1 \\ 2 \\ 3 \end{array}\right)+\left(\begin{array}{l} 2 \\ 0 \\ 3 \\ 1 \end{array}\right)=\left(\begin{array}{l} 3 \\ 0 \\ 0 \\ 2 \end{array}\right)\)
현재 상태 x에서 k단계 후의 상태는 다음 같다.
\(\bar{T}^{k} x=T^{k} x+\left(T^{k-1}+\cdots+T+I\right) F\)
GF(2p)위에서 선형 n셀 SACA C에서 여원벡터 F가 C의 상태전이 그래프에서 레벨 l 있는 상태라 하면 C에 대응하는 여원 CA 역시 SACA C'가 된다. 여원 벡터의 위치가 선형 SACA의 상태전이 그래프에서 레벨 l에 있을 때, 그래프에서 레벨 l에 있을 때, 여원 SACA C'의 상태전이 그래프는 표 2와 같은 규칙으로 재배열 된다.
표 2. 선형 SACA와 여원 SACA의 상태배열 관계
예를 들어 그림 2의 C에서 여원벡터 F가<30>t 일 때, C에 대응하는 C'은 그림 4와 같다.
그림 4. GF(22) 여원 SACA의 상태전이그래프
<정리 4> C에서 하나의 0-트리의 경로를 알고, 주어진 여원 벡터에 의해 c로부터 유도되는 C'의 기본 경로를 알면 이 두 경로에 의해 C'의 상태전이 그래프를 구성할 수 있다.
(증명) Sn,0→Sn-1,0→…→S0,0(=0)을 C의 기본경로라 하고 \(\overline{S_{n, 0}} \)→\(\overline{S_{n-1,0}}\)→…→\( \bar{S}_{0,0}\)를 C'의 기본경로라 하자. C'의 상태전이 그래프에서 레벨 l의 k번째 상태 \(\bar{S}_{l, k}(k=1,2, \cdots n-1)\)를 다음과 같이 정의하자.
\(\overline{S_{l, k}}=\overline{S_{l-1,0}}+\left(b_{l}+1\right) S_{l, 0}+\sum_{i=1}^{1-1} b_{i} S_{i, 0}\)
여기서 bi 는 k를 2p진법으로 표현했을 때 각 자리의 수이다. 즉 \(k=b_{l} b_{l-1} \cdots b_{1_{(2 \cdot)}} \quad(0 \leqq k \leqq\left.\left(2^{p}\right)^{l-1}\left(2^{p}\right)-1\right)\)이다. 그러면 레벨 1부터 레벨 n까지 상태 수는 다음과 같다.
\(\sum_{l=1}^{n}\left(2^{p}\right)^{l-1}\left(2^{p}-1\right)=\left(2^{p}\right)^{n}-1\)
어트랙터를 포함한 C/의 상태전이 그래프의 모든 상태 수는(2p)n -1+1 = 2pn으로 n-셀 GF(2p) CA의 모든 상태 수와 같다. 또한 다음이 성립한다.
\(\bar{T} \bar{S}_{l, k}\\ \begin{aligned} &=T\left(\bar{S}_{l, k}\right)+F \\ &=T\left(\bar{S}_{l \cdot 1,0}+\left(b_{l}+1\right) S_{l, 0}+\sum_{i=1}^{l-1} b_{i} S_{i, 0}\right)+F \\ &=T \bar{S}_{l-1,0}+F+\left(b_{l}+1\right) S_{l-1,0}+\sum_{i=1}^{l-2} b_{i+1} S_{i, 0} \\ &=\bar{S}_{l-2,0}+\left(b^{\prime}{ }_{l-1}+1\right) S_{l-1,0}+\sum_{i=1}^{l-2} b^{\prime} S_{i, 0} \\ &=\bar{S}_{l \cdot 1, k^{\prime}} \end{aligned} \)
여기서
\(k^{\prime}=\left[\frac{k}{2^{p}}\right]=b_{l} b_{l-1} \cdots b_{2_{\left(2^{\prime}\right)}}=b_{l-1}^{\prime} \cdots b_{1_{\left(2^{2}\right)}^{\prime}}\)
이다.
Ⅳ. GF(2p) SACA 트리구성
정리 3과 정리 4에 의하여 다음과 같은 GF(2p) 위에서 SACA상태전이 그래프 트리구성 알고리즘을 제안한다.
Step 1. 전이행렬 T에 대하여 Tnx = 0이고 Tn-1x≠0인 0-트리의 도달 불가능상태 x를 찾는다.
Step 2. x를 시작으로 하는 0-트리의 기본경로 x(Sn,0)→Tx(Sn-1,0)→…→0를 찾는다.
Step 3. \(S_{l, k}=\left(b_{l}+1\right) S_{l, 0}+\sum_{i=1}^{l-1} b_{i} S_{i, 0}\)에 의하여 0-트리를 구성한다.
/* 여원 SACA 트리 구성*/
Step 4. 여원 SACA의 기본경로를 구한다. 여원 벡터 F가 도달 불가능한 상태면 \(0\left(\bar{S}_{n, 0}\right)\)→\(\bar{T} 0\left(\bar{S}_{n-1,0}\right)\)→…→\(\bar{T}^{n} 0\)가, 여원 벡터 F가 0이 아닌 도달가능한 상태이면 Step 1에서 구한 선형 SACA의 도달불가능한 상태 x에 대해
\(x\left(\bar{S}_{n, 0}\right) \rightarrow \bar{T} x\left(\bar{S}_{n-1,0}\right) \rightarrow \cdots \rightarrow \bar{T}^{n} x\)
가 여원 SACA의 기본경로가 된다.
Step 5. \(\bar{S}_{l, k}=\bar{S}_{l-1,0}+\left(b_{l}+1\right) S_{l, 0}+\sum_{i=1}^{l-1} b_{i} S_{i, 0}\)에 의하여 C'의 트리를 구성한다.
Ⅴ. 결론
본 논문에서는 P개의 기억소자가 한 개의 셀을 이루는 GF(2p) 위에서 0셀 선형 SACA의 특성을 분석하고 선형 SACA로부터 유도되는 여원 SACA 의 상태전이 행동을 분석하였다. 또한 GF(2p) 위에서 선형 SACA의 기본경로와 여원 SACA의 기본 경로를 통하여 SACA의 상태전이 그래프를 구성하는 알고리즘을 제안하였다.
*본 연구는 한국과학재단 목적기초연구지원사업(R0-2003- 000-10663-0)에 의해 수행하였습니다.
References
- J. Von Neumann, 'Theory of self-reproducing automata', University of Illinois Press Urbana, 1966
- S. Wolfram, 'Statistical mechanics of cellular automata', Rev. Modern Physics, Vol. 55, No. 3, 1983
- 조성진 ,최언숙, 김한두, 'GF(2) 상에서 1차원 Linear Nongroup CA 특성에 관한연구', 멀티미디어학회 논문지, 제 4권 1호, pp. 91-94, 2001
- S.J. Cho, U.S. Choi and H.D. Kim, 'Analysis of complemented CA derived from a linear TPMACA', Computers & Mathematics with Applications, Vol. 45, Issues 4-5, pp. 689-698, 2003 https://doi.org/10.1016/S0898-1221(03)00028-2
- S.J. Cho, U.S. Choi and H.D. Kim,' Behavior of complemented CA whose complement vector is acyclic in a linear TPMACA', Mathematical and Computer Modelling, Vol. 36, Issues 9- 10, pp. 979-986, 2002 https://doi.org/10.1016/S0895-7177(02)00251-0
- 조성진, 최언숙, 황윤희, 김한두, 허성훈, '선형 TPNCA로부터 얻어지는 여원 TPNCA의 행동 분석', 멀티미디어학회 논문지, 제 6권 3호, pp. 549-555, 2003
- B.K. Sikdar, P. Majumder, M. Mukherjee, N. Ganguly, D.K. Das and P.P. Chaudhuri, 'Hierarchical Cellular Automata As An On-Chip Test Pattern Generator', VLSI Design, Fourteenth International Conference on 2001, pp. 403-408, 2001
- B.K. Sikdar, N. Ganguly, P. Majumder, P.P. Chaudhuri, 'Design of Multiple Attractor GF(2p) Cellular Automata for Diagnosis of VLSI Circuits', VLSI Design, Fourteenth International Conference on 2001, pp. 454-459, 2001