유한 단어의 결정 불가능한 유한 언어가 있습니까?


10

거기에 필요 에 대한 LΣ 가 될 무한 결정 불가능한 것으로는?

우리가 언어를 선택하면 내가 무엇을 의미 L의 경계 유한 버전 LΣ 입니다 |L|N , ( NN ,)와 LL . 그것은 가능합니다 L 결정 불가능한 언어로?

"무한한"Kleene 스타 연산의 일종 인 의 첫 번째 요소 가 될 규칙을 설정해야하는N 단어 를 선택하는 방법"이라는 문제 가 있습니다. . 목표는 무한한 세트가 필요없는 결정 불가능한 언어를 찾는 것이지만 볼 수는 없습니다. N L 'L"NL

참고 편집 :

답변을 선택했지만 많은 답변 과 모든 의견 이 중요합니다.


여기에 (적어도) 세 가지 질문이있는 것 같습니다. 하나에 집중하고 다른 것을 편집하십시오.
Raphael

여기에서 관련이없는 전원 세트에 대한 참조를 제거했습니다. P(S) 경우에만, 유한 S 유한하다.
Raphael

@Raphael 괜찮습니다. 때때로 "P ( N ) NP(N) mathmath 에서대한 추측이 없으므로 결정 불가능한 언어가 있어야 하기 때문에 전원 설정에 대해 언급 합니다." 아닌 유한 세트 에서 작동하지 않는 이유를 이해하고 싶습니다. 은 유한하고 이 필요 하지 않기 때문에| L ' | NN N P (S)L|L|NN NP(S)
Hernan_eche

1
내가 아는 한, 결정 불가능한 언어의 존재는 그러한 추측이 존재하지 않는 바로 다음에 나오지 않습니다. 작은 조각이 더 필요합니다. 왜 또 다른 멋진 질문이 될 것입니다! 왜 물어 보지 그래? 그로부터 논쟁이 유한 언어로 넘어 가지 않는 이유를 알 수있을 것입니다.
Raphael

3
유한 한 언어는 이야기의 끝, 기간, 끝입니다. 그것에 대한 많은 알고리즘이 있습니다. 고전적인 튜링 머신 모델을 고집한다면 덜 눈에 띄지 않더라도 그렇게 할 수 있습니다. 유한 상태 오토마타 또는 일반 언어 또는 다른 오토 마톤 모델을 호출 할 필요가 없습니다. 실제로 튜링 머신에 대한 추가적인 명확성없이 과잉입니다.
David Lewis

답변:


15

그렇습니다. 을 결정할 수 없게하려면 무한 해야합니다 .L

라파엘과 샘의 답을 더하기 위해, "결정 가능"을 컴퓨터 프로그램이 해결할 수있는 것으로 생각해야합니다. 필요한 프로그램은 매우 간단합니다. 요소에 대해 "Yes"만 출력하면 됩니다.L

따라서 "복잡한" 이 많을수록 프로그램 작성 시간이 길어집니다. 다른 말로하면, 당신이 실행하는 프로그램이 길수록 더 많은 것들을 확인할 수 있습니다. 그래서 누군가가 되는 언어 을 주면 과 같이 쓸 수 있습니다. 다음 프로그램 :L L = { a 1 , a 2 , , a n }LLL={a1,a2,,an}

if INPUT = $a_1$ output Yes;
if INPUT = $a_2$ output Yes;
...
if INPUT = $a_n$ output Yes;
output No;

이제 어떤 것이 당신에게 더 큰 (아직 유한)을 주면 더 긴 프로그램을 작성하게됩니다. 이것은 항상 사실이며 유한 은 자체 프로그램을 갖습니다. 유일한 "흥미로운"사례는 이 무한 할 때 발생하는 것입니다. 프로그램은 무한 할 수 없습니다 .L LLLL

"결정 불가능 성"문제는 훨씬 더 흥미 롭습니다. (무한대) 은 제대로 작동하는 프로그램이 없습니다. 우리 는 유한 한 (그러나 무한한) 길이의 프로그램의 수보다 더 많은 (무한한) 언어 이 있기 때문에 그러한 언어가 존재해야한다는 것을 알고 있습니다 .LLL


+1 이것은 매우 명확한 대답입니다. 포인트를 넓히고 싶습니다. "일부 5 분의 1이 더 큰 (아직 유한하지 않다면 , 더 긴 프로그램을 작성하게 될 것입니다."라고 말했지만) 반대는 ** 고정 ** 유한 집합의 주어진 프로그램의 , 어떤 당신은 더 이상 프로그램을 작성할 수없는 경우 좀 imputs 생각 YES 밖으로 것, 유한 집합을, 일부는하지 않습니다 . 마찬가지로 다음 imputs 일부 표시 기능에 해당 할 것이다 하지만 * 가장P | P | = K L P ( P ) > K L P LP|P|=KLP(P)>KLP 의지하지! 때문에 가능한 언어 > K2K>K가능한 프로그램이면 결정 불가능한 문제가 발생합니다. 내가 잘못? 왜?
Hernan_eche

1
실제로, 프로그램 크기를 로 제한하면 최대 다른 언어 (무한한가 아닌 최대) 를 올바르게 분류하는 최대 개의 다른 프로그램이 있습니다. 따라서 특정 프로그램 세트 에는 결정 불가능한 언어와 유한 언어가 있습니다. 그러나 이것은 제한된 프로그램 세트만을 고려하기 때문에 약한 진술입니다 (예 : , 가능한 프로그램이 2 개뿐입니다. 물론 많은 것을 할 수 없으며 거의 ​​모든 언어에서 실패합니다 )O ( 2 k ) O ( 2 k ) | P | = 1 L|P|=kO(2k)O(2k)|P|=1L
Ran G.

덕분에, 나는 그 약한 문 알고 있지만,이 유한과 무한 결정 불가능한 언어, 그리고 나는이 특별한 경우가 당신의 대답에 포함되어야합니다 생각할 수있는 것을 대담의 음부는 "예,이 필요 L은 무한에 있으려면이 "결정할 수 없다" 특정 조건 에서는 필요 하지 않은 것 같습니다 .
Hernan_eche

6
정확히. "결정 불가능한"이라는 용어는 표준 튜링 머신에 의해 결정될 수없는 특정 의미를 갖는다. 따라서, 수 undecidable, 해야 무한. 당신이 원하는 것은 다른 용어, 즉 " 의해 결정될 수없는 것"이 ​​아닙니다 . 후자를 unecidable라고 부른다. 그런 다음 유한 가있을 경우 결정 불가능하게 하기 위해 이 무한 할 필요는 없습니다 . 그냥하지 혼동 (또는 오용) 수행 및 -undecidableP P P L P PL undecidablePPPLPundecidableP
란 G.

10

나는 그 질문을 올바르게 이해하고 있는지 확실하지 않지만 모든 유한 한 언어는 규칙적입니다. 결정 불가능한 정규 언어는 없으므로 결정 불가능한 유한 언어는 없습니다. 이 모든 진술은 잘 알려져 있으며 Hopcroft와 Ullman 에서 증거를 찾을 수 있습니다 .


8

언어의 경우 유한, 당신이 수행 할 수있는 테이블 조회 에있는 모든 단어를 포함하는 하드 테이블에 . 이것은 Turing machine으로 작성하기에는 어색하지만, 다른 모델에서는 상당히 분명합니다.L 'LL

사실, 유한 오토마타이면 충분합니다. 다음과 같이 대한 오토 마톤을 구성하십시오 .L

  1. 모든 들어 , 수용 상태의 직쇄 생성 . wwLw
  2. 새로운 초기 상태 작성하십시오 .q0
  3. 연결 으로 1 년에 건설 모든 오토마타의 초기 상태에 -transitions. εq0ε

이렇게 구성된 오토 마톤은 분명히 받아들 입니다. 따라서 은 규칙적이고 계산 가능합니다 ( ).L ' R E GR ELLREGRE

공동 유한 대해 일부 추론이 적용됩니다 . 즉 ; 당신은 단지 요소를 하드 코딩 하지 에 .| ¯ L ' | < L 'L|L¯|<L


2

(계산성에 대해 생각할 목적으로) 모든 흥미를 갖기 위해서는 결정 문제가 무한히 많은 "예"답변과 무한히 많은 "아니오"답변을 가져야합니다. 이러한 결정 문제는 알파벳보다 많은 문자열을 포함하는 언어에 해당하며 알파벳보다 많은 문자열을 제외합니다.

다른 것들은 유한 한 양의 정보로만 인코딩 될 수 있으므로 (언제나 언어가 아닌 많은 문자열 목록) 간단한 DFA / 정규 표현식으로 계산할 수 있습니다. 유한 한 문자열 목록에 대해 단순히 모든 문자열을 OR하는 정규식을 즉시 작성할 수 있음을 분명히해야합니다.

나의 계산 이론 강사의 witticism은 "하나님이 존재 하는가"라는 문제였습니다. 계산 가능-즉시 수락하는 기계 또는 즉시 거부하는 기계에 의해 계산됩니다. 우리는 단지 어느 것을 모른다!

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.