Académique Documents
Professionnel Documents
Culture Documents
Eu sou a
Máquina de Turing.
Seja Bem Vindo!
Máquina de Turing
Prof. Marcus Belfort
Brasília/DF
professorbelfort@gmail.com
1
A verdadeira Máquina de Touring
2
Funcionamento da máquina
q0
È
x x y x y Ísímbolo
1 Íestado
Estado (q)
Tabela de Estados
1 2
x 2, y, Î 1, y, Í
Símbolo (s)
y 2, x, Í H, x, Î
3
A cabeça (quadrado azul) começa no estado “q=1”, lendo o símbolo “s=y” na fita.
Funcionamento da máquina
q1
È
x x y x x
2
Estado (q)
Tabela de Estados
1 2
x 2, y, Î 1, y, Í
Símbolo (s)
y 2, x, Í H, x, Î
4
Funcionamento da máquina
q2
È
x x y y x
1
Estado (q)
Tabela de Estados
1 2
x 2, y, Î 1, y, Í
Símbolo (s)
y 2, x, Í H, x, Î
5
Funcionamento da máquina
q3
È
x x x y x
2
Estado (q)
Tabela de Estados
1 2
x 2, y, Î 1, y, Í
Símbolo (s)
y 2, x, Í H, x, Î
6
Funcionamento da máquina
q4
È
x y x y x
1
Estado (q)
Tabela de Estados
1 2
x 2, y, Î 1, y, Í
Símbolo (s)
y 2, x, Í H, x, Î
7
Funcionamento da máquina
q5
È
y y x y x
2
Estado (q)
Tabela de Estados
1 2
x 2, y, Î 1, y, Í
Símbolo (s)
y 2, x, Í H, x, Î
8
Funcionamento da máquina
q6
È
y x x y x
H
Estado (q)
Tabela de Estados
1 2
x 2, y, Î 1, y, Í
Símbolo (s)
y 2, x, Í H, x, Î
9
Formalização da máquina
Rep. Significado Escopo
∑ Alfabeto de símbolos de entrada (∑ ⊃ s) {x, y}
Q Estados possíveis da máquina (Q ⊃ q) {1, 2, H}
q0 Estado inicial da máquina (Q ⊃ q0) 1
qf Estado final da máquina (Q ⊃ qf) H
D Direção de movimento da máquina {<, >)
δ Função de Transição Qx∑ÎQx∑xD
δ = Função de Transição
Entrada Produto carteziano de Q x ∑ par ordenado {q, s} {1, y}
Saída Produto carteziano de Q x ∑ x D terno ordenado {q, s, D} {2, y, >}
É chamada de “função parcial” porque pode haver entre os pares (q,s), no domínio da FT:
a) Pares que não são utilizados (nunca serão entrada da FT);
b) Pares que são utilizados, mas, não têm imagem no contradomínio (saída não especificada na FT)
10
Máquina de Turing (MT)
MT é uma 8-upla: M = (∑, Q, δ, q0, qf, A, ß, )
∑ Alfabeto de símbolos de entrada (conjunto finito)
V Alfabeto auxiliar (por exemplo: marcar leitura) (pode ser vazio: V={})
• Procedimento:
– Seqüência finita de instruções que podem ser
executadas por um agente computacional.
• Procedimento efetivo:
– Descrição não ambígua de um procedimento.
Um procedimento efetivo pode executar uma
tarefa, computar uma função ou fazer uma
sequência de operações relacionadas.
• Algoritmo:
– Procedimento efetivo que especifica uma se-
qüência finita de operações.
12
Características da MT
• Idealizada, em 1936, pelo matemático britânico Alan Turing (1912-1954)
• É uma máquina abstrata, de memória infinita (ainda impossível de construir)
• stica na FT, cada par do domínio Î imagem única no contra-domínio.
É determinística:
• Está no nível da porta lógica (inúmeros passos para fazer uma operação simples)
• Como modelo formal de procedimento efetivo, algoritmo ou função computável:
– A descrição do algoritmo deve ser finita
– Deve consistir de passos:
• discretos
• executáveis mecanicamente
• em um tempo finito.
• A entrada para uma máquina de Turing é sempre uma cadeia de símbolos:
– Para entrar com um objeto diferente: deve-se representá-lo como uma cadeia
– Cadeias (ou palavras) podem facilmente representar:
• polinômios
• grafos
• gramáticas (linguagens)
• autômatos e
• qualquer combinação desses objetos.
• Resultaram em conceitos equivalentes (reforçando o trabalho de Alan Turing):
– Máquina de Post (Post - 1936)
– Funções Recursivas (Kleene - 1936)
– Máquina Norma (Bird – 1976)
13
– Autômato com Pilhas
Usos da MT
Existem três maneiras de abordar o estudo das MT
a) Processar Funções
• Funções computáveis
• (e suas propriedades)
b) Reconhecer Linguagens
• Linguagens que podem ser reconhecidas
• (e suas propriedades)
c) Solucionar Problemas
• Solucionáveis
• Não-solucionáveis
• Parcialmente solucionáveis (computáveis)
• Completamente insolúveis (não-computáveis)
14
Hipótese de Church
(ou Hipótese de Turing-Church)
Até hoje, não foi ainda inventado um computador capaz de resolver um problema que
a MT não possa resolver. Este fato mantém ainda válida a tese de Turing-Church.
16
Composição da MT
• Fita infinita (à esquerda e à direita) dividida em células
– Usada simultaneamente como
• Dispositivo de entrada
• Dispositivo de Saída
• Memória de trabalho
– Pode ter um limitador à esquerda (marco de início: )
– Cada célula pode ter um símbolo (pertencente a um alfabeto finito)
• Unidade de Controle (com uma cabeça de leitura/escrita)
– Pode se movimentar
• Uma célula por vez
• À esquerda ou à direita
– Pode assumir um conjunto de estados (finitos) que dependem:
• Do estado atual (q)
• Do símbolo lido (s)
• Função de Transição: com base em q e s, comanda
– leituras e gravações
– sentido de movimento da cabeça e
– define o estado da máquina.
17
Funcionamento da MT
PREPARAÇÃO
Entrada inicial dos dados
1. Uma cadeia de símbolos é escrita na fita
– Pertencentes a um alfabeto finito (∑)
– Um símbolo (s) por célula (c)
2. As demais células estão em branco (ß)
Situação inicial da cabeça
1. Em um estado q (determinado)
2. Sobre uma célula c (determinada)
q0
È
x x y x y
1
18
Funcionamento da MT
PROCESSAMENTO: Executar até que ocorra uma CONDIÇÃO DE PARADA:
1. Cabeça: lê o símbolo da célula atual (s)
2. A Função de Transição (Programa de Transição) é chamada:
qAtual qNovo
sAtual FT sNovo
3. Cabeça: Direção
– Assume novo estado (pode ser igual ao anterior)
– Escreve novo símbolo na célula (pode ser igual ao anterior)
– Movimenta-se para a célula ao lado (Í ou Î)
4. Volta ao passo nº 1
19
Funcionamento da MT
CONDIÇÃO DE PARADA
1. A máquina assume um estado final
– A cabeça pára
– A cadeia de símbolos de entrada é ACEITA!
2. A FT é indefinida para o argumento (q e s)
– A cabeça pára
– A cadeia de símbolos de entrada é REJEITADA!
3. A cabeça está no “início” da fita () e deve se mover à esquerda
– A cabeça pára
– A cadeia de símbolos de entrada é REJEITADA!
Atenção: o processamento pode nunca parar (loop infinito)
20
Representações da MT
∑ A,B, Æ
1 2
A B C ß
1 (2, B, D)
C,C, Å
Q 2 (3, ß, E) β,β,Å
3 (3, C, E) 3
23
Questão de prova
24
A Máquina de Turing (Tm) é um modelo matemático que tem sido estudado
para a descrição de procedimentos computacionais. Acerca desse
modelo e dos conceitos a ele relacionados, julgue os itens que se
seguem.
a) Um procedimento é uma seqüência possivelmente infinita de instruções
que podem ser executadas por um agente computacional, seja ele
humano ou não.
b) Todo problema que pode ser computado por uma máquina de Turing
tem uma solução computacional descrita por um algoritmo.
c) Um algoritmo é um procedimento efetivo que pára, após um número
finito de passos, produzindo resultados finais, para todos os valores
possíveis de seus argumentos.
d) Se L representa a linguagem aceita por uma Tm, então Tm pára em
todas as sentenças de L.
e) Os programas escritos em linguagem de Turing podem ser traduzidos
para equivalentes em outra linguagem, tendo somente as operações
primitivas de soma, subtração, teste de zero e um comando de
repetição.
26
Links relacionados
Universidade Federal do Rio Grande do Sul - Departamento de Informática
27
Fim
28