셀 수없는 Turing 결정 가능한 언어가 있습니까?


17

튜링 결정 가능한 많은 계산 가능한 언어가 있습니다. 셀 수없는 언어가 Turing 결정 가능합니까?


2
가능한 모든 단어의 언어가 셀 수없는 (알 수없는 알파벳 필요) 경우, 그것은 (사소한) Turing 결정 가능한 셀 수없는 언어의 예를 즉시 제공합니다. 그렇지 않은 경우 (즉, 셀 수 있음) 하위 언어도 셀 수 없습니다.
Marc van Leeuwen

답변:


25

유한 한 (또는 셀 수있는) 알파벳 이상의 모든 언어는 셀 수 있습니다. Turing machine 알파벳이 유한하다고 가정하면, 가능한 언어는 셀 수 있습니다.


셀 수없이 무한한 알파벳보다 유한 한 문자열의 모든 언어 집합은 어떻습니까? 셀 수 있습니까? 또한 "무한한 알파벳 이상의 언어는 셀 수 있습니다"에 대한 증거를 생각할 수 없었습니다.
anir

세트도 계산 가능합니다.
Yuval Filmus

이것은 "유한 알파벳 이상의 언어 집합이 셀 수 있음"을 증명합니다. 유한 알파벳으로 인해 동일한 증명 방법을 사용하여 "유한 알파벳보다 셀 수없이 무한한 문자열을 포함하는 언어 집합을 셀 수 있음"을 증명할 수 있다고 생각합니다. 그러나이 접근법이 무한한 알파벳에 어떻게 적용될 수 있는지 상상할 수 없습니다.
anir

거짓이기 때문에 증명할 수 없습니다. 무한 이진 시퀀스의 수는 이미 계산할 수 없습니다.
Yuval Filmus

12

길이가 무한한 단어를 허용하는 경우에만 셀 수없는 언어를 사용할 수 있습니다 (예 : Omega-regular language 참조) . 이 언어들을 ω 라고합니다ω 합니다. 또 다른 예는 모든 실수의 십진 확장을 포함하는 실수의 하위 집합의 언어입니다.

튜링 머신이 언어 를 수용하도록 수정 된 일부 모델이 있습니다 . 이러한 모델 중 일부는 수락을 위해 Buchi 조건을 사용합니다. 입력 시간 전체를 유한 시간 내에 볼 수 없기 때문에 Turing Machine이 수락 상태에 무한히 들어간 경우 입력이 허용됩니다. 입력을 실행하지 않고 분석하여이를 증명할 수 있으면 입력이 승인되었다고 말합니다.ω


1
알파벳을 셀 수있는 이유는 무엇입니까?
leftaroundabout

2
연구되는 모든 모델에는 유한 알파벳이 있습니다. 알파벳이 무한대가되는 경우 (가산 또는 불가) 합리적인 모델을 만들기가 어렵습니다.
Shreesh

@Shreesh 글쎄, 알파벳이 셀 수 없을 경우, 유한 한 수의 상태 사이에 셀 수없는 전환이있는 FSM의 순진한 매핑이 다소 강력 할 수 있습니까?
Yakk

1
사실, 이들은 일종의 확장이며, RE의 클래스 또는 재귀 언어의 언어 클래스를 가질 수 있습니다. 그러나 전혀 공부하지 않으면 잘 연구되지 않습니다. 내 생각에 가장 큰 문제는 기계를 유한하게 표현할 수있는 방법이다. 그런 다음 테이프 셀에 기호를 작성해야합니다. 겸손한 셀조차도 기록되는 테이프 심볼의 설명을 저장하기 위해 무한 메모리가 필요할 수 있습니다.
Shreesh

이것은 훌륭한 설명입니다. 일반적인 수락 / 거부 기준을 사용하더라도 튜링 머신이 결정하고 기술적으로 셀 수없이 많은 문자열을 가질 수있는 언어가 여전히 존재하지만 대부분의 문자가 " 쓸모없는 "언어에.
Owen

5

고전적 계산 성은 유한 알파벳의 유한 문자열에 대한 함수를 설명합니다. 결과적으로 결정 가능 또는 결정 불가능한 모든 언어를 계산할 수 있습니다.

셀 수없는 언어 를 고려하려면 살펴 봐야합니다 무한 문자열 유한 문자열 대신 합니다. (무한한 알파벳을 가진 AFAIK는 그다지 흥미롭지 않으며 현실적인 계산 모델 자체에 해당하지 않습니다.)

무한 문자열을 처리 할 수있는 계산 모델이 있는데,이를 통해 실수와 같은 셀 수없는 도메인의 객체를 나타낼 수 있습니다. 이들은 종종 더 높은 유형의 계산으로 표현됩니다. 튜링 머신을 사용하는 모델 중 하나는 TTE 모델입니다. 이 모델에서 입력은 무한 문자열 일 수 있으며 기계는 원하는 문자열의 모든 항목에 액세스 할 수 있습니다. 기계를 종료 할 필요는 없지만 기계의 출력이 수렴되는지 확인하는 조건이 있습니다.

우리 기계의 입력이 , 즉 알파벳 Σ의 무한 문자열에서 온다고 가정합니다 (예 : Σ = { 0 , 1 }) . 그런 다음 Σ N = 2 N 문자열이 있습니다. 따라서 2 2 N 가능한 언어가 있습니다. TTE Turing 기계의 수는 여전히 계산 가능합니다. 따라서 이러한 언어의 대부분은 결정할 수 없습니다.ΣωΣΣ={0,1}ΣN=2N22N

그러나 여기서 더 흥미로운 점이 있습니다. 기계를 항상 정지 시키려면 입력의 유한 한 초기 부분 만 읽을 수 있습니다. 결과적으로 우리는 다음과 같은 결과를 얻습니다 : 을 항상 (한시적으로) 멈추는 TTE 머신이라고 합시다 . 이어서 프리픽스없는 언어가 L Σ * 및 튜링 기계 N 되도록 임의 대해 X Σ ω , M은 허용 X를 IFF에 N은 초기 수용 부 (X)L이 .MLΣNxΣωMxNxL

간단히 말해서, 항상 정지하는 TTE Turing 기계의 계산은 유한 스트링에서 Turing 기계의 계산에 의해 결정됩니다.


무한 문자열의 결정 가능한 언어와 결정 불가능한 언어의 예를 들어 보겠습니다.

  1. kNkk36

  2. 010

  3. Li=나는나는 반 결정 가능합니다. 즉, 줄이 들어올 때마다 멈추고 받아들이는 기계가 있습니다 문자열이 없을 때는 받아들이지 않습니다 . 그렇지 않은 경우기계가 멈추지 않을 수 있습니다. 반 결정 가능한 언어는 위의 1 항에 나와있는 형식의 열거 가능한 언어 목록을 통합하여 얻을 수 있습니다.

  4. 언어와 그 보완 언어가 반 결정 가능하다면 언어는 결정 가능합니다.

  5. 무한 문자열 0을 포함하는 언어는 결정할 수 없습니다. 이것은 이상하게 보일지 모르지만 다음과 같이보십시오 : 문자열을 읽을 때 정지 할 수 있고 입력이 모두 0으로 구성되어 있다고 말할 때? 읽은 후에 멈 추면케이 0은 기계에서 시작하는 언어를 받아들입니다. 케이0과 1이 모두 뒤 따릅니다. 이 모델에서 문자열에 대한 유일한 액세스는 비트를 요구하는 것입니다.


따라서 TTE가 흥미로운 모델이 아니라고 생각할 수 있습니다. 그러나 TTE 모델을 사용하여 무한 문자열을 계산하는 것은 실제로 매우 흥미 롭습니다. 출력의 유한 부분을 얻으려면 입력의 유한 부분 만 읽을 수 있다는 직관을 기반으로합니다. 즉, 출력에 대한 유한 정보는 입력에 대한 유한 정보량에만 의존합니다. 컴퓨팅에 관심이있는 기능은이 규칙을 따르지만 그렇지 않으면 계산할 수 없습니다. 예를 들어 이진 문자열로 인코딩 된 읽기 숫자와 함수를 고려하십시오.엑스lg엑스. 우리는 숫자의 유한 근사치를 제공합니다엑스 기계에 숫자의 유한 근사값을 반환합니다. lg엑스 우리에게.


약간의 토폴로지를 알고 있으면 이들 중 많은 부분이보다 직관적이됩니다. 여기서 핵심 아이디어는 문자열에 대한 정보 토폴로지를 정의 할 수 있으며 해당 토폴로지와 관련하여 계산 가능한 기능을 계속해야한다는 것입니다. 결과적으로 계산 가능한 총 함수 수에프 해당 공동 도메인은 {0,1} 그만큼 에프1(1)clopen해야합니다. 실수에 대한 다른 현실적인 계산 모델 (부동 소수점뿐만 아니라 실제로 무한 실수)에도이 속성이 있습니다. 당신이 TTE에 관해 읽을만한 좋은 곳이 있다면 Klaus Weihrauch의 저서 " Computable Analysis "입니다. 웹 사이트 에는 Analysis Network의 계산 및 복잡성에 대한 다른 참조도 많이 있습니다 .


1
" 결과적으로 모든 언어는 유한합니다 "-셀 수 있습니까?
Anton Trunov

Trunov 씨는 그렇게 생각합니다.
Jyotirmoy Pramanik

이것은 좋은 게시물이지만 여기에서 묻는 특정 질문과 관련이 있는지는 알 수 없습니다. 질문-응답 쌍을 만들고 싶습니까?
Raphael
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.