다국어 DFA 최소화


10

DFA의 일반화에 관심이 있습니다. 평소와 같이 상태 설정 , 유한 알파벳 , 의해 에 정의 된 -action 및 초기 상태 ; 그러나 일반적인 터미널 세트 대신에 우리 는 의 부분 집합의 패밀리 를 취합니다 . 다국어 DFA 은 튜플입니다.QΣΣQδ:Q×ΣQq0(Ti)i1..nQM

(Q,Σ,δ,q0,(Ti))

LΣ 에 의해 인정 M iff L={sΣ|q0sTi} 일부 i1..n. 밝히다(Li(M))i1..n 원한다면 M이 인정하는 언어 군이 될 것입니다.

좋아, 이제 내 질문에 : 일반 언어 가족이 주어지면 (Li)i1..n 최소 다국어 DFA를 찾고 싶습니다. M 위에서 설명한 바와 같이 Li=Li(M) 모든 i1..n 즉, |Q|이러한 모든 머신에서 최소화됩니다. 내 질문은 표준 DFA 최소화 이론과 유사한 효율적인 방법이 있습니까? 반대로이 문제가 어려울 수 있다는 증거가 있습니까?


7
표준 파티션 재정의 기반 알고리즘은 주어진 하위 집합 각각에 대해 수락 여부에 따라 초기 상태 세트를 파티셔닝하여 시작하도록 수정 된 것 같습니다. Ti 단일 세트가 아닌 T바로 작동해야합니다. 왜 그렇지 않습니까? 분할해야 할 때 상태 쌍만 분할하므로 상태의 가능한 가장 미세한 조정이 여전히 생성됩니다.
David Eppstein

1
동등성 관계를 정의하면 @DavidEppstein의 주석 증명이 쉽습니다. xy iff xTiy 모든 i, 어디 xTiyMyhill-Nerode 동등성 관계입니다. 그런 다음 표준 최소화 알고리즘과 같은 줄을 따라 진행할 수 있습니다.
Shaull

이해하지 못한다. 이 문제에 대한 답은 각기 다른 최종 상태를 제외하고 동일한 "설정"을 가진 DFA 통합의 최소 DFA를 찾는 것입니다.1..n? 또한 인정의 선언L={...}정확하게 이해되지 않는 것 같습니다. 문자열과 상태 세트를 혼합하는 것 같습니다.
vzn

DavidEppstein과 Shaull의 견해는 설득력이 생겼습니다. 몫이 여전히 최소한의 자동 장치를 생성한다고 확신 할 시간이있을 때 Myhill-Nerode 정리를 살펴볼 시간이 있습니다. 뒤늦게 보면 너무 분명해 보입니다.
gdmclellan

@vzn : 원래 오토 마톤의 언어를 함께 통합하고 싶지는 않습니다. 그리고Ti겹칠 수 있습니다. 언어가 포함 된 다국어 DFAAB 예를 들어 sA하지만 sB. 언어 인식을 정의하는 데 사용되는 표기법은 확장하여 정의합니다.δΣ-액션 Q 모두 다음 규칙에 따라 qQ,σΣ,sΣ: qσ=δ(q,σ),q(sσ)=(qs)σ.
gdmclellan

답변:


14

짧은 대답 . 유한 한 정규 언어 모음L=(Li)1in,이 제품군을 인식하는 독창적 인 최소 결정 론적 완전 다중 오토 마톤이 있습니다.

세부 사항 . 경우n=1표준 구성에 해당하며 일반적인 경우는 크게 다릅니다. 주어진 언어L 그리고 한마디 u, 허락하다 u1L={vAuvL}. 동등성 관계 정의 의 위에 A 설정하여

uvfor each LL, u1L=v1L
이후 Li이 합치는 유한 한 지수를 가지고 있습니다. 또한, 각각이보기 쉽다Li 에 의해 포화 그리고 각각에 대한 aA, uv 암시 uava. 로 표현하자1 빈 단어와 [u] 그만큼 단어의 클래스 u. 허락하다AL=(Q,[1],,(Fi)1in) 다음과 같이 정의 된 결정적 다중 자동이어야합니다.
  1. Q={[u]uA},
  2. [u]a=[ua],
  3. Fi={[u]uLi}.

건축에 의해 [1]uFi 만약에 uLi 따라서 AL 가족을 받아들입니다 L. 그것을 증명하기 위해 남아AL최소한입니다. 그것은 대수적으로 강한 대 수학적 의미에서 실제로는 최소입니다 (이것은 최소 수의 상태를 가짐을 의미합니다). 허락하다A=(Q,q,,(Fi)1in)A=(Q,q,,(Fi)1in)두 개의 다중 오토마타가 되십시오. 형태f:AA 의 추측지도입니다 Q 위에 Q 그런

  1. f(q)=q,
  2. ...에 대한 1in, f1(Fi)=Fi,
  3. 모든 uAqQ, f(qu)=f(q)u.

그런 다음 접근 가능한 결정적 다중 자동 A 수락 L로부터의 형태가있다 A 위에 AL. 이를 증명하기 위해 먼저 다음을 확인합니다.qu1=qu2=q그런 다음 u1u2. 지금f 에 의해 정의 f(q)=[u] 어디 u 어떤 단어입니까 qu=q. 그런 다음에f 세 가지 필수 특성을 충족합니다.

끝은 약간 스케치입니다. 자세한 내용이 필요하면 알려주십시오.

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