Exercício 03.27

Desenvolva um Autômato Finito Não-Determinístico (AFN) sobre o alfabeto Σ = {w, x, y, z}, que reconheça a linguagem L = {w | w possui wxwx ou yzwx ou yzyz como prefixo, wxyz ou xxzy ou yzxw ou zzwx como subpalavra e wxxx ou xzwy ou yyzw ou zzyz como sufixo}.


Resposta

M = ({w, x, y, z}, {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, q34, q35, q36}, δ, q0, {q36})

δ w x y z
q0 {q1} - {q4} {q7}
q1 - {q2} - -
q2 {q3} - - -
q3 - {q10, q12, q14} - -
q4 - - - {q5}
q5 {q6} - - -
q6 - {q10, q12, q14} - -
q7 - - - {q8}
q8 - - {q9} -
q9 - - - {q10, q18, q20}
q10 {q10, q11} {q10, q14} {q10, q17} {q10, q20}
q11 - {q12} - -
q12 - - {q13} -
q13 - - - {q23, q33}
q14 - {q15} - -
q15 - - - {q16}
q16 - - {q23, q30} -
q17 - - - {q18}
q18 - {q19} - -
q19 {q23, q24} - - -
q20 - - - {q21}
q21 {q22} - - -
q22 - {q23, q25, q27} - -
q23 {q23, q24} {q23, q27} {q23, q30} {q23, q33}
q24 - {q25} - -
q25 - {q26} - -
q26 - {q36} - -
q27 - - - {q28}
q28 {q29} - - -
q29 - - {q36} -
q30 - - {q31} -
q31 - - - {q32}
q32 {q36} - - -
q33 - - - {q34}
q34 - - {q35} -
q35 - - - {q36}
q36 - - - -

Recomendamos

Clickarvore Um Sábado Qualquer Vida de Programador