1 Máquinas de Turing. 2 A Hierarquia de Linguagens Linguagens Regulares Linguagens Livres de...

66
1 Máquinas de Turing

Transcript of 1 Máquinas de Turing. 2 A Hierarquia de Linguagens Linguagens Regulares Linguagens Livres de...

Page 1: 1 Máquinas de Turing. 2 A Hierarquia de Linguagens Linguagens Regulares Linguagens Livres de Contexto ? ?

1

Máquinas de Turing

Page 2: 1 Máquinas de Turing. 2 A Hierarquia de Linguagens Linguagens Regulares Linguagens Livres de Contexto ? ?

2

A Hierarquia de Linguagens

*aLinguagens Regulares

Linguagens Livres de Contextonnba Rww

nnn cba ww?

**ba

?

Page 3: 1 Máquinas de Turing. 2 A Hierarquia de Linguagens Linguagens Regulares Linguagens Livres de Contexto ? ?

3

*aLinguagens Regulares

Linguagens Livres de Contextonnba Rww

nnn cba ww

**ba

Linguagens aceitas porMáquinas de Turing

Page 4: 1 Máquinas de Turing. 2 A Hierarquia de Linguagens Linguagens Regulares Linguagens Livres de Contexto ? ?

4

Máquina de Turing

............Fita

Cabeça de leitura-escrita

Unidade de Controle

Page 5: 1 Máquinas de Turing. 2 A Hierarquia de Linguagens Linguagens Regulares Linguagens Livres de Contexto ? ?

5

A Fita

............

cabeça de leitura-escrita

Sem limites – comprimento infinito

A cabeça move para a esquerda ou direita

Page 6: 1 Máquinas de Turing. 2 A Hierarquia de Linguagens Linguagens Regulares Linguagens Livres de Contexto ? ?

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

Page 7: 1 Máquinas de Turing. 2 A Hierarquia de Linguagens Linguagens Regulares Linguagens Livres de Contexto ? ?

7

............

Exemplo:Instante 0

............Instante 1

1. Lê

2. Escreve

a a cb

a b k c

a

k3. Move para a esquerda

Page 8: 1 Máquinas de Turing. 2 A Hierarquia de Linguagens Linguagens Regulares Linguagens Livres de Contexto ? ?

8

............Instante 1

a b k c

............Instante 2

a k cf

1. Lê

2. Escreve

bf

3. Move para a direita

Page 9: 1 Máquinas de Turing. 2 A Hierarquia de Linguagens Linguagens Regulares Linguagens Livres de Contexto ? ?

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

Page 10: 1 Máquinas de Turing. 2 A Hierarquia de Linguagens Linguagens Regulares Linguagens Livres de Contexto ? ?

10

Estados & Transições

1q 2qLba ,

Lê Escreve Move p/ Esq.

1q 2qRba ,

Move p/ Dir.

Page 11: 1 Máquinas de Turing. 2 A Hierarquia de Linguagens Linguagens Regulares Linguagens Livres de Contexto ? ?

11

Exemplo:

1q 2qRba ,

............ a b ca

Instante 1

1qestado corrente

Page 12: 1 Máquinas de Turing. 2 A Hierarquia de Linguagens Linguagens Regulares Linguagens Livres de Contexto ? ?

12

............ a b caInstante 1

1q 2qRba ,

............ a b cbInstante 2

1q

2q

Page 13: 1 Máquinas de Turing. 2 A Hierarquia de Linguagens Linguagens Regulares Linguagens Livres de Contexto ? ?

13

............ a b caInstante 1

1q 2qLba ,

............ a b cbInstante 2

1q

2q

Exemplo:

Page 14: 1 Máquinas de Turing. 2 A Hierarquia de Linguagens Linguagens Regulares Linguagens Livres de Contexto ? ?

14

............ a b caInstante 1

1q 2qRg,

............ ga b cbInstante 2

1q

2q

Exemplo:

Page 15: 1 Máquinas de Turing. 2 A Hierarquia de Linguagens Linguagens Regulares Linguagens Livres de Contexto ? ?

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

Page 16: 1 Máquinas de Turing. 2 A Hierarquia de Linguagens Linguagens Regulares Linguagens Livres de Contexto ? ?

16

Função de Transição Parcial

1q

2qRba ,

3qLdb ,

............ a b ca

1q

Exemplo:

Nenhuma transiçãopara o símbolo c

Permitido:

Page 17: 1 Máquinas de Turing. 2 A Hierarquia de Linguagens Linguagens Regulares Linguagens Livres de Contexto ? ?

17

Parada

A máquina pára em um estado se não existe transição a seguir.

