Exercício 03.05

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 cac como prefixo, cbb ou bcb como subpalavra e cba ou baa como sufixo}.


Resposta

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

Grafo com a função de transição de M
δ a b c
q0 {q1} - {q3}
q1 - {q2} -
q2 - - {q5, q7, q8}
q3 {q4} - -
q4 - - {q5, q8}
q5 {q5} {q5, q6} {q5, q8}
q6 - - {q7}
q7 - {q10, q11, q14} -
q8 - {q9} -
q9 - {q10, q11} -
q10 {q10} {q10, q11} {q10, q13}
q11 {q12} - -
q12 {q15} - -
q13 - {q14} -
q14 {q15} - -
q15 - - -