• Nenhum resultado encontrado

Aula 20 Variantes de Máquinas de Turing parte 2 e Linguagens Sensíveis ao Contexto

N/A
N/A
Protected

Academic year: 2021

Share "Aula 20 Variantes de Máquinas de Turing parte 2 e Linguagens Sensíveis ao Contexto"

Copied!
46
0
0

Texto

(1)

ACH2043

INTRODUÇÃO À TEORIA DA COMPUTAÇÃO

Aula 20

Variantes de Máquinas de Turing parte 2

e

Linguagens Sensíveis ao Contexto

Profa. Ariane Machado Lima

ariane.machado@usp.br

(2)

2

Enumeradores

Duas fitas, sendo uma só de escrita (impressora)

Começa com a fita impressora em branco

(3)
(4)

4

Prova

: (<=)

Temos um enumerador E

de uma linguagem L Uma MT M que reconhece L (utilizando E) funciona assim:

M = “Sobre a cadeia de entrada w,

1. rode E e compare a cadeia enumerada com w; 2. se forem iguais, aceite w;

3. se acabar a enumeração, rejeite w.” Se w pertence a L, w será aceita

Se w não pertence a L,

M rejeita se L for finita e o enumerador pára em algum momento

(5)

Prova

: (<=)

Temos um enumerador E

de uma linguagem L Uma MT M que reconhece L (utilizando E) funciona assim: M = “Sobre a cadeia de entrada w,

1. rode E e compare a cadeia enumerada com w; 2. se forem iguais, aceite w;

3. se acabar a enumeração, rejeite w.” Se w pertence a L, w será aceita

Se w não pertence a L,

M rejeita se L for finita e o enumerador pára em algum momento

(6)

6

Prova

: (<=)

Temos um enumerador E

de uma linguagem L Uma MT M que reconhece L (utilizando E) funciona assim: M = “Sobre a cadeia de entrada w,

1. rode E e compare a cadeia enumerada com w;

2. se forem iguais, aceite w; se forem diferentes volte ao passo 1; 3. se acabar a enumeração, rejeite w.”

Se w pertence a L, w será aceita Se w não pertence a L,

M rejeita se L for finita e o enumerador pára em algum momento

(7)

Prova

: (<=)

Temos um enumerador E

de uma linguagem L Uma MT M que reconhece L (utilizando E) funciona assim: M = “Sobre a cadeia de entrada w,

1. rode E e compare a cadeia enumerada com w;

2. se forem iguais, aceite w; se forem diferentes volte ao passo 1; 3. se acabar a enumeração, rejeite w.”

Se w pertence a L, w será aceita

Se w não pertence a L,

M rejeita se L for finita e o enumerador pára em algum momento

(8)

8

Prova

: (<=)

Temos um enumerador E

de uma linguagem L Uma MT M que reconhece L (utilizando E) funciona assim: M = “Sobre a cadeia de entrada w,

1. rode E e compare a cadeia enumerada com w;

2. se forem iguais, aceite w; se forem diferentes volte ao passo 1; 3. se acabar a enumeração, rejeite w.”

Se w pertence a L, w será enumerada em algum momento e portanto será aceita Se w não pertence a L,

M rejeita se L for finita e o enumerador pára em algum momento

(9)

Prova

: (<=)

Temos um enumerador E

de uma linguagem L Uma MT M que reconhece L (utilizando E) funciona assim: M = “Sobre a cadeia de entrada w,

1. rode E e compare a cadeia enumerada com w;

2. se forem iguais, aceite w; se forem diferentes volte ao passo 1; 3. se acabar a enumeração, rejeite w.”

Se w pertence a L, w será enumerada em algum momento e portanto será aceita Se w não pertence a L,

M rejeita se L for finita e o enumerador pára em algum momento

(10)

10

Prova

: (=>)

Temos uma Máquina de Turing M

O enumerador E funciona assim:

Seja s1, s2, s3, … sequências de sigma* (ordem crescente de comprimento e ordem

lexicográfica)

Ignore a entrada

para i = 1, 2, 3, …

Rode i passos de M sobre s1, ..., si

Imprima as sj que foram aceitas

