Plus précisément ce que je veux dire par addition est, nous définissons pour être l'alphabet { 0 , 1 , 2 , . . . , i } . Compte tenu de langues régulières A et B sous un alphabet Σ i , regardez A × B .
Pour chaque paire ordonnée , définissez la "somme" de cette paire ordonnée comme a + b , où a et b sont des nombres dans la base i. Les 0 en tête sont ignorés, donc 0 ∗ est devant chaque chaîne acceptée. Cela implique que ϵ est défini comme 0.
Le langage est l'ensemble de chaînes représentant toutes ces sommes possibles.
Jusqu'à présent, je sais:
- Cela est vrai en unaire ( ).
- Cela est vrai pour tous les langages réguliers finis et B , car tout langage fini est régulier et A + B est fini.
- Le langage = { s | s est un multiple de n dans la base b } sous Σ b est régulier pour tout b > = 1 . Cela signifie que tous les langages de la forme C n peuvent également être ajoutés, comme C i + C j = C i + j , qui est également régulier. Cependant, il existe des langages comme D = { s | s commence et se termine par un 1} qui ne correspond pas à ce critère, donc cela ne décrit pas toutes les langues normales.
automata-theory
Phylliida
la source
la source
Réponses:
Oui, ils sont.
Considérons d'abord l'alphabet dont les symboles sont des triplets de chiffres (empilés les uns au-dessus des autres en une pile de trois chiffres). Sur cet alphabet, on peut définir une langue régulière A ' où la chaîne formée par le plus haut des trois chiffres appartient à A , une langue régulière B ' où la chaîne formée par le milieu des trois chiffres appartient à B , et une langue régulière C où les deux cordes du haut se résument à celle du bas. A ′ et B ′ utilisent simplement des automates modifiés pour A et B , tandis que CΣ3je UNE′ UNE B′ B C UNE′ B′ UNE B C utilise le fait que vous pouvez effectuer des ajouts en balayant de droite à gauche tout en ne gardant qu'un seul chiffre de portage comme état.
Alors est (par fermeture sous intersection) un langage régulier qui reconnaît des piles de trois chaînes, une en A , une en B et la troisième dans la somme. L'homomorphisme qui retire les deux chiffres du haut d'une pile en ne laissant que celui du bas prend cela dans la langue que vous voulez, et le résultat suit par une fermeture sous homomorphisme.UNE′∩ B′∩ C UNE B
la source
Oui. Je donne un NFA qui lit le mot depuis la fin, car même de tels automates ne peuvent reconnaître que les langues normales. Nous supposons également que et B sont donnés par de tels automates, M A et M B . Le NFA devine à chaque pas ce que le chiffre respectif de a et b est, vérifie que l'addition est correcte, et calcule les nouveaux états respectifs des M A et M B . À la fin du mot, il accepte si et seulement si M A et M B acceptent.A B MA MB a b MA MB MA MB
la source