Você está na página 1de 16

PCS 2214 - Fundamentos de

Engenharia de Computao I
PCS 2214
Fund. Eng. Comp.
I

MQUINA DE TURING

Profs:
Anna H. R. Costa
Joo Jos Neto
Lria M. Sato
Romero Tori

Professores:
Anna Helena Reali Costa
Joo Jos Neto
Liria Matsumoto Sato
Romero Tori

Mdulo:
Mquina de Turing

Autora:
Anna H. R. Costa

Reviso:
Jaime S. Sichman

Verso: 2.2
Data: 10/05/08

Contedo
PCS 2214
Fund. Eng. Comp.
I
Profs:
Anna H. R. Costa
Joo Jos Neto
Lria M. Sato
Romero Tori

Mdulo:
Mquina de Turing

Autora:
Anna H. R. Costa

1.
2.
3.
4.
5.
6.
7.

Mquinas de Turing.
Aes de uma Mquina de Turing
Definio Formal de uma Mquina de Turing
Linguagens Decidveis
Mquina de Turing para Computar Funes
Linguagens Formais e Modelos Computacionais
Tese de Church-Turing

Reviso:
Jaime S. Sichman

Verso: 2.2
Data: 10/05/08

Mquina de Turing
PCS 2214
Fund. Eng. Comp.
I
Profs:
Anna H. R. Costa
Joo Jos Neto
Lria M. Sato
Romero Tori

Mdulo:
Mquina de Turing

Autora:
Anna H. R. Costa

Reviso:
Jaime S. Sichman

Verso: 2.2
Data: 10/05/08

Mquina de Turing: modelo mais


poderoso de computador, proposto
pelo ingls Alan M. Turing em 1936.
Similar a um autmato finito, porm
com uma memria ilimitada e irrestrita,
constituindo um modelo mais preciso
de um computador de propsito geral.
Uma Mquina de Turing computa uma
entrada.

Alan Mathison Turing


(23/06/1912 07/06/1954)

PCS 2214
Fund. Eng. Comp.
I
Profs:
Anna H. R. Costa
Joo Jos Neto
Lria M. Sato
Romero Tori

Mdulo:
Mquina de Turing

Autora:
Anna H. R. Costa

Reviso:
Jaime S. Sichman

Verso: 2.2
Data: 10/05/08

Matemtico, lgico, criptgrafo e heri de


guerra britnico. Considerado o pai da
cincia da computao. Fez previses
acerca da Inteligncia Artificial e props o
Teste de Turing, contribuindo para o
debate sobre a conscincia das mquinas
e suas capacidades de pensar.
Formalizou o conceito de algoritmo e
computao com a Mquina de Turing,
gerando sua verso da Tese de ChurchTuring. Responsvel pela quebra do
cdigo alemo Enigma durante a II
Guerra Mundial. Depois da guerra,
projetou um pioneiro computador digital
programvel eletronicamente. Foi
processado e condenado por ser
homossexual (em 1952). Morreu
envenenado (provvel suicdio). O Turing
Award foi criado em sua homenagem.

Mquina de Turing
A Mquina de Turing consiste em:
PCS 2214
Fund. Eng. Comp.
I

Uma fita infinita dividida em clulas, cada uma


contendo um smbolo de um alfabeto finito
(a fita tambm a memria externa);
Um cursor que efetua leitura e escrita em uma
clula e se move para a direita ou esquerda;
Uma mquina de estado finito, cujo conjunto de
estados S, e que controla o cursor;

Profs:
Anna H. R. Costa
Joo Jos Neto
Lria M. Sato
Romero Tori

Mdulo:
Mquina de Turing

Autora:
Anna H. R. Costa

X X Y X Y X b b b

Reviso:
Jaime S. Sichman

...

Mquina de Estado Finito

Verso: 2.2
Data: 10/05/08

Computao em uma MT

PCS 2214
Fund. Eng. Comp.
I
Profs:
Anna H. R. Costa
Joo Jos Neto
Lria M. Sato
Romero Tori

Mdulo:
Mquina de Turing

Autora:
Anna H. R. Costa

Reviso:
Jaime S. Sichman

Verso: 2.2
Data: 10/05/08

