(Ramos, 2009) 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 sendo γαδ, 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.
A análise permite concluir que:
a. apenas a afirmativa I está correta.
b. apenas a afirmativa II está correta.
c. apenas a afirmativa III está correta.
d. apenas as afirmativas I e II estão corretas.
e. apenas as afirmativas I e III estão corretas.
(Hopcroft, 2002) Um autômato finito é definido como M = (Σ, Q, δ, q0, F) onde Σ é um conjunto finito de símbolos de entrada, Q é um conjunto finito de estados, δ é uma função de transição, q0 é o estado inicial e F é o conjunto de estados finais. Analise as afirmativas apresentadas a seguir, referentes a apresentação da função de transição de um autômato finito.
A análise permite concluir que:
a. apenas a afirmativa I está correta.
b. apenas a afirmativa II está correta.
c. apenas a afirmativa III está correta.
d. apenas as afirmativas I e II estão corretas.
e. apenas as afirmativas II e III estão corretas.
(Ramos, 2009) Da mesma forma como ocorre com as expressões regulares, os autômatos finitos também possibilitam a formalização das linguagens regulares. No entanto, diferentemente daquela notação, que constituem dispositivos de geração de sentenças, os autômatos finitos são dispositivos de aceitação de sentenças. Considere o autômato finito determinístico a seguir.
M3 = ({x, y, z}, {q0, q1, q2}, δ, q0, {q2})
Assinale a alternativa que apresenta a expressão regular que produz a mesma linguagem reconhecida pelo autômato finito determinístico.
a. x*y + z*
b. xx*y + zz*
c. xx*(y + z)z*
d. x*(y + z)z*
e. (xx)*(y + z)z*
(Hopcroft, 2002) Analise as afirmativas apresentadas a seguir, referentes ao funcionamento dos operadores de uma expressão regular.
A análise permite concluir que:
a. apenas a afirmativa I está correta.
b. apenas a afirmativa II está correta.
c. apenas a afirmativa III está correta.
d. apenas as afirmativas I e II estão corretas.
e. apenas as afirmativas II e III estão corretas.
(Menezes, 2000) 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 (AFD) sobre o alfabeto Σ = {i, j, k}, que reconheça a linguagem L = {w | w possui iij ou kki como prefixo, ijk ou ikj como subpalavra e kik ou kjj como sufixo}.
(Ricarte, 2008) 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.
M6 = ({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})
M6a = ({a, b, c}, {q0, q1, q2, q3, q4}, δ, q0, {q2, q3, q4})
(Ricarte, 2008) 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. Minimize, se possível, o número de estados do autômato finito determinístico resultante da Questão 06.
M7 = ({a, b, c}, {q0, q1}, δ, q0, {q1})
(Ramos, 2009) 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-determinismos, 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-determinismos 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 (AFN) sobre o alfabeto Σ = {1, 2, 3, 4}, que reconheça a linguagem L = {w | w possui 1212 ou 1234 ou 3434 como prefixo, 1243 ou 2234 ou 3412 ou 4421 como subpalavra e 1123 ou 2212 ou 2431 ou 3444 como sufixo}.