(11)

Prova

: (=>)

Temos uma Máquina de Turing M

O enumerador E funciona assim:

Seja s

1

, s

2

, s

3

, … sequências de Σ* (ordem crescente de comprimento e ordem

lexicográfica)

Ignore a entrada

para i = 1, 2, 3, …

Rode M sobre s

i

Imprima s

i

se for aceita

Problema?

(12)

12

Prova

: (=>)

Temos uma Máquina de Turing M

O enumerador E funciona assim:

Seja s

1

, s

2

, s

3

, … sequências de Σ* (ordem crescente de comprimento e ordem

lexicográfica)

Ignore a entrada

para i = 1, 2, 3, …

Rode M sobre s

i

Imprima s

i

se for aceita por M

Problema?

(13)

Prova

: (=>)

Temos uma Máquina de Turing M

O enumerador E funciona assim:

Seja s

1

, s

2

, s

3

, … sequências de Σ* (ordem crescente de comprimento e ordem

lexicográfica)

Ignore a entrada

para i = 1, 2, 3, …

Rode M sobre s

i

Imprima s

i

se for aceita por M

Problema?

(14)

14

Prova

: (=>)

Temos uma Máquina de Turing M

O enumerador E funciona assim:

Seja s

1

, s

2

, s

3

, … sequências de Σ* (ordem crescente de comprimento e ordem

lexicográfica)

Ignore a entrada

para i = 1, 2, 3, …

Rode M sobre s

i

Imprima s

i

se for aceita por M

Problema?

(15)

Prova

: (=>)

Temos uma Máquina de Turing M

O enumerador E funciona assim:

Seja s

1

, s

2

, s

3

, … sequências de Σ* (ordem crescente de comprimento e ordem

lexicográfica)

Ignore a entrada

para i = 1, 2, 3, …

Rode M sobre s

i

Imprima s

i

se for aceita por M

Problema?

(16)

16

Prova

: (=>)

Temos uma Máquina de Turing M

O enumerador E funciona assim:

Seja s

1

, s

2

, s

3

, … sequências de Σ* (ordem crescente de comprimento e ordem

lexicográfica)

Ignore a entrada

para i = 1, 2, 3, …

Rode M sobre si

Imprima si se for aceita por M

Problema?

(17)

Prova

: (=>)

Temos uma Máquina de Turing M

O enumerador E funciona assim:

Seja s

1

, s

2

, s

3

, … sequências de Σ* (ordem crescente de comprimento e ordem

lexicográfica)

Ignore a entrada

para i = 1, 2, 3, …

Rode i passos de M sobre s

1

, ..., s

i

Imprima as s

j

que foram aceitas

(18)

18

Prova

: (=>)

Temos uma Máquina de Turing M

O enumerador E funciona assim:

Seja s

1

, s

2

, s

3

, … sequências de Σ* (ordem crescente de comprimento e ordem

lexicográfica)

Ignore a entrada

para i = 1, 2, 3, …

Rode i passos de M sobre s

1

, ..., s

i

Imprima as s

j

que foram aceitas

(19)

Por isso linguagens Turing-reconhecíveis são também chamadas

linguagens

recursivamente enumeráveis

Enumerabilidade

tem a ver com identificar quais problemas são

Turing-reconhecíveis

(20)

20

Linguagens,

modelos computacionais

(dispositivos,

gramáticas) e suas complexidades

(21)

Linguagens,

modelos computacionais

(dispositivos,

gramáticas) e suas complexidades

Máquinas de Turing são equivalentes a

gramáticas irrestritas

Gramáticas irrestritas podem possuir o lado direito menor que o

lado esquerdo

→ o tamanho das formas sentenciais geradas pode diminuir

durante o processo de geração de uma cadeia

(22)

22

Linguagens,

modelos computacionais

(dispositivos,

gramáticas) e suas complexidades

(23)

Linguagens,

modelos computacionais

(dispositivos,

gramáticas) e suas complexidades

(24)

24

Linguagens regulares (tipo 3)

Linguagens livres de contexto (tipo 2)

Linguagens sensíveis ao contexto (tipo 1) Linguagens irrestritas ou Recursivamente enumeráveis ou Turing-reconhecíveis (tipo 0)

