주목할만한 정규 표현 오토마타의 분류


10

특정 도메인에서 복잡도 속성에 대한 경험적 테스트를 수행하기 위해 정규 표현식을 오토마타로 변환하는 알고리즘 분류법을 작성하려고합니다.

나는 몇 가지 '더 큰'이름을 알고 있습니다.


톰슨

"정규 표현식 검색 알고리즘", 1968 년 톰슨

글루시 코프

"정규 표현식을 오토 마톤으로 변환하는 새로운 이차 알고리즘", Ponty 등. 알, 1996

안티 미 로프

"정규 표현과 유한 오토마타 구조의 부분 파생물", Antimirov, 1996

따르다

"Automata 따르기", Ilie 등 al, 2003;

"표현식의 오토 마톤 계산", Champarnaud, et. 알, 2002

흐 롬코 비치

"정규 표현식을 작은 e-free 비 결정적 유한 오토마타로 번역", Hromkovic, et. 알, 2001


그리고 엡실론 프리, 결정 성, 크기, 최소화 등의 구별되는 속성이지만 철저한 목록이 아니라는 것을 알고 있습니다.

특히 위에 나열된 것과 상당히 다른 시간 복잡도 및 / 또는 상당히 다른 토폴로지를 제공하는 알고리즘에 관심이 있습니다.

다른 사람들을 알고 있다면 구성 알고리즘 을 자세히 설명하는 논문에 대한 링크를 대단히 높이 평가할 것입니다.

편집 : 요청에 따라 몇 가지 참조가 추가되었습니다.


@Radu GRIGore 몇 가지 참조를 추가했습니다. 이것들은 내가 오토마타에 대해 내가 아는 가장 좋은 참고 자료이지만 다른 것들도 있습니다.
s8soj3o289

1
Glushkov의 경우 일반적으로 J. Berstel과 J.-E입니다. 핀, "현지 언어와 Berry–Sethi 알고리즘",
Sylvain

1
그건 그렇고, Vaucanson C ++ 라이브러리에서 이러한 알고리즘의 구현에 대한 참조를 위해 이러한 알고리즘의 일부 구현을 찾을 수 있습니다. trac.lrde.org/vaucanson/browser/include/vaucanson/algorithms는 (여기서 standard_of = Glushkov, thompson_of = 톰슨 derived_term_automaton = Antimirov, 브조 조프 스키 = 브조 조프 스키)
의 Michaël Cadilhac

@ michael-cadilhac 포인터 감사합니다. 다른 사람들을 직접 구현하기 전에 이것에 대해 알고 싶습니다! 나는 확실히 살펴볼 것이다.
s8soj3o289

답변:


7

Watson (Tech. Rep. Univ. Eindhoven 1995)은 유한 오토마타 구성 알고리즘의 분류를 작성했습니다. 몇 가지 더 최근의 개발이 아래에 있습니다.

입실론 전이를 갖는 NFA의 경우, Sippu / Soisalon-Soininen (Springer, 1998)의 파싱 이론 서적에는 톰슨 구성의 변형이 포함되어 있습니다. Ilie와 Yu (I & C 2003)와 Gulan과 Fernau (FSTTCS 2008)는 고전적인 구조의 세련된 버전을 제공합니다. 정규식에 해당하는 엡실론 -NFA의 최소 요구 크기는 Gruber and Gulan (LATA 2010)에 의해 더 연구됩니다. 톰슨의 건설로 인한 기본 그래프의 구조는 Giammarresi, Ponty, Wood & Ziadi (Discr. Appl. Math 2004) 및 Gulan (Tech. Rep. Univ. Trier, 2010)에 의해 연구되었습니다.

엡실론 프리 NFA에 관해서는 Berry & Sethi (TCS 1986)와 Brüggemann-Klein (TCS 1993)의 초기 작업에 대해 언급하고 싶지만 Watson의 분류법에 의해 다룰 것입니다.

n2O(logn)

참고 사항 : 정규 표현식 일치를위한 빠른 알고리즘과 관련하여 Bille and Thorup (ICALP 2009, SODA 2010)의 최근 작업을 알고 있습니다. 그들은 고전적인 톰슨 구성을 사용합니다 (물론 속도를 얻는 데 많은 트릭이 있습니다).


1
이것은 훌륭한 답변입니다. 대단히 감사합니다. 나는 당신이 최근에 주제에 관한 책을 출판 한 것을 본다. 모든 형태의 온라인으로 제공되며 b. 특정 도메인에 대한 '평균 사례'복잡성을 검토 한 적이 있습니까? nlp에 대한 응용에 주로 관심을 갖고 있지만 일부 일화 적 증거는 이러한 알고리즘 중 일부의 평균 대소 복잡성이 cs 문헌에 설명 된 최악의 시나리오와 크게 다르다는 것을 시사합니다.
s8soj3o289

또한 답을 선택할 때 에티켓이 무엇을 지시하는지 잘 모르겠습니다. 귀하의 답변은 이전에 선택한 답변보다 분명히 우수합니다.
s8soj3o289

이 책의 티저 만 온라인으로 무료로 제공됩니다.
헤르만 그루버

평균 사례 상태 복잡성과 관련하여 M. Holzer (TCS 2007)의 유한 언어에 대한 평균 NFA 크기에 대한 논문도 있습니다. 그러나 대부분의 관련은 Gickov automata에 관한 Nicaud의 작업 인 것으로 보인다 (LATA 2009). Nicaud, Pivoteau & Razet (FSTTCS 2010)의 흥미로운 제목을 가진 다음 논문도 있습니다-아직 볼 수 없었습니다.
헤르만 그루버

Gouveia, Moreira & Reis (CiE 2010)는 RE에서 NFA 로의 전환 실험을 실시합니다. Broda, Machiavelo, Moreira & Reis (DLT 2010)는 평균 상태 (Glushkov) 오토마타와 방정식 (Antimirov) 오토마타의 수를 비교합니다. 이것 또한 흥미로울 수 있습니다.
헤르만 그루버

5

목록에서 고려하지 않은 것 중 하나 는 ACM 1964의 저널 인 Janusz Brzozowski 의 정규 표현 파생물이며 , 최근에 Scott Owens, John Reppy 및 Aaron Turon이 재검토 한 정규 표현 파생물에서 다시 검토되었습니다. 정규식에 대한 확장 된 표기법에 대한 기술의 실제 구현을 제공하는 Journal of Functional Programming (2009), 19 : 173-190 .


2
Antimirov는 Brzozowski의 비 결정적 변형입니다.
Sylvain

그 이름은 확실히 친숙하게 들렸다.
Dave Clarke

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