Exercício 03.20

Desenvolva um Autômato Finito Não-Determinístico (AFN) sobre o alfabeto Σ = {a, b, c}, que reconheça a linguagem L = {w | w possui abc ou cba como prefixo, acc ou abb como subpalavra e cbb ou caa como sufixo, caso a subpalavra seja acc, ou bab ou bcb como sufixo, caso a subpalavra seja abb}.


Resposta

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

δ a b c
q0 {q1} - {q1}
q1 - {q2} -
q2 - - {q5}
q3 - {q4} -
q4 {q5, q6, q8} - -
q5 {q5, q6, q8} {q5} {q5}
q6 - - {q7}
q7 - - {q10, q11, q13}
q8 - {q9} -
q9 - {q16, q17, q19} -
q10 {q10} {q10} {q10, q11, q13}
q11 - {q12} -
q12 - {q15} -
q13 {q14} - -
q14 {q15} - -
q15 - - -
q16 {q16} {q16, q17, q19} {q16}
q17 {q18} - -
q18 - {q21} -
q19 - - {q20}
q20 - {q21} -
q21 - - -

Recomendamos

cert.br Vida de Suporte Java Magazine