DFA

digraph {
	rankdir=LR
	init[shape=point]
	node[shape=doublecircle]; r;
	node[shape=circle];
	init->s
	s->s [label=b]
	s->q [label=a]
	q->s [label=b]
	q->r [label=a]
	r->r [label=a]
	r->r [label=b]
}

DFA

digraph {
	rankdir=LR
	init[shape=point]
	node[shape=doublecircle]; s, q;
	node[shape=circle];
	init->s
	s->s [label=b]
	s->q [label=a]
	q->s [label=b]
	q->r [label=a]
	r->r [label=a]
	r->r [label=b]
}

DFA

digraph {
	rankdir=LR
	init[shape=point]
	node[shape=doublecircle]; t;
	node[shape=circle];
	init->s
	s->q [label=a]
	s->t [label=b]
	q->r [label=b]
	t->r [label=a]
	
	q->s [label=a]
	t->s [label=b]
	r->t [label=a]
	r->q [label=b]
}

Some experiments:

  • ends up in rejected
  • ends up in accepted
  • ends up in rejected
  • ends up in accepted
  • ends up in rejected