Anda di halaman 1dari 89

Linguagens Formais e Autmatos

P. Blauth Menezes
blauth@inf.ufrgs.br

Departamento de Informtica Terica Instituto de Informtica / UFRGS

Linguagens Formais e Autmatos - P. Blauth Menezes

Linguagens Formais e Autmatos


P. Blauth Menezes 1 2 3 4 5 6 7 8 9 Introduo e Conceitos Bsicos Linguagens e Gramticas Linguagens Regulares Propriedades das Linguagens Regulares Autmato Finito com Sada Linguagens Livres do Contexto Propriedades e Reconhecimento das Linguagens Livres do Contexto Linguagens Recursivamente Enumerveis e Sensveis ao Contexto Hierarquia de Classes e Linguagens e Concluses

Linguagens Formais e Autmatos - P. Blauth Menezes

8 - Linguagens Recursivamente Enumerveis e Sensveis ao Contexto


8.1 8.2 8.3 8.4 8.5 Mquina de Turing Modelos Equivalentes Mquina de Turing Hiptese de Church Mquina de Turing como Reconhecedor Propriedades das Linguagens Recursivamente Enumerveis e Recursivas 8.6 Gramtica Irrestrita 8.7 Linguagem Sensvel ao Contexto 8.8 Mquina de Turing com Fita Limitada
Linguagens Formais e Autmatos - P. Blauth Menezes

8 - Linguagens Recursivamente Enumerveis e Sensveis ao Contexto


Linguagens Formais e Autmatos - P. Blauth Menezes

8 Linguagens Recursivamente Enumerveis e Sensveis ao Contexto

Cincia da Computao
conhecimento sistematizado relativo computao

Origem da Cincia da Computao: remota


antiga Grcia: III a.C - desenho de algoritmos por Euclides Babilnia: estudos sobre complexidade e reducibilidade de problemas incio do sculo XX: pesquisas com o objetivo de definir modelo computacional suficientemente genrico capaz de implementar qualquer funo computvel

Linguagens Formais e Autmatos - P. Blauth Menezes

Alan Turing (1936) props um modelo


Mquina de Turing aceito como uma formalizao de procedimento efetivo algoritmo ou funo computvel algoritmo seqncia finita de instrues podem ser realizadas mecanicamente em um tempo finito

Linguagens Formais e Autmatos - P. Blauth Menezes

Alonzo Church (1936)


Hiptese de Church qualquer funo computvel pode ser processada por uma mquina de Turing existe um procedimento expresso na forma de uma mquina de Turing capaz de processar a funo como a noo intuitiva de procedimentos no matematicamente precisa impossvel demonstrar formalmente se a mquina de Turing , de fato, o mais genrico dispositivo de computao mostrado: todos os demais modelos propostos possuem, no mximo, a mesma capacidade computacional

Linguagens Formais e Autmatos - P. Blauth Menezes

Resumidamente, uma mquina de Turing


autmato fita no possui tamanho mximo pode ser usada simultaneamente como dispositivo de entrada, de sada e de memria de trabalho

Linguagens Recursivamente Enumerveis ou Tipo 0


aceitas por uma mquina de Turing segundo a Hiptese de Church, a Classe das Linguagens Recursivamente Enumerveis conjunto de todas as linguagens que podem ser reconhecidas mecanicamente em um tempo finito

Linguagens Formais e Autmatos - P. Blauth Menezes

Gramtica Irrestrita
sem restries sobre a forma das produes mesmo poder computacional que o formalismo Mquina de Turing

Conseqncia importante do estudo das linguagens recursivamente enumerveis


existem mais problemas no-solucionveis do que problemas solucionveis

Linguagens Formais e Autmatos - P. Blauth Menezes

Classe das Linguagens Recursivamente Enumerveis


inclui algumas para as quais impossvel determinar mecanicamente se uma palavra no pertence linguagem se L uma destas linguagens, ento para qualquer mquina de Turing M que aceita L existe pelo menos uma palavra w no pertencente a L que ao ser processada por M, a mquina entra em loop infinito ou seja se w pertence a L, M pra e aceita a entrada se w no pertence a L, M pode parar, rejeitando a palavra ou permanecer processando indefinidamente

Linguagens Formais e Autmatos - P. Blauth Menezes

10

Linguagens Recursivas
subclasse da Classe das Linguagens Enumerveis Recursivamente existe pelo menos uma mquina de Turing que pra para qualquer entrada, aceitando ou rejeitando

Linguagens Formais e Autmatos - P. Blauth Menezes

11

Linguagens Sensveis ao Contexto ou Tipo 1


aceitas por uma Mquina de Turing com Fita Limitada mquina de Turing com limitao no tamanho da fita (finita) exerccio: diferena para o Autmato Finito?

Gramtica Sensvel ao Contexto


em oposio a livre do contexto: lado esquerdo das produes pode ser uma palavra de variveis ou terminais definindo um "contexto" de derivao

Classe das Linguagens Sensveis ao Contexto


contida propriamente na Classe das Linguagens Recursivas classe especialmente importante inclui a grande maioria das linguagens aplicadas

Linguagens Formais e Autmatos - P. Blauth Menezes

12

Universo de Todas as Linguagens Linguagens Enumerveis Recursivamente Linguagens Recursivas Linguagens Sensveis ao Contexto Linguagens Livres do Contexto

Linguagens Regulares

Linguagens Formais e Autmatos - P. Blauth Menezes

13

8 - Linguagens Recursivamente Enumerveis e Sensveis ao Contexto


8.1 Mquina de Turing 8.1.1 Noo Intuitiva 8.1.2 Modelo 8.2 Modelos Equivalentes Mquina de Turing 8.3 Hiptese de Church 8.4 Mquina de Turing como Reconhecedor 8.5 Propriedades das Linguagens Recursivamente Enumerveis e Recursivas 8.6 Gramtica Irrestrita 8.7 Linguagem Sensvel ao Contexto 8.8 Mquina de Turing com Fita Limitada
Linguagens Formais e Autmatos - P. Blauth Menezes

14

8.1 Mquina de Turing


Noo de algoritmo no matematicamente precisa Intuitivamente, deve possuir


descrio finita passos discretos (em oposio ao contnuo) executveis mecanicamente em um tempo finito

Linguagens Formais e Autmatos - P. Blauth Menezes

15

8 - Linguagens Recursivamente Enumerveis e Sensveis ao Contexto


8.1 Mquina de Turing 8.1.1 Noo Intuitiva 8.1.2 Modelo 8.2 Modelos Equivalentes Mquina de Turing 8.3 Hiptese de Church 8.4 Mquina de Turing como Reconhecedor 8.5 Propriedades das Linguagens Recursivamente Enumerveis e Recursivas 8.6 Gramtica Irrestrita 8.7 Linguagem Sensvel ao Contexto 8.8 Mquina de Turing com Fita Limitada
Linguagens Formais e Autmatos - P. Blauth Menezes

16

8.1.1

Noo Intuitiva

Mquina de Turing (Alan Turing, 1936)


mecanismo simples formaliza a idia de uma pessoa que realiza clculos lembra os computadores atuais embora proposta anos antes do primeiro computador digital

Modelo mquina de Turing


no mnimo, mesmo poder computacional de qualquer computador de propsito geral

Linguagens Formais e Autmatos - P. Blauth Menezes

17

Ponto de partida de Turing


uma pessoa com um instrumento de escrita e um apagador realiza clculos em uma folha de papel, organizada em quadrados

Inicialmente, a folha de papel


contm somente os dados iniciais do problema

Trabalho da pessoa: seqncias de operaes simples


ler um smbolo de um quadrado alterar um smbolo em um quadrado mover os olhos para outro quadrado fim dos clculos representao satisfatria para a resposta desejada
18

Linguagens Formais e Autmatos - P. Blauth Menezes

Hipteses aceitveis
natureza bidimensional do papel no essencial para os clculos fita infinita organizada em quadrados conjunto de smbolos: finito possvel utilizar seqncias de smbolos

Linguagens Formais e Autmatos - P. Blauth Menezes

19

Hipteses aceitveis (pessoa)


conjunto de estados da mente durante o clculo finito dois em particular: "estado inicial" e "estado final" o comportamento, a cada momento, determinado pelo estado presente smbolo para o qual sua ateno est voltada pessoa capaz de observar e alterar o smbolo de apenas um quadrado transferir sua ateno para um dos quadrados adjacentes

Linguagens Formais e Autmatos - P. Blauth Menezes

20

8 - Linguagens Recursivamente Enumerveis e Sensveis ao Contexto


8.1 Mquina de Turing 8.1.1 Noo Intuitiva 8.1.2 Modelo 8.2 Modelos Equivalentes Mquina de Turing 8.3 Hiptese de Church 8.4 Mquina de Turing como Reconhecedor 8.5 Propriedades das Linguagens Recursivamente Enumerveis e Recursivas 8.6 Gramtica Irrestrita 8.7 Linguagem Sensvel ao Contexto 8.8 Mquina de Turing com Fita Limitada
Linguagens Formais e Autmatos - P. Blauth Menezes

21

8.1.2

Modelo

Constitudo de trs partes


Fita, usada simultaneamente como dispositivo de entrada, sada e memria de trabalho Unidade de Controle reflete o estado corrente da mquina possui uma unidade de leitura e gravao (cabea da fita) acessa uma clula da fita de cada vez se movimenta para a esquerda ou para a direita Programa, Funo Programa ou Funo de Transio define: estado da mquina comanda: leituras, gravaes e sentido de movimento (cabea)

Linguagens Formais e Autmatos - P. Blauth Menezes

22

Fita: finita esquerda e infinita direita


infinita: to grande quanto necessrio dividida em clulas, cada uma armazenando um smbolo

Smbolos podem
pertencer ao alfabeto de entrada pertencer ao alfabeto auxiliar ser "branco" ser "marcador de incio de fita"

Linguagens Formais e Autmatos - P. Blauth Menezes

23

Inicialmente palavra a ser processada: clulas mais esquerda (aps o marcador de incio de fita) demais clulas: "branco"

marcador de incio de fita fita cabea da fita controle a b

entrada

branco

...

unidade de controle

Linguagens Formais e Autmatos - P. Blauth Menezes

24

Unidade de controle
nmero finito e predefinido de estados cabea da fita l um smbolo de cada vez e grava um novo smbolo move uma clula para a direita ou para a esquerda smbolo gravado e o sentido do movimento definidos pelo programa

Linguagens Formais e Autmatos - P. Blauth Menezes

25

Def: Mquina de Turing


M = (, Q, , q0, F, V, , ) - alfabeto (de smbolos) de entrada Q - conjunto de estados possveis da mquina (finito) - (funo) programa ou funo de transio (funo parcial) suponha que V e { , } so conjuntos disjuntos : Q ( V { , }) Q ( V { , }) { E, D }
transio da mquina: (p, x) = (q, y, m)

q 0 - estado inicial: elemento distinguido de Q F - conjunto de estados finais: subconjunto de Q V - alfabeto auxiliar (pode ser vazio) - smbolo especial branco - smbolo de incio ou marcador de incio da fita
26

Linguagens Formais e Autmatos - P. Blauth Menezes

Smbolo de incio de fita


ocorre exatamente uma vez e na clula mais esquerda da fita

Funo programa
considera estado corrente smbolo lido da fita determina novo estado smbolo a ser gravado sentido de movimento da cabea (E e D)

Linguagens Formais e Autmatos - P. Blauth Menezes

27

Funo programa interpretada como um diagrama


estados inicial e finais: como nos autmatos finitos suponha a transio (p, x) = (q, y, m) )
p (x, y, m) q

estado anterior smbolo lido

novo estado sentido do movimento

smbolo gravado
Linguagens Formais e Autmatos - P. Blauth Menezes

28

Computao de uma mquina de Turing M, para uma palavra de entrada w


sucessiva aplicao da funo programa a partir do estado inicial cabea posicionada na clula mais esquerda da fita at ocorrer uma condio de parada processamento pode parar ou ficar processando indefinidamente (ciclo ou loop infinito)

Linguagens Formais e Autmatos - P. Blauth Menezes

29

Aceita a entrada w
atinge um estado final mquina pra w aceita

Rejeita a entrada w
funo programa indefinida para o argumento (smbolo lido e estado corrente) mquina pra w rejeitada argumento define um movimento esquerda, e a cabea da fita j se encontra na clula mais esquerda mquina pra w rejeitada

Linguagens Formais e Autmatos - P. Blauth Menezes

30

Definio formalmente do comportamento


necessrio estender a definio da funo programa argumento: um estado e uma palavra exerccio

Linguagens Formais e Autmatos - P. Blauth Menezes

31

Def: Linguagens Aceita, Rejeitada, Loop


Linguagem Aceita ou Linguagem Reconhecida por M ACEITA(M) ou L(M) conjunto de todas as palavras de * aceitas por M, a partir de q0 Linguagem Rejeitada por M REJEITA(M) conjunto de todas as palavras de * rejeitadas por M, a partir de q0 Linguagem Loop de M LOOP(M) conjunto de todas as palavras de * para as quais M fica processando indefinidamente a partir de q0
Linguagens Formais e Autmatos - P. Blauth Menezes

32

Cada mquina de Turing M sobre


induz uma partio de * em classes de equivalncia ACEITA(M), REJEITA(M) e LOOP(M) se um ou dois dos conjuntos for vazios?

*
ACEITA(M) REJEITA(M) LOOP(M)

Linguagens Formais e Autmatos - P. Blauth Menezes

33

Exp: Mquina de Turing: Duplo Balanceamento


L = { anbn n 0 } Mquina de Turing M = ({ a, b }, { q0, q1, q2, q3, q4 }, , q0, { q4 }, { A, B }, , ) tal que ACEITA(M) = L e, portanto, LOOP(M) = qualquer palavra que no esteja na forma axbx rejeitada e REJEITA(M) = ~L

Linguagens Formais e Autmatos - P. Blauth Menezes

34

Exp: Mquina de Turing: Duplo Balanceamento