Page 18: 1 Máquinas de Turing. 2 A Hierarquia de Linguagens Linguagens Regulares Linguagens Livres de Contexto ? ?

18

Parada - Exemplo 1:

............ a b ca

1q

1q Nenhuma transição de

PÁRA!!!

1q

Page 19: 1 Máquinas de Turing. 2 A Hierarquia de Linguagens Linguagens Regulares Linguagens Livres de Contexto ? ?

19

Parada - Exemplo 2:

............ a b ca

1q

1q

2qRba ,

3qLdb ,

Nenhuma transiçãode com símbolo

PÁRA!!!

1q c

Page 20: 1 Máquinas de Turing. 2 A Hierarquia de Linguagens Linguagens Regulares Linguagens Livres de Contexto ? ?

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

Page 21: 1 Máquinas de Turing. 2 A Hierarquia de Linguagens Linguagens Regulares Linguagens Livres de Contexto ? ?

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

Page 22: 1 Máquinas de Turing. 2 A Hierarquia de Linguagens Linguagens Regulares Linguagens Livres de Contexto ? ?

22

Observação:

Para aceitar um string de entrada,não é necessário ler todos ossímbolos do string

Page 23: 1 Máquinas de Turing. 2 A Hierarquia de Linguagens Linguagens Regulares Linguagens Livres de Contexto ? ?

23

Máquina de Turing - Exemplo

Aceita a linguagem: *a

0q

Raa ,

L,1q

