Você está na página 1de 93

UNIVERSIDADE ESTADUAL DE MARING

DEPARTAMENTO DE INFORMTICA

Mquina de Turing
Prof. Yandre Maldonado - 1

Prof. Yandre Maldonado e Gomes da Costa


yandre@din.uem.br
Teoria da Computao

Cincia da Computao
nfase terica: idias fundamentais e
modelos computacionais;
nfase prtica: projeto de sistemas
computacionais;
Prof. Yandre Maldonado - 2

As tecnologias computacionais so
construdas a partir de fundamentos da
computao. Aquelas so passageiras,
enquanto estes esto por trs da tecnologia
em qualquer tempo.
Teoria da Computao

Histrico da Computao:
Computar: do latim computare, que
significa calcular, avaliar, contar;
Prof. Yandre Maldonado - 3

baco China, Mquina de Babbage ENIAC EUA, 1946.


aprox. 3500 a.c. R.U., 1823.
Teoria da Computao

Os fundamentos esto por trs da


tecnologia em qualquer tempo.

Tecnologias Computacionais
Prof. Yandre Maldonado - 4

Fundamentos Tericos da Computao

Anos 40 Anos 50 Anos 60 Anos 70 Tempos


atuais
Mquina de Turing

Introduzida por Alan Turing em 1936;


Ferramenta para estudar a
capacidade dos processos
algortmicos;
Modelo abstrato, concebido antes
Prof. Yandre Maldonado - 5

mesmo de uma implementao


tecnolgica;
Mquina de Turing

Formaliza a idia de uma pessoa que


realiza clculos;
Simulao de uma situao na qual uma
pessoa, equipada com um instrumento de
escrita e um apagador, realiza clculos
numa folha de papel;
Prof. Yandre Maldonado - 6

A Mquina de Turing ainda hoje aceita


como a formalizao de um procedimento
efetivo, ou seja, uma seqncia finita de
instrues, as quais podem ser realizadas
mecanicamente, em tempo finito.
(Menezes, 1998).
Mquina de Turing

MT pode ser vista como a mais


simples mquina de computao,
servindo para determinar quais
funes so computveis e quais no
so (Delamaro, 1998).
Prof. Yandre Maldonado - 7
Mquina de Turing

Outros modelos foram propostos, mas


todos mostraram ter, no mximo,
poder computacional equivalente ao
da MT;
Estas so chamadas Mquinas
Prof. Yandre Maldonado - 8

Universais:
Mquinas capazes de expressar a
soluo para qualquer problema
algortmico.
Mquina de Turing

A Mquina de Turing consiste de:


Uma Unidade de Controle
Que pode ler e escrever smbolos em uma fita por
meio de um cabeote de leitura e gravao e
pode se deslocar para a esquerda ou direita;
A fita estende-se infinitamente em uma das
extremidades e dividida em clulas.
Prof. Yandre Maldonado - 9

Utilizada como dispositivo de entrada, sada


e memria de trabalho;
Estas clulas podem armazenar qualquer
elemento de um conjunto finito de smbolos, um
alfabeto.
Mquina de Turing

Programa ou Funo de Transio: funo


que comanda as leituras e gravaes, o
sentido de movimento da cabea e define o
estado da mquina que ser ativado.
Prof. Yandre Maldonado - 10

Controle
( )

a b b a b b ...

* Como o smbolo estabelece o limite da extremidade esquerda da fita, no


se pode apag-lo e nem realizar movimentos para a esquerda deste smbolo.
Mquina de Turing
Funcionamento da Mquina de Turing
A MT deve assumir sempre em um estado,
pertencente um conjunto finito de estados;
O processamento de uma MT comea sempre
em um estado especial, chamado estado inicial;
Inicialmente a primeira clula da fita
preenchida com , que indica o incio da
Prof. Yandre Maldonado - 11