(A, A, D) (a, A, D) (b, B, E)

q0

q1

q2

(, , D) (B, B, D)

(a, a, D) (B, B, D)

(a, a, E) (B, B, E)

(, , D)

q3

(B, B, D)

(, , D)

q4

Linguagens Formais e Autmatos - P. Blauth Menezes

35

q 0 (q0, , D) (q1, A, D) q1 q2 q3 q4 (q1, a, D) (q2, B, E) (q2, a, E)

(q3, B, D) (q4, , D) (q1, B, D) (q0, A, D) (q2, B, E) (q3, B, D) (q4, , D)

Linguagens Formais e Autmatos - P. Blauth Menezes

36

...

a q0

...

a q1

...

q0

b q1

...

a q2

...

A q2

...

a q0

...

B q1

...

b q1

...

B q2

...

A q2

...

B q0

...

B q3

...

... q3

... q4

Linguagens Formais e Autmatos - P. Blauth Menezes

37

Obs: Mquina de Turing Algoritmo


Foi afirmado que Mquina de Turing aceita como uma formalizao do conceito de algoritmo Entretanto, tambm usual considerar como conceito de algoritmo mquina de Turing que sempre pra para qualquer entrada Nesse caso, uma mquina que eventualmente fica em loop infinito no seria considerada um algoritmo

Linguagens Formais e Autmatos - P. Blauth Menezes

38

8 - Linguagens Recursivamente Enumerveis e Sensveis ao Contexto


8.1 8.2 8.3 8.4 8.5 Mquina de Turing Modelos Equivalentes Mquina de Turing Hiptese de Church Mquina de Turing como Reconhecedor Propriedades das Linguagens Recursivamente Enumerveis e Recursivas 8.6 Gramtica Irrestrita 8.7 Linguagem Sensvel ao Contexto 8.8 Mquina de Turing com Fita Limitada

Linguagens Formais e Autmatos - P. Blauth Menezes

39

8.2 Modelos Equivalentes Mquina de Turing

Uma razo para considerar a mquina de Turing como o mais geral dispositivo de computao
todos os demais modelos e mquinas propostos bem como as diversas modificaes da mquina de Turing possuem, no mximo, o mesmo poder computacional da mquina de Turing

Linguagens Formais e Autmatos - P. Blauth Menezes

40

Autmato com Mltiplas Pilhas


autmato com duas pilhas (citado no estudo das LLC) poder computacional equivalente ao da mquina de Turing maior nmero de pilhas: no aumenta a capacidade computacional exerccio definio formal: autmato com duas (mltiplas) pilhas equivalncia deles ao modelo da mquina de Turing como so necessrias duas pilhas, pode-se afirmar a estrutura de fita mais expressiva do que a de pilha

Mquina de Turing No-Derminstica


no aumenta o poder computacional da mquina de Turing

Linguagens Formais e Autmatos - P. Blauth Menezes

41

Mquina de Turing com Fita Infinita Esquerda e Direita


fita infinita dos dois lados no aumenta o poder computacional pode ser facilmente simulada por uma fita tradicional clulas pares: parte direita da fita clulas mpares: parte esquerda da fita

...

a-3

a-2

a-1

a1

a2

a3

... ...
42

a1

a-1

a2

a-2

a3

a-3

Linguagens Formais e Autmatos - P. Blauth Menezes

Mquina de Turing com Mltiplas Fitas


k fitas infinitas esquerda e direita e k cabeas de fita funo programa dependendo do estado corrente e do smbolo lido em cada fita grava um novo smbolo em cada fita move cada cabea independentemente assume um (nico) novo estado inicialmente palavra de entrada: armazenada na primeira fita demais: brancos

Linguagens Formais e Autmatos - P. Blauth Menezes

43

Mquina de Turing Multidimensional


fita tradicional substituda por uma estrutura do tipo arranjo k-dimensional infinita em todas as 2k direes

Mquina de Turing com Mltiplas Cabeas


k cabeas de leitura e gravao sobre a mesma fita movimentos independentes processamento depende estado corrente smbolo lido em cada uma das cabeas

Linguagens Formais e Autmatos - P. Blauth Menezes

44

Modificaes combinadas sobre a Mquina de Turing


combinao de algumas ou todas as modificaes no aumenta o poder computacional da mquina de Turing exemplo, uma mquina de Turing no-determinstica com mltiplas fitas mltiplas cabeas pode ser simulada por uma mquina de Turing tradicional

Linguagens Formais e Autmatos - P. Blauth Menezes

45

8 - Linguagens Recursivamente Enumerveis e Sensveis ao Contexto


