나는 모토 들었습니다 상호 작용 알고리즘보다 더 강력한 에서 피터 웨 그너 . 이 아이디어의 기본은 (고전적인) 튜링 머신이 외부 세계 / 환경과의 통신 (입력 / 출력)과의 상호 작용을 처리 할 수 없다는 것입니다.
어떻게 그렇게 할 수 있습니까? 튜링 머신보다 어떤 것이 더 강력 할 수 있습니까? 이 이야기의 본질은 무엇입니까? 왜 더 잘 알려지지 않았습니까?
나는 모토 들었습니다 상호 작용 알고리즘보다 더 강력한 에서 피터 웨 그너 . 이 아이디어의 기본은 (고전적인) 튜링 머신이 외부 세계 / 환경과의 통신 (입력 / 출력)과의 상호 작용을 처리 할 수 없다는 것입니다.
어떻게 그렇게 할 수 있습니까? 튜링 머신보다 어떤 것이 더 강력 할 수 있습니까? 이 이야기의 본질은 무엇입니까? 왜 더 잘 알려지지 않았습니까?
답변:
튜링 머신은 오라클 테이프를 사용하여 인터랙션을 잘 처리 할 수 있습니다. 작동 방식은 다음과 같습니다. 상호 작용을 처리하는 컴퓨터의 관점에서 작업자의 입력은 단순히 컴퓨터로 전송되는 또 다른 비트 시퀀스입니다. 우리는 모두 게으른 sysadmin이 요청이있을 때 프로그램에 입력을 보내기위한 스크립트를 작성하여 sysadmin이 더 일찍 중단 될 수 있음을 알고 있습니다. 인터랙션 머신은 실제로 콘솔에 실제 운영자가 있는지 또는 입력이 다른 프로그램에서 파이프되는지 여부를 알 수있는 방법이 없습니다.
모든 상호 작용 입력을 미리 준비하는 것은 이론적으로 볼 때 Oracle Turing 머신에서 사용하는 별도의 테이프에 모든 입력을 갖는 것과 동일합니다. 컴퓨터가 일반적으로 조작자에게 상호 작용을 요청할 때마다 기계는 대신 입력 테이프에서 읽습니다. 테이프에서 읽은 내용이 어떤 식 으로든 유효하지 않은 것으로 판단되면 Turing 머신은 해당 입력을 수신 할 때 인터랙션 머신이 수행하는 작업을 정확하게 수행합니다.
Wagner는 오라클 테이프를 사용하여 입력을 코딩하는 능력을 알고 있으므로 소금 한 알로 주석을 달거나 실제로 무엇을 의미하는지 물어봐야합니다. 나는 상호 작용에 대해 생각하는 사람들은 일반적으로 두 가지에 대해 걱정한다고 믿습니다.
"실제"컴퓨터에는 상호 작용이 있지만 Turing에서 정의한 알고리즘에는 없습니다. 오라클 테이프의 입력을 코딩하여이 문제를 해결할 수 있지만 실제 컴퓨터의 작동 방식과 여전히 일치하지는 않습니다. 실제 컴퓨터와 더 밀접하게 일치하는 계산 모델을 연구하는 것이 좋습니다.
일반 컴퓨터에는 데이터를 제공하는 마법의 "오라클"이 제공되지 않기 때문에 Oracle 기반 알고리즘은 일상적인 컴퓨팅에서 종종 고려되지 않습니다. 그러나 실제로 사람을 오라클로 사용할 수도 있습니다. 요청 된 데이터를 이해하는 사람은 알고리즘을 함께 도와 성능을 향상시킬 수도 있습니다. 다시 말해서, 인간은 단순한 임의의 테이프가 아닌 유용한 오라클 테이프를 제공 할 수 있으며, 원칙적으로 이것은 비 오라클 기반의 것에 비해 더 빠르고 강력한 컴퓨팅 방법으로 이어질 수 있습니다. 결국 컴퓨터에 추가 입력으로 임의의 비트가 제공되는 무작위 컴퓨팅에서도 비슷한 일이 발생합니다.
터닝 머신은 계산을 모델링하며 상호 작용 개념이 없습니다. 그런 의미에서 외부 시스템과의 상호 작용을 지원하는 기계는 터닝 기계가 할 수없는 일을 할 수 있습니다. 그러나 수행 계산 사이에서 외부 소스로부터의 입력 비트는 분명 항상 아무것도 할 수 없어, 튜링 기계에 의해 그래서 심지어 "IO 기계"를 모델링 할 수 와 튜링 기계가 할 수없는 것을 외부 입력을.
어떤 의미에서 그러한 기계는 Turing Machines가 결정할 수없는 문제를 "결정"할 수 있지만, 상호 작용하는 시스템이 Super-Turing-Machine의 힘을 가지고 있고 신뢰할 수있는 (어떤 방식 으로든, 확률 적 신뢰성) 충분합니다).
"초기 테이프 입력의 경우 테이프 내용을 인쇄 한 다음 외부 입력에서 기호를 읽습니다. 기호가 1이면 승인하고 그렇지 않으면 거부"와 같은 IO 기계 용 프로그램을 상상해보십시오. 이 프로그램은 문제를 결정할 수 있습니다. 그러나 외부 시스템과 상호 작용할 수있는 경우 에만 문제를 결정할 수 있습니다. 저에게 IO Machine이 Turing Machines가 결정할 수없는 문제를 결정할 수 있다고 말하는 것은 매우 흥미로운 방법이 아닙니다.
테이프의 입력으로 외부 입력과 함께 일부 이전 구성의 인코딩을 취하는 기계를 상상하고, 구성의 인코딩이 포함 된 테이프로 기계를 정지시키는 기계를 상상하여 항상 대화식 계산을 표현할 수 있다고 생각합니다. 출력. 그런 다음 "프로그램 실행"프로세스는 기계적인 방식으로이 Turing Machine을 반복적으로 실행하지만 "비 기계적"부분 만 외부 입력이 제공됩니다. 그러한 시스템이 다른 Turing Machine에 출력을 제공하여 입력을 얻은 경우이를 증명할 수 있다고 확신합니다.유사한 방식으로 작동하도록 설정되면 결합 된 시스템은 단일 Turing Machine과 동일한 계산 능력을 갖습니다. 계산이 상호 작용 하는 시스템이 Turing Machine보다 강력하지 않으면 대화식 계산이 비 대화식 계산보다 강력하지 않다는 설득력있는 주장이 있습니다.
그러나 상호 작용이 컴퓨터의 문제 해결 능력에 추가 될 수 있다는 비 이론적 의미가 있습니다. 컴퓨터가 잘 작동하는 방법을 모른다는 점에서 인간이하는 일이 매우 많습니다. 그러나 우리가 컴퓨터로 할 수 있다는 점에서 인간이 쓰레기로 버리는 많은 것들도 있습니다. 이 두 가지를 결합하면 reCaptcha 와 같은 프로젝트로 이어질 수 있습니다. reCaptcha 는 어려운 경우에 단어를 인간에게 인식하는 문제를 해결함으로써 효과적으로 자동으로 책을 디지털화합니다. 컴퓨터 + 인간 노동의 결과 시스템은 현재 계산 또는 인간 노동으로 달성하기에 비현실적인 결과를 달성합니다.
최근 ACM은 유비 쿼티 심포지엄을 개최했습니다 . 피터 웨 그너 (Peter Wegner)는 대화 형 컴퓨팅에 대한 그의 견해를 반영하는 기사를 발표했습니다.
Peter Wegner의 기사에서 발췌 한 두 가지 내용은 다음과 같습니다.
초기 튜링 머신에서 누락 된 새로운 개념 중 하나는 계산 중 환경과의 상호 작용을 수용하는 "대화식 컴퓨팅"입니다.
상호 작용 시스템은 Turing 시스템보다 강력한 컴퓨팅 형태를 수행 할 수 있으며 Turing이 제안한 종류의 사고를 수행 할 수 있습니다.
그러나 같은 심포지엄에 기사를 가지고있는 Fortnow는 Wegner의 견해에 동의하지 않는 것으로 보이며 대화식 컴퓨팅은 Turing Machines에 대한 추가 전력을 제공하지 않는다고 생각합니다.
믹스에 추가하기 위해 여전히 계산에 대해 토론하고 정의하는 것으로 보입니다. Moshe Vardi는 ACM의 통신, Vol. 2012 년 3 월 55 일
Vardi는 두 가지 새로운 알고리즘 정의에 대해보고합니다. 첫 번째는 Gurevich가 제안하고 두 번째는 Moschovakis가 제안합니다.
구레 비치는 모든 알고리즘을 추상 상태 머신으로 정의 할 수 있다고 주장했다.
반면에 모스 키바 키스는 알고리즘이 리 커서 (recursor)로 정의되었다고 주장했다.
IO가있는 모델이 Turing 머신보다 "강력한"것은 아니라고 생각합니다.
이론적으로 IO를 (잡음) 오라클로 볼 수 있습니다. 완벽한 오라클을 통해 컴퓨터 튜링 계산 기능을 수행 할 수 있습니다. 하지만 오라클을 어디서 구할 수 있습니까? 인간은 유일하게 "슈퍼 투어링"선택이며, 우리는 매우 신뢰할 수없는 것으로 알려져 있습니다.
이 모델에 맞는 일련의 프로그램은 대화 형 증거 지원자입니다 (예 : Isabelle / HOL , Coq ). 결정 불가능한 증거 공간을 처리하지만 적절한 사용자 입력으로 모든 증거를 찾아서 확인할 수 있습니다.
이것을 확인하십시오 :) " Turing의 아이디어와 계산 모델 " https://www.cs.montana.edu/~elser/turing%20papers/Turing%27s%20Ideas%20and%20Models%20of%20Computation.pdf