mesma;
A cabea de leitura posicionada inicialmente
na segunda clula da fita, a clula seguinte a
;
As clulas em branco, que no fazem parte da
palavra a ser processada, so preenchidas com
o smbolo ;
Mquina de Turing
Funcionamento da Mquina de Turing
O processamento em uma MT consiste em
uma seqncia de passos que consistem
em:
Observar o estado e o smbolo corrente da fita
(aquele em que o cabeote est posicionado);
Escrever um smbolo nesta clula da fita;
Prof. Yandre Maldonado - 12

Mover o cabeote para a esquerda ou direita;


Mudar o estado corrente;
A ao exata a ser executada determinada
por um programa (funo de transio) que
comunica unidade de controle o que deve
ser feito com base na configurao (estado
+ smbolo corrente da fita) em que a MT se
encontra.
Mquina de Turing

Funcionamento da Mquina de Turing


O processamento cessa quando a
mquina atinge uma configurao
para a qual no existe funo
prevista, neste caso:
Se a mquina estiver com um estado final
Prof. Yandre Maldonado - 13

ativo, a palavra de entrada aceita;


Se o estado ativo no for final, a palavra
de entrada no aceita;
Se a mquina no parar (looping), a
entrada de entrada no aceita.
Mquina de Turing

Definio da MT, uma octupla:


: alfabeto de smbolos de entrada;
Q : conjunto de estados possveis, o qual finito;
: programa ou funo de transio
:Q ( V { , }) Q ( V { , }) {E, D}
Prof. Yandre Maldonado - 14

a qual uma funo parcial;


q0 : estado inicial da mquina, q0 Q;
F : conjunto de estados finais, F Q;
V : alfabeto auxiliar (pode ser vazio);
: smbolo especial para clulas em branco;
: smbolo especial marcador de incio da fita.
Mquina de Turing

A Mquina de Turing pode ser empregada


como modelo de natureza reconhecedora
ou transdutora:
Reconhecedora: processa a palavra de
entrada aceitando-a ou rejeitando-a. Neste
caso, o conjunto de palavras aceitas
Prof. Yandre Maldonado - 15

corresponde linguagem descrita pela MT;


Transdutora: mquina para computar uma
funo. Aplica uma funo sobre o contedo
inicial da fita e o resultado produzido
lanado na prpria fita.
Mquina de Turing

Representao de MT por diagrama:


Semelhante representao de AFD;
Os rtulos das setas, que
AFND

representam as funes de transio


so de acordo com a seguinte
Prof. Yandre Maldonado - 16

legenda:

S0 S1 Sf
(a1, a2,m) (a1, a2,m)

Indica estado Smbolo a Smbolo a Sentido do Estado


inicial da MT ser lido ser gravado movimento final da MT
Mquina de Turing

Exemplo 1: uma MT transdutora que


devolve o complemento de uma
entrada binria.
(0,1,D) (1,1,E)
(1,0,D) (0,0,E)
Prof. Yandre Maldonado - 17

AFND

S0 S1 Sf
( , ,E) ( , ,D)
Mquina de Turing

Processamento de 1010:
(0,1,D) (1,1,E)
(1,0,D) (0,0,E)

S0 S1 Sf
( , ,E) ( , ,D)
Prof. Yandre Maldonado - 18

Unidade de
Controle
Estado atual:
S0

1 0 1 0 ...
Mquina de Turing

Processamento de 1010:
(0,1,D) (1,1,E)
(1,0,D) (0,0,E)

S0 S1 Sf
( , ,E) ( , ,D)
Prof. Yandre Maldonado - 19

Unidade de
Controle
Estado atual:
S0

0 0 1 0 ...
Mquina de Turing

Processamento de 1010:
(0,1,D) (1,1,E)
(1,0,D) (0,0,E)

S0 S1 Sf
( , ,E) ( , ,D)
Prof. Yandre Maldonado - 20

Unidade de
Controle
Estado atual:
S0

0 1 1 0 ...
Mquina de Turing

