Exercício 03.56

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 cbd ou dac ou dad como prefixo, acda ou adcd ou daab como subpalavra e abcd ou cddb ou dadb 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, q14}
q3 {q4} - - -
q4 - - {q7, q9} -
q5 {q6} - - -
q6 - - - {q7, q12, q14}
q7 {q7, q8, q11} {q7} {q7} {q7, q14}
q8 - - {q9} -
q9 - - - {q10}
q10 {q17, q18, q25} - - -
q11 - - - {q12}
q12 - - {q13} -
q13 - - - {q17, q22, q24}
q14 {q15} - - -
q15 {q16} - - -
q16 - {q17, q19} - -
q17 {q17, q18} {q17} {q17, q21} {q17, q24}
q18 - {q19} - -
q19 - - {q20} -
q20 - - - {q27}
q21 - - - {q22}
q22 - - - {q23}
q23 - {q27} - -
q24 {q25} - - -
q25 - - - {q26}
q26 - {q27} - -
q27 - - - -