Minimizzazione DFA multilingue


10

Sono interessato a una leggera generalizzazione di DFA. Come al solito abbiamo lo stato , l'alfabeto finito , un'azione definita su da e stato iniziale ; ma invece della solita serie di terminali, prendiamo una famiglia di sottoinsiemi di . Un DFA multilingue è quindi la tuplaQΣΣQδ:Q×ΣQq0(Ti)i1..nQM

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

e è riconosciuto da iff per alcuni . Definisci per essere la famiglia di lingue riconosciute da M, se lo desideri.LΣML={sΣ|q0sTi}i1..n(Li(M))i1..n

Bene, ora per la mia domanda: data una famiglia di lingue regolari , voglio trovare il DFA multilingue multilingue come descritto sopra in modo tale che per tutto , cioè tale cheè ridotto a icona su tutte queste macchine. La mia domanda è: esistono modi noti noti per farlo, forse analogo alla teoria della minimizzazione DFA standard? Al contrario, ci sono prove che questo problema potrebbe essere difficile?(Li)i1..nMLi=Li(M)i1..n|Q|


7
Mi sembra che l'algoritmo standard basato sul raffinamento delle partizioni, modificato solo per iniziare partizionando il set iniziale di stati a prescindere dal fatto che accetti / non accetti per ciascuno dei sottoinsiemi dati piuttosto che per un singolo set , dovrebbe funzionare subito. Perché non dovrebbe? Suddivide le coppie di stati solo quando devono essere divisi, quindi genera ancora il più grossolano raffinamento possibile degli stati. TiT
David Eppstein,

1
La prova del commento di @DavidEppstein è semplice se si definisce la relazione di equivalenzaxy iff per ogni i , dove x T i y è la relazione di equivalenza di Myhill-Nerode. È quindi possibile procedere seguendo le stesse linee dell'algoritmo di minimizzazione standard. xTiyixTiy
Shaull

non capisco bene. è la risposta a questo problema trovare il DFA minimo di un'unione di DFA con la stessa "configurazione" tranne gli stati finali diversi, ogni DFA per ? anche il valore di riconoscimento di L = { . . . } non sembra avere esattamente senso, sembra confondere stringhe e insiemi di stati. 1..nL={...}
vzn,

I punti sollevati da DavidEppstein e Shaull sembrano convincenti, troverò un po 'di tempo per ripassare il teorema di Myhill-Nerode quando avrò tempo di convincermi che il quoziente produce ancora l'automa minimo. Con il senno di poi sembra troppo ovvio.
gdmclellan,

@vzn: sicuramente non voglio unire le lingue dell'automa originale; e può sovrapporsi. Un multi-lingua DFA con le lingue A e B deve essere in grado di segnalare, ad esempio, che s A , ma s B . Per quanto riguarda la notazione usata nel definire il riconoscimento di una lingua, la notazione viene definita estendendo δ a Σ -azione su Q dalle seguenti regole per tutte le q Q , σ Σ , s Σ :TiABsAsBδΣQqQ,σΣ,sΣ . qσ=δ(q,σ),q(sσ)=(qs)σ
gdmclellan,

Risposte:


14

Risposta breve . Data una famiglia finita di lingue regolari , esiste un multi-automa completo deterministico minimo unico che riconosce questa famiglia.L=(Li)1in

Dettagli . Il caso corrisponde alla costruzione standard e il caso generale non è molto diverso nello spirito. Data una lingua L e una parola u , let u - 1 L = { v A u v L } . Definire una relazione di equivalenza su A impostando u vn=1Luu1L={vAuvL}A Dato che L i è regolare, questa congruenza ha un indice finito. Inoltre, è facile vedere che ogni L i è saturo di ~ e che per ogni una A , u ~ v implica u un ~ v una . Indichiamo con 1 la parola vuota e con [ u ] laclasse di una parola u

uvfor each LL, u1L=v1L
LiLiaAuvuava1[u]u. Sia essere il multi-automa deterministico definito come segue:AL=(Q,[1],,(Fi)1in)
  1. ,Q={[u]uA}
  2. ,[u]a=[ua]
  3. . Fi={[u]uLi}

Per costruzione, se e solo se u L i e quindi A L accetta la famiglia L . Resta da dimostrare che A L è minima. In realtà è minimo in un forte senso algebrico (il che implica che ha il numero minimo di stati). Sia A = ( Q , q - , , ( F i ) 1 i n ) e A[1]uFiuLiALLALA=(Q,q,,(Fi)1in) essere due multi-automi. Un morfismo f : AA è una mappa suriettiva da Q a Q tale cheA=(Q,q,,(Fi)1in)f:AAQQ

  1. ,f(q)=q
  2. per , f - 1 ( F i ) = F i , 1inf1(Fi)=Fi
  3. per tutti e q Q , f ( q u ) = f ( q ) u .uAqQf(qu)=f(q)u

Allora per ogni accessibili deterministico multi-automa accettando L , esiste un morfismo da A su A L . Per dimostrarlo, si verifica innanzitutto che se q -u 1 = q -u 2 = q , allora u 1u 2 . Ora f è definito da f ( q ) = [ u ] dove u è una parola tale che q -uALAALqu1=qu2=qu1u2ff(q)=[u]u . Quindi si può dimostrare che f soddisfa le tre proprietà richieste.qu=qf

La fine è un po 'imprecisa, fammi sapere se hai bisogno di maggiori dettagli.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.