Alfabeto de entrada },{ ba

Page 24: 1 Máquinas de Turing. 2 A Hierarquia de Linguagens Linguagens Regulares Linguagens Livres de Contexto ? ?

24

aaInstante 0

0q

a

0q

Raa ,

L,1q

Page 25: 1 Máquinas de Turing. 2 A Hierarquia de Linguagens Linguagens Regulares Linguagens Livres de Contexto ? ?

25

aaInstante 1

0q

a

0q

Raa ,

L,1q

Page 26: 1 Máquinas de Turing. 2 A Hierarquia de Linguagens Linguagens Regulares Linguagens Livres de Contexto ? ?

26

aaInstante 2

0q

a

0q

Raa ,

L,1q

Page 27: 1 Máquinas de Turing. 2 A Hierarquia de Linguagens Linguagens Regulares Linguagens Livres de Contexto ? ?

27

aaInstante 3

0q

a

0q

Raa ,

L,1q

Page 28: 1 Máquinas de Turing. 2 A Hierarquia de Linguagens Linguagens Regulares Linguagens Livres de Contexto ? ?

28

aaInstante 4

1q

a

0q

Raa ,

L,1q

Pára & Aceita

Page 29: 1 Máquinas de Turing. 2 A Hierarquia de Linguagens Linguagens Regulares Linguagens Livres de Contexto ? ?

29

Exemplo de Rejeição

0q

Raa ,

L,1q

baInstante 0

0q

a

Page 30: 1 Máquinas de Turing. 2 A Hierarquia de Linguagens Linguagens Regulares Linguagens Livres de Contexto ? ?

30

0q

Raa ,

L,1q

baInstante 1

0q

a

Nenhuma transição possível

Pára & Rejeita

Page 31: 1 Máquinas de Turing. 2 A Hierarquia de Linguagens Linguagens Regulares Linguagens Livres de Contexto ? ?

31

Aceita a linguagem: *a

0q

mas para alfabeto de entrada }{aMáquina mais simples para a mesma linguagem

Page 32: 1 Máquinas de Turing. 2 A Hierarquia de Linguagens Linguagens Regulares Linguagens Livres de Contexto ? ?

32

aaInstante 0

0q

a

0q

Pára & Aceita

Não é necessário ler a entrada

Page 33: 1 Máquinas de Turing. 2 A Hierarquia de Linguagens Linguagens Regulares Linguagens Livres de Contexto ? ?

33

Exemplo de Loop Infinito

0q

Raa ,

L,1q

Lbb ,

Uma máquina deTuring para a linguagem *)(* baba

Page 34: 1 Máquinas de Turing. 2 A Hierarquia de Linguagens Linguagens Regulares Linguagens Livres de Contexto ? ?

34

baInstante 0

0q

a

0q

Raa ,

L,1q

Lbb ,

Page 35: 1 Máquinas de Turing. 2 A Hierarquia de Linguagens Linguagens Regulares Linguagens Livres de Contexto ? ?

35

baInstante 1

0q

a

0q

Raa ,

L,1q

Lbb ,

Page 36: 1 Máquinas de Turing. 2 A Hierarquia de Linguagens Linguagens Regulares Linguagens Livres de Contexto ? ?

36

baInstante 2

0q

a

0q

Raa ,

L,1q

Lbb ,

Page 37: 1 Máquinas de Turing. 2 A Hierarquia de Linguagens Linguagens Regulares Linguagens Livres de Contexto ? ?

37

baInstante 2

0q

a

baInstante 3

0q

a

baInstante 4

0q

a

baInstante 5

0q

a

loop in

finito

Page 38: 1 Máquinas de Turing. 2 A Hierarquia de Linguagens Linguagens Regulares Linguagens Livres de Contexto ? ?

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

Page 39: 1 Máquinas de Turing. 2 A Hierarquia de Linguagens Linguagens Regulares Linguagens Livres de Contexto ? ?

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

Page 40: 1 Máquinas de Turing. 2 A Hierarquia de Linguagens Linguagens Regulares Linguagens Livres de Contexto ? ?

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:

Page 41: 1 Máquinas de Turing. 2 A Hierarquia de Linguagens Linguagens Regulares Linguagens Livres de Contexto ? ?

41

0q 1q 2q3qRxa ,

Raa ,Ryy ,

Lyb ,

Laa ,Lyy ,

Rxx ,

Ryy ,

Ryy ,4q

L,

ba

0q

a bInstante 0

Page 42: 1 Máquinas de Turing. 2 A Hierarquia de Linguagens Linguagens Regulares Linguagens Livres de Contexto ? ?

42

0q 1q 2q3qRxa ,

Raa ,Ryy ,

Lyb ,

Laa ,Lyy ,

Rxx ,

Ryy ,

Ryy ,4q

L,

bx

1q

a b Instante 1

Page 43: 1 Máquinas de Turing. 2 A Hierarquia de Linguagens Linguagens Regulares Linguagens Livres de Contexto ? ?

43

0q 1q 2q3qRxa ,

Raa ,Ryy ,

Lyb ,

Laa ,Lyy ,

Rxx ,

Ryy ,

Ryy ,4q

L,

bx

1q

a b Instante 2

Page 44: 1 Máquinas de Turing. 2 A Hierarquia de Linguagens Linguagens Regulares Linguagens Livres de Contexto ? ?

44

0q 1q 2q3qRxa ,

Raa ,Ryy ,

Lyb ,

Laa ,Lyy ,

Rxx ,

Ryy ,

Ryy ,4q

L,

yx

2q

a b Instante 3

Page 45: 1 Máquinas de Turing. 2 A Hierarquia de Linguagens Linguagens Regulares Linguagens Livres de Contexto ? ?

45

0q 1q 2q3qRxa ,

Raa ,Ryy ,

Lyb ,

Laa ,Lyy ,

Rxx ,

Ryy ,

Ryy ,4q

L,

yx

2q

a b Instante 4

Page 46: 1 Máquinas de Turing. 2 A Hierarquia de Linguagens Linguagens Regulares Linguagens Livres de Contexto ? ?

46

0q 1q 2q3qRxa ,

Raa ,Ryy ,

Lyb ,

Laa ,Lyy ,

Rxx ,

Ryy ,

Ryy ,4q

L,

yx

0q

a b Instante 5

Page 47: 1 Máquinas de Turing. 2 A Hierarquia de Linguagens Linguagens Regulares Linguagens Livres de Contexto ? ?

47

0q 1q 2q3qRxa ,

Raa ,Ryy ,

Lyb ,

Laa ,Lyy ,

Rxx ,

Ryy ,

Ryy ,4q

L,

yx

1q

x b Instante 6

Page 48: 1 Máquinas de Turing. 2 A Hierarquia de Linguagens Linguagens Regulares Linguagens Livres de Contexto ? ?

48

0q 1q 2q3qRxa ,

Raa ,Ryy ,

Lyb ,

Laa ,Lyy ,

Rxx ,

Ryy ,

Ryy ,4q

L,

yx

1q

x b Instante 7

Page 49: 1 Máquinas de Turing. 2 A Hierarquia de Linguagens Linguagens Regulares Linguagens Livres de Contexto ? ?

49

0q 1q 2q3qRxa ,

Raa ,Ryy ,

Lyb ,

Laa ,Lyy ,

Rxx ,

Ryy ,

Ryy ,4q

L,

yx x y

2q

Instante 8

Page 50: 1 Máquinas de Turing. 2 A Hierarquia de Linguagens Linguagens Regulares Linguagens Livres de Contexto ? ?

50

0q 1q 2q3qRxa ,

Raa ,Ryy ,

Lyb ,

Laa ,Lyy ,

Rxx ,

Ryy ,

Ryy ,4q

L,

yx x y

2q

Instante 9

Page 51: 1 Máquinas de Turing. 2 A Hierarquia de Linguagens Linguagens Regulares Linguagens Livres de Contexto ? ?

51

0q 1q 2q3qRxa ,

Raa ,Ryy ,

Lyb ,

Laa ,Lyy ,

Rxx ,

Ryy ,

Ryy ,4q

L,

yx

0q

x y Instante 10

Page 52: 1 Máquinas de Turing. 2 A Hierarquia de Linguagens Linguagens Regulares Linguagens Livres de Contexto ? ?

52

0q 1q 2q3qRxa ,

Raa ,Ryy ,

Lyb ,

Laa ,Lyy ,

Rxx ,

Ryy ,

Ryy ,4q

L,

yx

3q

x y Instante 11

Page 53: 1 Máquinas de Turing. 2 A Hierarquia de Linguagens Linguagens Regulares Linguagens Livres de Contexto ? ?

53

0q 1q 2q3qRxa ,

Raa ,Ryy ,

Lyb ,

Laa ,Lyy ,

Rxx ,

Ryy ,

Ryy ,4q

L,

yx

3q

x y Instante 12

Page 54: 1 Máquinas de Turing. 2 A Hierarquia de Linguagens Linguagens Regulares Linguagens Livres de Contexto ? ?

54

0q 1q 2q3qRxa ,

Raa ,Ryy ,

Lyb ,

Laa ,Lyy ,

Rxx ,

Ryy ,

Ryy ,4q

L,

yx

4q

x y

Pára & Aceita

Instante 13

Page 55: 1 Máquinas de Turing. 2 A Hierarquia de Linguagens Linguagens Regulares Linguagens Livres de Contexto ? ?

55

Se modificarmos amáquina para a linguagem }{ nnba

podemos facilmente construir uma máquina para a linguagem }{ nnn cba

Observação:

Page 56: 1 Máquinas de Turing. 2 A Hierarquia de Linguagens Linguagens Regulares Linguagens Livres de Contexto ? ?

56

Definições Formais para Máquinas de Turing

Page 57: 1 Máquinas de Turing. 2 A Hierarquia de Linguagens Linguagens Regulares Linguagens Livres de Contexto ? ?

57

Função de Transição

1q 2qRba ,

),,(),( 21 Rbqaq

Page 58: 1 Máquinas de Turing. 2 A Hierarquia de Linguagens Linguagens Regulares Linguagens Livres de Contexto ? ?

58

1q 2qLdc ,

),,(),( 21 Ldqcq

Função de Transição

Page 59: 1 Máquinas de Turing. 2 A Hierarquia de Linguagens Linguagens Regulares Linguagens Livres de Contexto ? ?

59

Máquina de Turing:

),,,,,,( 0 FqQM

Estados

Alfabeto de entrada

Alfabetoda fita

Função detransição

Estadoinicial

branco

Estados deaceitação

Page 60: 1 Máquinas de Turing. 2 A Hierarquia de Linguagens Linguagens Regulares Linguagens Livres de Contexto ? ?

60

Configuração

ba

1q

a

Descrição instantânea:

c

baqca 1

Page 61: 1 Máquinas de Turing. 2 A Hierarquia de Linguagens Linguagens Regulares Linguagens Livres de Contexto ? ?

61

yx

2q

a b

Instante 4

yx

0q

a b

Instante 5

Movimento: aybqxxaybq 02

(resulta em um passo)

Page 62: 1 Máquinas de Turing. 2 A Hierarquia de Linguagens Linguagens Regulares Linguagens Livres de Contexto ? ?

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

Page 63: 1 Máquinas de Turing. 2 A Hierarquia de Linguagens Linguagens Regulares Linguagens Livres de Contexto ? ?

63

bqxxyybqxxaybqxxaybq 1102

bqxxyxaybq 12

Noatação equivalente:

Page 64: 1 Máquinas de Turing. 2 A Hierarquia de Linguagens Linguagens Regulares Linguagens Livres de Contexto ? ?

64

Configuração inicial: wq0

ba

0q

a b

w

string de entrada

Page 65: 1 Máquinas de Turing. 2 A Hierarquia de Linguagens Linguagens Regulares Linguagens Livres de Contexto ? ?

65

A Linguagem Aceita

Para qualquer Máquina de TuringM

}:{)( 210 xqxwqwML f

Estado inicial Estado de aceitação

Page 66: 1 Máquinas de Turing. 2 A Hierarquia de Linguagens Linguagens Regulares Linguagens Livres de Contexto ? ?

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: