언어 사양으로 DFA가 있더라도 정규 표현식의 크기를 최소화하는 것은 PSPACE- 완전한 것으로 알려져 있습니다 .
언어가 유한하면 결과는 무엇입니까?
두 가지 모델에서이 문제를 고려할 수 있습니다.
- 입력은 언어의 모든 문자열이며 모든 문자열의 길이의 합으로 입력 크기를 측정합니다.
- 입력은 DFA이며 DFA 상태 수에 따라 입력 크기를 측정합니다.
Kleene 별은 유한 경우에 유용하지 않으므로 ,그리고 (연결)은 표현에 사용됩니다. 물론 정규 표현식의 길이는 임의적입니다. 대신 각 작업에 가중치를 부여하고 (괄호 추가 포함) 정규 표현식의 가중치를 최소화하도록 요청할 수 있습니다.
편집 : adrianN이 지적했듯이 문법 기반 코드와 관련이 있습니다. 유한 세트를 설명하기 위해 최소 길이 컨텍스트 프리 문법을 생성하는 것은 NP-complete입니다. 최소 크기 컨텍스트 자유 문법이 최소 크기 정규식에 대해 많은 것을 암시 할 수있는 이유는 분명하지 않습니다. 영리한 재 작성 규칙이이 두 가지를 연관시킬 수 있으며 첫 번째 모델에서 문제가 NP에 있음을 증명할 수 있습니다.