Inicialmente a fita contm somente a cadeia de


entrada, com o cursor posicionado no incio da
cadeia (o resto est em branco b);
Para armazenar algo, a mquina escreve na fita;
Se tentar mover o cursor para a esquerda,
estando na primeira clula da fita, o cursor no
sai do lugar;
As sadas aceita e rejeita so obtidas ao entrar
nos estados de aceitao e rejeio;
Se no entrar em um estado de aceitao ou
rejeio, continuar sua computao para
sempre (loop infinito).

MT como um Conjunto de Aes


PCS 2214
Fund. Eng. Comp.
I
Profs:
Anna H. R. Costa
Joo Jos Neto
Lria M. Sato
Romero Tori

Mdulo:
Mquina de Turing

Autora:
Anna H. R. Costa

Reviso:
Jaime S. Sichman

Verso: 2.2
Data: 10/05/08

Uma MT pode ser descrita por um


conjunto de aes.
Aes: (s, i, i, s, d) sendo:
s: estado atual da MEF (s S)
i: smbolo que est sendo lido na fita (i )
i: smbolo que impresso na fita (i )
s: novo estado da MEF (s S)
d{D,E}, indicando que o cursor pode se
mover para a Direita ou Esquerda.

Aes da Mquina de Turing


PCS 2214
Fund. Eng. Comp.
I
Profs:
Anna H. R. Costa
Joo Jos Neto
Lria M. Sato
Romero Tori

Exemplo: Para a mquina em (a), ao executar a


ao (2,1,0,1,D), resulta em (b).

(a)

Mdulo:
Mquina de Turing

...

(b)

Autora:
Anna H. R. Costa

0 0 0 1 0 1 0 b b b

0 0 0 0 0 1 0 b b b

...

Reviso:
Jaime S. Sichman

1
Verso: 2.2
Data: 10/05/08

Aes da Mquina de Turing


PCS 2214
Fund. Eng. Comp.
I
Profs:
Anna H. R. Costa
Joo Jos Neto
Lria M. Sato
Romero Tori

Mdulo:
Mquina de Turing

Ex: uma MT definida pelo conjunto de


quntuplas: (0,0,1,0,D), (0,1,0,0,D), (0,b,1,1,E),
(1,0,0,1,D), (1,1,0,1,D), (1,b,b,2,D). O estado de
aceitao 2. Verificar sua computao:
Incio:

0 1 1 0 b

...

(0,0,1,0,D)

...

(0,1,0,0,D)

Autora:
Anna H. R. Costa

Reviso:
Jaime S. Sichman

1 1 1 0 b
Verso: 2.2
Data: 10/05/08

0
9

Aes da Mquina de Turing


PCS 2214
Fund. Eng. Comp.
I
Profs:
Anna H. R. Costa
Joo Jos Neto
Lria M. Sato
Romero Tori

1 0 1 0 b

...

(0,1,0,0,D)

...

(0,0,1,0,D)

...

(0,b,1,1,E)

0
1 0 0 0 b
0

Mdulo:
Mquina de Turing

1 0 0 1 b
Autora:
Anna H. R. Costa

Reviso:
Jaime S. Sichman

0
1 0 0 1 1 b ...

(1,1,0,1,D)

Verso: 2.2
Data: 10/05/08

10

Aes da Mquina de Turing


1 0 0 0 1 b ...
PCS 2214
Fund. Eng. Comp.
I

Profs:
Anna H. R. Costa
Joo Jos Neto
Lria M. Sato
Romero Tori

1 0 0 0 0 b ...

(1,b,b,2,D)

Mdulo:
Mquina de Turing

1 0 0 0 0 b b ...

Autora:
Anna H. R. Costa

Reviso:
Jaime S. Sichman

(1,1,0,1,D)

Como a mquina pra no estado 2 (estado de


aceitao), a fita ter: 1 0 0 0 0 b . . .

Verso: 2.2
Data: 10/05/08

11

Aes da Mquina de Turing


PCS 2214
Fund. Eng. Comp.
I
Profs:
Anna H. R. Costa
Joo Jos Neto
Lria M. Sato
Romero Tori

