Você está na página 1de 43

Introduc

ao
Definic
ao
Linguagens e M
aquinas de Turing
Tese de Church-Turing
Variantes e extens
oes
M
aquina de Turing Universal
Programac
ao com M
aquinas de Turing

Teoria da Computacao
Maquinas de Turing
Sim
ao Melo de Sousa
Computer Science Department
University of Beira Interior, Portugal

S. Melo de Sousa

Teoria da Computac
ao

Introduc
ao
Definic
ao
Linguagens e M
aquinas de Turing
Tese de Church-Turing
Variantes e extens
oes
M
aquina de Turing Universal
Programac
ao com M
aquinas de Turing

Plano
1

Introduc
ao

Definic
ao
O que e uma m
aquina de Turing?
O Processo de Execuc
ao

Linguagens e M
aquinas de Turing
Linguagem Aceite e Linguagem Decidida
Linguagem Decidida e Aut
omatos
Linguagens Recursivas e Linguagens Recursivamente Numer
aveis

Tese de Church-Turing
Funco
es Comput
aveis

Variantes e extens
oes

M
aquina de Turing Universal

Programac
ao com M
aquinas de Turing
S. Melo de Sousa

Teoria da Computac
ao

Introduc
ao
Definic
ao
Linguagens e M
aquinas de Turing
Tese de Church-Turing
Variantes e extens
oes
M
aquina de Turing Universal
Programac
ao com M
aquinas de Turing

Aviso Previo

A redacc
ao dos apontamentos da disciplina documento baseou-se
fortemente na bibliografia indicada. Parece-nos ent
ao
obvio que a
leitura e a aprendizagem directa pelas obras originais
e recomendada,
e mesmo essencial `
a compreens
ao profunda das noc
oes aqui
apresentadas;
O portugu
es n
ao
e a lngua materna do autor e o presente
documento encontra-se em fase (constante) de
elaborac
ao/melhoramento pelo que se agradece e at
e se incentiva
qualquer sugest
ao ou correcc
ao;

S. Melo de Sousa

Teoria da Computac
ao

Introduc
ao
Definic
ao
Linguagens e M
aquinas de Turing
Tese de Church-Turing
Variantes e extens
oes
M
aquina de Turing Universal
Programac
ao com M
aquinas de Turing

Referencias bibliograficas
(Principal) C. H. Papadimitriou, H. R. Lewis. Elements of the Theory of
Computation por Prentice Hall, 1997. Traduc
ao brasileira: Elementos de Teoria
da Computac
ao, 2a Edic
ao. Bookman, Porto Alegre, 2000.
(Introdut
orio, em franc
es - embora deva existir algo em ingl
es algures)
P. Wolper. Introduction `
a la calculabilit
e, 3a edic
ao, Dunod, 2006.
(introdut
orio e de leitura agrad
avel) P. Linz. An introduction to formal
languages and automata. Jones and Bartlett Publisher, 2006.
(Uma obra de refer
encia e muito completo... um must) John E. Hopcroft,
Rajeev Motwani, Jeffrey D. Ullman. Introduction to Automata Theory,
Languages, and Computation (3nd Edition). Addison Wesley, 2006 (existe em
portugu
es do Brasil).
(Abordagem abrangente) M. Sipser. Introducton to the Theory of Computation.
PWS Publishing, 2006.

S. Melo de Sousa

Teoria da Computac
ao

Introduc
ao
Definic
ao
Linguagens e M
aquinas de Turing
Tese de Church-Turing
Variantes e extens
oes
M
aquina de Turing Universal
Programac
ao com M
aquinas de Turing

Plano
1

Introduc
ao

Definic
ao

Linguagens e M
aquinas de Turing

Tese de Church-Turing

Variantes e extens
oes

M
aquina de Turing Universal

Programac
ao com M
aquinas de Turing
S. Melo de Sousa

Teoria da Computac
ao