8.1 8.2 8.3 8.4 8.5 Mquina de Turing Modelos Equivalentes Mquina de Turing Hiptese de Church Mquina de Turing como Reconhecedor Propriedades das Linguagens Recursivamente Enumerveis e Recursivas 8.6 Gramtica Irrestrita 8.7 Linguagem Sensvel ao Contexto 8.8 Mquina de Turing com Fita Limitada

Linguagens Formais e Autmatos - P. Blauth Menezes

46

8.3 Hiptese de Church

Objetivo do modelo abstrato de computao Mquina de Turing


explorar os limites da capacidade de expressar solues de problemas

Portanto, uma proposta de


definio formal da noo intuitiva de algoritmo

Diversos outros trabalhos: equivalentes ao de Turing


Mquina de Post (Post - 1936) Funes Recursivas (Kleene - 1936)

Linguagens Formais e Autmatos - P. Blauth Menezes

47

Forte reforo da Hiptese de (Turing-) Church


"A capacidade de computao representada pela mquina de Turing o limite mximo que pode ser atingido por qualquer dispositivo de computao".

Em outras palavras
qualquer outra forma de expressar algoritmos ter, no mximo, a mesma capacidade computacional da mquina de Turing

Hiptese de Church no demonstrvel


algoritmo ou funo computvel: noo intuitiva

Linguagens Formais e Autmatos - P. Blauth Menezes

48

8 - Linguagens Recursivamente Enumerveis e Sensveis ao Contexto


8.1 8.2 8.3 8.4 8.5 8.6 8.7 8.8 Mquina de Turing Modelos Equivalentes Mquina de Turing Hiptese de Church Mquina de Turing como Reconhecedor 8.4.1 Linguagem Recursivamente Enumervel 8.4.2 Linguagem Recursiva Propriedades das Linguagens Recursivamente Enumerveis e Recursivas Gramtica Irrestrita Linguagem Sensvel ao Contexto Mquina de Turing com Fita Limitada
49

Linguagens Formais e Autmatos - P. Blauth Menezes

8.4 Mquina de Turing como Reconhecedor

Classes de linguagens definidas a partir do formalismo mquina de Turing


Linguagens Recursivamente Enumerveis Linguagens Recursivas

Linguagens Formais e Autmatos - P. Blauth Menezes

50

Classe das Linguagens Recursivamente Enumerveis


existe uma mquina de Turing capaz de determinar se uma palavra w pertence linguagem entretanto, se w ~L, o algoritmo pode parar: w no pertence linguagem ficar em loop infinito

Classe das Linguagens Recursivas


existe pelo menos uma mquina de Turing que sempre pra, capaz de determinar se w L ou w ~L

Linguagens Formais e Autmatos - P. Blauth Menezes

51

Recursivas Recursivamente Enumerveis

w MT w MT

ou
LOOP

Aparente contradio
reconhecer o complemento de uma linguagem pode ser impossvel, mesmo que seja possvel reconhecer a linguagem

Linguagens Formais e Autmatos - P. Blauth Menezes

52

8 - Linguagens Recursivamente Enumerveis e Sensveis ao Contexto


8.1 8.2 8.3 8.4 8.5 8.6 8.7 8.8 Mquina de Turing Modelos Equivalentes Mquina de Turing Hiptese de Church Mquina de Turing como Reconhecedor 8.4.1 Linguagem Recursivamente Enumervel 8.4.2 Linguagem Recursiva Propriedades das Linguagens Recursivamente Enumerveis e Recursivas Gramtica Irrestrita Linguagem Sensvel ao Contexto Mquina de Turing com Fita Limitada
53

Linguagens Formais e Autmatos - P. Blauth Menezes

8.4.1

Linguagem Recursivamente Enumervel

Def: Linguagem Recursivamente Enumervel ou Tipo 0


Uma linguagem aceita por uma mquina de Turing

Exp: Linguagem Recursivamente Enumervel


{ anbn n 0 } { w w tem o mesmo nmero de smbolos a e b } { aibjck i = j ou j = k } j apresentado exerccio exerccio

Linguagens Formais e Autmatos - P. Blauth Menezes

54

Considerando a Hiptese de Church


a mquina de Turing o mais geral dispositivo de computao ento, a Classe das Linguagens Recursivamente Enumerveis todas as linguagens que podem ser reconhecidas mecanicamente

Linguagens Recursivamente Enumerveis Universo de todas as linguagens


classe de linguagens muito rica entretanto, existem conjuntos que no so recursivamente enumerveis no possvel desenvolver uma MT que os reconhea

Linguagens Formais e Autmatos - P. Blauth Menezes

55

Teorema: Linguagem No-Recursivamente Enumervel


Seja = { a, b } Suponha Xi o i-simo elemento na ordenao lexicogrfica de * 0- 1-a 2-b 3 - aa Exerccios possvel codificar todas as mquinas de Turing como uma palavra sobre de tal forma que cada cdigo represente uma nica mquina de Turing suponha o conjunto dos cdigos ordenados lexicograficamente suponha que Ti representa o i-simo cdigo nesta ordenao
Linguagens Formais e Autmatos - P. Blauth Menezes