Mdulo:
Mquina de Turing

Exerccio: Considere a seguinte MT:


(0,0,0,1,D), (0,1,0,0,D), (0,b,b,0,D), (1,0,1,0,D),
(1,1,1,0,E). Qual o comportamento da MT
quando iniciada com:
(a)

...

1 0 b
0

Autora:
Anna H. R. Costa

Reviso:
Jaime S. Sichman

(b)

0 1 b

...

(c)
Verso: 2.2
Data: 10/05/08

0 0 b

...

0
12

Definio Formal da Mquina de Turing


Uma MT = (S, I, , f, 0, A, R) :
PCS 2214
Fund. Eng. Comp.
I
Profs:
Anna H. R. Costa
Joo Jos Neto
Lria M. Sato
Romero Tori

Mdulo:
Mquina de Turing

Autora:
Anna H. R. Costa

Reviso:
Jaime S. Sichman

Verso: 2.2
Data: 10/05/08

Um conjunto finito S de estados;


Um conjunto finito I de smbolos de entrada,
b I;
Um conjunto finito de smbolos da fita, com
b e I ;
Uma funo f: S S {E, D}, sendo
D:direita, E:esquerda;
0 S o estado inicial;
A S o estado de aceitao;
R S o estado de rejeio, com A R .
OBS: b: clula em branco da fita

13

Diagrama de Transies de uma MT


PCS 2214
Fund. Eng. Comp.
I
Profs:
Anna H. R. Costa
Joo Jos Neto
Lria M. Sato
Romero Tori

Mdulo:
Mquina de Turing

Autora:
Anna H. R. Costa

Reviso:
Jaime S. Sichman

Verso: 2.2
Data: 10/05/08

Seja M = (S, I, , f, 0, A, R) uma mquina de


Turing. O diagrama de transies de M um
grafo orientado G com:
vrtices membros de S.
uma seta indica o estado inicial 0.
uma aresta orientada (1,2) existe em G se
existir
uma
entrada de fita i com
f(1,i)=(2, j, m), sendo 1,2S, j e m
indica o movimento do cursor, m{E, D}.
Neste caso, a aresta (1,2) rotulada com
i j, m, para i j, e i m se i = j.

14

Diagrama de Transies de uma MT


PCS 2214
Fund. Eng. Comp.
I
Profs:
Anna H. R. Costa
Joo Jos Neto
Lria M. Sato
Romero Tori

Desenhar o diagrama de transies da MT = {(0,0,1,0,D),


(0,1,0,0,D),(0,b,1,1,E),(1,0,0,1,D),(1,1,0,1,D),(1,b,b,2,D)}.

01,D

10,D
b1,E

Mdulo:
Mquina de Turing

0D

Autora:
Anna H. R. Costa

bD

Reviso:
Jaime S. Sichman

10,D

Verso: 2.2
Data: 10/05/08

15

Configurao de uma MT
PCS 2214
Fund. Eng. Comp.
I
Profs:
Anna H. R. Costa
Joo Jos Neto
Lria M. Sato
Romero Tori

Mdulo:
Mquina de Turing

Autora:
Anna H. R. Costa

Reviso:
Jaime S. Sichman

Conforme a MT efetua sua computao,


mudanas ocorrem no estado atual, no contedo
da fita e na posio do cursor.
Uma situao na computao pode ser
representada por uma configurao.
A configurao 10q10 representa:
1 0 1 0 b

...

Verso: 2.2
Data: 10/05/08

16

Configurao de uma MT
PCS 2214
Fund. Eng. Comp.
I
Profs:
Anna H. R. Costa
Joo Jos Neto
Lria M. Sato
Romero Tori

Mdulo:
Mquina de Turing

Autora:
Anna H. R. Costa

Reviso:
Jaime S. Sichman

A configurao inicial de uma MT 0w,


para a cadeia de entrada w.
O estado na configurao de aceitao
A .
O estado na configurao de rejeio
R .
Configuraes de aceitao e rejeio
so configuraes de parada.

Verso: 2.2
Data: 10/05/08

17

Aceitao de Cadeias na MT
PCS 2214
Fund. Eng. Comp.
I
Profs:
Anna H. R. Costa
Joo Jos Neto
Lria M. Sato
Romero Tori

