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.