56

Ento no linguagem recursivamente enumervel L = { xi xi no aceita por Ti }

Prova: (por absurdo)


Suponha que L recursivamente enumervel existe uma mquina de Turing que aceita L seja Tk a codificao desta mquina de Turing: ACEITA(Tk) = L Assim por definio de L, xk L sse xk no aceita por Tk como Tk aceita L, xk L sse xk aceita por Tk Contradio!!! Logo, L no linguagem recursivamente enumervel
Linguagens Formais e Autmatos - P. Blauth Menezes

57

Obs: Cardinal dos Problemas > Cardinal dos Algoritmos


Conjunto das condifies de todas as mquinas de Turing isomorfo a um subconjunto infinito dos nmeros naturais Logo, enumervel (infinitamente contvel) o conjunto de todas mquinas de Turing linguagens recursivamente enumerveis problemas solucionveis Em contrapartida, o conjunto das linguagens que no so recursivamente enumerveis (problemas no-solucionveis) no-contvel

Linguagens Formais e Autmatos - P. Blauth Menezes

58

Portanto, computacionalmente existem mais problemas do que algoritmos para resolv-los. Exemplo { f: N N f funo } classe muito particular de problemas (linguagens) prova-se: isomorfo a R (cardinal 2 )
0

maior do que 0 (cardinal do conjunto das mquinas de Turing)

Linguagens Formais e Autmatos - P. Blauth Menezes

59

8.1.2

Linguagem Recursiva

Def: Linguagem Recursiva


Existe pelo menos uma mquina de Turing M ACEITA(M) = L REJEITA(M) = ~L
Linguagens Formais e Autmatos - P. Blauth Menezes

60

Exp: Linguagem Recursiva


{ anbn n 0 } { anbncn n 0 } { w w { a, b }* e tem o dobro de smbolos a que b }

Linguagens Formais e Autmatos - P. Blauth Menezes

61

8 - Linguagens Recursivamente Enumerveis e Sensveis ao Contexto


8.1 8.2 8.3 8.4 8.5 Mquina de Turing Modelos Equivalentes Mquina de Turing Hiptese de Church Mquina de Turing como Reconhecedor Propriedades das Linguagens Recursivamente Enumerveis e Recursivas 8.6 Gramtica Irrestrita 8.7 Linguagem Sensvel ao Contexto 8.8 Mquina de Turing com Fita Limitada

Linguagens Formais e Autmatos - P. Blauth Menezes

62

8.5 Propriedades das Linguagens Recursivamente Enumerveis e Recursivas

Algumas das principais propriedades


complemento de uma linguagem recursiva recursiva linguagem recursiva sse a linguagem e seu complemento so linguagens recursivamente enumerveis Classe das Linguagens Recursivas est contida propriamente na Classe das Linguagens Recursivamente Enumerveis

Linguagens Formais e Autmatos - P. Blauth Menezes

63

Teorema: Complemento de uma Linguagem Recursiva Recursiva


Se uma linguagem L sobre um alfabeto qualquer recursiva, ento o seu complemento ~L recursiva

Prova: (direta)
Suponha L linguagem recursiva. Ento existe M, mquina de Turing ACEITA(M) = L REJEITA(M) = ~L LOOP(M) =

Linguagens Formais e Autmatos - P. Blauth Menezes

64

Seja Inverte uma mquina de Turing que inverte ACEITA / REJEITA M mquina de Turing resultante da composio de Inverte e M M aceita a linguagem ~L sempre pra para qualquer entrada Portanto, o complemento de uma linguagem recursiva recursiva

M'

Inverte

p M

Inverte

Linguagens Formais e Autmatos - P. Blauth Menezes

65

Teorema: Linguagem Recursiva Recursivamente Enumervel


L recursiva sse L e ~L so recursivamente enumerveis

Prova:
( direta) Suponha L linguagem recursiva. Ento (teorema anterior) ~L recursiva Como toda linguagem recursiva tambm recursivamente enumervel L e ~L so recursivamente enumerveis

Linguagens Formais e Autmatos - P. Blauth Menezes

66

( direta) Suponha L linguagem tal que L e ~L so recursivamente enumerveis Ento existem M1 e M2, mquinas de Turing, tais que ACEITA(M1) = L ACEITA(M2) = ~L Seja M mquina de Turing resultante da composio
M w M1

M2

Inverte

Linguagens Formais e Autmatos - P. Blauth Menezes

67

M w

M1

M2

Inverte

