2013-10-14 7 views
1

Когда мы хотим свести к минимуму DFA, сначала разбиваем конечные и не конечные состояния. Затем мы делим эти состояния на несколько других разделов, пока все состояния в каждом разделе принадлежат одному и тому же классу эквивалентности. Теперь мой вопрос заключается в том, что у нас есть мертвое состояние в dfa, тогда оно должно перейти к разделу неконфиденциальных состояний или к отдельному разделу (содержащему только мертвое состояние) ? Также, пожалуйста, скажите мне, должно ли это мертвое состояние считаться одним из состояний в минимизированной dfa?Как разделить состояния DFA с мертвым состоянием при минимизации того же

ответ

3

Мертвое состояние переходит в набор не конечных состояний, поскольку это не принимающее состояние. Вы относитесь к нему так же, как и к любому другому состоянию во время алгоритма минимизации. Когда вы закончите, если ваш DFA вообще нуждается в мертвом состоянии, он должен иметь мертвое состояние как одно из его состояний. Некоторые регулярные языки требуют мертвых состояний, но алгоритмы достаточно «умны», чтобы обеспечить их включение.

Надеюсь, это поможет!

+0

Спасибо за ваш ответ. –

+0

Только один запрос у меня есть, поскольку мы рассматриваем мертвое состояние вместе с другими неконфиденциальными состояниями в том же классе эквивалентности, что и будет конечной позицией мертвого состояния после всех подразделений эквиа. классы были закончены. Два или более государств, проживающих в одном и том же эквиваленте. блок должен быть объединен в одно состояние в минимизированном dfa.Now, если мертвое состояние приходит с другим состоянием в equiv. блок, наконец, как его можно объединить? (мертвое состояние не должно сливаться с каким-либо другим состоянием). –

+0

Почему мертвое состояние не может сливаться с другими государствами? Если другие состояния в DFA не имеют путей к любому принимающему состоянию, они фактически мертвы и будут объединены с мертвым состоянием при минимизации. – templatetypedef