Exercício 03.54

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 acc ou cbb como prefixo, baa ou cab como subpalavra e acc ou bbc 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, q8}
q3 - {q4} -
q4 - {q5, q6} -
q5 {q5} {q5, q6} {q5, q8}
q6 {q7} - -
q7 {q10, q11} - -
q8 {q9} - -
q9 - {q10, q13} -
q10 {q10, q11} {q10, q13} {q10}
q11 - - {q12}
q12 - - {q15}
q13 - {q14} -
q14 - - {q15}
q15 - - -