composio no-determinista de M1 com M2 composio seqencial de M1 com Inverte Para qualquer palavra de entrada M aceita se M1 aceita M rejeita se M2 aceita Logo, L recursiva
Linguagens Formais e Autmatos - P. Blauth Menezes

68

Teorema: Linguagens Recursivas Recursivamente Enumerveis Prova: (direta)


Mostrar incluso prpria existe pelos menos uma linguagem recursivamente enumervel que no recursiva Linguagem recursivamente enumervel que no-recursiva L = { Xi Xi aceita por Ti }

Linguagens Formais e Autmatos - P. Blauth Menezes

69

L Recursivamente Enumervel

(esboo da mquina de Turing)

M gera palavras X1, X2, em ordem lexicogrfica compara com w quando Xi = w, w a i-sima palavra na enumerao M gera Ti, a i-sima mquina de Turing (exerccios) M simula Ti para a entrada w = Xi se w pertence a ACEITA(Ti), ento w pertence a ACEITA(M) simulador: exerccio M aceita w sse Xi = w aceita por Ti Logo, L recursivamente enumervel

Linguagens Formais e Autmatos - P. Blauth Menezes

70

L no Recursiva
J foi visto L recursiva sse L e ~L so recursivamente enumerveis Complemento de L no recursivamente enumervel ento L no-recursiva

Linguagens Formais e Autmatos - P. Blauth Menezes

71

8 - Linguagens Recursivamente Enumerveis e Sensveis ao Contexto


8.1 8.2 8.3 8.4 8.5 Mquina de Turing Modelos Equivalentes Mquina de Turing Hiptese de Church Mquina de Turing como Reconhecedor Propriedades das Linguagens Recursivamente Enumerveis e Recursivas 8.6 Gramtica Irrestrita 8.7 Linguagem Sensvel ao Contexto 8.8 Mquina de Turing com Fita Limitada

Linguagens Formais e Autmatos - P. Blauth Menezes

72

8.6 Gramtica Irrestrita

Gramtica Irrestrita
gramtica sem qualquer restrio nas produes

Exp: Gramtica Irrestrita: { anb nc n n 0 }


G = ???

Linguagens Formais e Autmatos - P. Blauth Menezes

73

Exp: Gramtica Irrestrita: { anb nc n n 0 }


G = ({ S, C }, { a, b, c }, P, S) P = { S abc , ab aabbC, Cb bC, Cc cc } Derivao de aaabbbccc S abc aabbCc aaabbCbCc aaabbCbcc aaabbbCcc aaabbbccc C "caminha" na palavra at a posio correta para gerar c

Linguagens Formais e Autmatos - P. Blauth Menezes

74

Teorema: Linguagem Recursivamente Enumervel Gramtica Irrestrita


L linguagem recursivamente enumervel sse L gerada por uma gramtica irrestrita (no ser demonstrado)

Linguagens Formais e Autmatos - P. Blauth Menezes

75

8 - Linguagens Recursivamente Enumerveis e Sensveis ao Contexto


8.1 8.2 8.3 8.4 8.5 Mquina de Turing Modelos Equivalentes Mquina de Turing Hiptese de Church Mquina de Turing como Reconhecedor Propriedades das Linguagens Recursivamente Enumerveis e Recursivas 8.6 Gramtica Irrestrita 8.7 Linguagem Sensvel ao Contexto 8.8 Mquina de Turing com Fita Limitada

Linguagens Formais e Autmatos - P. Blauth Menezes

76

8.7 Linguagem Sensvel ao Contexto


Def: Gramtica Sensvel ao Contexto
G = (V, T, P, S) Qualquer regra de produo de P da forma palavra de (V T)* palavra de (V T)+ tal que excetuando-se, eventualmente, para S neste caso, S no est no lado direito de qualquer produo

Linguagens Formais e Autmatos - P. Blauth Menezes

77

Portanto, em uma gramtica sensvel ao contexto


a cada etapa de derivao tamanho da palavra derivada no pode diminuir excetuando-se para gerar a palavra vazia se esta pertencer linguagem

Observe (por qu?)


nem toda gramtica livre do contexto sensvel ao contexto

Def: Linguagem Sensvel ao Contexto, Linguagem Tipo 1


Linguagem gerada por uma gramtica sensvel ao contexto

Linguagens Formais e Autmatos - P. Blauth Menezes

78

Exp: Linguagem Sensvel ao Contexto: Palavra Duplicada


{ ww w palavra de { a, b }* } G = ({ S, X, Y, A, B, aa, ab, ba, bb }, { a, b }, P, S) Produes de P S XY aa bb , X XaA XbB aaaa abab baba bbbb, Aa aA, Ab bA, AY Ya, Ba aB, Bb bB, BY Yb, aaa aaa, aab baa, aaY aa, aba aab, abb bab, abY ab, baa aba, bab bba, baY ba, bba abb, bbb bbb, bbY bb
79

