Vai ser classificado como um idioma regular?
Estou confuso porque sei que não é regular. Que diferença faz a estrela kleene?
formal-languages
regular-languages
kleene-star
user6268553
fonte
fonte
Respostas:
Um idioma é regular, por definição, se for aceito por algum DFA. (Essa é pelo menos uma definição comum.) Você consegue pensar em um DFA aceitando o idioma?
Um resultado bem conhecido (que é comprovado em muitos livros didáticos) afirma que o idioma de uma expressão regular é regular. Desde aa∗b∗ é uma expressão regular, seu idioma deve ser regular (se você acredita nesse resultado).
Finalmente, para responder à sua pergunta (que diferença faz a estrela Kleene): no idioma{anbn:n≥0} , precisamos contar o número dea areia b s; no idiomaa∗b∗ nós não.
fonte
A principal diferença entreL∗={a∗b∗} e L=={anbn} é aquele L= requer contar o a 'areia b é para verificar se há o mesmo número deles, enquanto L∗ não requer contagem. A contagem requer memória ilimitada à medida que o número aumenta, mas os autômatos finitos têm apenas uma quantidade finita de memória; portanto, um autômato finito não pode reconhecerL= . Por outro lado, um autômato finito pode reconhecerL∗ uma vez que isso exige apenas a verificação de que o a (qualquer número) vem antes do b (qualquer número).
É por isso que a estrela Kleene não define idiomas que exigem memória ilimitada para reconhecer - significa "qualquer número" e, toda vez que a estrela é encontrada, o número pode ser diferente.
fonte
Qualquer idioma para o qual você pode desenvolver um DFA.
Basta verificar se você pode desenhar um DFA para esses dois idiomas.
Cordas:ϵ , a, b, aa, ab, bb, ..
Para gerar um conjunto de cadeias pertencentes aL1 , a máquina não precisa acompanhar o número de a e b. Como o FA pode lembrar apenas o último alfabeto processado, o DFA pode ser desenvolvido.
DFA existe.
Portanto regular.
Cordas:ϵ , aa, bb, aaa, bbb, ..
Para gerar um conjunto de cadeias pertencentes aL2 , a máquina precisa acompanhar o número de a's impressos para imprimir o mesmo número de b's. Mas FA pode lembrar apenas o último alfabeto processado.
Para construir uma máquina que aceiteL2 precisamos adicionar mais uma memória dessa máquina chamada PDA (Push Down Automate).
Não existe DFA.
Portanto, não regular.
fonte