Processamento de 1010:
(0,1,D) (1,1,E)
(1,0,D) (0,0,E)

S0 S1 Sf
( , ,E) ( , ,D)
Prof. Yandre Maldonado - 21

Unidade de
Controle
Estado atual:
S0

0 1 0 0 ...
Mquina de Turing

Processamento de 1010:
(0,1,D) (1,1,E)
(1,0,D) (0,0,E)

S0 S1 Sf
( , ,E) ( , ,D)
Prof. Yandre Maldonado - 22

Unidade de
Controle
Estado atual:
S0

0 1 0 1 ...
Mquina de Turing

Processamento de 1010:
(0,1,D) (1,1,E)
(1,0,D) (0,0,E)

S0 S1 Sf
( , ,E) ( , ,D)
Prof. Yandre Maldonado - 23

Unidade de
Controle
Estado atual:
S1

0 1 0 1 ...
Mquina de Turing

Processamento de 1010:
(0,1,D) (1,1,E)
(1,0,D) (0,0,E)

S0 S1 Sf
( , ,E) ( , ,D)
Prof. Yandre Maldonado - 24

Unidade de
Controle
Estado atual:
S1

0 1 0 1 ...
Mquina de Turing

Processamento de 1010:
(0,1,D) (1,1,E)
(1,0,D) (0,0,E)

S0 S1 Sf
( , ,E) ( , ,D)
Prof. Yandre Maldonado - 25

Unidade de
Controle
Estado atual:
S1

0 1 0 1 ...
Mquina de Turing

Processamento de 1010:
(0,1,D) (1,1,E)
(1,0,D) (0,0,E)

S0 S1 Sf
( , ,E) ( , ,D)
Prof. Yandre Maldonado - 26

Unidade de
Controle
Estado atual:
S1

0 1 0 1 ...
Mquina de Turing

Processamento de 1010:
(0,1,D) (1,1,E)
(1,0,D) (0,0,E)

S0 S1 Sf
( , ,E) ( , ,D)
Prof. Yandre Maldonado - 27

Unidade de
Controle
Estado atual:
S1

0 1 0 1 ...
Mquina de Turing

Processamento de 1010:
(0,1,D) (1,1,E)
(1,0,D) (0,0,E)

S0 S1 Sf
( , ,E) ( , ,D)
Prof. Yandre Maldonado - 28

Unidade de * O reposicionamento da cabea de


Controle leitura na sua posio original pode ser
Estado atual: til para realizar combinaes de
Sf Mquinas de Turing.

0 1 0 1 ...
Mquina de Turing

Exemplo : uma MT com alfabeto de


entrada {a} que pre se, e somente
se, a palavra de entrada for da forma
a2n para n>=0
(a, a,D)
Prof. Yandre Maldonado - 29

S0 S1
AFND

(a, a,D)
( , ,D)

Sf
Mquina de Turing
Exemplo : Processamento de aaa
(a, a,D)
S0 S1
(a, a,D)
( , ,D)
AFND

Sf
Prof. Yandre Maldonado - 30

Unidade de
Controle
Estado atual:
S0

a a a ...
Mquina de Turing
Exemplo : Processamento de aaa
(a, a,D)
S0 S1
(a, a,D)
( , ,D)
AFND

Sf
Prof. Yandre Maldonado - 31

Unidade de
Controle
Estado atual:
S1

a a a ...
Mquina de Turing
Exemplo : Processamento de aaa
(a, a,D)
S0 S1
(a, a,D)
( , ,D)
AFND

Sf
Prof. Yandre Maldonado - 32

Unidade de
Controle
Estado atual:
S0

a a a ...
Mquina de Turing
Exemplo : Processamento de aaa
(a, a,D)
S0 S1
(a, a,D)
( , ,D)
AFND

Sf
Prof. Yandre Maldonado - 33

CADEIA REJEITADA
Unidade de
Controle
Estado atual:
S1

