Idioma aceito e idioma decidido

Uma TM aceita um idioma se entrar em um estado final para qualquer string de entrada w. Uma linguagem é recursivamente enumerável (gerada pela gramática Tipo-0) se for aceita por uma máquina de Turing.

Uma TM decide se um idioma o aceita e entra em um estado de rejeição para qualquer entrada que não esteja no idioma. Uma linguagem é recursiva se for decidida por uma máquina de Turing.

Pode haver alguns casos em que uma MT não para. Essa MT aceita o idioma, mas não o decide.

Projetando uma Máquina de Turing

As diretrizes básicas para projetar uma máquina de Turing foram explicadas abaixo com a ajuda de alguns exemplos.

Exemplo 1

Projete uma TM para reconhecer todas as strings que consistem em um número ímpar de αs.

Solution

A máquina de Turing M pode ser construído pelos seguintes movimentos -

  • Deixei q1 ser o estado inicial.

  • E se M é em q1; na varredura α, ele entra no estadoq2 e escreve B (em branco).

  • E se M é em q2; na varredura α, ele entra no estadoq1 e escreve B (em branco).

  • A partir dos movimentos acima, podemos ver que M entra no estado q1 se varre um número par de α's, e entra no estado q2se varre um número ímpar de α's. Conseqüentementeq2 é o único estado de aceitação.

Conseqüentemente,

M = {{q 1 , q 2 }, {1}, {1, B}, δ, q 1 , B, {q 2 }}

onde δ é dado por -

Símbolo do alfabeto de fita Estado Atual 'q 1 ' Estado Atual 'q 2 '
α BRq 2 BRq 1

Exemplo 2

Projete uma máquina de Turing que leia uma string representando um número binário e apague todos os zeros iniciais da string. No entanto, se a string for composta por apenas 0s, ela manterá um 0.

Solution

Vamos supor que a string de entrada é encerrada por um símbolo em branco, B, em cada extremidade da string.

A Máquina de Turing, M, pode ser construído pelos seguintes movimentos -

  • Deixei q0 ser o estado inicial.

  • E se M é em q0, na leitura 0, move-se para a direita, entra no estado q1 e apaga 0. Na leitura 1, ele entra no estado q2 e se move para a direita.

  • E se M é em q1, na leitura 0, move-se para a direita e apaga 0, ou seja, substitui 0's por B's. Ao chegar ao 1 mais à esquerda, ele entraq2e se move para a direita. Se atingir B, ou seja, a string é composta por apenas 0's, ela se move para a esquerda e entra no estadoq3.

  • E se M é em q2, ao ler 0 ou 1, ele se move para a direita. Ao chegar a B, ele se move para a esquerda e entra no estadoq4. Isso valida que a string compreende apenas 0's e 1's.

  • E se M é em q3, ele substitui B por 0, move-se para a esquerda e atinge o estado final qf.

  • E se M é em q4, ao ler 0 ou 1, ele se move para a esquerda. Ao chegar ao início da string, ou seja, ao ler B, chega ao estado finalqf.

Conseqüentemente,

M = {{q 0 , q 1 , q 2 , q 3 , q 4 , q f }, {0,1, B}, {1, B}, δ, q 0 , B, {q f }}

onde δ é dado por -

Símbolo do alfabeto de fita Estado Atual 'q 0 ' Estado Atual 'q 1 ' Estado Atual 'q 2 ' Estado Atual 'q 3 ' Estado Atual 'q 4 '
0 BRq 1 BRq 1 ORq 2 - OLq 4
1 1Rq 2 1Rq 2 1Rq 2 - 1Lq 4
B BRq 1 BLq 3 BLq 4 OLq f BRq f