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 M
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 .. 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 |
la source
Réponses:
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=1 L u u−1L={v∈A∗∣uv∈L} ∼ A∗ L i L i ∼ a ∈ A u ∼ v u a ∼ v a 1 [ u ] ∼ u A L = ( Q , [ 1 ] , ⋅ , ( F i ) 1 ⩽ i ⩽ n )
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]⋅u∈Fi u∈Li AL L AL A=(Q,q−,⋅,(Fi)1⩽i⩽n) A′=(Q′,q′−,⋅,(F′i)1⩽i⩽n) Q Q ′f:A→A′ Q Q′
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 1 ∼ u 2 f f ( q ) = [ u ] u q - ⋅ u = q fA L A AL q−⋅u1=q−⋅u2=q u1∼u2 f f(q)=[u] u q−⋅u=q f
La fin est un peu sommaire, faites-moi savoir si vous avez besoin de plus de détails.
la source