a a a ...
Mquina de Turing
Exemplo : Processamento de aaaa
(a, a,D)
S0 S1
(a, a,D)
( , ,D)
AFND

Sf
Prof. Yandre Maldonado - 34

Unidade de
Controle
Estado atual:
S0

a a a a ...
Mquina de Turing
Exemplo : Processamento de aaaa
(a, a,D)
S0 S1
(a, a,D)
( , ,D)
AFND

Sf
Prof. Yandre Maldonado - 35

Unidade de
Controle
Estado atual:
S1

a a a a ...
Mquina de Turing
Exemplo : Processamento de aaaa
(a, a,D)
S0 S1
(a, a,D)
( , ,D)
AFND

Sf
Prof. Yandre Maldonado - 36

Unidade de
Controle
Estado atual:
S0

a a a a ...
Mquina de Turing
Exemplo : Processamento de aaaa
(a, a,D)
S0 S1
(a, a,D)
( , ,D)
AFND

Sf
Prof. Yandre Maldonado - 37

CADEIA RECONHECIDA
Unidade de
Controle
Estado atual:
Sf

a a a a ...
Mquina de Turing

Exerccio 1 (lista Yandre 1a):


Construa uma MT transdutora que
receba como entrada um nmero
binrio e devolva o qudruplo do
mesmo.
Prof. Yandre Maldonado - 38

(0,0,D) (0,0,E)
(1,1,D) (1,1,E)

S0 S1 S2 Sf
( ,0,D) ( ,0,E) ( , ,D)
Mquina de Turing

Exerccio 2: Construa uma MT com


menor nmero de estados possvel
que reconhea a linguagem denotada
pela ER a(a+b)*, assumindo o
alfabeto {a,b}
Prof. Yandre Maldonado - 39

(a,a,D)
(b,b,D)
AFND

S0 Sf
(a, a,D)
Mquina de Turing

Exerccio 3: Construa uma MT com


menor nmero de estados possvel
que reconhea a linguagem denotada
{anbn|n0} (lista Yandre 3c)
Prof. Yandre Maldonado - 40
Exerccio 3
(A, A,D)

(a,a,D)
(B,B,D)
(b, B,E)
AFND

(a, A,D) S1 S3
(a,a,E)
(B,B,E)
Prof. Yandre Maldonado - 41

S0
(B,B,D)
(B, B,D)
( , ,E)
S2 Sf

( , ,D)
Mquina de Turing

Exerccio 4: Construa uma MT com


menor nmero de estados possvel
que reconhea a linguagem denotada
{W pertence {a,b}| o nmero de a s
em W igual ao nmero de b s}.
Prof. Yandre Maldonado - 42
Exerccio 4
(<, <,D)

(B,B,D)
(a,a,D) (a,a,E)
(B,B,D) (B,B,E)
(b, B,E)
AFND

(A,A,D) (a, A,D) S1 S3 (A,A,E)


(b,b,E)
Prof. Yandre Maldonado - 43

S0 ( , ,E)
Sf
(b,b,D)
(b, B,D) (A,A,D) (a,a,E)
(a, A,E) (B,B,E)
S2 S4 (A,A,E)
(b,b,E)
(<, <,D)
Mquina de Turing

Exerccio 8: Construa uma MT com


menor nmero de estados possvel
que reconhea por estado final e com
cabeote imvel a seguinte linguagem
de alfabeto {a,b,c,d}
Prof. Yandre Maldonado - 44

{ambncmdn | m, n pertence a N}
(A, A,D)
(B,B,D)
(a,a,D)
(b,b,D) (a,a,E)
(C,C,D) (C,C,E)
(c, C,E)
AFND

(D,D,D) (a, A,D) S1 S3 (b,b,E)

S0 ( , ,E) (b,b,D)
Sf
(D,D,D)
(b, B,D) (C,C, D) (D,D,E)
Prof. Yandre Maldonado - 45

(d, D,E) (C,C,E)


S2 S4 (b,b,E)

(B, B,D)
Exerccios para casa:

1. Construa uma Mquina de Turing para a seguinte


linguagem (com o mnimo de estados):
{ anbncn| n0}
(Yandre 3d)

2. Construa uma MT que reconhea a linguagem { w


pertence {a,b}*| w wR}, ou seja, o conjunto das
Prof. Yandre Maldonado - 46

palavras sobre {a,b} que no so palndromos.

3. Construa uma MT com fita bidirecional e alfabeto {a} que


pare se a fita contiver clula em branco.
Sf
Exerccio
(b,b,D)
2
(b,b,E)
(a,a,D)

( , ,E)
AFND

(a, ,D) S1 S3
(a, ,E)

S0 S6 (a,a,E)
( , ,D)
(b,b,E)

(b, ,D) (b, ,E)


Prof. Yandre Maldonado - 47

( , ,E)
( , ,E) S2 S4

(a,a,D)
S5 (a,a,D)
(b,b,D)

Sf
Mquina de Turing

Mquina de Turing
Dada a sua natureza conceitual, a MT pode
ser implementada de diversas formas;
Os computadores modernos so MT (exceto
pelo fato de terem memria finita)
O processador corresponde unidade de
Prof. Yandre Maldonado - 48

controle, cujos estados podem ser definidos pelos


padres de bits que podem ser associados aos
registradores;
A memria da mquina corresponde ao sistema
de armazenamento em fita;
Os padres de bits (0 e 1) correspondem ao
alfabeto da fita.
Mquina de Turing

Importncia da MT para a Cincia da


Computao:
A potncia computacional da MT to
grande quanto a de qualquer sistema
algortmico;
Se um problema no puder ser resolvido por
Prof. Yandre Maldonado - 49

uma MT, no poder ser resolvido por


qualquer sistema algortmico;
MT representa a fronteira terica da
capacidade computacional para as
mquinas modernas reais.
MQUINA UNIVERSAL

Se for possvel representar qualquer


algoritmo como um programa em uma
mquina simples e poderosa ento tal
mquina de fato uma MQUINA
UNIVERSAL
Prof. Yandre Maldonado - 50
Mquina deveria ser
Simples
para permitir estudos de propriedades sem
a necessidade de considerar caractersticas
no-relevantes, bem como permitir
estabelecer concluses gerais sobre a
classe de funes computveis
Prof. Yandre Maldonado - 51

Poderosa
capaz de simular qualquer caracterstica de
mquinas reais ou tericas, de tal forma que
os resultados provados fossem vlidos para
modelos aparentemente com mais recursos
e para que qualquer funo computvel
possa ser nela representada.
Mquinas Universais
As evidncias de que mquina de fato
universal, podem se classificadas como:
EVIDNCIA INTERNA
Demonstrao de que qqr extenso das
capacidades da mquina proposta computa,
no mximo a mesma classe de funes, ou
seja, no aumenta o poder computacional
Prof. Yandre Maldonado - 52

EVIDNCIA EXTERNA
Consiste no exame de outros modelos que
definem a noo de algoritmo, juntamente
com a prova de que so, no mximo,
computacionalmente equivalentes.
Mquinas Universais

O modelo de mquina universal mais


utilizado a Mquina de TURING

A MT possui tantas clulas de


armazenamento de dados quanto
Prof. Yandre Maldonado - 53

necessrio

Em 1936, Alonzo Church apresentou a

Hiptese de Church
Mquinas Universais
Hiptese de Church:

Qualquer funo computvel pode ser


processada por uma MT, ou seja,
Existe um algoritmo expresso na forma
de MT capaz de processar a funo.
Prof. Yandre Maldonado - 54

Mas essa noo intuitiva de algoritmo no


matematicamente precisa.
Mquinas Universais

Modelos equivalentes MT:


Mquina Norma
Mquina de registradores onde o conjunto de
registradores infinito
Mquina de Post
Baseada na estrutura de dados do tipo fila (o
Prof. Yandre Maldonado - 55

primeiro dado armazenado o primeiro a ser


recuperado)
Mquinas com Pilhas
So necessrias pelo menos duas pilhas para
simular o mesmo poder computacional de um fita
ou fila
Extenses da MT no aumentam
seu poder computacional

Extenses:
No determinismo:
Permite que a mquina possa tentar
diversos caminhos alternativos para uma
mesma situao
Prof. Yandre Maldonado - 56

Mltiplas fitas
Mltiplas unidades de controle
Fitas infinitas nas duas extremidades
Mquinas de Turing
Existem 3 maneiras de abordar o estudo das
Mquinas de Turing e de seus modelos
equivalentes:
Reconhecimento de Linguagens
Linguagens que podem ser reconhecidas e suas propriedades
Processamento de Funes
Prof. Yandre Maldonado - 57

Funes computveis e suas propriedades


Solucionabilidade de Problemas: problemas
solucionveis e no-solucionveis, problemas
parcialmente solucionveis (computveis) e
completamente insolveis (no computveis) e suas
propriedades.
Mquina de Turing

Reconhecimento de Linguagens
Prof. Yandre Maldonado - 58
Mquinas que param sempre
e que param se aceitam.

MT que aceitam a linguagem das


palavras no alfabeto {a,b,c} que no
Prof. Yandre Maldonado - 59

tm ab como prefixo, ou seja, {a,b,c}*-


({ab}{a,b,c}*)
Mquinas que param sempre
e que param se aceitam.

S0 S1 (b,b,E)
S2
(a,a,D)

Mquina que pra sempre


Prof. Yandre Maldonado - 60

(a,a,D)

S0 S1
(b,b,E)

Mquina que pra se aceita


MT como Reconhecedores de
Linguagens

A linguagem aceita por M, denotada por


ACEITA(M) ou L(M), o conjunto de todas as
palavras pertencentes a * aceitas por M, ou
seja:
Prof. Yandre Maldonado - 61

ACEITA(M)=
{w M ao processar w *, pra em um estado
qf F}
MT como Reconhecedores de
Linguagens

A linguagem rejeitada por M, denotada por


REJEITA(M), o conjunto de todas as palavras
de * rejeitadas por M, ou seja:
Prof. Yandre Maldonado - 62

REJEITA(M) = {w M ao processar w *, pra


em um estado q F}
MT como Reconhecedores de
Linguagens

A linguagem para a qual M fica em loop infinito,


denotada por LOOP(M) conjunto de todas as
palavras de * para as quais M fica
processando indefinidamente.
Prof. Yandre Maldonado - 63
MT como Reconhecedores de
Linguagens

ACEITA(M) REJEITA(M)
Prof. Yandre Maldonado - 64

LOOP(M)
MT como Reconhecedores de
Linguagens

ACEITA(M) REJEITA(M)
Prof. Yandre Maldonado - 65

LOOP(M)

ACEITA(M) REJEITA(M) =
ACEITA(M) LOOP(M) =
REJEITA(M) LOOP(M) =
ACEITA(M) REJEITA(M) LOOP(M) =
ACEITA(M) REJEITA(M) LOOP(M) = *
MT como Reconhecedores de
Linguagens

Critrio para o Reconhecimento de Linguagens.

Se a mquina pra para toda palavra da


Prof. Yandre Maldonado - 66

linguagem sobre o alfabeto de entrada, ela


reconhecida pela Mquina de Turing.
Linguagem Enumervel
Recursivamente

Uma linguagem aceita por uma Mquina de


Turing dita enumervel recursivamente.

Enumervel deriva do fato de que as


palavras de qualquer linguagem enumervel
Prof. Yandre Maldonado - 67

recursivamente podem ser enumeradas ou


listadas por uma Mquina de Turing.
Recursivamente um termo matemtico,
anterior ao computador, com significado
similar ao de recurso, utilizado na
computao.
Linguagem Enumervel Recursivamente

