2017년 1월 31일 화요일

태그 시스템

태그 시스템

태그 시스템(: Tag system)은, 1943년에밀・포스트가 발표한 결정성 계산 모형의 일종이며, 포스트정 준계의 극히 단순한 형식의 것이다.태그 시스템을 추상 기계로 간주했을 경우, 포스트태그 기계(Post Tag Machine, PTM)라고도 부른다.대략적으로 말하면, 무한장의 FIFO 로서의 테이프 장치를 가진 유한 상태 기계이며, 상태 천이마다 테이프의 헤드 위치로부터 기호를 읽어내, 헤드 위치로부터 고정개의 기호를 소거해, 최후미에 기호를 추가한다.

목차

정의

태그 시스템은 세 개 한벌(m, A, P)로 나타내져 각각은 이하의 의미를 가진다.

  • m -정의 정수이며, 삭제수(deletion number)라고 부른다.
  • A -기호군의 유한 알파벳.그 중의 하나가 특별한 정지 기호(halting symbol)이다.A로 구성되는(하늘도 포함한다) 유한의 문자열을 단어(words)라고 부른다.
  • P -생성 규칙군.A에 포함되는 개개의 기호 x에 적용하는 것을 P(x)로 나타낸다(생성한다고도 부른다).정지 기호에의 생성 규칙의 적용(P(H))는 후술 하도록(듯이) 계산에는 아무 의미도 없지만, 편리성이기 때문에 P(H) = H로 여겨진다.

m-태그 시스템이라고 했을 경우, m는 삭제수를 가리킨다.태그 시스템의 정의는 서적에 따라서 다르지만, 여기서의 설명은 Rogozhin의 것에 준하고 있다.

  • 정지 단어(halting word)란, 정지 기호로 시작되는 단어인가, 길이가 m미만의 단어이다.
  • 변환 t(태그 조작이라고도)는, 정지 단어 이외의 단어에 대해 정의되고 있어 단어 S의 좌단의 기호를 x로 했을 때, t(S)와는 S의 좌단으로부터 m개의 기호를 삭제해, 남은 부분의 우측으로 단어 P(x)를 추가한 것이다.
  • 태그 시스템에 있어서의 계산이란, 변환 t를 반복하는 것으로 유한 단어열을 생성하는 것이어, 초기 상태로 어떠한 단어가 주어져 정지 단어가 생성된 시점에서 정지한다.덧붙여 이 정의로는, 유한회의 반복동안에 정지 단어가 생성되지 않는 경우를 계산이라고는 부를 수 없다.

이 정의로 정지 기호를 사용하면, 계산 결과적으로 마지막 단어만을 출력한다.한편, 정지 기호를 사용하지 않으면, 태그 조작의 반복에 의해서 생성된 단어열전체가 출력이 된다.

전형적인 다른 정의로서 정지 기호를 사용하지 않고, m미만의 길이의 단어를 모두 정지 단어로 하는 정의도 있다.또, 포스트가 1943년에 최초로 발표한 정의로는, 공문자열에 대한 봐 정지하게 되어 있었다.

례: 단순한2-태그의 예

정지 기호를 사용한 단순한2-태그 시스템의 예를 이하에 나타낸다.

 2-태그 시스템      알파벳: {a, b, c, H}      생성 규칙:          a  -->  ccbaH          b  -->  cca          c  -->  cc  계산예     초기 단어:  baa                  acca                    caccbaH                      ccbaHcc                        baHcccc                          Hcccccca (정지) 

례: 코랏트 수열의 계산

다음2-태그 시스템(정지 기호를 사용하지 않고, 2 미만의 길이의 단어에 대해 정지)은, C(n) = (n가 짝수라면 n/2아니면(3 n+1)/2)이라고 하는 형식의 코랏트 함수로부터 코랏트 수열을 계산한다(참고 문헌의 De Mol 참조).

이 태그 시스템으로는, 정의 정수 nn개의 a를 반복한 단어(aa...a)로 나타낸다.

 2-태그 시스템      알파벳: {a, b, c}      생성 규칙:          a  -->  bc          b  -->  a          c  -->  aaa  계산예         초기 단어:   aaa <--> n=3                       abc                           cbc                           caaa                             aaaaa <--> 5                               aaabc                                 abcbc                                   cbcbc                                     cbcaaa                                       caaaaaa                                         aaaaaaaa <--> 8                                           aaaaaabc                                             aaaabcbc                                               aabcbcbc                                                 bcbcbcbc                                                   bcbcbca                                                     bcbcaa                                                       bcaaa                                                         aaaa <--> 4                                                           aabc                                                             bcbc                                                               bca                                                                 aa <--> 2                                                                   bc                                                                     a <--> 1                                                                    (정지) 

m-태그 시스템의 튜링 완전성

임의의 m > 1인 m에 대해서, m-태그 시스템의 집합은 튜링 완전하다.즉, 어느 튜링 기계 T에 대해서, T를 시뮬레이트 하는 m-태그 시스템이 반드시 존재한다.특히,2-태그 시스템으로 만능 튜링 기계의 시뮬레이트가 가능하다라고 하는 것이, Wang(1963년)과 Cocke & Minsky(1964년)로 나타나고 있다.

반대로, 어느 튜링 기계로 튜링 완전한 m-태그 시스템의 클래스를 시뮬레이트 할 수 있는 것을 나타내는 것으로, 그것이 만능 튜링 기계인 것을 나타낼 수 있다.예를 들면, Rogozhin(1996년)는2-태그 시스템의 클래스의 만능성을 증명했다.이 때의2-태그 시스템의 알파벳은{a1, ..., an, H}, 생성 규칙은{ananW1, ..., ananWn-1, anan, H}, Wk는 하늘이 아닌 단어이다.그리고 그는, 이 태그 시스템의 클래스를 매우 작은(4 상태, 6 기호)의 튜링 기계로 시뮬레이트 할 수 있는 것을 나타내, 그것이 만능성을 가지는 것을 증명했다.

최초의 태그 시스템의 정의

상술의 정의는, 포스트가 1943년에 발표한 당시의 것과는 다르다.포스트의 정의로는 정지 기호가 없고, 하늘의 단어에 대한 봐 정지하게 되어 있고, 태그 조작 t는 다음 같게 정의되고 있었다.

  • 하늘이 아닌 단어 S의 좌단의 기호를 x로 했을 때, t(S)는 최초로 단P(x)를 S의 오른쪽으로 추가해, 다음에 좌단으로부터 m개의 기호를 삭제한다.기호수가 m개미만이라면, 전기호를 삭제한다.

밑줄을 그은 부분은, m-태그 시스템의 튜링 완전성을 고려한 것이다.

「태그」의 유래

포스트의 1943년의 논문의 각주에 의하면, B. P. Gill이 선두의 m개의 기호를 지우지 않고 남기고 있던 초기의 무렵 시사한 명칭으로, 그 때는 현재 위치를 나타내기 위해서 테이프에 표시를 해 스텝 마다 그 표가 m개만큼 오른쪽으로 이동한다고 하고 있었다.이 때, 표가 문자열의 최후미에 도달했는지의 판정 문제를"problem of tag"이라고 명명했다.이것은, 이른바 술래잡기(영어로 game of tag)가 유래이다.

순환 태그 시스템

태그 시스템을 수정한 순환 태그 시스템(cyclic tag system)이라는 것이 있다.알파벳은 0으로 1만으로부터 되어, 생성 규칙은 단어의 순환 리스트가 되어 있고, 그것을 차례차례 적용해 마지막 단어를 적용하면, 다음은 선두로 돌아온다.좌단의 기호가 1이면, 그 때의 생성 규칙에 나타난 단어를 오른쪽으로 추가해, 0이면 아무것도 추가하지 않는다.어느 쪽의 경우도 좌단의 기호를 1개만 삭제한다.문자열이 비우면 시스템이 정지한다.

 순환 태그 시스템  생성 규칙: (010, 000, 1111)  계산예  초기 단어: 11001      생성 규칙            단어     ----------         --------------        010             11001        000              1001010        1111              001010000        010                01010000        000                 1010000        1111                 010000000        010                   10000000         .                      .         .                      . 

순환 태그 시스템은, Matthew Cook이 스티븐・울프 램아래에서 일하고 있었을 무렵에 고안 해, Cook은 이것을 사용해 룰 110 셀・자동 장치가 만능성을 가지는 것을 나타냈다.그 열쇠가 된 것은, 순환 태그 시스템이 튜링 완전한 태그 시스템의 클래스를 에뮤레이트 할 수 있다고 하는 점이었다.

순환 태그 시스템에 의한 태그 시스템의 에뮬레이션

