1
$\begingroup$

So I have been trying to create a Deterministic Finite Automaton(DFA) in Jflap that accepts all strings from the alphabet {a, b, c} except those that contain the substring "abc". However i keep running into issues where certain strings that should be allowed aren't, such as "acbc". Do you have any tips or tricks that can be used to get around these kind of issues? My DFA

DFA that accepts any string that contains substring "abc" below

DFA that accepts any string that contains substring "abc"

$\endgroup$
2
  • 1
    $\begingroup$ Please post your answer as an answer! $\endgroup$
    – Raphael
    Commented Feb 9, 2017 at 20:13
  • 1
    $\begingroup$ Your question is already covered by an answer to our reference question on the subject. I encourage you to read through the material there, as that will teach you not only how to solve this particular problem but also how to approach other similar problems in the future. $\endgroup$
    – D.W.
    Commented Feb 9, 2017 at 20:19

1 Answer 1

3
$\begingroup$

This is the inverted DFA of Image 2 which should accept all string combinations of the language{a,b,c} that do not contain the substring "abc"

Final Automaton

enter image description here

$\endgroup$
2
  • $\begingroup$ By the way "automata" is plural, "automaton" is singular. $\endgroup$
    – Evil
    Commented Feb 9, 2017 at 20:26
  • $\begingroup$ is this the only automaton that accepts all string combinations of the language{a,b,c} that do not contain the substring "abc" ?? for example in state $q1$ when the input is c , would it make a difference to have an edge pointing to $q1$ instead of $q_0$ ?? $\endgroup$ Commented Oct 27, 2020 at 17:40

Not the answer you're looking for? Browse other questions tagged or ask your own question.