α Є V

β Є Σ

ε

, β Є V, β Є (VΣou ΣV)

α Є V

β Є (VUΣ)*

α Є (VUΣ)*V(VUΣ)*

β Є (VUΣ)*

|α| <= | β |

α Є (VUΣ)*V(VUΣ)*

β Є (VUΣ)*

Gramáticas com produções no

formato α →β

Hierarquia de Chomsky

Autômatos finitos

Autômatos com pilha

Máquina de Turing com fita limitada

Máquina de Turing (fita ilimitada)

(25)

25

Linguagens regulares (tipo 3)

Linguagens livres de contexto (tipo 2)

Linguagens sensíveis ao contexto (tipo 1) Linguagens irrestritas ou Recursivamente enumeráveis ou Turing-reconhecíveis (tipo 0)

α Є V

β Є Σ

ε

, β Є V, β Є (VΣou ΣV)

α Є V

β Є (VUΣ)*

α Є (VUΣ)*V(VUΣ)*

β Є (VUΣ)*

|α| <= | β |

α Є (VUΣ)*V(VUΣ)*

β Є (VUΣ)*

Gramáticas com produções no

formato α →β

Hierarquia de Chomsky

Autômatos com pilha

Máquina de Turing com fita limitada

Máquina de Turing (fita ilimitada)

(26)

26

Exemplo de problema sensível ao contexto:

pseudonós em RNAs

(27)

Exemplo 1

Que linguagem essa gramática gera?

P = { S → aSBC

S → aBC,

CB → BC,

aB → ab,

bB → bb,

bC → bc,

cC → cc}

(28)

28

Exemplo 1

Que linguagem essa gramática gera?

P = { S → aSBC

S → aBC,

CB → BC,

aB → ab,

bB → bb,

bC → bc,

cC → cc}

L = {a

n

b

n

c

n

| n >= 1}

(29)

Exemplo 2

Escreva uma gramática para a linguagem

