Máquina de Turing Não Ambígua

Na computação teórica, uma máquina de Turing é um máquina teórica que é usada no experimento mental para examinar as capacidades e limitações de computadores. Uma máquina de Turing não ambígua é um tipo especial de máquina de Turing não determinística, a qual, de certa forma, é semelhante a uma máquina de Turing determinística.

Definição Formal editar

Uma máquina de Turing não determinística é representada formalmente por uma 6-tupla,  . Um máquina de Turing não ambígua é uma máquina de Turing não determinística, tal que, para toda entrada w = a1a2 ... an, existe no máximo uma sequência de configurações c0,c1, ..., cm com as seguintes condições:

  1. c0 é a configuração inicial da entrada w
  2. ci+1 é o sucessor do ci e
  3. cm é uma configuração de aceitação.

Em outras palavras, se w é aceita por M, há exatamente uma computação de aceitação.

Expressividade editar

Uma máquina de Turing (determinística) é uma máquina de Turing não ambígua. De fato, para cada entrada, há exatamente uma computação possível.

Por um lado, uma máquina de Turing não ambígua tem a mesma expressividade de uma máquina de Turing. De fato, ela é um subconjunto das máquinas de Turing não determinísticas, que tem a mesma expressividade das máquinas de Turing.

Por outro lado, a classe de complexidade "tempo polinomial não-determinístico não-ambíguo" é supostamente menos expressiva do que a classe "tempo polinomial não-determinístico".

Referências editar

Lane A. Hemaspaandra and Jorg Rothe, Unambiguous Computation: Boolean Hierarchies and Sparse Turing-Complete Sets, SIAM J. Comput., 26(3), 634–653, 2006.