결정된 상태의 지수 수가 NFA


10

동등한 NFA에 상태 가있는 상태 가있는 DFA의 예를 작성하려면 어떻게해야합니까 ? 분명히 DFA의 상태 세트에는 NFA 상태 세트의 모든 하위 세트가 포함되어야하지만 시작 방법을 모르겠습니다. 올바른 길로 안내해 줄 제안이 있습니까?2nn


이 질문은 다소 불분명합니다. 일반적으로, 주어진 정규 언어에 대해 상당수의 동등한 DFA가 있으며, 주어진 정규 언어에 대해 상당수의 동등한 NFA가 있습니다. 상태 가 최소 DFA 를 원할 경우 다른 NFA가 동일한 언어를 인식하고 다른 수의 상태를 가질 수 있지만 동일한 최소 DFA에 해당하기 때문에 항상 가능한 것은 아닙니다. 추가로, "최소한"NFA 만 고려하고자한다면, 이것은 좀 더 흥미로워집니다 ...2n
Patrick87

2
Patrick, OP는 최소 DFA가 최소 NFA보다 기하 급수적으로 큰 예를 의미한다고 생각합니다.
Yuval Filmus

@ Patrick87 알고리즘을 찾고 있지 않습니다. 내가 원하는 건 기계의 한 쌍의 예는 다음과 같습니다과 DFA 주와 NFA와 같은 언어를 받아들이는 상태. 2nn
saadtaame

@saadtaame : 사소한 일입니다. DFA를 가져 와서 에 도달하기에 충분한 상태를 추가하십시오 . 흥미로운 예로는 최소 동등한 DFA에 많은 주가있는 경우가 있습니다. 2n
Raphael

1
참고 그 DFA 최소화에 Wikipedia 기사 참조 적절한 예 (당신은 작은 NFA 자신을 파악해야하지만).
Raphael

답변:


18

표준 예는 언어입니다 L 알파벳 이상의 모든 단어 A 크기의 n그것은 하지 않는 모든 다른 문자가 포함되어 있습니다. 수락하는 NFA가 있습니다Ln+1 주 (또는 n 여러 시작 상태를 허용하는 경우 상태) : 먼저 글자를 추측 a 누락 된 다음 ( ϵ-move) 이외의 모든 문자에 대해 자체 루프가있는 허용 상태로 A.

에 대한 모든 DFA L 최소한 요구 2n상태. 이것은 Myhill-Nerode 정리를 사용하여 볼 수 있습니다. 허락하다S1,S2 두 개의 다른 하위 집합이다 A, w(S1),w(S2) 모든 글자를 포함하는 단어 S1,S2각각. 일반성을 잃지 않으면 서aS1S2하자 w=w(Aa). 그때w(S1)wL 동안 w(S2)wL.


10

이것은 68 페이지의 에든버러의 Mark V. Lawson Heriot-Watt University의 "Finite Automata"책의 실습입니다.

허락하다 n1. 언어를 보여줘(0+1)1(0+1)n1 비 결정적 자동 장치로 인식 할 수 있습니다. n+1상태. 이 언어를 인식하는 결정 론적 오토 마톤은 최소한2n상태. 이 예는 비 결정적 오토 마톤에서 해당 결정 론적 오토 마톤으로 전달할 때 상태 수가 기하 급수적으로 증가하는 것을 피할 수 없음을 보여줍니다.


10

난 당신이 의미 추측거야 최적의 DFA가있다2n상태. 어쩌면 이것은 당신을 얻지 못할 수도 있습니다.2n 상태이지만 Ω(2n).

운동 12.6의 Kushilevitz와 Nisan의 "통신 복잡성"에서 :

"일부 상수 [음이 아닌 정수] c, (유한 한) 언어를 고려하십시오 Lc={www{0,1}c}"

이 책은 공동 NFA 인식을 찾을 수 있음을 증명하도록 계속 요청합니다. Lc 사용하는 O(c) 그리고 또한 당신이 더 잘 할 수 없다고 Ω(2c) DFA의 상태입니다.


또한 두 번째 부분의 증거는 통신 복잡성을 "필요"하므로 이는 사용자의 목적에 적합하지 않을 수 있습니다.
Timothy Sun

답변 해주셔서 감사합니다! 공동 NFA의 의미는 무엇입니까?
saadtaame

기본적으로 NFA 정의에서 "거부"로 "수락"을 전환하십시오. 즉, 가능한 경로 중 어느 것도 거부 상태로 이어지지 않으면 수락하고 그렇지 않으면 거부합니다.
Timothy Sun

실제로, 2c하한은 Myhill-Nerode에서 매우 쉽게 따릅니다. (사실, 당신은 같은 것을 얻을 수 있습니다(c+1)2c.) 그러나 나의 공동 NFA는 Θ(c2)상태.
Yuval Filmus

이와 관련하여 유한 한 언어는 다소 지루합니다. 여기도 참조 하십시오 .
Raphael

9

이것은 늦은 답변이지만, 아무도 최적의 솔루션을 제공하지 않은 것 같습니다. 갖다A={a,b}, Qn={0,1,,n1} et An=(Qn,A,En,{0},{0})

En={(i,a,i+1)0in1}{(n1,a,0)}{(i,b,i)1in1}{(i,b,0)1in1}}
2 글자 알파벳의이 NFA는 n 하나의 초기 및 하나의 최종 상태와 이에 상응하는 최소 DFA는 2n 상태.

3
매우 영리한! 이 오토 마톤이 허용하는 언어는(an+aWn1b), 어디 Wn1 문자를 포함하는 모든 단어로 구성 a 많으면 n1타임스.
Yuval Filmus

2
@ yuval-filmus이 예제는 내 것이 아닙니다. 나는 참고를하고 싶었지만, 현재 내가 본 곳을 기억하지 못한다.
J.-E.
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.