Buscar

Máquinas de Turing

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 25 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 25 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 25 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Computabilidade e
Complexidade
(COM10014)
Profa. Juliana Pinheiro Campos Pirovani
E-mail: jupcampos@gmail.com
Sistemas de Informação
TEORIA DA COMPUTAÇÃO
Máquinas de Turing (MT)
Modelo de computação poderoso concebido pelo 
matemático britânico Alan Turing em 1936. 
Usa uma fita infinita como sua memória ilimitada. 
Essa fita é dividida em células. 
Tem um cabeçote que pode ler/ escrever 
símbolos e mover-se sobre a fita. 
Inicialmente a fita contém apenas a cadeia de 
entrada e está em branco em todo o restante. 
TEORIA DA COMPUTAÇÃO
Máquinas de Turing (MT)
TEORIA DA COMPUTAÇÃO
Máquinas de Turing (MT)
As MT podem tanto ler quanto escrever sobre a 
fita.
O cabeçote pode se movimentar tanto para a 
esquerda quanto para a direita.
Os estados de aceitação e rejeição fazem efeito 
imediatamente (entrou em um estado de 
aceitação ou rejeição, a entrada nem continua a 
ser lida, a computação termina)
 
TEORIA DA COMPUTAÇÃO
Máquinas de Turing (MT)
Ex: MT M para reconhecer a linguagem L = {anbn | 
n >= 1}
 
TEORIA DA COMPUTAÇÃO
Máquinas de Turing (MT)
 Definição formal: Uma MT é uma 7-upla, (Q, ∑, Γ, δ, q0, qaceita, 
qrejeita) onde:
Q é um conjunto finito de estados
∑ é o alfabeto de entrada sem o símbolo branco 
Γ é o alfabeto de fita, onde Є Γ e ∑Ϲ Γ
δ: Q x Γ -> Q x Γ x {E, D} é a função de transição. Se a máquina está 
num estado q e o cabeçote está sobre uma célula da fita com símbolo 
a e se δ(q,a) = (r, b, E), a máquina escreve o símbolo b substituindo o 
a e vai para o estado r. E indica que o cabeçote se move para a 
esquerda. 
q0 Є Q é o estado inicial. qaceita Є Q é o estado de aceitação e qrejeita Є 
Q é o estado de rejeição, onde qrejeita ≠ qaceita
 
TEORIA DA COMPUTAÇÃO
Máquinas de Turing (MT)
Vamos usar nessa disciplina a definição: Uma MT 
é uma 6-upla, (Q, ∑, Γ, δ, q0, F) onde F é o 
conjunto de estados finais (F C Q).
Computação em uma MT:
• É importante observar que a definição de MT não 
distingue os conceitos de programa e 
máquina. 
• É como se a δ fosse o programa da MT que 
determina o símbolo a ser gravado, o sentido do 
movimento da cabeça e o novo estado.
TEORIA DA COMPUTAÇÃO
Máquinas de Turing (MT)
Computação em uma MT:
• Uma MT recebe sua entrada sobre as n células mais à 
esquerda da fita e o restante da fita está em branco. 
• A cabeça começa sobre a célula mais a esquerda da fita 
e a computação procede conforme as regras descritas 
pela função de transição. Se M em algum momento 
tenta mover seu cabeçote para a esquerda além da 
extremidade esquerda da fita, ela permanece no mesmo 
lugar. A computação continua até que ela entre em um 
estado de aceitação ou rejeição em cujo ponto ela para. 
Se nenhum desses ocorre, M continua para sempre.
TEORIA DA COMPUTAÇÃO
Máquinas de Turing (MT)
Computação em uma MT:
• A medida que a MT computa, mudanças ocorrem 
no estado atual, no conteúdo atual da fita e na 
posição atual do cabeçote. 
• A computação de uma máquina de Turing é dada 
por uma seqüência de descrições instantâneas 
(configurações) 
 C1, C2, ..., Ck contendo cada uma um possível 
valor desses 3 itens.
TEORIA DA COMPUTAÇÃO
Máquinas de Turing (MT)
Uma configuração é representada da seguinte 
forma: dado um estado q e duas cadeias u e v ∈ 
Γ*. 
uqv representa a configuração em que o estado 
atual é q, o conteúdo da fita é uv e a posição 
atual do cabeçote é o primeiro símbolo de v.
TEORIA DA COMPUTAÇÃO
Máquinas de Turing (MT)
Exemplo: A figura abaixo representa MT com a 
configuração abcq3ac
TEORIA DA COMPUTAÇÃO
Máquinas de Turing (MT)
Suponha que tenhamos a, b e c em Γ, assim 
como u e v em Γ* e os estados qi e qj. Digamos 
que a configuração:
• uaqibv origina uqjacv se na função de transição 
δ(qi, b) = (qj, c, E); e
• uaqibv origina uacqjv se na função de transição 
δ(qi, b) = (qj, c, D);
• qibv origina qjcv se δ(qi, b) = (qj, c, E);
• uaqi é equivalente a uaqi 
TEORIA DA COMPUTAÇÃO
Máquinas de Turing (MT)
A configuração inicial da computação de uma 
MT sobre a entrada w é q0w. 
Uma MT M aceita a entrada w se uma sequencia 
de configurações C1, C2, ..., Ck existe, onde:
• C1 é a configuração inicial de M sobre a 
entrada w
• Cada Ci origina Ci+1
• Ck é uma configuração de aceitação (o estado 
da configuração é um estado final)
TEORIA DA COMPUTAÇÃO
Máquinas de Turing (MT)
Uma linguagem aceita por uma MT é dita Turing-
reconhecível ou Linguagem recursivamente 
enumerável – LRE (aceita alcançando estado 
final ou rejeita alcançando estado não final ou 
entrando em loop).
Uma linguagem é Turing-decidível ou 
linguagem recursiva - LRec, se alguma 
máquina de Turing M a decide (pára para 
qualquer entrada, nunca entra em loop):
 
