정규 표현식 2 개만으로는 표현할 수없는 정규 언어


12

나는 모든 정규 언어가 정규 표현식으로 표현 될 수 있다고 생각했지만 (언어가 정규이면 정규 표현식으로 표현할 수 있음) 그에 대해 정규 작업 (연결, 조합 및 별)을 모두 필요로한다고 들었습니다. 개최합니다.

예를 들어, 통합 및 연결 정규 표현식 작업 (3 중 2 개) 사용할 수 있다면 그 두 언어로는 설명 할 수없는 일반 언어 가 있다고 들었습니다 .

Kleene 스타와 노조와 동일합니다. 이것의 몇 가지 예는 무엇입니까?

답변:


19

결합과 연결 만 있으면 무한한 언어를 설명 할 수 없습니다. 합집합과 연결은 유한 한 문자열 만 생성 할 수 있습니다. 단지 노동 조합과 149) 클린의 별 (Kleene star, 당신은 같은 언어를 기술 할 수 만 표현 생성을 연결 할 수있는 방법이 없기 때문에, 식 생성 만 . 연결 및 Kleene 별만 사용하면 L = { a , b } 와 같은 언어를 설명 할 수 없습니다 .L={ab}abL={a,b}


3
{a,b}

그렇다면 노동 조합없이 L = {a, b}를 설명 할 수없는 이유는 무엇입니까? 별과 연결로 별도의 요소로 표현할 수 없기 때문입니까? ab, bb, aba 등 만 할 수 있습니까?
user3295674

정확합니다.
DylanSp

L = {a *}와 같은 것은 결합과 연결만으로는 불가능할 것입니다. 정말 고맙습니다!
user3295674

연결을 사용할 수 없으면 별이 어떻게 정의되는지 이해조차하지 못합니다.
G. 바흐


4

A(ab)(a(ab)b)(aa)

만약 별을 사용할 수 있지만 중첩 된 별 은 사용할 수 없다면, 모든 정규 언어를 얻을 수 있는지 여부를 아는 것은 (45 년 이상) 열린 문제입니다. 이 질문은 일반화 된 별 높이 문제 로 알려져 있습니다 . 이는 유발 필름 러스 (Yuval Filmus)가 언급 한 별 높이 문제와 유사하지만, 이제 보완이 허용된다는 차이점이 있습니다.

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