모든 교과서에서 정규 표현식이 지정된 DFA를 생성하기 위해 동일한 알고리즘을 사용합니다. 먼저 정규 표현식의 언어를 인식하는 NFA를 만든 다음 하위 집합 ( "powerset") 구성을 사용하여 NFA를 동등한 DFA ( 선택적으로 DFA 최소화). 또한 한 교수가 다른 알고리즘이 있다고 주장하는 것을 들었습니다. 누구나 아는 사람이 있습니까? 아마도 중간 NFA없이 정규식에서 DFA로 직접 이동하는 것입니까?
모든 교과서에서 정규 표현식이 지정된 DFA를 생성하기 위해 동일한 알고리즘을 사용합니다. 먼저 정규 표현식의 언어를 인식하는 NFA를 만든 다음 하위 집합 ( "powerset") 구성을 사용하여 NFA를 동등한 DFA ( 선택적으로 DFA 최소화). 또한 한 교수가 다른 알고리즘이 있다고 주장하는 것을 들었습니다. 누구나 아는 사람이 있습니까? 아마도 중간 NFA없이 정규식에서 DFA로 직접 이동하는 것입니까?
답변:
정규식을 유한 오토마타로 변환하는 다른 알고리즘이 있습니다. 오토 마톤을 생성하는 동안 암시 적으로 서브 세트 구성을 수행하여 다른 오토 마톤을 먼저 구축하지 않고도 정규식에서 DFA로 직접 이동할 수 있습니다. 결정 론적 오토마타를 직접 얻는 또 다른 옵션은 미분법을 사용하는 것입니다.
정규식이 모든 문자열을 포함하는 언어를 나타내는 지 확인하는 것은 PSPACE 완료 문제입니다 (참조는 이 답변 참조). DFA에서 다국어 시간에 해당 언어를 사용할 수 있는지 확인하므로 정규식에서 DFA로 직접 이동하면 어딘가에 폭발이 발생합니다.
문헌에 대한 나의 이해는 우리가 폭발을 현지화 할 수있는 번역을 선택할 수 있다는 것입니다. 즉, 정규식에서 유한 오토 마톤으로가는 방법은 다양하며 선형 또는 다항식 방법이 선호됩니다. 일반적으로 기하 급수적 비용은 오토마타의 결정에 영향을 미칩니다.
DFA를 효율적으로 생성 할 수있는 정규식의 하위 패밀리를 식별하는 작업이 많이있었습니다 . 이 작업 라인은 사용하는 번역에 따라 다릅니다. 즉, 정규식에서 NFA 로의 매핑을 수정하고 DFA에 매핑되는 정규식을 특성화하려고합니다.
정규식에서 오토마타의 표준 구성은 이러한 작업에서 선호되는 구성 이 아닙니다 . 선택한 구성은 정규식의 구조와 매우 유사한 오토마타를 생성합니다. 이러한 구성 은 정규 표현식 의 파생 개념을 사용합니다 .
JA Brzozowski 정규 표현식의 파생물 . 1964 년
정규식 및 유한 오토마타 구조의 부분 유도체 , V. Antimirov. 1995.
오토 마톤 상태를 해당 상태에서 허용 된 모든 문자열의 표현으로 생각하면 (부분) 파생어를 사용하면 정규식을 states 로 처리 할 수 있습니다 . 정규식을 상태가 아닌 오토마타로 직관적으로 처리하는 표준 교과서 구성과 대조하십시오.
정규 표현에서 결정 론적 오토마타에 이르기까지 1986 년 G. Berry and R. Sethi.
정규식과 오토 마톤과 결정론의 상태 사이의 대응은 베리와 세티 (Berry and Sethi)에 의해 명시 적으로 논의되는데, 베리와 세티 (Berry and Sethi)는 브조 조프 스키 (Brzozowski) 유도체의 개념과 동일한 기호의 발생을 구별하여 정규식의 구문 기반 번역을 유한 형식으로 변환하는 아이디어를 결합시킨다. 오토마타.
하나의 명확한 정규 언어 , A. Brüggemann-Klein 및 Derick Wood, 1998.
이 백서는 Brüggemann-Klein의 초기 작업과 다항식 시간에 DFA를 생성하기 위해 파생 상품을 사용할 수있는 사례를 연구합니다. 이 백서에는 많은 양의 작업이 있습니다. 효율적으로 조작 할 수있는 정규식 (일명 DFA에 해당)이 SGML 및 XML 처리에 중요하기 때문에 웹 기술의 관점에서 중요했습니다.
결정 론적 정규 표현의 다른 특별한 경우를 연구하는 많은 연구가있었습니다. 이러한 문제 중 일부를 선형 시간으로 해결할 수있을 때 연구 한 최근 논문은 2012 년입니다.
선형 시간 , Benoit Groz, Sebastian Maneth, Slawomir Staworko의 결정적 정규 표현식 . 2012.