DFA에서 크기가


19

문제는 간단하고 직접적입니다. 고정 , 크기 n (즉, n 상태) 의 DFA에서 몇 개의 (다른) 언어를 사용할 수 있습니까? 나는 이것을 공식적으로 진술 할 것이다 :nnn

DFA를 로 정의하십시오. 여기서 모든 것이 평소와 같으며 δ : Q × Σ Q 는 (부분적으로) 함수입니다. 때로는 총 함수 만 유효한 것으로 간주되므로이를 설정해야합니다.(Q,Σ,δ,q0,F)δ:Q×ΣQ

모든 에 대해 모든 DFA 세트 에서 (등가) 관계 n 을 다음 과 같이 정의하십시오 . A n B if | A | = | B | = nL ( A ) = L ( B ) .n1nAnB|A|=|B|=nL(A)=L(B)

문제는 다음과 같습니다. 주어진 에 대해 n 의 인덱스는 무엇 입니까? 즉, 세트의 크기는 얼마입니까? { L ( A ) A  는 크기가 n } 인 DFA입니다  .nn{L(A)A is a DFA of size n}

가 총 함수 인 경우에도 쉬운 카운트는 아닙니다 (적어도 나를 위해). 그래프가 연결되지 않았을 수 있으며 초기 상태를 포함하는 연결된 컴포넌트의 상태가 모두 승인 될 수 있으므로 예를 들어 크기 n의 Σ ∗를 수락하는 많은 그래프가 있습니다 . 빈 언어 및 최소 DFA가 n 개 미만의 상태 인 다른 언어에 대한 다른 간단한 조합과 동일 합니다.δnΣn

(순진한) 재귀도 작동하지 않는 것 같습니다. 크기가 DFA를 가져 와서 새로운 상태를 추가하는 경우 결정 성을 유지하고 새 그래프를 연결하려면 (사소한 경우를 피하기 위해) 새 상태를 연결하기 위해 전환을 제거해야하지만 이 경우 원래 언어를 잃을 수 있습니다.k

이견있는 사람?

노트. 나는 공식적인 진술과 이전 산만 요소없이 질문을 다시 업데이트했습니다.


간단히 말해 : " 상태를 사용하여 정의 할 수있는 언어는 몇 개입니까?"를 의미합니다. 여기서 n 개의 상태를 허용 하는 DFA가있는 경우 n 개의 상태를 사용하여 언어가 정의 됩니다. 또한 정규 표현식의 경우 정규식 "a * aaaaaa"에는 반드시 1 개 이상의 연결이 있지만 DFA에는 하나의 상태 만 필요합니다 (별도의 싱크가 필요한 경우 2 개). nnn
Evgenij Thorstensen

사과 : 정규식 예제의 경우 "a a a a a *" 여야합니다 .
Evgenij Thorstensen

의 정의는 개념이 일반적으로 별이없는 언어에 적용된다는 점을 제외하고는 "점 깊이"개념과 매우 관련이있는 것으로 보입니다 (@Evgenij Thorstensen이 설명한 이유로). c(r)
mhum

1
사소한 관찰 : 상태는 적어도 2 n 개의 다른 언어 를 정의하는 데 사용될 수 있습니다 . n+12n
Evgenij Thorstensen

2
조금 더 얻을 수 있으므로 은 괜찮습니다. 그러나 n- 상태 오토마타의 수는 약 n c n 2 n = 2 c n log n + n = 2 Θ ( n log n )입니다 ( | | Σ | = c 가정 ). 우리는받을 수 2 ω ( N을 ) ? 2Ω(n)ncn2n=2cnlogn+n=2Θ(nlogn)|Σ|=c2ω(n)
Kaveh

답변:


20

이 질문은 이전에 연구되었다고 생각합니다. Mike Domaratzki는이 분야의 연구에 대한 설문을 썼습니다 : "정규 언어의 계산", Bull. EATCS, vol. 89 (2006 년 6 월), 113-133 : http://www.eatcs.org/images/bulletin/beatcs89.pdf


4
gk(n)

1
gk(n)fk(n)nk

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