A classe das Linguagens Enumerveis


Recursivamente inclui as

linguagens livre do contexto e algumas


outras linguagens para as quais no se
Prof. Yandre Maldonado - 68

pode, mecanicamente, determinar se uma


dada palavra pertence ou no linguagem.
Linguagem Enumervel Recursivamente

Se L uma dessas linguagens, ento para qualquer mquina M


que aceita a linguagem L, existe pelo menos uma palavra w, no
pertencente a L, que, ao ser processada por M, resulta que a
mquina entre em loop infinito.

Se w pertence a L, M pra e aceita a entrada


Prof. Yandre Maldonado - 69

Se w no pertence a L, M pode parar, rejeitando a palavra, ou


permanecer processando indefinidamente (loop).
Exemplos Linguagem Enumervel Recursivamente

As seguintes linguagens so exemplos de linguagens Enumerveis


Recursivamente:

Duplo_Bal = { anbn |n 0}
Triplo_Bal = { anbncn | n 0}
Palavra_Palavra = { ww | w palavra sobre os smbolos a
e b}
Prof. Yandre Maldonado - 70

{ w / w tem o mesmo nmero de smbolos a que b}


{ ai bj ck | i=j ou j=k}
Classe das Linguagens Recursivas

Uma sub-classe da Classe das


Linguagens Enumervel
Recursivamente, denominada
Classe das Linguagens Recursivas,
composta pelas linguagens para as
Prof. Yandre Maldonado - 71

quais existe pelo menos uma


Mquina de Turing que pra para
qualquer entrada, aceitando ou
rejeitando.
Classe das Linguagens A mquina
no entra
Recursivas em loop

Definio Linguagem Recursiva


Uma linguagem dita recursiva se
existe uma Mquina de Turing tal que:

ACEITA(M) = L
Prof. Yandre Maldonado - 72

REJEITA(M) = * - L.

LOOP(M) =
Classe das Linguagens
Recursivas
Pode-se afirmar que a classe das
Linguagens Recursivas representa todas as
linguagens que podem ser reconhecidas
mecanicamente.

Existem conjuntos que no so


Prof. Yandre Maldonado - 73


Enumerveis Recursivamente, ou seja,
linguagens para as quais no possvel
desenvolver uma MT que as reconhea.
Propriedades das Linguagens Recursivas

Se uma linguagem L sobre um alfabeto


qualquer recursiva, ento seu
complemento, ou seja, *-L, recursivo.
Prof. Yandre Maldonado - 74
Propriedades das Linguagens Recursivas

Uma linguagem L sobre um alfabeto


qualquer recursiva se, e somente se, L e
seu complemento so enumerveis
recursivamente.
Prof. Yandre Maldonado - 75
Propriedades das Linguagens Recursivas

A Classe das Linguagens Recursivas est


contida propriamente na Classe das
Linguagens Enumerveis Recursivamente.
Prof. Yandre Maldonado - 76

Linguagens Enumerveis Recursivamente

Linguagens Recursivas
Linguagens Enumerveis
Recursivamente.

entrada aceita
rejeita
Mquina de Turing
Loop
Prof. Yandre Maldonado - 77

No pra

TURING
RECONHECVEL
Linguagens Recursiva
Param para toda entrada

entrada aceita
Mquina de Turing
rejeita
Prof. Yandre Maldonado - 78

TURING DECIDVEL
A MT sempre pra
Linguagens Recursiva
TURING DECIDVEIS
As linguagens decidveis so
fechadas sob as operaes
Unio,
Concatenao
Kleene,
Prof. Yandre Maldonado - 79

Complemento
Interseo
Linguagem Recursiva
Enumerveis
TURING RECONHECVEIS
As linguagens RECURSIVAS
ENUMERVEIS so fechadas sob as
operaes
Unio,
Concatenao
Prof. Yandre Maldonado - 80

Kleene,
Interseo
Toda linguagem DECIDVEL
TURING RECONHECVEL