알파벳{a1, ..., an}와 생성 규칙{P1, ..., Pn}로부터 되는 m-태그 시스템은, m*n개의 순환 리스트(Q1, ..., Qn, -, -, ..., -)의 순환 태그 시스템으로 에뮤레이트 할 수 있다.다만, 리스트의 선두 n개 이외는 공문자열('-'로 나타내 보이고 있다)이다.QkPk에 대응하고 있어, 태그 시스템의 각 기호를 다음 같게 길이 n의 바이너리 문자열로 옮겨놓는 것으로 얻을 수 있다(계산에 임해서는, 초기 단어도 같은 변환이 필요하다).

 a1 = 100...00 a2 = 010...00 . . . an = 000...01 

즉, akk번째의 위치에 1이 있어, 외는 0인 바이너리 문자열에 encode 된다.따라서, 태그 시스템에 있어서의 1행(1 스텝)은, 순환 태그 시스템으로의(m*n) 행으로 에뮤레이트 된다.

이하에 매우 작은 예를 나타낸다.

 2-태그 시스템     생성 규칙: (a --> bb, b --> abH, H --> H)     알파벳 encode: a = 100, b = 010, H = 001      생성 규칙의 encode: (bb = 010 010, abH = 100 010 001, H = 001)  순환 태그 시스템      생성 순환 리스트: (010 010, 100 010 001, 001, -, -, -)  태그 시스템으로의 계산     초기 단어:      ba                     abH                       Hbb (halt)  순환 태그 시스템으로의 계산     초기 단어: 010 100 (=ba)       생성 규칙          단어     ----------       -------------------------------   * 010 010          010 100  (=ba)     100 010 001       10 100     001                0 100 100 010 001     -                    100 100 010 001     -                     00 100 010 001     -                      0 100 010 001   * 010 010                  100 010 001  (=abH)     100 010 001               00 010 001 010 010     001                        0 010 001 010 010     -                            010 001 010 010     -                             10 001 010 010     -                              0 001 010 010   * 010 010                          001 010 010 (=Hbb) 정지의 에뮤레이트     100 010 001                       01 010 010     001                                1 010 010     -                                    010 010 001     ...                                    ... 

6행 일어나('*'가 부여되어 있다)에 순환 태그 시스템은 에뮤레이트 대상의 태그 시스템의 계산의 행에 대응하는 encode 된 내용을 생성하고 있다.이것이 정지의 에뮤레이트에 도달할 때까지 계속 된다.

참고 문헌

  • Cocke, J., and Minsky, M.: "Universality of Tag Systems with P=2", J. Assoc. Comput. Mach. 11, 15-20, 1964.
  • De Mol, L.: "Tag systems and Collatz-like functions", Preprint (Nr. 314), to appear in Theoretical Computer Science.
  • Marvin Minsky 1961, Recursive Unsolvability of Post's Problem of "Tag" and other Topics in Theory of Turing Machines", the Annals of Mathematics, 2nd ser., Vol. 74, No. 3. (Nov., 1961), pp. 437-455. Stable URL: http://links.jstor.org/sici? sici=0003-486 X%2819611%292%3 A74%3 A3%3 C437%3 ARUOPPO%3 E2. 0. CO%3 B2-N.
  • Marvin Minsky, 1967, Computation: Finite and Infinite Machines, Prentice-Hall, Inc. Englewoord Cliffs, N.J., no ISBN, Library of Congress Card Catalog number 67-12342.
  • Post, E.: "Formal reductions of the combinatorial decision problem", American Journal of Mathematics, 65 (2), 197-215 (1943). (Tag systems are introduced on p.203ff.)
  • Rogozhin, Yu.: "Small Universal Turing Machines", Theoret. Comput. Sci. 168, 215-240, 1996.
  • Uspensky, V.A.: "A Post Machine" (in Russian), Moscow, "Nauka", 1979.
  • Wang, H.: "Tag Systems and Lag Systems", Math. Annalen 152, 65-74, 1963.

외부 링크

This article is taken from the Japanese Wikipedia 태그 시스템

This article is distributed by cc-by-sa or GFDL license in accordance with the provisions of Wikipedia.

Wikipedia and Tranpedia does not guarantee the accuracy of this document. See our disclaimer for more information.

In addition, Tranpedia is simply not responsible for any show is only by translating the writings of foreign licenses that are compatible with CC-BY-SA license information.

0 개의 댓글:

댓글 쓰기