Il existe de nombreuses méthodes pour prouver qu'une langue n'est pas régulière , mais que dois-je faire pour prouver qu'une langue est régulière?
Par exemple, si on me donne que est régulier, comment puis - je prouver que les éléments suivants L ' est régulière, aussi?
Puis-je dessiner un automate fini non déterministe pour le prouver?
Réponses:
Oui, si vous pouvez proposer l'un des éléments suivants:
pour un langage , alors L est régulier. Il existe plus de modèles équivalents , mais ce qui précède est le plus courant.L L
Il existe également des propriétés utiles en dehors du monde "informatique". est aussi régulier siL
vous pouvez le construire en effectuant certaines opérations sur les langages normaux, et ces opérations sont fermées pour les langages normaux , tels que
et plus , ou
Dans l'exemple donné, nous avons une (régulière) langage comme base et que vous voulez dire quelque chose au sujet d' un langage L ' dérivé de celui - ci. En suivant la première approche - construire un modèle approprié pour L ′ - nous pouvons supposer quel modèle équivalent pour L nous le souhaitons; cela restera abstrait, bien sûr, puisque L est inconnu. Dans la seconde approche, nous pouvons utiliser L directement et lui appliquer des propriétés de fermeture afin d’arriver à une description de L ′ .L L′ L′ L L L L′
la source
Méthodes élémentaires
Méthodes logiques (souvent utilisées dans la vérification formelle)
Méthodes avancées
Lemmes pompant sophistiqués. Voir, par exemple,
[1] J. Jaffe, Un lemme de pompage nécessaire et suffisant pour les langages normaux , Sigact News - SIGACT 10 (1978) 48-49.
[2] A. Ehrenfeucht, R. Parikh et G. Rozenberg, Pompage de lemmes pour séries régulières, SIAM J. Comput. 10 (1981), 536-541.
[3] S. Varricchio, Une condition de pompage pour les ensembles réguliers, SIAM J. Comput. 26 (1997) 764-771.
Bien quasiment des ordres. Voir
[4] W. Bucher, A. Ehrenfeucht, D. Haussler, Régulateurs totaux générés par des relations de dérivation, Theor. Comput. Sci. 40 (1985) 131-148.
[5] M. Kunz, Solutions régulières des inégalités de langue et des quasi-ordres bien .
Méthodes algébriques basées sur les transductions (voir aussi Opérations préservant les langages normaux ).
la source
La réponse de Ran G. donne une liste assez complète des modèles équivalents qui peuvent être utilisés pour spécifier des langages normaux (et la liste continue, automates à deux voies, logique MSO, mais cela est couvert par le lien sous "Modèles plus équivalents" '). Et comme le souligne Raphaël, nous avons besoin d’un argument pour convaincre le public que la représentation choisie est bien correcte.
la source
<some property>
la source
la source
Une langue est régulière ssi vous pouvez écrire un scanner qui décide sur des chaînes arbitraires ou non ils appartiennent à la langue en utilisant plus d'un fixe quantité de mémoire - la reconnaissance par exemple peut être fait en O (1) l' espace.
la source
La transformation d' une expression régulière est un moyen de prouver la fermeture dans certaines opérations. Les deux exemples les plus simples sont la fermeture sous inversion et la fermeture sous homomorphisme .
la source
Une autre méthode consiste à créer le langage à l'aide d'opérations sous lesquelles vous savez qu'elles sont fermées. Ceci est une extension de l'affichage d'une expression régulière, car vous avez beaucoup plus d'opérations disponibles (inverser la chaîne, compléter, intersection, couper un morceau, ne garder qu'une partie, homomorphismes et homomorphismes inverses, ...)
la source