NFA의 DFA가 기하 급수적으로 상태를 가질 수 있음을 증명하는 방법은 무엇입니까?


20

모든 비 결정적 유한 오토마타는 동등한 결정적 유한 오토마타로 전환 될 수 있습니다. 그러나 결정 론적 유한 오토마타는 상태에서 가리키는 심볼 당 하나의 화살표 만 허용합니다. 따라서 국가의 상태는 NFA의 국가 권한 그룹의 구성원이어야합니다. 이는 DFA의 상태 수가 NFA의 상태 수에 따라 기하 급수적으로 확장 될 수 있음을 나타냅니다. 그러나 실제로 이것을 증명하는 방법이 궁금합니다.


7
합리적인 질문이며 구성이 명확하지 않지만 여전히 숙제 문제 일 수 있습니다. 따라서 왜 알고 싶어하는지 듣는 것이 도움이 될 것입니다.

여기에 약간의 구조가 있지만 어딘가에 종이에 있어야하는 것처럼 보입니다. 심판을 모른다. 또한 내 머리 위로 NFA가 활성 상태에서 이진으로 계산하고 약 전환 후에 만 수용하는 구조가 있다고 생각합니다 ...? 2n
vzn

답변:


15

NFA를 다른 NFA로 변환하지만 DFA에 대해서는 그렇게하지 않는 한 작업이 취소됩니다 (반대 방향으로 모든 화살표를 가리키고 초기 상태를 수락 상태로 교체). 변환 된 오토 마톤에 의해 인식되는 언어는 역 언어 입니다.LR={un1u0u0un1L}

따라서 한 가지 아이디어는 비대칭 구조의 언어를 찾는 것입니다. 앞으로이 언어는 상태 만 필요한 첫 기호 를 검사하여 인식해야합니다 . 거꾸로 가려면 마지막 상태 의 메모리를 유지 해야하며 상태 가 필요합니다. 여기서 는 알파벳 크기입니다.n + O ( 1 ) n A n + O ( 1 ) Ann+O(1)nAn+O(1)A

우리는 형식의 언어를 찾고 있습니다. 여기서 은 길이 의 단어로 구성 되고 는 알파벳의 하위 집합이며 은 더 이상 제약을 제공하지 않습니다. 우리는 가장 간단한 알파벳 (단일 알파벳은하지 않으며 NFA는 작지 않음)와 . 사소한 는 합니다. 은 와 상관 관계가 합니다 ( 된 언어의 DFA는 의 메모리를 유지해야합니다 ).M N N S M ' = { , B } M ' = * S S = { } M N S S M N = 경우 → NMnSMMnnSMA={a,b}M=ASS={a}MnSSMn=An .

따라서 이라고하자 . 상태 의 간단한 DFA에서 인식됩니다 . n + 2Ln=(a|b)na(a|b)n+2

dfa

역전하면 을 인식하는 NFA가 생성 됩니다.LnR=(a|b)a(a|b)n

nfa

최소 DFA 인식 적어도 갖는 상태. 길이가 모든 단어가 DFA에서 고유 한 상태에 도달해야하기 때문입니다. (즉, 이들은 별개에 속하는 마이 힐 - Nerode 등가 클래스 .) 이것을 증명하기 위해, 두 개의 다른 단어를 가지고 와하자 이들이 다를 위치 될 ( ). 일반성을 잃지 않고 및 라고 가정 . 그런 다음 및 ( 는 2 nLnR 2 n + 1 u,v A n + 1 k u k v k u k =a v k =bu b k L R n v b k L R n b k uvuv L R n u b k v b2n+12n+1u,vAn+1kukvkuk=avk=bubkLnRvbkLnRbku 와 ). 경우 및 인식 DFA에 동일한 상태로 이끄는 다음 그렇게 할 및 하나 받아들이는 상태에 이르게하고, 다른 한 사람 불가능하지 않는다.vuvLnRubkvbk

승인 :이 예는 설명없이 Wikipedia 에서 인용되었습니다 . 이 기사는 내가 읽지 않은 기사에 대한 참조를 제공합니다.
Leiss, Ernst (1981), "부울 오토마타에 의한 정규 언어의 간결한 표현", 이론적 컴퓨터 과학 13 (3) : 323–330, doi : 10.1016 / S0304-3975 (81) 80005-9 .


논리적 답변 : DFA의 상태는 온 오프 팬 스위치와 같은 일부 정보를 저장하기 위해 메모리로 사용되므로 DFA에서 단일 상태로 표현할 수있는 것은 동등한 NFA의 상태 조합 을 사용하여 표현할 수 있습니다 . 이것이 NFA가 동등한 DFA에 비해 상태가 적은 이유입니다. 지금 당신이있는 경우 세트의 상태 다음의 가능한 모든 조합의 집합 이다 전원 집합 입니다 우리의 NFA 역 그렇다면, 해당 DFA로 상태, 다음 DFA는 최대로 구성됩니다 상태. – 말이 되나요? Q Q 2 n n 2 nnQQ2nn2n
Grijesh Chauhan

1
2 n n nn2nnn 2n2n1

흠 ... 당신의 대답을 두 번 읽은 후 "여기서 우리는 한계에 도달하고 싶다" 는 의견을 읽었습니다 . 감사.
Grijesh Chauhan

8

Ln={x1,x2,,xk#xk+1:i{1,,k} with xi=xk+1}

Ln{#,1,,n}

O(n)Lnnii3

Ln2O(n){1,,n}

나는 Sipser의 책에이 예제가 있다고 확신합니다.


Siper의 책에있는 구성은 정확히 2 ^ n 상태의 DFA를 생성합니다. NFA에 상태 세트 Q가있는 경우 DFA의 상태 세트는 NFA 이주가있는 가능한 모든 '병렬'상태를 시뮬레이션하기 위해 Pow (Q)입니다. (질문 범위에 대한 의견을 추가하도록 편집) 이것을 표준 텍스트로 사용하는 것은 지수 수 상태의 가능성을 분명히 보여줍니다. 이것은 연구 수준이 아닌 것 같습니다. 그래도 참조 요청으로 적합 할 수 있습니다.
로건 메이필드

8

nn2n

이 예는 또한 NFA가 보완시 지수 폭발을 일으킬 수 있음을 보여줍니다. 실제로, 알파벳의 모든 기호를 포함하는 모든 단어의 언어에 대한 NFA (또는 문맥이없는 문법) 는 지수 수의 상태를 가져야한다는 것이 알려져 있습니다.


1
σΣ(Σσ)

ΣnO(n2)2n2n

이 예의 요점은 폭발 이 전력 세트 구성 과 정확히 일치한다는 것 입니다. 동일한 폭발을 가진 이진 예제가 있지만 더 복잡합니다.
Yuval Filmus 2016 년

네, 좋은 예입니다.
6005

1
O(nlogn)
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.