Exercício 04.09

Desenvolva um Autômato Finito com Movimentos Vazios (AFε) sobre o alfabeto Σ = {x, y, z, w}, que reconheça a linguagem L = {w | w possui xyw ou wzw como prefixo, wzx ou ywx como subpalavra e xyy ou xwz como sufixo}.


Resposta

M = ({x, y, z, w}, {q0, q1, q2, q3, q4, q5, q6, q7, q8, q9, q10, q11, q12, q13, q14, q15, q16, q17, q18, q19, q20, q21, q22, q23, q24, q25, q26, q27}, δ, q0, {q27})

Grafo com a função de transição de M
δ x y z w ε
q0 - - - - {q1, q5}
q1 {q2} - - - -
q2 - {q3} - - -
q3 - - - {q4} -
q4 - - - - {q9, q11, q16}
q5 - - - {q6} -
q6 - - {q7} - -
q7 - - - {q8} -
q8 - - - - {q9, q11}
q9 {q9} {q9} {q9} {q9} {q10, q14}
q10 - - - {q11} -
q11 - - {q12} - -
q12 {q13} - - - -
q13 - - - - {q18, q20, q24}
q14 - {q15} - - -
q15 - - - {q16} -
q16 {q17} - - - -
q17 - - - - {q18, q20, q24}
q18 {q18} {q18} {q18} {q18} {q19, q23}
q19 {q20} - - - -
q20 - {q21} - - -
q21 - {q22} - - -
q22 - - - - {q27}
q23 {q24} - - - -
q24 - - - {q25} -
q25 - - {q26} - -
q26 - - - - {q27}
q27 - - - - -

Recomendamos

Clickarvore Vida de Programador Vida de Suporte