2016-01-21 3 views
3

Est-ce que L1 = {a^n b^n | n < 4}, un langage régulier? A mon avis, il est régulier, car je pouvais dessiner un FSA pour cela, mais en classe, mon professeur avait pris un exemple, L2 = {a^n b^n | donc < 10^10^10} et dit, ce n'est pas régulier ...Sont L1 = {a^n b^n | n <4} et L2 = {a^n b^n | n <10^10^10}, langues régulières?

donc, ma question est, si je peux dessiner fsa pour L1, je peux même dessiner pour L2 ... pourquoi prof. disons, ce n'est pas régulier? parce que, les deux langages, L1 et L2, sont finis ... Je venais de prendre le langage L1 par moi-même pour juste réfléchir à la question ... L1 n'a pas été discuté en classe ... Aussi, j'ai lu, que toutes les langues finies sont régulières ... donc ces deux devraient être, à mon avis ... :)

si quelqu'un peut clarifier, je serais reconnaissant. Merci beaucoup d'avance.

+1

Je pense que l'idée est que si 10^10^10 est fini comme il est « 1 » suivi par 10 milliards de zéros! Comme on pense qu'il n'y a que 10^82 atomes dans l'univers, la construction d'un FSA sera légèrement impossible. –

+5

@JohnHascall Non, c'est un argument spécieux. Ceci est fermement dans le domaine de la théorie - le fait de savoir si l'on peut physiquement construire le FSM est totalement hors de propos. –

+0

@JohnHascall merci. Donc, à votre avis, L1 est-il régulier? s'il vous plaît clarifier ... comme je suis un étudiant, nouveau dans ce sujet. Je pense, L1 est régulier, mais je veux aussi une confirmation :) –

Répondre

4

Chaque langue qui a un nombre fini de chaînes est régulière. Donc les deux L1 et L2 sont réguliers. Parce que si une langue a un nombre fini de chaînes que nous pouvons construire le NFA suivant où ε désigne la transition vide:

------ first string 
|  
ε 
| 
------ second string 
| 
ε 
| 
------ ... 
| 
. 
. 
. 
| 
------ last string 
+0

d'accord .. merci :) –