셀 수없는 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. k∈Nkk36

  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.