Aula 6
Por:
Tarcisio Coutinho da Silva
{tcs5}@cin.ufpe.br
David Barros Hulak
{dbh}@cin.ufpe.br
10º problema de Hilbert
Tese de Church-Turing
- Algoritmos
- Computabilidade
AFD:
(Q, Σ, δ, q0, F)
PDA:
(Q, Σ, δ, q0, Γ, F)
- Pilha
MT:
(Q, Σ, δ, q0, Γ, qa, qr)
- Fita
Definição Formal
Uma MT é uma 7-upla, (Q, ∑, Γ, δ, qo, qaceita, qrejeita),
onde
▪
▪
▪
▪
▪
▪
▪
Q é o conjunto finito de estados;
∑ é o alfabeto da entrada, ⊔ ∉ ∑;
Γ é o alfabeto da fita, ⊔ ∈ Γ e ∑ ⊆ Γ;
δ é a função de transição, δ: Q × Γ -> Q × Γ × {E, D};
qo é o estado inicial, qo ∈ Q;
qaceita é o estado de aceitação, qaceita ∈ Q;
qrejeita é o estado de rejeição, qrejeita ∈ Q.
Computação
Uma MT M recebe como entrada w ∈ ∑*
Coloca w na porção mais a esquerda da fita e preenche os
campos seguintes com branco, o fim da entrada é
determinado pelo primeiro símbolo em branco.
Segue-se os passos determinado pela função de transição.
Se tentar mover para a esquerda além da extremidade a
cabeça permanece no mesmo lugar.
A computação só pára se entrar no estado de aceitação,
aceitando a cadeia, ou de rejeição, rejeitando a cadeia.
Caso contrário, M continua para sempre.
Durante a computação uma MT troca o estado atual, o
conteúdo da fita e a posição da cabeça. Podemos
demonstrar um momento da computação através de uma
configuração.
Definição
▪ Escrevemos uqv e dizemos que o estado atual é q, o
conteúdo da fita é uv e a cabeça aponta para o primeiro
símbolo de v.
Exemplo
Dizemos que uma configuração C1 origina C2 se a MT
puder ir legitimamente de C1 para C2 em um único
passo.
Casos particulares
- Extremidade direita: v qi ⊔
- Extremidade esquerda: o que fazer quando
qi a v e há movimento para a esquerda?
- Configurações de parada: estado da configuração = qa
(configuração de aceitação) ou qr (configuração de rejeição)
Exemplo:
Dê as configurações na computação de w= 0000
na seguinte MT.
Resposta
1.
Dê as configurações na computação das
seguintes cadeias na MT usada no exemplo.
1. ε
2. 0
3. 000
Linguagem Turing-Reconhecível (Recursivamente
Enumerável)
Linguagem que uma Máquina de Turing M reconhece.
L(M) é o conjunto de cadeias que M aceita.
Se uma cadeia não pertence a L(M), M rejeita ou entra em
loop.
Linguagem Turing-Decidível
Linguagem que uma Máquina de Turing M decide.
M pára ao computar qualquer cadeia (aceita ou rejeita).
Toda linguagem decidível é reconhecível.
As variantes da MT têm o mesmo poder que
ela
Multifita
MT Não-Determinística
Enumerador
Pode ser convertida em uma MT colocando as suas fitas
em uma só, determinando uma separação entre elas.
Toda MT multifita tem uma MT equivalente de uma fita.
Uma linguagem é Turing-reconhecível se e somente se
uma MT multifita a reconhece.
Uma MT que gera uma árvore de configurações.
Se em algum ramo da computação origina um estado
de aceitação, MT aceita w.
Toda MT não determinística tem uma MT equivalente
determinística.
Uma linguagem é Turing-reconhecível se e somente
se uma MT não-determinística a reconhece.
É uma MT que controla uma impressora e imprime
as cadeias que ela aceita.
Uma linguagem é Turing-reconhecível se e somente
se um enumerador a enumera
(1ª questão)
Defina:
-
Máquina de Turing.
-
M aceita w.
-
Linguagem reconhecível.
-
Linguagem decidível.
-
Mostre que toda linguagem decidível é
reconhecível.
Michael Sipser: Introduction to the Theory of
Computation (2nd edition)
Aula 6
Arthur Ramos - [email protected]
David Hulak - [email protected]
Filipe Martins - [email protected]
Hugo Azevedo - [email protected]
Paulo Orlando - [email protected]
Ricardo Salomão - [email protected]
Tarcisio Coutinho - [email protected]
Tiago Ferreira - [email protected]
Thyago Machado - [email protected]
Vinícius Henrique - [email protected]