규칙 110 튜링은 어떻게 완료됩니까?


19

셀룰러 오토마타에서 규칙 110 에 대한 Wikipedia 페이지를 읽었으며 그 규칙 이 어떻게 작동하는지 알고 있습니다 (규칙 집합이 다음 1 또는 0을 그릴 위치를 결정합니다).

방금 튜링이 완료되었다는 것을 읽었지만 '룰 110'에서 어떻게 '프로그램'하겠습니까?


실제로는 규칙 101이 아니라 규칙 110입니다. 증명은 위키 백과 페이지에 설명되어 있지만 텍스트가 어떻게 증명과 연결되는지는 명백합니다.

@WolfgangBangerth 고마워요, 고쳤습니다. 프로그램에 대한 증거 / 방법이 있다면, 그것을 발견하기에 충분하지 않습니다. 죄송합니다.
Pureferret

1
어떻게 든 간단한 프로그램을이 오토마타로 변환하는 스크립트가 있고 그것을 실행하는 "시뮬레이터"가 있다면 같은 질문이 나에게도 일어났다.

2
훌륭한 질문입니다. 세부 사항은 복잡하고 과학 논문에 포함되어 있습니다. 스케치 및 일부 참조에 대해서는 규칙 110의 초기 조건 인 tcs.SE를 참조하십시오 . 기본적으로 TM을 "태그 시스템"(TM 완료라고 알려진)으로 변환하거나 컴파일 한 다음 "태그 시스템"을 규칙 110으로 컴파일하는 방법이 있습니다. ppl을 실험 해보고 (그리고 새로운 통찰력 / 발견으로 이어질) 불행히도, 아무도 존재하지 않는 것으로 보이거나 저자가 코드를 게시하지 않습니다.
vzn

1
밀접하게 관련된 2D 셀룰러 오토마타 및 1D 사례에 대한 직관에 대해 연구 할 수 있습니다. 콘웨이의 "삶의 게임"이 튜링이 완료되었다는 증거로 인해 70 년대부터 알려졌다. 최신 / 그래픽 버전 은 Game of Life의 Paul Rendell TM 시뮬레이터를 참조하십시오 .
vzn

답변:


11

보편성은 다소 비공식적 인 개념입니다. 대략적으로 의미하는 것은 계산 가능한 각 함수 에 대해 모델에 "프로그램" 가 있으므로 모든 입력 에서 "실행" 가 항상 "중지"되고 정답이 "출력" 된다는 것입니다. 튜링 머신은 여기에 나타나지 않습니다. 범용 계산 모델의 한 예일뿐입니다.P P xfPPx

인용 된 단어는 정의해야하는 단어입니다. 튜링 기계의 경우 :

  • 프로그램 상태 테이프 알파벳, 초기 상태, 최종 상태 및 천이리스트로서 특정된다.
  • 실행 튜링 기계 입력에 우리의 부호화와 테이프 초기화한다는 수단 상기 컴퓨터 실행 일반적인 규칙에 따라,이 테이프.x x TT xxT
  • 튜링 머신 이 최종 상태에 도달하면 정지 합니다. (여기에는 변형이 있습니다.)
  • 튜링 머신에서 출력 되는 내용 (정지 된 경우)은 테이프의 내용입니다.

계산 모델 인 규칙 110도 같은 방식으로 공식적으로 정의해야합니다. 다음과 같은 의미에서 계산 모델을 계산 가능하게 시뮬레이션 할 수 있으면 정의가 합리적 입니다. 모든 프로그램 와 입력 (모두 자연수로 인코딩 됨)에 대해 iff 중지 하도록 계산 가능한 함수 가 있습니다. 에 정지하고 및 경우 정지하고 그 다음, 그 출력이 출력 동일 에 .P x S ( P , x ) P x S ( p , x ) P xSPxS(P,x)PxS(p,x)Px

컴퓨팅 시스템으로서 Rule 110의 특정 설정에 대해 궁금한 경우 Rule 110 (또는 Rule 110을 중심으로 구축 된 컴퓨팅 시스템)의 보편성을 입증하는 Matthew Cook의 논문 을 살펴 보는 것이 좋습니다 .

규칙 30 및 규칙 90과 같은 다른 규칙은 보편적이지 않다는 것을 모릅니다. 그들 주위에 설득력있는 컴퓨팅 시스템이 있을지도 모르지만, 우리는 전혀 알지 못합니다.