Nem toda linguagem TURING


RECONHECVEL TURING
DECIDVEL
Prof. Yandre Maldonado - 81
DECIDIBILIDADE

Na teoria da computao e na teoria


da complexidade computacional um
problema de deciso uma questo
sobre um sistema formal com uma
resposta do tipo
Prof. Yandre Maldonado - 82

Sim ou no
DECIDIBILIDADE

Dados dois nmeros


X eY
Y divisvel por X?
Prof. Yandre Maldonado - 83

Dado um nmero inteiro x


X nmero primo?
DECIDIBILIDADE

Um problema de deciso tambm


pode ser formalizado como o
problema de verificar se determinada
CADEIA DE CARACTERES pertence
ou no a uma linguagem formal
Prof. Yandre Maldonado - 84
DECIDIBILIDADE

Um problema de deciso chamado


DECIDVEL ou EFETIVAMENTE
SOLVEL se tem uma representao
na qual o conjunto de strings aceito
um LINGUAGEM RECURSIVA.
Prof. Yandre Maldonado - 85
DECIDIBILIDADE

Um problema de deciso chamado


SEMI-DECIDVEL ou SOLVEL ou
PROVVEL se tem uma
representao na qual o conjunto de
strings aceito um LINGUAGEM
Prof. Yandre Maldonado - 86

RECURSIVAMENTE ENUMERVEL.
DECIDIBILIDADE

Um problema de deciso chamado


INDECIDVEL ou INSOLVEL ou
IMPROVVEL se
NO H UMA MQUINA DE
TURING QUE O SOLUCIONE
Prof. Yandre Maldonado - 87
DECIDIBILIDADE

Um exemplo clssico de um problema


de deciso o conjunto dos nmero
primos:

possvel decidir efetivamente se um


Prof. Yandre Maldonado - 88

nmero natural primo


DECIDIBILIDADE

Problemas de deciso INDECIDVEIS


incluem o PROBLEMA DA PARADA

Dada uma MT arbitrria M e uma palavra


Prof. Yandre Maldonado - 89

arbitrria w, determinar se a computao


de M com entrada w pra
Exerccio
Sejam L uma LRE e R uma linguagem
recursiva, mostre:
a) L R uma LRE
Tem-se que L R = LR.
Como R uma LRec e a clase das LRecs
Prof. Yandre Maldonado - 90

fechada sob complementao, tem-se


que R tambm uma LRec e,
portanto,uma LRE. Como a classe das
LREs fechada sob interseo,LR
uma LRE. Logo, L R uma LRE.
Exerccio
Sejam L uma LRE e R uma linguagem
recursiva, mostre:
L R pode no ser recursiva
Seja R = uma LR e, portanto, uma LRec.
Ento, L R = L = L. Logo, se L for uma
Prof. Yandre Maldonado - 91

LRE no recursiva, ento L-R pode no


ser recursiva.
Exerccio
Sejam L uma LRE e R uma linguagem
recursiva, mostre:
R - L pode no ser um LRE
Seja R = * uma LR e, portanto, uma LRec.
Ento, R - L = * L = L. Como a classe das
Prof. Yandre Maldonado - 92

LRE no fechada sob complementao,


L pode no ser uma LRE.
Bibliografia
BROOKSHEAR, J. G. Cincia da Computao. Porto
Alegre: Bookman, 2000;
DELAMARO, Mrcio Eduardo. Linguagens Formais e
Autmatos. Maring: UEM, 1998;
HOPCROFT, J. E. & ULLMAN, J. D. Formal
Languages and Their Relation to Automata. Addison-
Wesley, 1969;
Prof. Yandre Maldonado - 93

MENEZES, Paulo Blauth. Linguagens Formais e


Autmatos. Porto Alegre: Editora Sagra-Luzzatto,
1998;
VIEIRA, Newton Jos. Introduo aos Fundamentos
da Computao. So Paulo: Pioneira Thomson
Learning, 2006.