Детерминированный конечный автомат (DFA) - это модель конечного автомата, способная принимать все и только обычные языки. DFA могут быть (и обычно) определены таким образом, что каждое состояние должно обеспечивать некоторый переход для всех элементов входного алфавита; другими словами, функция перехода должна быть (полной) функцией.
Представьте себе, что мы будем называть дважды детерминированным конечным автоматом (DDFA). Он определяется аналогично DFA, с двумя исключениями: во-первых, вместо перехода, ведущего из одного состояния в другое для каждого возможного входного символа, он должен приводить к двум различным состояниям; во-вторых, чтобы принять строку, все потенциальные пути должны удовлетворять одному или другому из следующих условий:
- Все потенциальные пути через DDFA приводят к принимающему состоянию (мы будем называть это DDFA типа 1).
- Все потенциальные пути через DDFA приводят к одному и тому же принимающему состоянию (мы будем называть это DDFA типа 2).
Теперь на мой вопрос:
Какие языки принимают DDFA типа 1 и 2? В частности, это тот случай, когда , л ( Д Д Ж ) = L ( D F ) или L ( Д Д Ж ) ⊊ л ( Д Р ) ? В том случае, если L ( D D F A ) , есть ли простое описание L ( D D F A ) ?
Доказательства (или, по крайней мере, наброски с умеренным содержанием) приветствуются, если они не слишком сложны.
источник