3
모두 사실이지만 규칙 110에는 중지 방법이 없습니다. 계산 만 할 수는 있지만 중지 할 수는 없습니다.
Pavel

@Pavel Turing-Complete
MilkyWay90

8

마태의 증거에서 :

여기에서 취한 접근 방식은 새로운 셀룰러 오토 마톤을 설계하는 것이 아니라 자연스럽게 복잡한 동작을 나타내는 가장 간단한 것을 취하고, 복잡한 동작 내에서 원하는 것을 수행 할 수있는 방법을 찾을 수 있는지 확인하는 것입니다. 우리는 위에서 주어진 룩업 테이블에 직접 관심을 가지지 않고, 시간이 지남에 따라 오토 마톤의 행동에 의해 자연스럽게 나타나는 행동을 살펴볼 것입니다.

저자는 먼저 각 단계에서 2 개의 심볼을 제거하는 "태그 시스템"이 2- 상태 터링 머신 프로그램을 컴파일함으로써 보편적이라는 것을 증명함으로써 시작합니다. 그 후, 글라이더 시스템이 실제로 태그 시스템을 구현할 수 있음을 증명합니다. 단계별 프로세스입니다. 그런 다음 그는 글라이더를 찾아 글라이더 시스템에 올바르게 연결하기 위해 CA-110의 시공간 시간을 연구합니다.

이제 질문에 대해 : '규칙 110'에서 어떻게 '프로그램'하시겠습니까?

  1. 가장 간단한 2 상태 튜링 기계를 찾고 기본 작업 OR, AND, XOR, NOT 의 테이프를 찾으십시오 .

  2. 태그 시스템으로 컴파일하십시오.

  3. 태그 시스템의 구현을 글라이더 구현으로 컴파일하십시오.

  4. CA-110 글라이더에 올바르게 적용하면 셀룰러 오토마타에서 기본 작업을 수행 할 수 있습니다.

1-4 단계는 한 번만 수행됩니다. 여기에서 를 계산하면 논리 게이트를 사용하여 합계 수를 줄입니다.1+1=2

따로 메모. 글라이더는 매우 특별한 구조입니다. 작업은 입자 이동 및 충돌 (글라이더)로 표시되어이 글라이더의 시작 또는 충돌 방식에 따라 다른 출력을 생성합니다.


따라서 두 개의 글라이더가 +를 '인코딩'할 수 있으며 충돌 할 때 2를 얻습니까?
Pureferret

3
보다 정확하게는, 한 쌍의 글라이더가 OR, AND, XOR 또는 NOT을 인코딩 할 수 있다고 가정하면, 다수의 글라이더 쌍은 '+'를 인코딩 할 것이다. 또한 숫자는 일련의 비트로 표시 될 것이며 각 비트 쌍의 논리 게이트를 사용하여 합이 수행 될 것입니다.
labotsirc

3
경고, 기타 이유로 CS 커뮤니티에서 규칙 110 TM 완전성 증명에 대한 논란이 있습니다. 그 중 하나는 CA의 입력 조건에 무한주기적인 (그러나 반복적 인) 패턴이 필요하다는 것입니다.
vzn

1
나는 논쟁에 대해 당신과 동의합니다. 개인적으로 나는 공식적인 수단으로 이론적 해결책을 거부하거나 CA-110을 튜링 머신으로 작동하는 수퍼 셋으로 받아 들일 관점에서 무엇을 생각 해야할지 모르겠습니다 (CA는 동적 시스템으로 작동하는 계산 공간이며 그 작업과 병행하여 진행중인 합성 우주를 대표하는지 궁금합니다.)
labotsirc

나는 실제 공간과 시간 제약을 무시하는 팬이 아닙니다. Wikipedia셀룰러 오토 마톤 규칙 110의 P- 완전성을 인용하며 , Neary and Woods는 2- 태그 시스템 사용을 피함으로써 지수 시간 오버 헤드를 피했다고 설명합니다. 그러나 같은 해 말 (2006 년)에 니 어리와 우즈 (Neary and Woods) 는 2- 태그 시스템조차도 튜링 머신을 시뮬레이션하기 위해 기하 급수적으로 시간이 걸리지 않음을 보여 주었다 .
Thomas Klimpel
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.