Introduc
ao
Definic
ao
Linguagens e M
aquinas de Turing
Tese de Church-Turing
Variantes e extens
oes
M
aquina de Turing Universal
Programac
ao com M
aquinas de Turing

Introducao
Os aut
omatos com pilha tem acesso a uma mem
oria potencialmente
infinita, mas mesmo assim n
ao conseguem reconhecer linguagens como
an b n c n .
Mas parece simples reconhecer esta linguagem por um processo baseado
em estados:
let rec
match
[] ->
| a
else
| b

recognize l n m estado =
l with
estado = 3 && n = 0
:: li -> if estado = 1 then (recognize li (n+1) m 1)
false
:: li -> if estado = 1 then (recognize li n 1 2)
else if estado = 2 then (recognize li n (m+1) 2)
else false
| c :: li -> if estado = 2
then if m=n then (recognize li (n-1) m 3)
else false
S. Melo
Sousa
da Computa
c
ao
else
if de
estado
= Teoria
3 then
(recognize
li (n-1) m 3)

Introduc
ao
Definic
ao
Linguagens e M
aquinas de Turing
Tese de Church-Turing
Variantes e extens
oes
M
aquina de Turing Universal
Programac
ao com M
aquinas de Turing

Introducao

Limites dos aut


omatos com pilha: gest
ao da mem
oria.
A limitac
ao vem da disciplina LIFO da mem
oria: uma utilizac
ao possvel
por cada memorizac
ao.
O exemplo anterior reutiliza (duas vezes) o valor de as que foram lidos.
Um para contabilizar os bs e outras para os cs.
As m
aquinas de Turing permitam libertar-se deste inconveniente.

S. Melo de Sousa

Teoria da Computac
ao

Introduc
ao
Definic
ao
Linguagens e M
aquinas de Turing
Tese de Church-Turing
Variantes e extens
oes
M
aquina de Turing Universal
Programac
ao com M
aquinas de Turing

O que
e uma m
aquina de Turing?
O Processo de Execuc
ao

Plano
1

Introduc
ao

Definic
ao
O que e uma m
aquina de Turing?
O Processo de Execuc
ao

Linguagens e M
aquinas de Turing

Tese de Church-Turing

Variantes e extens
oes

M
aquina de Turing Universal

Programac
ao com M
aquinas de Turing
S. Melo de Sousa

Teoria da Computac
ao

Introduc
ao
Definic
ao
Linguagens e M
aquinas de Turing
Tese de Church-Turing
Variantes e extens
oes
M
aquina de Turing Universal
Programac
ao com M
aquinas de Turing

O que
e uma m
aquina de Turing?
O Processo de Execuc
ao

Definicao

