DFA에 대한 최소 NFA 계산


17

몇 년 전 DFA (결정 론적)에서 최소 NFA (비결정론 적 유한 오토 마톤)를 계산하는 것은 수십 년 동안 알려져 왔으며 효율적인 알고리즘. 누구든지 알고리즘을 생각해 냈습니까?영형(lg)

빠른 검색을 통해이 논문은 확실히 어려운 문제임을 증명해 주었다. 분명히 알고리즘은 제공되지 않습니다.

[1] 최소 NFA 문제는 어려움 / Tao Jiang 및 B. Ravikumar

CS.SE 사이트에서 DFA-> NFA 최소화 알고리즘과 밀접한 관련이있는 다음과 같은 질문으로이 문제를 상기 시켰습니다. 이 다음 질문은 연구 수준 인 것 같습니다. TCS로 마이그레이션을 제안하고 통계 / 임시 공격을 제안하는 답변을 작성했습니다.

[2] 동등한 DFA가 최대 크기가되는 NFA의 조건은 무엇입니까?


4
인용 한 논문은 PSPACE- 완전성을 보여줍니다. 특히, 문제는 PSPACE에 있으며, 이는 즉시 알고리즘을 제안합니다. 어떤 종류의 알고리즘을 찾고 있습니까? 실용적이고 휴리스틱 한 것들? 실행 시간의 지수에 대한 가장 잘 알려진 경계? 다른 것?
Joshua Grochow

8
실제로 그렇게 드문 일은 아닙니다. 문제가 PSPACE-complete 인 것으로 알려지기 전에는 효율적인 알고리즘을 개발하려는 모든 시도가 실패했기 때문에 거의 발표되지 않았습니다. 문제가 PSPACE-complete 인 것으로 알려진 후에는 아무도 실패 할 것이라는 것을 알고 있기 때문에 효율적인 알고리즘을 개발하려고 시도한 사람이 거의 없었습니다.
Jeffε

4
(1)“수십 년 동안 알려져 왔으며 효율적인 O (n lg n) 알고리즘으로 잘 연구 된 방향”은 무엇을 의미합니까? n 상태의 NFA에 대한 최소 DFA는 n의 크기 지수를 가질 수 있으므로 사소한 출력 인코딩이 필요합니다. (2) 특정 정규 언어에 대한 "최소한"NFA와 같은 것은 없습니다. 최소 DFA의 존재와 이것을 비교하십시오.
이토 쓰요시

1
JEFFE 당신은 좋은 지적을 가지고 있지만 가능한 모든 솔루션을 열거하는 것 외에도 문제 구조를 이용하는 정교한 알고리즘을 가진 많은 Pspace complete 문제가 있다고 확신합니까? 인정, 나는 머리 꼭대기에서 생각할 수 없다. 어쩌면 당신은 할 수 있습니까? 여기에 또 다른 흥미로운 질문이있을 것입니다.
vzn

2
@vzn : 언어 대해 두 가지 비 등방성 2 상태 NFA가 있습니다+
mikero

답변:


25

이것은 실제로 완고하고 잘 연구 된 문제입니다. 긍정적 인 결과에 관해서는 Kameda와 Weiner의 정확한 알고리즘, Polák의 휴리스틱 접근법 및 Geldenhuys et al.의 SAT 솔버를 사용한 최근의 접근법. 생각 나다. 그러나 다른 가능한 접근법 (예 : 근사 알고리즘, 특수한 경우, 덜 강력한 NFA 모델 등)을 배제하는 훨씬 더 부정적인 결과가있는 것 같습니다. 일부 참고 자료는 아래를 참조하십시오.

카메 다와 P. 와이너 비 결정적 유한 오토마타의 상태 최소화. 컴퓨터에서의 IEEE 트랜잭션, C-19 (7) : 617-627, 1970.

멀처. 유한 오토마타를 최소화하는 것은 계산 상 어렵습니다. 이론 컴퓨터 과학 327 : 375-390, 2004.

L. Polák. 범용 오토 마톤을 사용한 NFA 최소화 국제 컴퓨터 과학 재단, 16 (5) : 999-1010, 2005.

G. Gramlich와 G. Schnitger. NFA 및 정규식 최소화 컴퓨터 과학의 이론적 측면에 관한 심포지엄 (STACS 2005), LNCS 3404, pp. 399–411.

H. Gruber와 M. Holzer. P <> NP를 가정하여 비 결정적 상태 및 전이 복잡성의 근사 성. 언어 이론의 발전 (DLT 2007), LNCS 4588, 205–216 페이지.

H. Gruber와 M. Holzer. 유한 언어 및 단항 언어에 대한 NFA 최소화의 계산 복잡성. 언어 및 오토마타 이론 및 응용 (LATA 2007), 261–272 페이지.

H. Björklund와 W. Martens. NFA 최소화를위한 다루기 쉬운 개척. 오토마타, 언어 및 프로그래밍에 관한 국제 콜로키움 (ICALP 2008), LNCS 5126, pp. 27–38.

J. Geldenhuys, B. van der Merwe, L. van Zijl : SAT 솔버로 비 결정적 유한 오토마타 감소. 유한 상태 방법 및 자연어 처리 (FSMNLP 2009), LNCS 6062, 81–92.

편집 (2015 년 6 월 8 일)

업데이트 : 다음 백서에서는 비 결정적 Büchi 오토마타의 크기를 줄이는 휴리스틱 알고리즘과 랜덤 오토마타 실험을 제시합니다. 결론적으로 말하면, 그들의 방법은 NFA에도 적용된다 : "우리는 부치 오토마타의 맥락에서 우리의 방법을 제시했지만, 대부분은 유한 한 단어보다 간단한 오토마타 사례로 이어진다."

로렌조 클레멘테 리차드 메이어 고급 오토마타 최소화. POPL 2013. 확장 된 기술 보고서 ​​EDI-INF-RR-1414.

해당 NFA를 줄이기 위해 "-finite"옵션을 사용하여 명령 줄 도구 Reduce v1.2 를 호출 할 수 있습니다. 구현은 오픈 소스이며 GNU General Public License에 따라 배포됩니다.


3
이러한 킥오프에 대한 오픈 소스 구현이 있는지 알고 있습니까?
jmite

안녕 헤르만, 모든 정보를 주셔서 대단히 감사합니다! NFA가 주어지면 가장 작은 NFA를 찾기가 어렵다는 것을 알고 있습니다. 그러나 다음은 어떻습니까? DFA를 고려할 때 가장 작은 NFA를 찾으십시오. 어려운가요? 얼마나 어렵 니?
Michael Wehar

미안, 지금 봤어! 첫 번째 나열된 종이 주소이 : springerlink.com/content/y61724u571v487x5 또한 또 다른 종이 당신은 유한 정규 언어에 대한 주소이 나열 : hermann-gruber.com/data/lata07-final.pdf이 날 위해 명확하게 주셔서 감사합니다! :)
Michael Wehar 2016 년
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.