lin
TEORIA DA COMPUTAÇÃO
Máquinas de Turing (MT)
Definições alternativas (variantes) de MT:
• MT com marcador de início de fita;
• MT com fita infinita nas 2 direções;
• MT em que o cabeçote não se move em uma 
leitura/gravação;
• MT multifita;
• MT não determinísticas.
O modelo original e suas variantes tem todos o 
mesmo poder computacional. 
 
TEORIA DA COMPUTAÇÃO
Máquinas de Turing (MT)
MT multifita:
• possui várias fitas, cada uma tem sua própria cabeça. 
• inicialmente a entrada aparece sobre a fita 1, e as outras 
iniciam em branco. 
• A δ permite ler, escrever e mover as cabeças em 
algumas ou todas as fitas simultaneamente.
 δ: Q x Γk → Q x Γk x {E, D}k, sendo k o nº de fitas. 
 δ(qi, a1, ..., ak) = (qj, b1, ..., bk, E, D, ..., E) significa que, se 
a máquina está no estado qi e as cabeças 1 a k estão 
lendo símbolos a1 a ak, a máquina vai para o estado qj, 
escreve os símbolos b1 a bk e direciona cada cabeça para 
mover para a esquerda ou direita, ou permanecer parada.
 
TEORIA DA COMPUTAÇÃO
Máquinas de Turing (MT)
Toda MT multifita tem uma MT de 1 única fita equivalente.
TEORIA DA COMPUTAÇÃO
Máquinas de Turing (MT)
MT não determinística:
• Em qualquer ponto em uma computação, a 
máquina pode proceder de acordo com várias 
possibilidades. 
• A função de transição tem a forma: 
Q x Γ -> P(Q x Γ x {E, D})
• A computação é uma árvore cujos ramos 
correspondem a diferentes possibilidades para a 
máquina. Se algum ramo leva ao estado de 
aceitação, a máquina aceita sua entrada. 
 
TEORIA DA COMPUTAÇÃO
Máquinas de Turing (MT)
Toda MT não determinística tem uma MT determinística 
equivalente (tenta todos os ramos da computação não 
determinística).
D
0 0 1 0 ...
x x # 0 1 x ... 
1 2 3 3 2 3 1 2 1 ... 
Fita de entrada
Fita de simulação
Fita de 
endereço
TEORIA DA COMPUTAÇÃO
Máquinas de Turing (MT)
Terminologias para descrever MT: 
• Descrição formal: especificação das 7 partes da 
MT
• Descrição de implementação: usa a língua 
natural escrita para descrever a maneira pela qual 
a MT move sua cabeça e a forma como ela 
armazena os dados sobre a fita. 
• Descrição de alto nível: usa a língua natural 
para descrever um algoritmo, ignorando os 
detalhes de implementação.
TEORIA DA COMPUTAÇÃO
Máquinas de Turing (MT)
Ex: Para L = {anbn | n >= 1}
Descrição formal:
TEORIA DA COMPUTAÇÃO
Máquinas de Turing (MT)
Descrição no nível de implementação:
M = “Sobre a cadeia de entrada w:”
1. Se w for cadeia vazia, rejeite.
2. Faça um zigue-zague ao longo da fita indo e voltando 
entre os a's e b's, marcando um de cada até que todos 
os a's tenham terminado. Se todos os b's tiverem sido 
marcados e alguns a's permanecem, rejeite. Se 
aparecer algum a após algumb, rejeite. 
3. Quando todos os a's tiverem sido marcados, verifique 
a existência de algum simbolo remanescente. Se resta 
algum símbolo, rejeite; caso contrário, aceite.
TEORIA DA COMPUTAÇÃO
Máquinas de Turing (MT)
Descrição de alto nível:
M = “Sobre a entrada w”:
Verifique se existe um b para cada a em w. Se não 
existir, rejeite. 
1. Se tiver mais b's do que a's, rejeite. Caso contrário, 
aceite.
TEORIA DA COMPUTAÇÃO
Máquinas de Turing (MT)
Chegamos em um momento decisivo no estudo da teoria da 
computação. Continuamos a falar de MT, mas nosso 
verdadeiro foco a partir de agora é em algoritmos. A 
MT simplesmente serve como um modelo preciso para 
definição de algoritmo. 
TEORIA DA COMPUTAÇÃO
Referências
Sipser, M.; Introdução à Teoria da Computação. Ed. 
Thomson, 2007. ISBN: 9878522104994.
Vieira, N. J.; Introdução aos Fundamentos da 
Computação: Linguagens e Máquinas. Ed. Thomson, 
2006. ISBN: 8522105081. 
Diverio, T. A.; Menezes, P. B.. Teoria da Computação: 
Máquinas Universais e Computabilidade. Porto 
Alegre: Sagra Luzzato, 2000.
Carnielli, W. A.; Epstein, R. L.; Computabilidade, 
funções computáveis, lógica e os fundamentos da 
matemática. 2.ed. São Paulo: Editora UNESP, 2009.
	Slide 1
	Slide 2
	Slide 3
	Slide 4
	Slide 5
	Slide 6
	Slide 7
	Slide 8
	Slide 9
	Slide 10
	Slide 11
	Slide 12
	Slide 13
	Slide 14
	Slide 15
	Slide 16
	Slide 17
	Slide 18
	Slide 19
	Slide 20
	Slide 21
	Slide 22
	Slide 23
	Slide 24
	Slide 25

Outros materiais