Vamos aqui nos limitar `


as m
aquinas de Turing deterministas (veremos
mais adiante que isso n
ao e uma limitac
ao).
Uma m
aquina de Turing e uma maquina de estados finitos (alguns deles
iniciais ou finais), a semelhanca dos aut
omatos que vimos ate aqui.
A diferenca reside no seguinte: a fita de entrada e tambem de sada. Ou
seja d
a para ler e para escrever.
fita = mem
oria. Tem um incio (a esquerda), mas n
ao tem fim (infinita a
direita).
Com tal, equipamos a m
aquina com a possibilidade de se deslocar na fita
(para a direita ou para a esquerda, quando possvel).

S. Melo de Sousa

Teoria da Computac
ao

Introduc
ao
Definic
ao
Linguagens e M
aquinas de Turing
Tese de Church-Turing
Variantes e extens
oes
M
aquina de Turing Universal
Programac
ao com M
aquinas de Turing

O que
e uma m
aquina de Turing?
O Processo de Execuc
ao

Numa imagem

S. Melo de Sousa

Teoria da Computac
ao

Introduc
ao
Definic
ao
Linguagens e M
aquinas de Turing
Tese de Church-Turing
Variantes e extens
oes
M
aquina de Turing Universal
Programac
ao com M
aquinas de Turing

O que
e uma m
aquina de Turing?
O Processo de Execuc
ao

As transicoes

uma transic
ao entre estados (q1 , a, b, d, q2 ) denota a seguinte situac
ao:
Se a m
aquina se encontra no estado q1 e
que a cabeca de leitura aponta para um a
ent
ao escrever b (a e assim substituido por b na fita),
deslocar a cabeca para a celula seguinte (se d e a celula seguinte e a
celula a esquerda, se d e a celula seguinte e a celula a direita)
e finalmente entrar no estado q2 .

S. Melo de Sousa

Teoria da Computac
ao

Introduc
ao
Definic
ao
Linguagens e M
aquinas de Turing
Tese de Church-Turing
Variantes e extens
oes
M
aquina de Turing Universal
Programac
ao com M
aquinas de Turing

O que
e uma m
aquina de Turing?
O Processo de Execuc
ao

Algumas consideracoes iniciais


Vamos diferenciar o alfabeto de entrada do alfabeto da fita (de facto
): os elementos de forma a palavra (finita) que inicialmente est
a
no inicio da fita.
Uma m
aquina n
ao pode aceder a posico
es que est
ao a esquerda do incio
da fita.
Como a fita e infinita (a direita) as restante posico
es contem um smbolo
branco notado ].
A m
aquina tem a possibilidade de escrever na fita os smbolos de mais,
eventualmente, outros. Estes smbolos formam .
Neste sentido uma m
aquina de Turing e uma m
aquina com output (a
palavra contida na fita).

S. Melo de Sousa

Teoria da Computac
ao

Introduc
ao
Definic
ao
Linguagens e M
aquinas de Turing
Tese de Church-Turing
Variantes e extens
oes
M
aquina de Turing Universal
Programac
ao com M
aquinas de Turing

O que
e uma m
aquina de Turing?
O Processo de Execuc
ao

Algumas consideracoes iniciais


Dado um momento da execuc
ao da m
aquina s
o uma quantidade finita de
celulas da fita foram exploradas.
Ou seja, h
a sempre uma quantidade finita de fita ocupada por letras.
Dada uma posic
ao da cabeca de leitura na fita h
a uma quantidade finita
de letras a esquerda e uma quantidade finita de letras a direita ate uma
posic
ao em que a direita s
o h
a smbolos ].
As deslocaco
es na fita s
ao representadas pelos smbolos (L, R) ou (, )
Vamos considerar que n
ao h
a transico
es que saem dos estados finais.
Embora possa parecer uma restric
ao, e possvel transformar qualquer
m
aquina de Turing em m
aquinas de Turing com esta propriedade.
Uma palavra e aceite quando a execuc
ao levar o seu reconhecimento p
ara
um estado final.

S. Melo de Sousa

Teoria da Computac
ao

Introduc
ao
Definic
ao
Linguagens e M
aquinas de Turing
Tese de Church-Turing
Variantes e extens
oes
M
aquina de Turing Universal
Programac
ao com M
aquinas de Turing

O que
e uma m
aquina de Turing?
O Processo de Execuc
ao

Definicao Formal
Definition (M
aquina de Turing)
Uma m
aquina de Turing e um 7-tuplo (Q, , , , s, B, F ) onde
Q e um conjunto de finito de estados
e o alfabeto de fita
( ) e o alfabeto de entrada (alfabeto utilizada para as palavras
inicialmente colocados na fita)
s Q e o estado inicial
F ( Q) e o conjunto dos estado finais
B e o smbolo branco (notac
ao habitual: ])
: (Q ) (Q {L, R}) e a func
ao de de transic
ao.

S. Melo de Sousa

Teoria da Computac
ao

Introduc
ao
Definic
ao
Linguagens e M
aquinas de Turing
Tese de Church-Turing
Variantes e extens
oes
M
aquina de Turing Universal
Programac
ao com M
aquinas de Turing

O que
e uma m
aquina de Turing?
O Processo de Execuc
ao

Configuracoes

Para formalizar a noc


ao de execuc
ao precisamos, como j
a e habitual, de
precisar o conceito de configurac
ao.
lembrete: configurac
ao = estado preciso e completo da m
aquina de
Turing.
Aqui: precisamos de saber o estado da fita, o estado em que a m
aquina
se encontra, a posic
ao da cabeca de leitura/escrita.
Como vimos nos acetatos anteriores num determinado momento temos
sempre uma situac
ao semelhante ao gr
afico seguinte.

S. Melo de Sousa

Teoria da Computac
ao

Introduc
ao
Definic
ao
Linguagens e M
aquinas de Turing
Tese de Church-Turing
Variantes e extens
oes
M
aquina de Turing Universal
Programac
ao com M
aquinas de Turing

O que
e uma m
aquina de Turing?
O Processo de Execuc
ao

Configuracoes

S. Melo de Sousa

Teoria da Computac
ao

Introduc
ao
Definic
ao
Linguagens e M
aquinas de Turing
Tese de Church-Turing
Variantes e extens
oes
M
aquina de Turing Universal
Programac
ao com M
aquinas de Turing

O que
e uma m
aquina de Turing?
O Processo de Execuc
ao

Configuracoes

Definition (Configurac
ao duma m
aquina de Turing)
Uma configurac
ao e um elemento do conjunto
Q ({} .( {B}))

S. Melo de Sousa

Teoria da Computac
ao

Introduc
ao
Definic
ao
Linguagens e M
aquinas de Turing
Tese de Church-Turing
Variantes e extens
oes
M
aquina de Turing Universal
Programac
ao com M
aquinas de Turing

O que
e uma m
aquina de Turing?
O Processo de Execuc
ao

Derivacoes
Definition (Derivac
ao num passo e Derivac
ao generalizada)
Seja C = (q, 1 , 2 ) uma configurac
ao duma m
aquina M. Vamos assumir
que temos sempre a situac
ao 2 = b20 . No caso de 2 = , tomamos
b = ]. As configuraco
es deriv
aveis de C s
ao definidas da seguinte forma:

Se (q, b) = (q 0 , b0 , R) entao temos


(q, 1 , b20 ) `M (q 0 , 1 b0 , 20 )
Se (q, b) = (q 0 , b0 , L) (neste caso 1 6= , ou seja 1 = 10 a)
entao temos (q, 10 a, b20 ) `M (q 0 , 10 , ab0 20 ).
Uma configuracao C 0 e derivavel em varios passos de C pela
maquina M (notacao C `M C 0 ) se existe um k N, k 0 e
configurac
oes intermedias C0 , C1 , C2 , . . . Ck tais que
C = C0
C 0 = Ck
Ci ` Ci+1 para 0 i < k
S. Melo de Sousa

Teoria da Computac
ao

Introduc
ao
Definic
ao
Linguagens e M
aquinas de Turing
Tese de Church-Turing
Variantes e extens
oes
M
aquina de Turing Universal
Programac
ao com M
aquinas de Turing

O que
e uma m
aquina de Turing?
O Processo de Execuc
ao

Palavras e Linguagens Aceites

Uma palavra w e aceite por uma m


aquina de Turing M se a execuc
ao por M
comecando com fita inicializada com esta palavra e partindo do estado inicial
de M termina num estado final.
Definition (Linguagem aceite por uma m
aquina M)
A linguagem L(M) aceite por uma m
aquina de Turing M e o conjunto das
palavras das palavras aceites w , ou seja, tais que
(s, , w ) `M (p, 1 , 2 )

