Exercício 03.55

Desenvolva um Autômato Finito Não-Determinístico (AFN) sobre o alfabeto Σ = {a, b, c, d}, que reconheça a linguagem L = {w | w possui bcb ou bcd ou dab como prefixo, bcca ou cbdb ou cdbc como subpalavra e bcba ou cadc ou dbba como sufixo}.


Resposta

M = ({a, b, c, d}, {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
δ a b c d
q0 - {q1, q3} - {q5}
q1 - - {q2} -
q2 - {q7, q8, q12} - -
q3 - - {q4} -
q4 - - - {q7, q15}
q5 {q6} - - -
q6 - {q7, q8} - -
q7 {q7} {q7, q8} {q7, q11, q14} {q7}
q8 - - {q9} -
q9 - - {q10} -
q10 {q17, q22} - - -
q11 - {q12} - -
q12 - - - {q13}
q13 - {q17, q18, q25} - -
q14 - - - {q15}
q15 - {q16} - -
q16 - - {q17, q19, q21} -
q17 {q17} {q17, q18} {q17, q21} {q17, q24}
q18 - - {q19} -
q19 - {q20} - -
q20 {q27} - - -
q21 {q22} - - -
q22 - - - {q23}
q23 - - {q27} -
q24 - {q25} - -
q25 - {q26} - -
q26 {q27} - - -
q27 - - - -