Turing Machine Introduction

Advertisements

A Turing Machine é um dispositivo de aceitação que aceita as línguas (conjunto recursivamente enumerável) geradas pelo tipo 0 gramáticas. Foi inventado em 1936 por Alan Turing.

Definição

A Turing Machine (TM) é um modelo matemático que consiste numa fita de comprimento infinito dividida em células sobre as quais é dada a entrada. É constituída por uma cabeça que lê a fita de entrada. Um registo estatal armazena o estado da máquina Turing. Depois de ler um símbolo de entrada, é substituído por outro símbolo, o seu estado interno é alterado, e move-se de uma célula para a direita ou para a esquerda. Se a TM atingir o estado final, a cadeia de entrada é aceite, caso contrário é rejeitada.

A TM pode ser formalmente descrita como um 7-tuplo (Q, X, ∑, δ, q0, B, F) onde –

  • p>Q é um conjunto finito de estados
  • p>X é o alfabeto da fita adesiva
  • p>∑ é o alfabeto de entrada
  • p>p>δ é uma função de transição; δ : Q × X → Q × X × {Turno_esquerdo, Turno_direito}.
  • p>p>q0 é o estado inicial
  • p>p>B é o símbolo em branco
  • p>p>F é o conjunto de estados finais/li>

Comparação com o autómato anterior

p> A tabela seguinte mostra uma comparação de como uma máquina Turing difere da Finite Automaton e Pushdown Automaton.

Pushdown Automaton

Máquina Estrutura de Dados de Pushdown Determinístico?
Automaton finito N.A Sim
Last In First Out(LIFO) No
Turing Machine Fitaitaitaitaita/intérita Sim

Exemplo da máquina Turing

Máquina Turing M = (Q, X, ∑, δ, q0, B, F) com

  • Q = {q0, q1, q2, qf}
  • X = {a, b}
  • ∑ = {1}
  • q0 = {q0}
  • B = símbolo em branco
  • F = {qf }

δ é dado por –

Símbolo do alfabeto Estado actual ‘q0’ Atual Indique ‘q1’ Estado Actual ‘q2’
a 1Rq1 1Lq0 1Lqf
b 1Lq2 1Rq1 1Rqf

Aqui a transição 1Rq1 implica que o símbolo de escrita é 1, a fita move-se para a direita, e o estado seguinte é q1. Da mesma forma, a transição 1Lq2 implica que o símbolo de escrita é 1, a fita move-se para a esquerda, e o estado seguinte é q2.

Tempo e complexidade espacial de uma máquina Turing

Para uma máquina Turing, a complexidade temporal refere-se à medida do número de vezes que a fita se move quando a máquina é inicializada para alguns símbolos de entrada e a complexidade espacial é o número de células da fita escrita.

Complexidade temporal todas as funções razoáveis –

T(n) = O(n log n)

complexidade espacial doTM –

S(n) = O(n)

Advertisements

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *