Exercício 03.18

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 abcd ou dcba ou baba como prefixo, badcd ou abcbc ou ccdab como subpalavra e bcca ou cdac ou dabc 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, q28, q29, q30, q31, q32, q33}, δ, q0, {q33})

δ a b c d
q0 {q1} {q7} - {q4}
q1 - {q2} - -
q2 - - {q3} -
q3 - - - {q10}
q4 - - {q5} -
q5 - {q6} - -
q6 {q10, q12, q15} - - -
q7 {q8} - - -
q8 - {q9} - -
q9 {q10, q12, q15} - - -
q10 {q10, q15} {q10, q11} {q10, q19} {q10}
q11 {q12} - - -
q12 - - - {q13}
q13 - - {q14} -
q14 - - - {q23, q28, q30}
q15 - {q16} - -
q16 - - {q17} -
q17 - {q18} - -
q18 - - {q23, q25, q27} -
q19 - - {q20} -
q20 - - - {q21}
q21 {q22} - - -
q22 - {q23, q24, q32} - -
q23 {q23} {q23, q24} {q23, q27} {q23, q30}
q24 - - {q25} -
q25 - - {q26} -
q26 {q33} - - -
q27 - - - {q28}
q28 {q29} - - -
q29 - - {q33} -
q30 {q31} - - -
q31 - {q32} - -
q32 - - {q33} -
q33 - - - -

Recomendamos

Revista Espírito Livre Clickarvore Java Magazine