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

Post on 22-Apr-2015

124 views 1 download

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

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: