2010-04-11 5 views
4

나는 Computation Theory에 관한 강의에서 몇 가지 메모를 검토 중이며 다음 진술을 보여주기 위해 약간의 노력을 기울이고 있으며 누군가가 나를 도와 줄 수 있기를 바라고 있습니다. 설명 :Theory of Computation - 언어가 규칙적이라는 표시

A는 정규 언어입니다. 언어 B = {ab | a는 A에 존재하고 b는 A에 존재하지 않습니다.} B가 정규 언어 인 이유는 무엇입니까?

몇 가지 사항은 분명합니다. b가 단순히 상수 문자열이면, 이것은 사소한 것입니다. a가 A이고 b가 문자열이라는 것을 알고 있기 때문에 정규 언어는 노동 조합에 의해 닫혀 있으므로이 두 문자열을 허용하는 언어를 결합하는 것은 분명히 규칙적입니다. 그러나 나는 b가 일정하다는 것을 확신하지 못합니다. 어쩌면 그렇 겠지만, 그렇다면 실제로는 문제가되지 않습니다. 나는 그것을 이해하는 데 어려움을 겪고있다. 감사!

답변

6

구조로 증명할 수 있습니다. B를 인식하는 정규 표현식을 제공합니다. 정규 언어의 클래스는 공용체, 연결, 별 및 보완하에 닫힙니다.

+2

+1. 폐쇄 속성은 갈 길입니다. – outis

4

질문에서 ab은 상수 문자열이 아니며 모든 문자열이며, B는 A에있는 문자열의 시작과 A에없는 문자열의 끝을 가진 문자열의 언어입니다. 이제 정규 언어 Ra이 언어 A를 인식하는 정규 표현식이면 "not Ra"정규 표현식과 연결된 Ra이 정규 표현식으로 인식 될 수 있습니다. B는 정규 표현식에 의해 인식 될 수 있기 때문에, 그것은 정규 언어입니다.

편집 : 처음에는 질문에서 B의 정의 끝에서 A 다음에 별을 놓쳤습니다. 이를 설명하기 위해 b을 인식하는 정규 표현식 부분에 별이 포함되도록하십시오.

+4

또는 더 직접적으로 말하면 정규 언어는 보완 및 연결 아래 닫히고 'ab'는 정규 언어와 그 보완을 연결 한 것입니다 . –

0

B는 입력 "b"가 나타날 때 끝나는 언어이기 때문에 일반 언어입니다. 주어진 언어 B에 대한 정규 표현식을 a * b로 쓸 수 있습니다.