Когда мы хотим свести к минимуму DFA, сначала разбиваем конечные и не конечные состояния. Затем мы делим эти состояния на несколько других разделов, пока все состояния в каждом разделе принадлежат одному и тому же классу эквивалентности. Теперь мой вопрос заключается в том, что у нас есть мертвое состояние в dfa, тогда оно должно перейти к разделу неконфиденциальных состояний или к отдельному разделу (содержащему только мертвое состояние) ? Также, пожалуйста, скажите мне, должно ли это мертвое состояние считаться одним из состояний в минимизированной dfa?Как разделить состояния DFA с мертвым состоянием при минимизации того же
1
A
ответ
3
Мертвое состояние переходит в набор не конечных состояний, поскольку это не принимающее состояние. Вы относитесь к нему так же, как и к любому другому состоянию во время алгоритма минимизации. Когда вы закончите, если ваш DFA вообще нуждается в мертвом состоянии, он должен иметь мертвое состояние как одно из его состояний. Некоторые регулярные языки требуют мертвых состояний, но алгоритмы достаточно «умны», чтобы обеспечить их включение.
Надеюсь, это поможет!
Спасибо за ваш ответ. –
Только один запрос у меня есть, поскольку мы рассматриваем мертвое состояние вместе с другими неконфиденциальными состояниями в том же классе эквивалентности, что и будет конечной позицией мертвого состояния после всех подразделений эквиа. классы были закончены. Два или более государств, проживающих в одном и том же эквиваленте. блок должен быть объединен в одно состояние в минимизированном dfa.Now, если мертвое состояние приходит с другим состоянием в equiv. блок, наконец, как его можно объединить? (мертвое состояние не должно сливаться с каким-либо другим состоянием). –
Почему мертвое состояние не может сливаться с другими государствами? Если другие состояния в DFA не имеют путей к любому принимающему состоянию, они фактически мертвы и будут объединены с мертвым состоянием при минимизации. – templatetypedef