S. Melo de Sousa

(com p F )

Teoria da Computac
ao

Introduc
ao
Definic
ao
Linguagens e M
aquinas de Turing
Tese de Church-Turing
Variantes e extens
oes
M
aquina de Turing Universal
Programac
ao com M
aquinas de Turing

O que
e uma m
aquina de Turing?
O Processo de Execuc
ao

Exemplos
uma m
aquina
o seu grafo
M = (Q, , , , s, B, F )
com
Q = {q0 , q1 , q2 , q3 , q4 }
= {a, b, X , Y , ]}
= {a, b}
s = q0
B=]
F = {q4 }

e definido da seguinte forma:


q0
q1
q2
q3
q4

a
(q1 , X , R)
(q1 , a, R)
(q2 , a, L)

(q2 , Y , L)

S. Melo de Sousa

(q0 , X , R)

Y
(q3 , Y , R)
(q1 , Y , R)
(q2 , Y , L)
(q3 , Y , R)

Teoria da Computac
ao

(q4 , ], R)

Introduc
ao
Definic
ao
Linguagens e M
aquinas de Turing
Tese de Church-Turing
Variantes e extens
oes
M
aquina de Turing Universal
Programac
ao com M
aquinas de Turing

O que
e uma m
aquina de Turing?
O Processo de Execuc
ao

