는 정규는?


9

몇 주 전에 전산 시험 이론을 택했는데 이것이 질문 중 하나였습니다.

언어={(미디엄)아르 자형,미디엄,아르 자형0}

L은 규칙적인가요? 그렇다면 정규 표현식이나 오토 마톤을 제공하십시오.

시험 후 그에게 답을 간단히 물었을 때, 그것은 실제로 규칙적인 것처럼 보입니다 (그는 표현이 단순하다고 생각합니다 ). 그러나 그 이유를 이해할 수없는 것 같습니다. 내가 보는 방식은 다음과 같이 r 번 연결됩니다 .()미디엄

미디엄미디엄미디엄...미디엄미디엄 ,

오토 마톤이 매번 nm 을 리콜 할 수있는 방법이 없기 때문에 규칙적이지 않습니다 . 여기서 내가 잘못한 곳은?

편집 : 나는 교수에게 다시 이야기했다, 그는 실수라고 인정했다. 언어는 실제로 규칙적이지 않습니다.


14
당신은 언어인지 선생님에게 문의해야합니다 언어와 동일합니다 . 그가 "예"라고 말하면 그의 질문이 잘못 작성되었다고 말해줍니다. LK={an1bm1an2bm2anrbnrr0,a1,,ar0,b1,,br0}
Andrej Bauer

1
그것은 그것이 규칙적 일 수있는 유일한 방법 인 것 같습니다. 사실 이것은 제가 처음에 성급하게 생각하고 실제로 고려한 것입니다. (a b ) * 그러나 n과 m이 동일하게 (또는 있어야합니다.) r = 2에 대한 펌핑 보조 정리는 더 큰 r에 동일하게 적용되었다고 말할 수 있습니다 (아마도 완전한 솔루션은 아니지만 올바른 방향으로 보입니다). 말할 것도없이, 그 질문에 대해 0을 얻었습니다. 나는 그에게 연락을 시도합니다.

나는 당신이 처음에했던 방식으로 질문을 확실히 이해할 것입니다.
Andrej Bauer

언어가 규칙적이지 않다는 것을 보여주는 더 많은 방법 은 여기 를 참조 하십시오 .
Raphael

당신은 또한 lemma 펌핑의 도움으로 같은 것을 증명할 수 있습니다
SAHIL THUKRAL

답변:


10

언어 은 Nerode의 방법을 사용하여 증명할 수있는 것처럼 규칙적이지 않습니다. 대해 다음 단어 를 고려하십시오 . 그런 다음 이지만 경우 입니다. 따라서 대한 모든 자동 장치는 각 을 읽은 후 다른 상태에 있어야하며 , 이는 유한성에 위배됩니다.Lwn=anbnNwn2LnmwnwmLLwn


4

당신의 의견에서 당신은 당신이 인용을 펌핑 보조 정리를 주었다는 것을 암시합니다 아르 자형=2, 동일하게 더 크게 적용됨 아르 자형".

클로저 속성을 적용하여 실제로 공식화 할 수 있습니다. 일반 언어는 교차로에서 닫힙니다. 그래서 만약 규칙적입니다. ={0}효과적으로 설정 r=2m=1.


1
친애하는 독자는, 제발 하지 않는 경우 "빼앗아L 규칙적이지 않다면 LL"여기-그것은 거짓이기 때문에!
Raphael

1
@ 라파엘 맞아. 따라서 올바른 의미는 "LR 규칙적이지 않다면 L", 어디 R규칙적입니다.
Hendrik 1

1
물론이야. 나는 초보자가 "효과적으로 설정 ..."을 읽고 클로저 속성을 사용하지 않고 이것을 적용 할 수 있다고 우려했다.
Raphael

0

언어 : {(a n b m ) r | n, m, r≥0} 은 규칙적 이지 않습니다 . 자동 기계 / 기계가 문자 'a'의 첫 번째 시퀀스를 읽은 다음 문자 'b'를 읽는 동안 문자 'a'를 읽은 횟수를 계산해야하기 때문입니다. 횟수는 그것의 값을 알기 위해 제 1 시퀀스에서 문자 'B'로 표시 Nm이 .

경우 R> 1 다음 다른 동일한 문자 'A'및 글자 'B'의 시퀀스가 기대된다.

오토 마톤 / 기계 않으면 되지 는 첫 번째 순서로 읽어 얼마나 많은 문자 'A'와 문자 'B'를 알고 그것은 또한 않습니다 하지 의 값을 알고 NM을 따라서는 할 수 없는 경우 알려 두 번째부터 마지막까지의 다른 시퀀스는 첫 번째 시퀀스와 동일한 단어입니다.

그러나 단지 기계를 튜링 것은 카운트의 값을 알 수 있다고 알려져 NM을 그래서, 위의 언어를 인식 하지 바로 위의 언어인지 하지 정기적으로하지만, 심지어도 하지 무료 맥락, 즉도 않습니다 하지가 이 언어를 인식하는 푸시 다운 오토마타를 존재 않습니다 하지 그 문맥 자유 문법에서 파생 된 각 단어 위의 언어에 있음을 문맥 자유 문법이 존재한다.

사실 그 때문에 모두 결정적 유한 자동 장치 및 푸시 유한 오토 마톤 수 없습니다 카운트의 값을 알고 NM을 , 튜링 기계는 달리, 그들은 수 없습니다 위의 언어를 인식하고, 따라서 위의 언어가 없는 상황에 맞는 무료 그리고 규칙적 이지 않습니다 .

위의 언어가 규칙적이라는 가정에 반하는 예 :

를 들어 N = 3 m = 5 ∧ ∧ R = 2 , 다음 단어가 상기 언어이다 :

aaabbbbbaaabbbbb

그러나 다음 단어는 언어 가 아닙니다 .

aaabbbbbaaaaabbb는 존재 하지 않기 때문에 n, mr은 다음 과 같습니다.

(a n b m ) r = aaabbbbbaaaaaaaaaabbb : 문자 'a'의 첫 번째 시퀀스를 충족 한 다음 문자 'b'를 충족하려면 n = 3 ∧ m = 5 이고 문자가 2 개의 시퀀스이므로 ' a '와 문자'b ', r = 2 이지만 n = 3 ∧ m = 5 ∧ r = 2 이면 (a n b m ) r = (a 3 b 5 ) 2 = (aaabbbbb) 2 = aaabbbbbaaabbbbb ≠ aaabbbbbaaaaabbb : 접두어가 r = 1의 aaabbbbb와 같지만 접미사가 다르기 때문에 (예 : aaabbbbb ≠ aaaaabbb)

이 언어를 위해 구축 될 수있는 "최고의"결정 론적 유한 오토 마톤은 정규식 (a * b *) *을 인식하는 결정 론적 유한 오토 마톤이지만 , 위의 언어를 인식 하지 못합니다. aaabbbbbaaabbbbb 및 aaabbbbbaaaaabbb는 언어로되어 있으며 aaabbbbbaaabbbbb는 언어로되어 있지만 aaabbbbbaaaaabbb는 언어가 아니기 때문에 사실이 아닙니다 .

푸시 다운 유한 오토 마톤조차도 두 단어가 모두 언어인지 아닌지를 알 수 없으므로 튜링 머신 만 가능합니다.

제 시퀀스에서 튜링 기계 발견 N = 5 ∧ m = 3모순 제 순서는 것을 발견 N = 3 ∧ m = 5 가 두 번째 단어가 있음을 알 수 있으므로, 하지 언어 그러나 첫 단어에는 모순이 없습니다.

두 시퀀스 모두 n = 3 ∧ m = 5를 만족 하므로 Turing 머신은 첫 번째 단어가 언어로되어 있다고 말합니다.

튜링 머신은 테이프에 값을 쓰고 나중에 읽음으로써 nm 의 값을 세고 기억할 수 있습니다.

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