Mdulo:
Mquina de Turing

Autora:
Anna H. R. Costa

Reviso:
Jaime S. Sichman

Uma MT aceita a entrada w se existir uma


seqncia de configuraes C1, C2,... Ck
onde:
C1 a configurao inicial da MT, 0w;
Aplicando f a Ci , obtm-se Ci+1;
Ck uma configurao de aceitao.

A coleo de cadeias que a Mquina de


Turing M aceita a linguagem de M,
denotada por L(M).

Verso: 2.2
Data: 10/05/08

18

Linguagem Decidvel
PCS 2214
Fund. Eng. Comp.
I

Ao iniciar uma MT com uma entrada, pode-se:


aceitar a entrada ou no aceitar a entrada.

Uma MT pode no aceitar uma entrada:


1. ao entrar em R e rejeitar a cadeia ou
2. ao entrar em loop infinito e no parar.

Profs:
Anna H. R. Costa
Joo Jos Neto
Lria M. Sato
Romero Tori

Pode ser muito difcil distinguir uma MT que entrou


em loop infinito de outra que est demorando para
computar.

Mdulo:
Mquina de Turing

Autora:
Anna H. R. Costa

Uma MT decide uma linguagem quando pra


para todas as entradas:
se w L(M), MT pra em R ;
se w L(M), MT pra em A .

Reviso:
Jaime S. Sichman

Verso: 2.2
Data: 10/05/08

19

Exemplo de MT
PCS 2214
Fund. Eng. Comp.
I
Profs:
Anna H. R. Costa
Joo Jos Neto
Lria M. Sato
Romero Tori

Mdulo:
Mquina de Turing

Autora:
Anna H. R. Costa

Reviso:
Jaime S. Sichman

Verso: 2.2
Data: 10/05/08

Projetar uma Mquina de Turing M que decide


a linguagem A={0n1n | n>0}.

Algoritmo esquematizado de M:
M=para a cadeia de entrada w{0,1}*:
1. Se w = , rejeite.
2. Leia a clula corrente. Se 0, troque por X e v
para o passo 3. Se Y, procure o final da cadeia
de Ys e aceite. Seno, rejeite.
3. V para a direita da fita, procurando o primeiro 1.
Se encontrar, troque-o por Y e v para o passo 4.
Seno, rejeite.
4. V para a esquerda na fita, procurando por um X.
Se encontrar, volte a avanar na fita e v para o
passo 2. Seno, rejeite.

20

10

Exemplo de MT
Descrio formal de M = (S, I, , f, 0, A, R):
PCS 2214
Fund. Eng. Comp.
I

S = {A,B,C,D, A, R}, 0 = A, I={0,1} , = {0,1,X,Y,b}, f


= diagrama de transies:

Profs:
Anna H. R. Costa
Joo Jos Neto
Lria M. Sato
Romero Tori

0
D

X
D

A
Mdulo:
Mquina de Turing

Autora:
Anna H. R. Costa

Reviso:
Jaime S. Sichman

Y
D

b
D
Y
D

0
X,D

1
Y,E
X
D,
b
D

Y
D
1
D, X
D,
b
D
1
D, X
D,
0
D

0
E,

C Y
E
1
D,
b
D

Represente esta mquina M por um conjunto de aes.

Verso: 2.2
Data: 10/05/08

21

Mquina de Turing e Autmato Finito


PCS 2214
Fund. Eng. Comp.
I
Profs:
Anna H. R. Costa
Joo Jos Neto
Lria M. Sato
Romero Tori

Mdulo:
Mquina de Turing

Um autmato finito um caso muito


particular de MT, que sempre imprime o
smbolo lido na clula, sempre se move
para a direita e sempre pra ao ler o
smbolo b (trmino da cadeia).
Exerccio: descreva o AF abaixo como uma MT

Autora:
Anna H. R. Costa

Reviso:
Jaime S. Sichman

P
Verso: 2.2
Data: 10/05/08

1
0
0

22

11

Aplicaes da Mquina de Turing