Exemplos
uma m
aquina

a sua execuc
ao
M = (Q, , , , s, B, F )

com
Q = {q0 , q1 , q2 , q3 , q4 }
= {a, b, X , Y , ]}
= {a, b}
s = q0
B =]
F = {q4 }

e definido da seguinte forma


q0
q1
q2
q3
q4

a
(q1 , X , R)
(q1 , a, R)
(q2 , a, L)

(q2 , Y , L)
(q0 , X , R)

Y
(q3 , Y , R)
(q1 , Y , R)
(q2 , Y , L)
(q3 , Y , R)

S. Melo de Sousa

(q4 , ], R)

Teoria da Computac
ao

(q0 , , aaabbb)
(q1 , X , aabbb)
(q1 , Xa, abbb)
(q1 , Xaa, bbb)
(q2 , Xa, aYbb)
(q2 , X , aaYbb)
(q2 , , XaaYbb)
(q0 , X , aaYbb)
(q1 , XX , aYbb)
.
.
.
(q1 , XXXYY , b)
(q2 , XXXY , YY )
(q2 , XXX , YYY )
(q2 , XX , XYYY )
(q0 , XXX , YYY )
(q3 , XXXY , YY )
(q3 , XXXYY , Y )
(q3 , XXXYYY , )
(q4 , XXXYYY ], )

Introduc
ao
Definic
ao
Linguagens e M
aquinas de Turing
Tese de Church-Turing
Variantes e extens
oes
M
aquina de Turing Universal
Programac
ao com M
aquinas de Turing

Linguagem Aceite e Linguagem Decidida


Linguagem Decidida e Aut
omatos
Linguagens Recursivas e Linguagens Recursivamente Numer
aveis

Plano
1

Introduc
ao

Definic
ao

Linguagens e M
aquinas de Turing
Linguagem Aceite e Linguagem Decidida
Linguagem Decidida e Aut
omatos
Linguagens Recursivas e Linguagens Recursivamente Numer
aveis

Tese de Church-Turing

Variantes e extens
oes

M
aquina de Turing Universal
S. Melo de Sousa

Teoria da Computac
ao

Introduc
ao
Definic
ao
Linguagens e M
aquinas de Turing
Tese de Church-Turing
Variantes e extens
oes
M
aquina de Turing Universal
Programac
ao com M
aquinas de Turing

Linguagem Aceite e Linguagem Decidida


Linguagem Decidida e Aut
omatos
Linguagens Recursivas e Linguagens Recursivamente Numer
aveis

Consideracoes sobre palavras aceites


Uma m
aquina de Turing pode entrar em ciclo
Basta considerar uma m
aquina com dois estados e as transico
es
a,a,R
],],R
b,b,R
seguintes: q0 q0 , q0 q0 e q0 q1 onde q1 e final.
De facto v
arios casos podem ocorrer. Consideramos assim a execuc
ao a
partir da configurac
ao (s, , w ). Assim, a execuc
ao gera uma sequencia de
configuraco
es tal que:

