Ybadoo - Soluções em Software Livre
Turmas
2º Semestre de 2025

(Enade, 2005) Que cadeia é reconhecida pelo autômato representado pelo diagrama de estados a seguir?

M = ({0, 1}, {q0, q1, q2, q3}, δ, q0, {q1})

Grafo com a função de transição de M
Autômato Finito Determinístico

a. 101010

b. 111011000

c. 11111000

d. 10100

e. 00110011

Uma palavra α é um prefixo de outra palavra β se for possível escrever β como sendo αγ, admitindo-se a possibilidade de γ = ε. Uma palavra α é uma subpalavra de outra palavra β se for possível escrever β como γαδ, admitindo-se a possibilidade de γ ou δ ou ambos serem palavras vazias (ε). Uma palavra α é um sufixo de outra palavra β se for possível escrever β como sendo γα, admitindo-se a possibilidade de γ = ε. Analise as seguintes afirmativas sobre prefixos, subpalavras e sufixos.

  1. As palavras araraúna e hardware possuem a mesma quantidade de subpalavras.
  2. As palavras delimitador e informática possuem a mesma quantidade de prefixos.
  3. As palavras cabeludo e limpador possuem a mesma quantidade de subpalavras.
  4. As palavras arara e caneca possuem a mesma quantidade de sufixos.

A análise permite concluir que:

a. Apenas as afirmativas I e II estão corretas.

b. Apenas as afirmativas I e III estão corretas.

c. Apenas as afirmativas II e III estão corretas.

d. Apenas as afirmativas II e IV estão corretas.

e. Apenas as afirmativas III e IV estão corretas.

(Enade, 2005) O autômato a seguir reconhece sequências de caracteres compostos pelas letras I, V e X, que representam, em notação romana, números correspondentes ao intervalo de 1 a 10, na notação arábica.

M = ({I, V, X}, {q0, q1, q2, q3, q4, q5, q6, q7}, δ, q0, {q1, q2, q3, q4, q5, q6, q7})

Grafo com a função de transição de M
Autômato Finito Determinístico que reconhece números romanos no intervalo de 1 a 10

Observe a correspondência da representação dos alfabetos romano e arábico fornecida pela tabela abaixo.

Correspondência da representação dos alfabetos romano e arábico
Alfabeto
RomanoArábico
I1
V5
X10
L50
C100
D500

Considerando essas informações, estenda o autômato apresentado acima para reconhecer números no alfabeto romano, correspondentes aos números de 1 a 50 no alfabeto arábico.

Apesar do elevado interesse prático que recai sobre os autômatos finitos determinísticos, uma vez que eles servem como base para a construção de programas extremamente eficientes, do ponto de vista teórico, há também um interesse muito grande pelos autômatos finitos não-determinísticos, devido à maior facilidade com que eles permitem a demonstração de certos teoremas. Do ponto de vista prático, os autômatos finitos não-determinísticos são, muitas vezes, mais intuitivos do que os correspondentes autômatos finitos determinísticos, o que os torna, geralmente, mais adequados para a análise e especificação de linguagens regulares. Desenvolva um autômato finito não-determinístico sobre o alfabeto Σ = {1, 2, 3, 4} que reconheça a linguagem L = {w | w possui 2323 ou 2413 ou 3324 como prefixo, 23443 ou 24432 ou 32121 como subpalavra e 214 ou 323 ou 433 como sufixo}.

Qual é a Expressão Regular que denota a linguagem L = {w ∈ {a, b, c}* | |w| deve ser ímpar}?

Exemplos de palavras válidas: a, b, c, aaa, abc, aba, abb, abcba, ...

Exemplos de palavras inválidas: ε, aa, ab, bb, abcb, bcbc, abcabc, ...

a. (a + b + c)*

b. (a + b + c)* (a + b + c)* (a + b + c)*

c. ((a + b + c) (a + b + c) (a + b + c))*

d. (a + b + c) ((a + b + c)(a + b + c))*

e. (a + b + c)* ((a + b + c) (a + b + c))*

Em geral, a aplicação do método da construção de subconjuntos produz autômatos com estados redundantes, ou seja, estados que poderiam ser combinados em um único estado sem alterar a linguagem que é reconhecida. Analise as seguintes afirmativas sobre a aplicação do processo de minimização de estados ao autômato finito determinístico apresentado a seguir.

M = ({a, b}, {q0, q1, q2, q3, q4, q5, q6, q7}, δ, q0, {q6, q7})

Grafo com a função de transição de M
Autômato Finito Determinístico
  1. Os estados q4 e q5 são redundantes, e poderiam ser combinados em um único estado sem alterar a linguagem que é reconhecida.
  2. Os estados q1 e q3 são redundantes, e poderiam ser combinados em um único estado sem alterar a linguagem que é reconhecida.
  3. Os estados q6 e q7 são redundantes, e poderiam ser combinados em um único estado sem alterar a linguagem que é reconhecida.
  4. Os estados q2 e q3 são redundantes, e poderiam ser combinados em um único estado sem alterar a linguagem que é reconhecida.

A análise permite concluir que:

a. Apenas as afirmativas I e II estão corretas.

b. Apenas as afirmativas I e III estão corretas.

c. Apenas as afirmativas II e III estão corretas.

d. Apenas as afirmativas II e IV estão corretas.

e. Apenas as afirmativas III e IV estão corretas.

Um sistema de estados finitos é um modelo matemático de sistemas com entradas e saídas discretas. Pode assumir um número finito e pré-definido de estados. Cada estado resume somente as informações do passado necessárias para determinar as ações para a próxima entrada. Desenvolva um autômato finito determinístico sobre o alfabeto Σ = {w, x, y, z} que reconheça a linguagem L = {w | w possui xzx ou yzy como prefixo, xyw ou yxw como subpalavra e wyx ou ywz como sufixo}.

O método da construção de subconjuntos é um procedimento sistemático que converte um autômato finito com movimentos vazios num autômato finito determinístico. O princípio associado a esse método é criar novos estados, no autômato finito determinístico, que estejam associados a todas as possibilidades de estados originais em um dado momento da análise da sentença no processo de reconhecimento. Para cada estado original, essas possibilidades incluem o estado do autômato finito com movimentos vazios e todos os estados que podem ser atingidos a partir dele com transições pela string vazia. Converta, usando o método da construção de subconjuntos, o autômato finito não-determinístico com movimentos vazios apresentado a seguir para um autômato finito determinístico.

M = ({a, b, c}, {q0, q1, q2, q3, q4, q5, q6, q7, q8, q9, q10, q11, q12, q13, q14, q15, q16, q17, q18, q19}, δ, q0, {q19})

Grafo com a função de transição de M
Autômato Finito com Movimentos Vazios