PCS 2214
Fund. Eng. Comp.
I
Profs:
Anna H. R. Costa
Joo Jos Neto
Lria M. Sato
Romero Tori

Mdulo:
Mquina de Turing

Autora:
Anna H. R. Costa

Reviso:
Jaime S. Sichman

Verso: 2.2
Data: 10/05/08

Vimos que uma MT pode decidir uma


linguagem. No entanto, uma MT tambm pode
computar funes:
Dada uma MT T e uma cadeia , comeamos
com T na configurao inicial padro em uma
fita contendo . Se T em algum momento pra
deixando uma cadeia na fita, podemos
considerar o valor de uma funo avaliada
em . Assim, T(
) = . O domnio da funo T
consiste de todas as cadeias para as quais
T, em algum momento, pra.

23

MT para Computar Funes


PCS 2214
Fund. Eng. Comp.
I
Profs:
Anna H. R. Costa
Joo Jos Neto
Lria M. Sato
Romero Tori

Exemplo: Projetar uma MT que calcule a


subtrao x y, com x > y. Considere x e y em
representao unria, fornecidos na fita da
seguinte forma:
x y b b b b b ........

Mdulo:
Mquina de Turing

MEF
Autora:
Anna H. R. Costa

Reviso:
Jaime S. Sichman

Verso: 2.2
Data: 10/05/08

24

Ex: x=5, y=2


fita: 111111111bbbb
Resposta na fita: 1111bbbbb

unria
1
11
111
1111
.....

decimal
0
1
2
3
.....

Modifique sua mquina para aceitar x y.

12

Variantes da MT
PCS 2214
Fund. Eng. Comp.
I
Profs:
Anna H. R. Costa
Joo Jos Neto
Lria M. Sato
Romero Tori

Mdulo:
Mquina de Turing

Autora:
Anna H. R. Costa

Reviso:
Jaime S. Sichman

Verso: 2.2
Data: 10/05/08

Existem inmeros modelos variantes de MT,


porm todos se mostraram equivalentes em
termos de poder de computao.
Muitos outros modelos de computao de
propsito geral tambm foram propostos, alguns
bem diferentes de MT. No entanto, todos podem
simular uns aos outros e, portanto, tambm so
equivalentes em termos de poder
computacional!
 Implicao importante: a classe de
algoritmos que todos descrevem nica!

25

Linguagens Formais e Modelos


Computacionais
PCS 2214
Fund. Eng. Comp.
I
Profs:
Anna H. R. Costa
Joo Jos Neto
Lria M. Sato
Romero Tori

Mdulo:
Mquina de Turing

Autora:
Anna H. R. Costa

Reviso:
Jaime S. Sichman

Existem dispositivos computacionais com


capacidades intermedirias entre Autmatos
Finitos e Mquinas de Turing, que reconhecem
linguagens do tipo 2 (livres de contexto) e tipo
1(sensveis ao contexto).
Os Autmatos de Pilha reconhecem
linguagens do tipo 2 (livres de contexto).
Os Autmatos Limitados Lineares
reconhecem linguagens do tipo 1(sensveis ao
contexto).

Verso: 2.2
Data: 10/05/08

26

13

Linguagens Formais e Modelos


Computacionais
PCS 2214
Fund. Eng. Comp.
I
Profs:
Anna H. R. Costa
Joo Jos Neto
Lria M. Sato
Romero Tori

Autmato de Pilha:
uma Mquina de Turing com restrio de
manipulao na memria: os smbolos s
podem ser empilhados ou desempilhados do
topo de uma pilha (memria infinita, porm
com restrio de uso).

Mdulo:
Mquina de Turing

Autmato Limitado Linear:


Autora:
Anna H. R. Costa

Reviso:
Jaime S. Sichman

Verso: 2.2
Data: 10/05/08

27

uma mquina de Turing cujo cursor de


leitura/gravao est limitado parte da fita
que contm a entrada original (memria finita,
porm com as mesmas formas de uso que
em uma MT).

Linguagens Formais e Modelos


Computacionais
PCS 2214
Fund. Eng. Comp.
I
Profs:
Anna H. R. Costa
Joo Jos Neto
Lria M. Sato
Romero Tori

Mdulo:
Mquina de Turing

