본문 바로가기

생명의 철학

랜덤 불리언 네트워크(2) (2002.10)

 

 랜덤 불리언 네트워크(2)

Phase Portrait Maps

 

 

 우리는 앞서 요소수 9개의 랜덤 불리언 네트워크에 대해서 알아보았다. 끌개가 만들어지는 과정, 그것이 상태공간 속에서 진행되는 방식 등을 살펴 보았다. 여기서는 그에 이어 어떤 불리안 네트워크속에 만들어지는 끌개들을 전부 조사하고 그것들을 표시하는 소프트웨어인 Phase Portrait Maps을 소개하고자 한다. (이 소프트웨어는 앞서 소개한 Attractor Maps와 같은 꾸러미속에 들어 있다.)

이것은 앞서와 같이 3×3 의 9개로 된 네트워크이다. 이 네트워크는 임의로 연결되고(연결의 수는 2로 고정되어 있다.) 각 요소(게이트)에는 진리조건이 부여되는데 이것은 사용자가 지정할 수도 있고 임의로 부여할 수도 있다. 여기까지는 앞서의 "랜덤불리언 네트워크"와 같다. 자세한 것은 그 글을 참조하면 되겠다.

 

그림 1  요소수 9의 XOR게이트의 네트워크가 만들어내는 끌개.

 

위 화면은 XOR(둘다 1이거나 0이면 0이고 그 외에는 1이다) 조건을 지정한 다음 나온 결과이다. 우측에 있는 카드는 도대체 무엇을 의미하는 것일까? 그것을 헤아려 보라. 32×16 = 512개의 카드가 있을 것이다. 9개의 게이트에 0 또는 1의 값을 준다면 가능한 네트워크의 상태는 몇가지일까? 9개 게이트 각각에 0 또는 1이 주어질 수 있으므로 가능한 상태의 수는 2×2×2×2×2×2×2×2×2 = 2^9 = 512 이다. 각각의 카드는 512가지의 각각 상이한 배열상태(초기상태) 각각이 만들어내는 끌개들에 대한 정보를 담고 있다.

각각의 카드에 어떤 초기배열이 주어졌는지를 알려면 상단과 좌측의 작대기로 표시된 기호를 읽으면 된다. 검은색 작대기는 0 그 외 다른색은 1로 읽으면 된다. 읽는 순서는 상단에서 하단으로 읽고 다음 좌단에서 우단으로 읽는다. 읽은 순서대로 뒤에서 앞으로 숫자를 적어나가면 된다. 먼저 첫 행을 읽고 다음 행으로 넘어간다. 이 규칙에 따라 읽어보면 다음과 같다.

 

그림 2 그림1의 상단의 2진코드의 확대

 

 

000000000

000000001

000000010

.

.

000011111

 

다음 행으로 넘어간다.

 

000100000

000100001

000100010

.

.

000111111

 

다음 행으로 넘어간다.

 

001000000

 

이 규칙에 따른다면 어떤 임의의 카드에 대해서도 그것의 초기배열을 읽어낼 수 있을 것이다.

 

이 Phase Portrait Maps는 512개의 초기상태들을 하나하나 실행시키면서 각 상태에서 출현하는 끌개들을 조사한다.  그 조사결과가 위의 화면의 좌측에 계속 업데이트되고 우측에는 각 초기상태에서 만들어지는 끌개의 길이와 상태들이 분석되어 표시된다. 분석이 끝나면 512개의 칼러 카드가 화면을 채운다.

.

.

그림 3 끌개의 길이와 내부상태의 코드화

 

이 카드의 의미를 알아보기 위해 위의 그림3을 보자. 박스 안에 박스가 있다. 바깥 박스의 내부의 색은 끌개의 길이를 표시하는 코드이다. a는 아래 색채표를 보면 1에 해당하는 색이다. 따라서 이것은 주기1의 끌개이다. b의 바깥 박스는 두 층으로 되어 있다. 위층은 10단위를 아래층은 1단위를 나타낸다. 따라서 색채표에 따라 읽으면 6과 3 즉 63이다. 끌개의 길이가 63이라는 의미이다. c는 126의 길이를 갖는 끌개이다. c의 둘레에 흰선이 둘러쳐져 있다. 그림1을 보면 이런 것이 6개가 있을 것이다.

끌개를 흰선으로 표시한다. 그 다음에 같은 종류의 끌개가 나오면 그냥 두고 새 종류의 끌개가 나오면 그것을 다시 흰선으로 둘러친다. 분석이 완료된 다음 흰선으로 둘러친 것을 헤아리면 이 특정 네트워크에서 생겨나는 끌개의 총수를 알 수 있을 것이다. 총수는 좌측 메뉴판에도 표기되는데 그림1을 보면 Attractors found가 6으로 되어 있다. 우측에 흰선으로 둘러친 카드수를 헤아리면 그것이 6이라는 것을 확인할 수 있을 것이다.

다음 카드에 안쪽 박스가 있다. 이것은 끌개가 만들어지는 최소상태(minnium states)를 표시한 것이다. a는 색채표를 보면 0이다. 초기상태 000000000에 XOR게이트에서의 다음 상태는 000000000이다. b는  63개의 상태를 순환하는데 그 가운데 가장 작은 상태가 1 즉 000000001이라는 것을 의미한다. c는 색채표에 따라 읽으면 036인데 126개의 상태를 순환하는 이 장주기 끌개에서 가장 작은 상태가 36 즉 000100100이라는 것을 의미한다.

이 끌개의 초기상태는 그림1을 보면 제일 상단의 5번째이다. 앞서 설명한 요령으로 읽으면 000000100 이다. 2진 코드로 바꿔 주어도 같은 결과를 얻을 수 있는데 5번째이지만 0에서 시작하므로 4번째이다. 이 4를 이진법으로 바꾸면 000000100이 된다.

지금까지 랜덤불리안 네트워크에서 소개한 Attract Maps를 보완하기 위해서 끌개의 상태와 길이를 분석해주는 틀로서 Phase Portrait Maps을 소개했다.