Autômatos finitos possuem diversas aplicações práticas, como na detecção de sequências de caracteres em um texto. A função programa do autômato abaixo apresenta um autômato que reconhece sequências sobre o alfabeto Σ = {a, b, c} e uma gramática livre de contexto que gera um subconjunto de Σ*, em que λ representa a palavra vazia. Autômato: M = (S, Σ, δ, s0, F), onde S = {0, 1, 2, 3, 4, 5}, s0 = 0 (estado inicial), F = {5}, Σ = {a, b, c}. A função δ pode ser representada pela tabela abaixo (Tabela 1). A gramática é apresentada em Gramática 1. Analisando a gramática e o autômato acima, conduz-se que:

Questão

Autômatos finitos possuem diversas aplicações práticas, como na detecção de sequências de caracteres em um texto. A função programa do autômato abaixo apresenta um autômato que reconhece sequências sobre o alfabeto Σ = {a, b, c} e uma gramática livre de contexto que gera um subconjunto de Σ*, em que λ representa a palavra vazia.

Autômato: M = (S, Σ, δ, s0, F), onde S = {0, 1, 2, 3, 4, 5}, s0 = 0 (estado inicial), F = {5}, Σ = {a, b, c}.

A função δ pode ser representada pela tabela abaixo (Tabela 1). A gramática é apresentada em Gramática 1.

Analisando a gramática e o autômato acima, conduz-se que:

Alternativas

A) a linguagem gerada pela gramática é inerentemente ambígua.

B) A gramática é regular e gera uma gramática livre de contexto.

C) A linguagem reconhecida pelo autômato é a mesma gerada pela gramática.

D) O autômato reconhece a linguagem sobre Σ em que os strings possuem o prefixo ababc.

E) A linguagem reconhecida pelo autômato é a mesma que a representada pela expressão regular (a+b+c)*(ab)abc(a+b+c)

86%

Explicação

1) Linguagem reconhecida pelo autômato (pela Tabela 1)

  • O estado inicial é 00 e o único estado de aceitação é 55.
  • O estado 55 é sumidouro aceitador (com a,b,ca,b,c permanece em 55), então basta alcançar 55 uma vez.
  • A única forma de chegar em 55 é pela transição δ(4,c)=5\delta(4,c)=5. Logo, o autômato aceita exatamente as palavras que conseguem levar o autômato ao estado 44 e, em seguida, ler um cc.

Vamos ver como chegar ao estado 44:

  • 0a10 \xrightarrow{a} 1 (de 00, com bb ou cc fica em 00).
  • Para avançar: 1b21 \xrightarrow{b} 2, depois 2b32 \xrightarrow{b} 3, depois 3a43 \xrightarrow{a} 4.

Assim, para chegar a 44 é necessário ler a sequência abbaabb a após algum ponto em que se leu um aa que colocou o autômato em 11. Juntando tudo, o caminho completo até aceitar é: [ 0 \xrightarrow{a} 1 \xrightarrow{b} 2 \xrightarrow{b} 3 \xrightarrow{a} 4 \xrightarrow{c} 5 ] Ou seja, o autômato aceita qualquer string que contenha o padrão abbacabbac (como subcadeia), e depois disso qualquer coisa é aceita (por ser estado sumidouro aceitador).

Além disso, note um detalhe importante: em 11 existe laço com aa (δ(1,a)=1\delta(1,a)=1) e em 33 existe transição com bb voltando para 11 (δ(3,b)=1\delta(3,b)=1). Isso permite repetir blocos do tipo abab antes de completar o sufixo abcabc do caminho final. De fato, a estrutura permite reconhecer strings que têm algum prefixo qualquer, depois zero ou mais repetições de abab, depois o trecho abcabc (na reta final para chegar em 55), e depois qualquer sufixo.

Isso corresponde à expressão regular: [ (a+b+c)^*,(ab)^*,abc,(a+b+c)^* ]

2) Conferindo as alternativas

  • D) fala em prefixo ababc. O autômato não exige prefixo fixo, e o padrão que leva ao aceite é associado a chegar em 44 e ler cc (padrão essencial ligado a δ(4,c)\delta(4,c)), não a obrigar o início do string.
  • C) diz que a linguagem do autômato é a mesma da gramática. A gramática dada gera um subconjunto de Σ\Sigma^* (e sua forma não indica diretamente que ela gere exatamente todos os strings contendo esse padrão), então não é a melhor conclusão.
  • E) coincide com a caracterização por expressão regular do comportamento do autômato.

Portanto, a conclusão correta é que a linguagem reconhecida pelo autômato é a mesma da expressão regular apresentada em E.

Alternativa correta: (E).

Questões relacionadas

Ver últimas questões

Comece a estudar de forma inteligente hoje mesmo

Resolva questões de concursos e vestibulares com IA, gere simulados personalizados e domine os conteúdos que mais caem nas provas.

Cancele quando quiser.