L = { w | w possui a mesma quantidade de a's, b'c e c's}

P = { S → ABCS S → ABC, AB → BA, AC → CA, BA → AB, BC → CB, CA → AC, CB → BC, A → a, B → b, C → c }

(30)

30

Exemplo 2

Escreva uma gramática para a linguagem

L = { w | w possui a mesma quantidade de a's, b'c e c's} P = { S → ABCS S → ABC, AB → BA, AC → CA, BA → AB, BC → CB, CA → AC, CB → BC, A → a, B → b, C → c }

(31)

Gramáticas e Linguagens sensíveis ao contexto

Gramáticas sensíveis ao contexto (GSC) são

monotônicas

: o

comprimento das formas sentenciais durante a derivação de

uma sentença nunca sofre redução

Rigorosamente, uma linguagem L é sensível ao contexto se e

somente se:

ε não pertence a L e L = L(G), onde G é GSC, ou

(32)

32

Gramáticas e Linguagens sensíveis ao contexto

Se ε pertence a L, aceita-se colocar a regra S → ε se S for o

símbolo inicial e S não aparecer do lado direito de nenhuma

regra

Uma linguagem é

estritamente

sensível ao contexto se ele não

(33)

Linguagens sensíveis ao contexto

Teorema: as Gramáticas Sensíveis ao Contexto e as

Máquinas de Turing com Fita Limitada

representam

exatamente a mesma classe de linguagens – as linguagens

sensíveis ao contexto

Demonstração: livro (RAMOS, NETO e VEGA, 2009) – leitura

(34)

34

Máquinas de Turing com fita limitada

Definição semelhante à da Máquina de Turing

Diferença:

Tamanho fita de trabalho = tamanho da entrada + 2

Fita inicia e termina com símbolos delimitadores (por exemplo (“<” e “>”)

não pertencentes ao alfabeto da linguagem

(35)

Exemplo

Adapte a Máquina de Turing que reconhece a linguagem B =

{w#w | w pertence a {0,1}* }.

(36)

36

Máquina de Turing com fita ilimitada

(o que teria que adaptar neste ex?)

(37)

37

Linguagens,

modelos computacionais

(dispositivos,

gramáticas) e suas complexidades

Até o momento só se conhece algoritmos de reconhecimento (análise

sintática) de gramáticas sensíveis ao contexto de tempo exponencial (no

caso geral), mas não se provou que um algoritmo polinomial não seja

possível…

(38)

39

Linguagens regulares (tipo 3)

Linguagens livres de contexto (tipo 2)

Linguagens sensíveis ao contexto (tipo 1) Linguagens irrestritas (tipo 0)

Hierarquia de Chomsky

Linguagens recursivas (Turing-decidíveis) e não recursivas (as demais)

(39)

Linguagens regulares (tipo 3)

Linguagens livres de contexto (tipo 2)

Linguagens sensíveis ao contexto (tipo 1)

Linguagens irrestritas ou recursivamente enumeráveis ou Turing-reconhecíveis

(tipo 0)

Hierarquia de Chomsky

Linguagens não recursivas ou NÃO-decidíveis

Linguagens recursivas ou Turing-decidíveis

(40)

41

Linguagens irrestritas ou

recursivamente enumeráveis

ou Turing-reconhecíveis

Uma linguagem L é chamada irrestrita ou recursivamente

enumerável ou Turing-reconhecível se ela for

reconhecida

por pelo menos uma Máquina de Turing M, ou seja:

Para toda cadeia w Є L, M pára e aceita w

Para toda cadeia z Є Σ*-L, M pára e rejeita z ou executa uma

(41)

Linguagens recursivas ou

Turing-decidíveis

Uma linguagem L é chamada recursiva ou Turing-decidível

se ela for

decidida

por pelo menos uma Máquina de Turing M,

ou seja:

Para toda cadeia w Є L, M pára e aceita w

(42)

43

Linguagens não-recursivas

Uma linguagem L é chamada não-recursiva se ela for

reconhecida

por pelo menos uma Máquina de Turing M

mas

não decidida

por nenhuma Máquina de Turing, ou seja:

Para toda cadeia w Є L, M pára e aceita w

Para pelo menos uma cadeia z Є Σ*-L, M executa uma sequência

infinita de movimentações (e pára e rejeita as demais cadeias y Є

Σ*-L)

(43)

44

Linguagens recursivas

Toda linguagem sensível ao contexto é recursiva

Toda linguagem recursiva que NÃO é sensível ao

contexto é também chamada

estritamente recursiva

Linguagens regulares (tipo 3)

Linguagens livres de contexto (tipo 2)

Linguagens sensíveis ao contexto (tipo 1)

Linguagens irrestritas ou recursivamente enumeráveis

(tipo 0)

Linguagens não recursivas

Linguagens

recursivas

Não há uma classe de

gramáticas equivalente

Não possui propriedades

conhecidas de

fechamentos (união,

intersecção)

(44)

45

Linguagens, dispositivos, gramáticas e complexidades

Logo, NO CASO GERAL, linguagens recursivamente

enumeráveis possuem reconhecimento INDECIDÍVEL!

(45)
(46)

47

Lista MÍNIMA cap 3

Referências

Documentos relacionados

Seguindo a orientação da citação acima, as mudanças que identificamos nas configurações observadas se aproximam do que a autora identifica como redimensionamento da

como enfoque o processo da reforma educativa em curso em Angola. Para isso, será realizada a análise à percepção dos professores e directores de escola face à

Dessa maneira, os resultados desta tese são uma síntese que propõe o uso de índices não convencionais de conforto térmico, utilizando o Índice de Temperatura de Globo Negro e

O score de Framingham que estima o risco absoluto de um indivíduo desenvolver em dez anos DAC primária, clinicamente manifesta, utiliza variáveis clínicas e laboratoriais

Neste tipo de situações, os valores da propriedade cuisine da classe Restaurant deixam de ser apenas “valores” sem semântica a apresentar (possivelmente) numa caixa

resistência à fadiga de ligas de titânio usadas em implantes através de técnicas de modificação

Afinal de contas, tanto uma quanto a outra são ferramentas essenciais para a compreensão da realidade, além de ser o principal motivo da re- pulsa pela matemática, uma vez que é