Máquinas de Turing e decidibilidade

Transições e configurações, programação da fita, máquinas equivalentes, reconhecimento, decisão e problema da paragem.

TLDR

Perguntar sobre esta página

ChatGPTClaudePerplexityGrokGeminiCopiar e abrirDeepSeekCopiar e abrir

Máquina de Turing

Estados finitos, fita ilimitada nos dois sentidos, cabeça que lê e escreve. Γ⊃Σ\Gamma\supset\Sigma, branco B∉ΣB\notin\Sigma.

δ(q,X)=(p,Y,D),D∈{L,R}.\delta(q,X)=(p,Y,D),\qquad D\in\{L,R\}.

Escreve YY, muda para pp e move a cabeça uma célula. A convenção usa finais sem saídas: parar num final aceita e parar fora de final rejeita; uma transição indefinida faz a máquina parar. Uma configuração αqβ\alpha q\beta coloca o estado qq imediatamente antes da célula sob a cabeça. Quando δ(q,X)=(p,Y,R)\delta(q,X)=(p,Y,R), então αqXβ⊢αYpβ\alpha qX\beta\vdash\alpha Yp\beta. Quando o movimento é D=LD=L com α=γA\alpha=\gamma A, então γAqXβ⊢γpAYβ\gamma AqX\beta\vdash\gamma pAY\beta.

Programar a fita

  • Para {anbn∣n≥0}\{a^nb^n\mid n\ge0\}: marca um aa com XX e o bb correspondente com YY, regressa ao XX e repete; no fim confirma que só restam YY. Cada ronda reduz os aa ativos, por isso a prova inclui a terminação.
  • Para palíndromos: compara e risca os extremos; um centro isolado aceita sem procurar par.
  • Para várias contagens: usa marcadores distintos por bloco e verifica primeiro o formato dos blocos.
  • Para incrementar um binário: vai até ao fim e propaga o transporte à esquerda (1→01\to0; no primeiro 00, escreve 11 e termina; no branco à esquerda, escreve 11).
  • Num cálculo, indica sempre a região do resultado e a posição final da cabeça, não só a linguagem aceite.
-4B
-3B
-2B
-1B
0a
1a
2b
3b
4B

Estado q0. Cabeça na posição 0. Passos: 0.

Próxima transição: δ(q0, a) = (q1, X, R).

Editar estados e transições

Pronta para executar.

Fita bilateral; B representa branco.

Modelo e limites

A máquina é determinística. Finais aceitam e não têm saídas; sem transição, rejeita. Até 16 estados, 128 transições e 128 símbolos de entrada. A execução para aos 2000 passos ou ao tentar sair das posições −256 a 256, com resultado inconclusivo. A janela mostra 9 células e acompanha a cabeça. As edições ficam nesta visita.

Limite do simulador é inconclusivo: não prova que a máquina nunca pararia.

Modelos equivalentes

Várias fitas, fita unilateral, duas pilhas e TM não determinística: mesmo poder de reconhecimento, custos diferentes. Não determinismo simula-se por níveis, sem prender num ramo infinito. Tese de Church-Turing: procedimento efetivo equivale a TM; é tese, não teorema.

Reconhecimento e decisão

Máquina para LLEm w∈Lw\in LEm w∉Lw\notin L
ReconhecedorTermina e aceitaRejeita ou corre para sempre
DecisorTermina e aceitaTermina e rejeita

Se LL é decidível, então LL é reconhecível; a recíproca falha. Se LL e L‾\overline L são reconhecíveis, então LL é decidível: simula os dois reconhecedores alternando um passo de cada, pois um deles acabará por aceitar.

ATMA_{TM} (aceita?) e HALTHALT (para?): reconhecíveis e indecidíveis. Máquina universal simula ⟨M,w⟩\langle M,w\rangle.

Diagonalização e reduções

Sem decisor de paragem: se HH decidisse HALTHALT, a máquina DD consultaria HH sobre ⟨M,⟨M⟩⟩\langle M,\langle M\rangle\rangle e faria o contrário explícito: se HH disser que MM para, DD entra em ciclo infinito; se disser que não para, DD termina. Com a própria codificação, D(⟨D⟩)D(\langle D\rangle) contradiz qualquer resposta de HH.

  • Redução A≤mBA\le_m B: ff total computável com x∈A  ⟺  f(x)∈Bx\in A\iff f(x)\in B. Para BB indecidível, reduz AA indecidível a BB.
  • HALT≤mATMHALT\le_m A_{TM}: NN ignora a entrada, simula MM em ww, aceita se parar. MM para em ww sse ⟨N,ε⟩∈ATM\langle N,\varepsilon\rangle\in A_{TM}.
  • Com um limite fixo tt de passos, continua decidível perguntar se alguma entrada, ou se todas as entradas, fazem uma TM determinística ultrapassar tt passos. Nos primeiros tt movimentos, a cabeça não alcança além da posição t+1t+1, por isso basta enumerar palavras até esse comprimento e simular cada representante. Este argumento usa o limite fixo e não decide a paragem sem limite.

Provas e construções completas.

Compactar um resultado

Para remover todos os YY de uma entrada sobre {X,Y}\{X,Y\} e juntar os XX num bloco contínuo XkX^k desde a primeira célula: cada ronda completa desloca um XX para a primeira posição livre do prefixo; apagar um YY durante o regresso impediria a escrita, por isso só a ronda completa conserva a quantidade de XX. As varreduras percorrem uma região finita e a limpeza final apaga os YY restantes. A máquina começa no estado ss na primeira célula e termina no final ff com a cabeça na célula 0; a tabela completa de cinco estados de trabalho está na lição.

À tua maneira

Aparência

Modo de cor
Tema
Cor de destaque

Leitura

Fonte de leitura

Álgebra, lógica e uma ideia de cada vez.

Código

Fonte do código

Navegação

Cursor de leitura, sem edição. h, j, k, l movem; / pesquisa nesta página. v seleciona caracteres; V seleciona linhas; y copia. Tab permite destacar ou comentar. Espaço ou Enter abre blocos recolhíveis. Nos cartões, h, j, k, l mudam o foco.

CSS personalizado

Ativa uma sugestão ou guarda o teu CSS. Só muda este navegador.

Usa --page, --text e --accent para acompanhar o tema.

Seletores e recuperação

.site-header, .prose, .course-card, [data-reading-history], [data-playground] e .page-actions.

Abre a aparência com a tecla vírgula ou no rodapé. Se o CSS esconder os controlos, abre esta página sem CSS personalizado.

Pesquisar

Escreve para pesquisar em todo o site.

para escolher · Enter para abrir · Esc para fechar

Copiar fórmula

A cópia automática não está disponível. Copia o LaTeX abaixo.

Pesquisar nesta página

Enter procura · n / N repetem · Esc cancela. Ctrl / Cmd K pesquisa todo o site.

Atalhos de teclado

Clica numa tecla para a mudar. Esc cancela. Backspace desativa.

PesquisarCtrl / Cmd K

Os atalhos não interferem enquanto escreves. Tab e Enter funcionam sempre.