Autora:
Anna H. R. Costa

Reviso:
Jaime S. Sichman

Verso: 2.2
Data: 10/05/08

Linguagem
Gramtica
Computacional

Disp.

irrestrita

irrestrita

Mquina de Turing

sensvel ao
contexto

sensvel ao
contexto

Autmato Limitado
Linear

livre de
contexto

livre de
contexto

Autmato de Pilha

regular

regular

Autmato Finito

28

14

Algoritmos e MTs
PCS 2214
Fund. Eng. Comp.
I
Profs:
Anna H. R. Costa
Joo Jos Neto
Lria M. Sato
Romero Tori

Mdulo:
Mquina de Turing

Autora:
Anna H. R. Costa

Reviso:
Jaime S. Sichman

Noo intuitiva de algoritmo: um conjunto


finito de instrues que podem ser executadas
mecanicamente em tempo finito para resolver
algum problema. Com dados de entrada
apropriados ao problema, o algoritmo tem que
parar e produzir a resposta correta.
Portanto, qualquer funo f computvel por uma
MT uma funo cujos valores podem ser
encontrados por um algoritmo ou procedimento
computacional.

Verso: 2.2
Data: 10/05/08

29

Tese de Church-Turing
PCS 2214
Fund. Eng. Comp.
I
Profs:
Anna H. R. Costa
Joo Jos Neto
Lria M. Sato
Romero Tori

Mdulo:
Mquina de Turing

Autora:
Anna H. R. Costa

Reviso:
Jaime S. Sichman

Verso: 2.2
Data: 10/05/08

30

Em 1936, com os artigos publicados por Turing e


Alonzo Church, que se definiu claramente o
que seria um algoritmo: uma MT que pra
em resposta a todas as entradas.
Tese de Church-Turing:
Qualquer funo de teoria dos nmeros
computvel por um algoritmo se, e somente
se, for computvel por uma Mquina de
Turing.
Computvel por um
algoritmo
tese
Computvel por uma MT

15

Alonzo Church (14/06/1903 11/08/1995)


PCS 2214
Fund. Eng. Comp.
I
Profs:
Anna H. R. Costa
Joo Jos Neto
Lria M. Sato
Romero Tori

Mdulo:
Mquina de Turing

Autora:
Anna H. R. Costa

Reviso:
Jaime S. Sichman

Verso: 2.2
Data: 10/05/08

Matemtico americano, responsvel por


alguns dos fundamentos da CC. Nasceu
em Washington, DC, recebeu BA e PhD
na Universidade de Princeton, USA, em
1924 e 1927, respectivamente. Tornouse professor em Princeton em 1929. Foi
orientador de Stephen C. Kleene (19091994), entre outros. Tambm orientou
Alan Turing de 1936 a1938. Seu trabalho
mais conhecido o desenvolvimento do
clculo- no seu famoso artigo de 1936,
mostrando a existncia de problemas
indecidveis. Ele e Turing mostraram que
o clculo- e a MT so equivalentes em
capacidades, resultando na tese de
Church-Turing. Como h disputa sobre
quem foi o primeiro, esta tese tambm
conhecida como tese de Church e tese
de Turing.

31

Bibliografia
PCS 2214
Fund. Eng. Comp.
I
Profs:
Anna H. R. Costa
Joo Jos Neto
Lria M. Sato
Romero Tori

Mdulo:
Mquina de Turing

Autora:
Anna H. R. Costa

Reviso:
Jaime S. Sichman

Verso: 2.2
Data: 10/05/08

32

Principal:
Sipser, M. Introduction to the Theory of
Computation. PWS Publishing Company, Boston,
MA. 1997.
Auxiliares:
Johnsonbaugh, R. Discrete Mathematics. Prentice
Hall International, London, UK, 4th. Ed. 1997. Cap.
10.
Gersting, J.L. Fundamentos Matemticos para a
Cincia da Computao. LTC Editora, Rio de
Janeiro. 5a. Edio. 2004. Cap. 8.
Lewis, H.R. and Papadimitriou, C.H. Elementos de
Teoria da Computao. Bookman, Porto Alegre.
2a. Edio, 2004.

16

Você também pode gostar