Esta termina numa configuracao que contem um estado final.


Neste caso a palavra w e aceite.
Esta termina numa configuracao a partir da qual nao e possvel
continuar a derivar
porque a func
ao de transic
ao n
ao est
a definida para esta
configurac
ao ou
porque a func
ao de transic
ao define uma deslocac
ao para a
esquerda e a cabeca de leitura se encontra na posic
ao inicial.

Esta nunca passa por um estado final e e infinita.


S. Melo de Sousa

Teoria da Computac
ao

Introduc
ao
Definic
ao
Linguagens e M
aquinas de Turing
Tese de Church-Turing
Variantes e extens
oes
M
aquina de Turing Universal
Programac
ao com M
aquinas de Turing

Linguagem Aceite e Linguagem Decidida


Linguagem Decidida e Aut
omatos
Linguagens Recursivas e Linguagens Recursivamente Numer
aveis

Consideracoes sobre palavras aceites

Nos dois primeiros casos temos, a m


aquina nos permite determinar com
exactid
ao se uma palavra e ou n
ao aceite.
no u
ltimo caso n
ao se pode decidir com toda a certeza. N
ao e porque a
m
aquina ainda n
ao conseguiu chegar a um estado final num tempo
considerado razo
avel que isto n
ao ir
a acontecer mais alem.
Assim as m
aquinas de Turing parecem ir alem do que se entende ser uma
algoritmo (ver aula de introduc
ao)
Vamos assim revisitar e precisar a noc
ao de execuc
ao e introduzir o
conceito de linguagem decidia (diferente da noc
ao de linguagem aceite).

S. Melo de Sousa

Teoria da Computac
ao

Introduc
ao
Definic
ao
Linguagens e M
aquinas de Turing
Tese de Church-Turing
Variantes e extens
oes
M
aquina de Turing Universal
Programac
ao com M
aquinas de Turing

Linguagem Aceite e Linguagem Decidida


Linguagem Decidida e Aut
omatos
Linguagens Recursivas e Linguagens Recursivamente Numer
aveis

Execucao

Definition (Execuc
ao)
A execuc
ao duma m
aquina de Turing M numa palavra w e a sequencia de
configurac
ao (s, , w ) `M C1 `M C2 `M . . . `M Ck `M . . . m
axima, isto e:
e infinita, ou
termina numa configurac
ao em que o estado e final ou
termina numa configurac
ao em que o estado n
ao e final.

S. Melo de Sousa

Teoria da Computac
ao

Introduc
ao
Definic
ao
Linguagens e M
aquinas de Turing
Tese de Church-Turing
Variantes e extens
oes
M
aquina de Turing Universal
Programac
ao com M
aquinas de Turing

Linguagem Aceite e Linguagem Decidida


Linguagem Decidida e Aut
omatos
Linguagens Recursivas e Linguagens Recursivamente Numer
aveis

Linguagem aceite , linguagem decidida


Estamos assim em medida de revisitar e refinar a noc
ao de linguagem associada
a uma m
aquina de Turing.
Definition (linguagem aceite)
A linguagem L(M) aceite por uma m
aquina de Turing M e o conjunto das
palavras das palavras aceites w , ou seja, tais que
(s, , w ) `M (p, 1 , 2 )

(com p F )

Definition (linguagem decidida)


Uma linguagem L e decidida por uma m
aquina de Turing M se
M aceita L
M n
ao tem execuc
ao infinitas
M
aquinas de Turing sem execuco
es infinitas (que decidam linguagens) s
ao,
finalmente, a nossa formalizac
ao de procedimento efectivo!
S. Melo
Sousa
Teoria
Computa
c
ao c
(voltaremos j
a a seguir sobre
a de
fundamenta
c
ao dadesta
afirma
ao)

