Проверьте это.Здесь представлены три хороших алгоритмических метода ответа на подобные вопросы.Изучите один из них или все три, если у вас есть время или желание.Удаление состояний довольно интуитивно понятно, хотя мне нравится метод транзитивного замыкания Клини.
http://krchowdhary.com/toc/dfa-to-reg-exp.pdf
РЕДАКТИРОВАТЬ: ваш RE эквивалентен предоставленному.вот их сокращение к вашему:
0. a*(a*ba*ba*ba*)*(a+a*ba*ba*ba*)
1. = a*(a*ba*ba*ba*)*a + a*(a*ba*ba*ba*)*a*ba*ba*ba*
2. = a*(ba*ba*ba*)*a + a*(ba*ba*ba*)*ba*ba*ba*
3. = a*a + a*(ba*ba*ba*)*a + a*(ba*ba*ba*)*ba*ba*ba*
4. = aa* + a*(ba*ba*ba*)*ba*ba*ba*a + a*(ba*ba*ba*)*ba*ba*ba*
5. = aa* + a*(ba*ba*ba*)*ba*ba*ba*
6. = aa* + aa*(ba*ba*ba*)*ba*ba*ba* + (ba*ba*ba*)*ba*ba*ba*
7. = aa* + aa*(ba*ba*ba*)* + (ba*ba*ba*)*ba*ba*ba*
8. = aa* + aa*(ba*ba*ba*)* + ba*ba*ba* + (ba*ba*ba*)*ba*ba*ba*
9. = aa* + aa*(ba*ba*ba*)* + ba*ba*ba* + ba*ba*ba*(ba*ba*ba*)*
Шаг 1 правильный, так как r (s + t) = rs + rt.
Шаг 2 правильный, так как r * (r * sr*) * = r * (sr *) *.
Шаг 3 является правильным, поскольку r = r + s, если L (s) является подмножеством L (r).
Шаг 4верно, так как r * r = rr * и rs + rq * s = rs + rqq * s.
Шаг 5 правильный, так как rs + r = r.
Шаг 6 правильный, так какr * s = rr * s + s.
Шаг 7 правильный, так как rs + rqq * s = rs + rq * s.
Шаг 8 правильный, так как r = r + s, еслиL (s) является подмножеством L (r).
Шаг 9 правильный, так как r * r = rr *.
Пожалуйста, не стесняйтесь задавать любые вопросы или указывать на любые ошибки, которые явозможно, сделал.
РЕДАКТИРОВАТЬ2: Если вы заинтересованы в такого рода вопросы, проявите некоторую любовь к новому информатике StackExchange, перейдя по этой ссылке и совершив !!!
http://area51.stackexchange.com/proposals/35636/computer-science-non-programming?referrer=rpnXA1_2BNYzXN85c5ibxQ2