Linguagens Formais e Autmatos - P. Blauth Menezes

Gera o primeiro w aps X, e o segundo w aps Y a cada terminal gerado aps X gerada correspondente varivel varivel "caminha" na palavra at passar por Y deriva o correspondente terminal para encerrar X deriva subpalavra de dois terminais e correspondente varivel a qual "caminha" at encontrar Y quando derivada a mesma subpalavra de dois terminais se X derivar uma subpalavra de somente um terminal (e a correspondente varivel) ?

Linguagens Formais e Autmatos - P. Blauth Menezes

80

8 - Linguagens Recursivamente Enumerveis e Sensveis ao Contexto


8.1 8.2 8.3 8.4 8.5 Mquina de Turing Modelos Equivalentes Mquina de Turing Hiptese de Church Mquina de Turing como Reconhecedor Propriedades das Linguagens Recursivamente Enumerveis e Recursivas 8.6 Gramtica Irrestrita 8.7 Linguagem Sensvel ao Contexto 8.8 Mquina de Turing com Fita Limitada

Linguagens Formais e Autmatos - P. Blauth Menezes

81

8.8 Mquina de Turing com Fita Limitada

Linguagens Formais e Autmatos - P. Blauth Menezes

82

Mquina de Turing com Fita Limitada


mquina de Turing fita limitada ao tamanho da entrada mais duas clulas marcadores de incio e de fim de fita

No-Determinismo?
no conhecido se aumenta o poder computacional

Linguagens Formais e Autmatos - P. Blauth Menezes

83

Def: Mquina de Turing com Fita Limitada (MTFL)


M = (, Q, , q0, F, V, , ) - alfabeto (de smbolos) de entrada Q - conjunto de estados (finito) - (funo) programa ou funo de transio (parcial) : Q ( V { , }) 2Q(V{,}){E,D}
transio: (p, x) = { (q1, y1, m1),,(qn, yn, mn) }

q 0 - estado inicial: elemento distinguido de Q F - conjunto de estados finais: subconjunto de Q V - alfabeto auxiliar (pode ser vazio) - smbolo de incio ou marcador de incio da fita - smbolo de fim ou marcador de fim da fita
84

Linguagens Formais e Autmatos - P. Blauth Menezes

Exp: Mquina de Turing com Fita Limitada: Palavra Duplicada


L = { ww w palavra de { a, b }* } A mquina de Turing com fita limitada M = ({ a, b }, { q0, q1,, q9, qf }, , q0, { qf }, { X, Y }, , ) tal que ACEITA(M) = L e REJEITA(M) = ~L q 1, o incio do primeiro w marcado com um X q 2 e q3 definem no-determinismos marcar com um Y o incio do segundo w q 5 a q11 verifica a igualdade das duas metades

Linguagens Formais e Autmatos - P. Blauth Menezes

85

q0 (, , D)

q1 (a, X, D) (b, X, D) (, , E) (a, a, D) (b, b, D) q2 (a, Y, E) q4 q3 (b, Y, E) (a, a, E) (b, b, E) (a, a, D) (b, b, D)

(X, X, D)

q5 (a, X, D) (b, X, D) (Y, Y, D)

(a, a, D) (b, b, D)

q6

q8

(a, a, D) (b, b, D)

q11

(Y, Y, D)

(Y, Y, D)

(Y, Y, D)

(, , E)

(Y, Y, D)

q7 (a, Y, E) (Y, Y, E) (a, a, E) (b, b, E) q10 (X, X, D)

q9 (b, Y, E)

(Y, Y, D)

qf

Linguagens Formais e Autmatos - P. Blauth Menezes

86

Teorema: Linguagem Sensvel ao Contexto Mquina de Turing com Fita Limitada


L uma linguagem sensvel ao contexto sse L reconhecida por uma mquina de Turing com fita limitada no ser demonstrado

Linguagens Formais e Autmatos - P. Blauth Menezes

87

Linguagens Formais e Autmatos


P. Blauth Menezes 1 2 3 4 5 6 7 8 9 Introduo e Conceitos Bsicos Linguagens e Gramticas Linguagens Regulares Propriedades das Linguagens Regulares Autmato Finito com Sada Linguagens Livres do Contexto Propriedades e Reconhecimento das Linguagens Livres do Contexto Linguagens Recursivamente Enumerveis e Sensveis ao Contexto Hierarquia de Classes e Linguagens e Concluses
88

Linguagens Formais e Autmatos - P. Blauth Menezes

Linguagens Formais e Autmatos


P. Blauth Menezes
blauth@inf.ufrgs.br

Departamento de Informtica Terica Instituto de Informtica / UFRGS

Linguagens Formais e Autmatos - P. Blauth Menezes

89

Anda mungkin juga menyukai