Introduc
ao
Definic
ao
Linguagens e M
aquinas de Turing
Tese de Church-Turing
Variantes e extens
oes
M
aquina de Turing Universal
Programac
ao com M
aquinas de Turing

Linguagem Aceite e Linguagem Decidida


Linguagem Decidida e Aut
omatos
Linguagens Recursivas e Linguagens Recursivamente Numer
aveis

Linguagem Decidida e Automatos

DFA: linguagem aceite=linguagem decidida


NDFA: qualquer linguagem aceite pode ser aceite por um DFA.
Aut
omatos pushdown: os PDAs podem ter execuco
es infinitas, mas o
algoritmo CYK demonstra que e possvel decidir linguagens livre de
contexto (com um mecanismo mais expressivo que os PDAs: as MTs).
PDA deterministas (DPDA): n
ao apresentam execuco
es infinitas, ou seja,
linguagem aceite = linguagem decidida.

S. Melo de Sousa

Teoria da Computac
ao

Introduc
ao
Definic
ao
Linguagens e M
aquinas de Turing
Tese de Church-Turing
Variantes e extens
oes
M
aquina de Turing Universal
Programac
ao com M
aquinas de Turing

Linguagem Aceite e Linguagem Decidida


Linguagem Decidida e Aut
omatos
Linguagens Recursivas e Linguagens Recursivamente Numer
aveis

Linguagens Recursivas e Linguagens Recursivamente


Numeraveis

Definition (Linguagens Recursivas e Linguagens Recursivamente Numer


aveis)
Uma linguagem e dita recursiva se e decidida por uma m
aquina de Turing
Uma linguagem e dita recursivamente enumer
avel se e aceite por uma
m
aquina de Turing

S. Melo de Sousa

Teoria da Computac
ao

Introduc
ao
Definic
ao
Linguagens e M
aquinas de Turing
Tese de Church-Turing
Variantes e extens
oes
M
aquina de Turing Universal
Programac
ao com M
aquinas de Turing

Func
oes Comput
aveis

Plano
1

Introduc
ao

Definic
ao

Linguagens e M
aquinas de Turing

Tese de Church-Turing
Funco
es Comput
aveis

Variantes e extens
oes

M
aquina de Turing Universal

Programac
ao com M
aquinas de Turing
S. Melo de Sousa

Teoria da Computac
ao

Introduc
ao
Definic
ao
Linguagens e M
aquinas de Turing
Tese de Church-Turing
Variantes e extens
oes
M
aquina de Turing Universal
Programac
ao com M
aquinas de Turing

Func
oes Comput
aveis

Uma equacao para a posteridade: MT=Algoritmo

Retomemos agora e finalmente a problem


atica fundamental a teoria da
computac
ao: como podemos definir formalmente a noc
ao de algoritmo?
Por uma m
aquina de Turing.
(ver aula de apresentac
ao para uma discuss
ao completa (mas informal)
sobre esta problem
atica)

S. Melo de Sousa

Teoria da Computac
ao

Introduc
ao
Definic
ao
Linguagens e M
aquinas de Turing
Tese de Church-Turing
Variantes e extens
oes
M
aquina de Turing Universal
Programac
ao com M
aquinas de Turing

Func
oes Comput
aveis

Definicao

As linguagens reconhecidas por um procedimento efectivo s


ao
exactamente as linguagens decididas por uma m
aquina de Turing.
ou ainda:

As linguagens reconhecidas por um algoritmo s


