Minimisation DFA multilingue


10

Je suis intéressé par une légère généralisation de DFA. Comme d'habitude, nous avons un ensemble d'états , un alphabet fini , une action définie sur par et l'état initial ; mais au lieu de l'ensemble habituelle terminal, nous prenons une famille de sous - ensembles de . Un DFA multilingue est alors le tupleΣ Σ Q δ : Q × Σ Q q 0 ( T i ) i 1 .. n Q MQΣΣQδ:Q×ΣQq0(Ti)i1..nQM

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

et est reconnu par ssi pour certains . Définissez comme la famille de langues reconnue par M, si vous le souhaitez. M L = { s Σ | q 0 s T i } i 1 .. n ( L i ( M ) ) i 1 .. nLΣML={sΣ|q0sTi}i1..n(Li(M))i1..n

Bon, maintenant pour ma question: étant donné une famille de langues régulières , je veux trouver le DFA tel que décrit ci-dessus de telle sorte que pour tout , c'est-à-dire tel queest minimisé sur toutes ces machines. Ma question est la suivante: existe-t-il des moyens efficaces connus de le faire, peut-être analogues à la théorie de minimisation DFA standard? À l'inverse, existe-t-il des preuves que ce problème pourrait être difficile? M L i = L i ( M ) i 1 .. n | Q |(Li)i1..nMLi=Li(M)i1..n|Q|


7
Il me semble que l'algorithme basé sur le raffinement de partition standard, modifié uniquement pour commencer par partitionner l'ensemble initial d'états selon qu'ils acceptent / refusent pour chacun des sous-ensembles donnés plutôt que pour un seul ensemble , devrait simplement fonctionner immédiatement. Pourquoi pas? Il ne divise les paires d'états que lorsqu'elles doivent être divisées, de sorte qu'il génère toujours le raffinement le plus grossier possible des états. TTiT
David Eppstein

1
La preuve du commentaire par @DavidEppstein est facile si vous définissez la relation d'équivalence ssi pour chaque , où est la relation d'équivalence Myhill-Nerode. Vous pouvez ensuite procéder dans le même sens que l'algorithme de minimisation standard. x T i y i x T i yxyxTiyixTiy
Shaull

ne comprends pas très bien. est la réponse à ce problème pour trouver le DFA minimal d'une union de DFA avec la même "configuration" sauf des états finaux différents, chaque DFA pour ? aussi le defn de reconnaissance de ne semble pas avoir de sens exactement, il semble mélanger les chaînes et les jeux d'états. L = { . . . }1..nL={...}
vzn

Les arguments avancés par DavidEppstein et Shaull semblent convaincants, je trouverai un peu de temps pour passer en revue le théorème de Myhill-Nerode quand j'aurai le temps de me convaincre que le quotient donne toujours l'automate minimal. Avec le recul, cela semble trop évident.
gdmclellan

@vzn: ne veut certainement pas unir les langues de l'automate d'origine; et le peut se chevaucher. Un DFA en plusieurs langues avec les langues et devrait être en mesure de signaler, par exemple, que , mais . Quant à la notation utilisée pour définir la reconnaissance d'une langue, la notation est définie en étendant à une action sur par les règles suivantes pour tous les : . A B s A s B δ Σ Q q Q , σ Σ , s Σ q σ = δ ( q , σ ) , q ( s σ ) = ( q s ) σTiABsAsBδΣQqQ,σΣ,sΣqσ=δ(q,σ),q(sσ)=(qs)σ
gdmclellan

Réponses:


14

L=(Li)1in

Détails . Le cas correspond à la construction standard et le cas général n'est pas très différent dans son esprit. Étant donné une langue et un mot , soit . Définissez une relation d'équivalence sur en définissant Puisque les sont réguliers, cette congruence a un indice fini. De plus, il est facile de voir que chaque est saturé par et que pour chaque , impliqueL u u - 1 L = { v A u v L } A u vn=1Luu1L={vAuvL}AL i L ia A u v u a v a 1 [ u ] u A L = ( Q , [ 1 ] , , ( F i ) 1 i n )

uvfor each LL, u1L=v1L
LiLiaAuvuava. Notons par le mot vide et par la classe d'un mot . Soit le multi-automate déterministe défini comme suit:1[u]uAL=(Q,[1],,(Fi)1in)
  1. Q={[u]uA} ,
  2. [u]a=[ua] ,
  3. Fi={[u]uLi} .

Par construction, si et seulement si et donc accepte la famille . Reste à prouver que est minimal. Il est en fait minimal au sens algébrique fort (ce qui implique qu'il a le nombre minimal d'états). Soit et soit deux multi-automates. Un morphisme est une carte surjective de sur telle que u L i A L L A L A = ( Q , q - , , ( F i ) 1 i n ) A = ( Q , q - , , ( F i ) 1 i n )[1]uFiuLiALLALA=(Q,q,,(Fi)1in)A=(Q,q,,(Fi)1in) Q Q f:AAQQ

  1. f(q)=q ,
  2. pour , , f - 1 ( F i ) = F i1inf1(Fi)=Fi
  3. pour tout et , . q Q f ( q u ) = f ( q ) uuAqQf(qu)=f(q)u

Ensuite, pour tout multi-automate déterministe accessible acceptant , il y a un morphisme de sur . Pour le prouver, on vérifie d'abord que si , alors . Maintenant est défini par où est n'importe quel mot tel que . On peut alors montrer que satisfait les trois propriétés requises.L A A L q -u 1 = q -u 2 = q u 1u 2 f f ( q ) = [ u ] u q -u = q fALAALqu1=qu2=qu1u2ff(q)=[u]uqu=qf

La fin est un peu sommaire, faites-moi savoir si vous avez besoin de plus de détails.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.