Post on 22-Apr-2015
1
Máquinas de Turing
2
A Hierarquia de Linguagens
*aLinguagens Regulares
Linguagens Livres de Contextonnba Rww
nnn cba ww?
**ba
?
3
*aLinguagens Regulares
Linguagens Livres de Contextonnba Rww
nnn cba ww
**ba
Linguagens aceitas porMáquinas de Turing
4
Máquina de Turing
............Fita
Cabeça de leitura-escrita
Unidade de Controle
5
A Fita
............
cabeça de leitura-escrita
Sem limites – comprimento infinito
A cabeça move para a esquerda ou direita
6
............
cabeça de leitura-escrita
Em cada transição (passo de execução) :
1. Lê um símbolo 2. Escreve um símbolo 3. Move para a esquerda ou direita
7
............
Exemplo:Instante 0
............Instante 1
1. Lê
2. Escreve
a a cb
a b k c
a
k3. Move para a esquerda
8
............Instante 1
a b k c
............Instante 2
a k cf
1. Lê
2. Escreve
bf
3. Move para a direita
9
O String de Entrada
............
símbolo branco
cabeça
a b ca
A cabeça inicia na posição mais à esquerdado setring de entrada
string de entrada
10
Estados & Transições
1q 2qLba ,
Lê Escreve Move p/ Esq.
1q 2qRba ,
Move p/ Dir.
11
Exemplo:
1q 2qRba ,
............ a b ca
Instante 1
1qestado corrente
12
............ a b caInstante 1
1q 2qRba ,
............ a b cbInstante 2
1q
2q
13
............ a b caInstante 1
1q 2qLba ,
............ a b cbInstante 2
1q
2q
Exemplo:
14
............ a b caInstante 1
1q 2qRg,
............ ga b cbInstante 2
1q
2q
Exemplo:
15
Determinismo
1q
2qRba ,
Permitido Não permitido
3qLdb ,
1q
2qRba ,
3qLda ,
Transições lambda não são permitidas
Máquinas de Turing são deterministas
16
Função de Transição Parcial
1q
2qRba ,
3qLdb ,
............ a b ca
1q
Exemplo:
Nenhuma transiçãopara o símbolo c
Permitido:
17
Parada
A máquina pára em um estado se não existe transição a seguir.
18
Parada - Exemplo 1:
............ a b ca
1q
1q Nenhuma transição de
PÁRA!!!
1q
19
Parada - Exemplo 2:
............ a b ca
1q
1q
2qRba ,
3qLdb ,
Nenhuma transiçãode com símbolo
PÁRA!!!
1q c
20
Estados de Aceitação
1q 2q Permitido
1q 2q Não permitido
•Não há transição saindo de estado de aceitação•A máquina pára e aceita
21
Aceitação
Aceita string Se a máquina pára em estado de aceitação
Não aceita string
Se a máquina pára em estado que não é de aceitação ou Se a máquina entra em loop infinito
de entrada
de entrada
22
Observação:
Para aceitar um string de entrada,não é necessário ler todos ossímbolos do string
23
Máquina de Turing - Exemplo
Aceita a linguagem: *a
0q
Raa ,
L,1q
Alfabeto de entrada },{ ba
24
aaInstante 0
0q
a
0q
Raa ,
L,1q
25
aaInstante 1
0q
a
0q
Raa ,
L,1q
26
aaInstante 2
0q
a
0q
Raa ,
L,1q
27
aaInstante 3
0q
a
0q
Raa ,
L,1q
28
aaInstante 4
1q
a
0q
Raa ,
L,1q
Pára & Aceita
29
Exemplo de Rejeição
0q
Raa ,
L,1q
baInstante 0
0q
a
30
0q
Raa ,
L,1q
baInstante 1
0q
a
Nenhuma transição possível
Pára & Rejeita
31
Aceita a linguagem: *a
0q
mas para alfabeto de entrada }{aMáquina mais simples para a mesma linguagem
32
aaInstante 0
0q
a
0q
Pára & Aceita
Não é necessário ler a entrada
33
Exemplo de Loop Infinito
0q
Raa ,
L,1q
Lbb ,
Uma máquina deTuring para a linguagem *)(* baba
34
baInstante 0
0q
a
0q
Raa ,
L,1q
Lbb ,
35
baInstante 1
0q
a
0q
Raa ,
L,1q
Lbb ,
36
baInstante 2
0q
a
0q
Raa ,
L,1q
Lbb ,
37
baInstante 2
0q
a
baInstante 3
0q
a
baInstante 4
0q
a
baInstante 5
0q
a
loop in
finito
38
Como a máquina entra em loop infinito:
• O estado de aceitação não será atingido
•A máquina nunca pára
•O string de entrada não é aceito
39
Outro Exemplo de Máquina de Turing
Máquina deTuring para a linguagem }{ nnba
0q 1q 2q3qRxa ,
Raa ,Ryy ,
Lyb ,
Laa ,Lyy ,
Rxx ,
Ryy ,
Ryy ,4q
L,
1n
40
Casar a’s com b’s:Repita: substitua o a mais à esquerda por x encontre o b mais à esq. e substitua por yAté que não existam mais a’s ou b’s
Se existir algum a ou b restante, rejeite
Idéia básica:
41
0q 1q 2q3qRxa ,
Raa ,Ryy ,
Lyb ,
Laa ,Lyy ,
Rxx ,
Ryy ,
Ryy ,4q
L,
ba
0q
a bInstante 0
42
0q 1q 2q3qRxa ,
Raa ,Ryy ,
Lyb ,
Laa ,Lyy ,
Rxx ,
Ryy ,
Ryy ,4q
L,
bx
1q
a b Instante 1
43
0q 1q 2q3qRxa ,
Raa ,Ryy ,
Lyb ,
Laa ,Lyy ,
Rxx ,
Ryy ,
Ryy ,4q
L,
bx
1q
a b Instante 2
44
0q 1q 2q3qRxa ,
Raa ,Ryy ,
Lyb ,
Laa ,Lyy ,
Rxx ,
Ryy ,
Ryy ,4q
L,
yx
2q
a b Instante 3
45
0q 1q 2q3qRxa ,
Raa ,Ryy ,
Lyb ,
Laa ,Lyy ,
Rxx ,
Ryy ,
Ryy ,4q
L,
yx
2q
a b Instante 4
46
0q 1q 2q3qRxa ,
Raa ,Ryy ,
Lyb ,
Laa ,Lyy ,
Rxx ,
Ryy ,
Ryy ,4q
L,
yx
0q
a b Instante 5
47
0q 1q 2q3qRxa ,
Raa ,Ryy ,
Lyb ,
Laa ,Lyy ,
Rxx ,
Ryy ,
Ryy ,4q
L,
yx
1q
x b Instante 6
48
0q 1q 2q3qRxa ,
Raa ,Ryy ,
Lyb ,
Laa ,Lyy ,
Rxx ,
Ryy ,
Ryy ,4q
L,
yx
1q
x b Instante 7
49
0q 1q 2q3qRxa ,
Raa ,Ryy ,
Lyb ,
Laa ,Lyy ,
Rxx ,
Ryy ,
Ryy ,4q
L,
yx x y
2q
Instante 8
50
0q 1q 2q3qRxa ,
Raa ,Ryy ,
Lyb ,
Laa ,Lyy ,
Rxx ,
Ryy ,
Ryy ,4q
L,
yx x y
2q
Instante 9
51
0q 1q 2q3qRxa ,
Raa ,Ryy ,
Lyb ,
Laa ,Lyy ,
Rxx ,
Ryy ,
Ryy ,4q
L,
yx
0q
x y Instante 10
52
0q 1q 2q3qRxa ,
Raa ,Ryy ,
Lyb ,
Laa ,Lyy ,
Rxx ,
Ryy ,
Ryy ,4q
L,
yx
3q
x y Instante 11
53
0q 1q 2q3qRxa ,
Raa ,Ryy ,
Lyb ,
Laa ,Lyy ,
Rxx ,
Ryy ,
Ryy ,4q
L,
yx
3q
x y Instante 12
54
0q 1q 2q3qRxa ,
Raa ,Ryy ,
Lyb ,
Laa ,Lyy ,
Rxx ,
Ryy ,
Ryy ,4q
L,
yx
4q
x y
Pára & Aceita
Instante 13
55
Se modificarmos amáquina para a linguagem }{ nnba
podemos facilmente construir uma máquina para a linguagem }{ nnn cba
Observação:
56
Definições Formais para Máquinas de Turing
57
Função de Transição
1q 2qRba ,
),,(),( 21 Rbqaq
58
1q 2qLdc ,
),,(),( 21 Ldqcq
Função de Transição
59
Máquina de Turing:
),,,,,,( 0 FqQM
Estados
Alfabeto de entrada
Alfabetoda fita
Função detransição
Estadoinicial
branco
Estados deaceitação
60
Configuração
ba
1q
a
Descrição instantânea:
c
baqca 1
61
yx
2q
a b
Instante 4
yx
0q
a b
Instante 5
Movimento: aybqxxaybq 02
(resulta em um passo)
62
yx
2q
a b
Instante 4
yx
0q
a b
Instante 5
bqxxyybqxxaybqxxaybq 1102
yx
1q
x b
Instante 6
yx
1q
x b
Instante 7
uma computação
63
bqxxyybqxxaybqxxaybq 1102
bqxxyxaybq 12
Noatação equivalente:
64
Configuração inicial: wq0
ba
0q
a b
w
string de entrada
65
A Linguagem Aceita
Para qualquer Máquina de TuringM
}:{)( 210 xqxwqwML f
Estado inicial Estado de aceitação
66
Se uma linguagem é aceita por uma máquina de Turingdizemos que é:
•Turing Aceitável•Recursivamente Enumerável
ML
L
•Turing Reconhecível
Outros nomes usados: