Um autômato finito determinístico (DFA) é um modelo de máquina de estado capaz de aceitar todas e apenas linguagens regulares. Os DFAs podem ser (e geralmente são) definidos de tal maneira que cada estado deve fornecer alguma transição para todos os elementos do alfabeto de entrada; em outras palavras, a função de transição deve ser uma função (total).
Imagine o que chamaremos de autômato finito duplamente determinístico (DDFA). É definido de maneira semelhante a um DFA, com duas exceções: primeiro, em vez da transição que leva de um estado para outro para cada símbolo de entrada possível, deve levar a dois estados distintos; segundo, para aceitar uma sequência, todos os caminhos em potencial devem satisfazer uma ou outra das seguintes condições:
- Todos os caminhos em potencial através do DDFA levam a um estado de aceitação (chamaremos isso de DDFA do tipo 1).
- Todos os caminhos em potencial pelo DDFA levam ao mesmo estado de aceitação (chamaremos isso de DDFA do tipo 2).
Agora, minha pergunta:
Quais idiomas os DDFAs do tipo 1 e do tipo 2 aceitam? Especificamente, , L (DDFA) = L (DFA) ou L (DDFA) \ subsetneq L (DFA) ? No caso de L (DDFA) \ neq L (DFA) , existe uma descrição fácil de L (DDFA) ?G ( D D F A ) = G ( D F A ) G ( D D F A ) ⊊ G ( D F A ) G ( D D F A ) ≠ L ( D F A ) L ( D D F)
As provas (ou pelo menos esboços moderadamente detalhados) são apreciadas, se não forem muito complicadas.