ao exactamente as
linguagens decididas por X
(em que X denota qualquer modelo da computac
ao equivalente `
as m
aquinas de
Turing, como por exemplo funco
es recursivas totais de Kleene, os -termos
fortemente nomaliz
aveis do -calculo etc...)

S. Melo de Sousa

Teoria da Computac
ao

Introduc
ao
Definic
ao
Linguagens e M
aquinas de Turing
Tese de Church-Turing
Variantes e extens
oes
M
aquina de Turing Universal
Programac
ao com M
aquinas de Turing

S. Melo de Sousa

Func
oes Comput
aveis

Teoria da Computac
ao

Introduc
ao
Definic
ao
Linguagens e M
aquinas de Turing
Tese de Church-Turing
Variantes e extens
oes
M
aquina de Turing Universal
Programac
ao com M
aquinas de Turing

Plano
1

Introduc
ao

Definic
ao

Linguagens e M
aquinas de Turing

Tese de Church-Turing

Variantes e extens
oes

M
aquina de Turing Universal

Programac
ao com M
aquinas de Turing
S. Melo de Sousa

Teoria da Computac
ao

Introduc
ao
Definic
ao
Linguagens e M
aquinas de Turing
Tese de Church-Turing
Variantes e extens
oes
M
aquina de Turing Universal
Programac
ao com M
aquinas de Turing

S. Melo de Sousa

Teoria da Computac
ao

Introduc
ao
Definic
ao
Linguagens e M
aquinas de Turing
Tese de Church-Turing
Variantes e extens
oes
M
aquina de Turing Universal
Programac
ao com M
aquinas de Turing

Plano
1

Introduc
ao

Definic
ao

Linguagens e M
aquinas de Turing

Tese de Church-Turing

Variantes e extens
oes

M
aquina de Turing Universal

Programac
ao com M
aquinas de Turing
S. Melo de Sousa

Teoria da Computac
ao

Introduc
ao
Definic
ao
Linguagens e M
aquinas de Turing
Tese de Church-Turing
Variantes e extens
oes
M
aquina de Turing Universal
Programac
ao com M
aquinas de Turing

S. Melo de Sousa

Teoria da Computac
ao

Introduc
ao
Definic
ao
Linguagens e M
aquinas de Turing
Tese de Church-Turing
Variantes e extens
oes
M
aquina de Turing Universal
Programac
ao com M
aquinas de Turing

Plano
1

Introduc
ao

Definic
ao

Linguagens e M
aquinas de Turing

Tese de Church-Turing

Variantes e extens
oes

M
aquina de Turing Universal

Programac
ao com M
aquinas de Turing
S. Melo de Sousa

Teoria da Computac
ao

Introduc
ao
Definic
ao
Linguagens e M
aquinas de Turing
Tese de Church-Turing
Variantes e extens
oes
M
aquina de Turing Universal
Programac
ao com M
aquinas de Turing

S. Melo de Sousa

Teoria da Computac
ao

Introduc
ao
Definic
ao
Linguagens e M
aquinas de Turing
Tese de Church-Turing
Variantes e extens
oes
M
aquina de Turing Universal
Programac
ao com M
aquinas de Turing

S. Melo de Sousa

Teoria da Computac
ao

Introduc
ao
Definic
ao
Linguagens e M
aquinas de Turing
Tese de Church-Turing
Variantes e extens
oes
M
aquina de Turing Universal
Programac
ao com M
aquinas de Turing

S. Melo de Sousa

Teoria da Computac
ao

Introduc
ao
Definic
ao
Linguagens e M
aquinas de Turing
Tese de Church-Turing
Variantes e extens
oes
M
aquina de Turing Universal
Programac
ao com M
aquinas de Turing

S. Melo de Sousa

Teoria da Computac
ao

Introduc
ao
Definic
ao
Linguagens e M
aquinas de Turing
Tese de Church-Turing
Variantes e extens
oes
M
aquina de Turing Universal
Programac
ao com M
aquinas de Turing

S. Melo de Sousa

Teoria da Computac
ao

Introduc
ao
Definic
ao
Linguagens e M
aquinas de Turing
Tese de Church-Turing
Variantes e extens
oes
M
aquina de Turing Universal
Programac
ao com M
aquinas de Turing

S. Melo de Sousa

Teoria da Computac
ao

Você também pode gostar