fape - curso de ciência da computação aspectos teóricos da computação professor: gleifer vaz...
TRANSCRIPT
![Page 1: FAPE - Curso de Ciência da Computação Aspectos Teóricos da Computação Professor: Gleifer Vaz Alves Quarta Aula - 2006/1](https://reader036.vdocuments.pub/reader036/viewer/2022062318/552fc0f9497959413d8b6490/html5/thumbnails/1.jpg)
FAPE - Curso de Ciência da Computação
Aspectos Teóricos da ComputaçãoProfessor: Gleifer Vaz AlvesQuarta Aula - 2006/1
![Page 2: FAPE - Curso de Ciência da Computação Aspectos Teóricos da Computação Professor: Gleifer Vaz Alves Quarta Aula - 2006/1](https://reader036.vdocuments.pub/reader036/viewer/2022062318/552fc0f9497959413d8b6490/html5/thumbnails/2.jpg)
FAPE-2006.1 ATC-04
Conteúdo
Parte II: Linguagens regularesLinguagens regulares Autômatos FinitosAutômatos Finitos Expressões Regulares Gramáticas Regulares
![Page 3: FAPE - Curso de Ciência da Computação Aspectos Teóricos da Computação Professor: Gleifer Vaz Alves Quarta Aula - 2006/1](https://reader036.vdocuments.pub/reader036/viewer/2022062318/552fc0f9497959413d8b6490/html5/thumbnails/3.jpg)
FAPE-2006.1 ATC-04
Introdução
Uma expressão regular (ER) sobre um alfabeto é indutivamente definida: é uma ER que denota a
linguagem vazia. é uma ER que denota a linguagem
contendo exclusivamente a palavra vazia, ou seja {} .
![Page 4: FAPE - Curso de Ciência da Computação Aspectos Teóricos da Computação Professor: Gleifer Vaz Alves Quarta Aula - 2006/1](https://reader036.vdocuments.pub/reader036/viewer/2022062318/552fc0f9497959413d8b6490/html5/thumbnails/4.jpg)
FAPE-2006.1 ATC-04
Expressão Regular
qualquer símbolo x pertencente ao alfabeto é uma ER e denota a linguagem contendo a palavra unitária x, ou seja {x}.
![Page 5: FAPE - Curso de Ciência da Computação Aspectos Teóricos da Computação Professor: Gleifer Vaz Alves Quarta Aula - 2006/1](https://reader036.vdocuments.pub/reader036/viewer/2022062318/552fc0f9497959413d8b6490/html5/thumbnails/5.jpg)
FAPE-2006.1 ATC-04
Operações com expressões
Três operações básicas: Operação de união, Operação de concatenação, Operação de concatenação
sucessiva ou operação estrela.
![Page 6: FAPE - Curso de Ciência da Computação Aspectos Teóricos da Computação Professor: Gleifer Vaz Alves Quarta Aula - 2006/1](https://reader036.vdocuments.pub/reader036/viewer/2022062318/552fc0f9497959413d8b6490/html5/thumbnails/6.jpg)
FAPE-2006.1 ATC-04
ER - Operações
Se r e s são ER´s e denotam respectivamente as linguagens R e S, então:(r+s) é ER e denota a linguagem R S
(rs) é ER e denota a linguagem {uv | u R e v S}(r*) é ER e denota a linguagem R*
![Page 7: FAPE - Curso de Ciência da Computação Aspectos Teóricos da Computação Professor: Gleifer Vaz Alves Quarta Aula - 2006/1](https://reader036.vdocuments.pub/reader036/viewer/2022062318/552fc0f9497959413d8b6490/html5/thumbnails/7.jpg)
FAPE-2006.1 ATC-04
Expressão Regular
Uma linguagem gerada por uma ER r é representada por L(r) ou GERA(r).É possível omitir parênteses, seguindo prioridades nas operações: a concatenação sucessiva tem
prioridade em relação à concatenação e a união, e
a concatenação tem prioridade em relação à união.
![Page 8: FAPE - Curso de Ciência da Computação Aspectos Teóricos da Computação Professor: Gleifer Vaz Alves Quarta Aula - 2006/1](https://reader036.vdocuments.pub/reader036/viewer/2022062318/552fc0f9497959413d8b6490/html5/thumbnails/8.jpg)
FAPE-2006.1 ATC-04
Expressão Regular - exemplos
ER Linguagemaa Palavra aaba* Inicia por b, seguido de zero
ou mais a(a+b)* Todas palavras do alfabeto
{a,b}a*ba*ba*
Todas palavras que têm exatamente dois b´s.
![Page 9: FAPE - Curso de Ciência da Computação Aspectos Teóricos da Computação Professor: Gleifer Vaz Alves Quarta Aula - 2006/1](https://reader036.vdocuments.pub/reader036/viewer/2022062318/552fc0f9497959413d8b6490/html5/thumbnails/9.jpg)
FAPE-2006.1 ATC-04
Expressão Regular - exemplos
ER Linguagem
(a+b)*aa(a+b)*
Todas palavras que têm aa como subpalavra.
(a+b)*(aa+bb)
As palavras que terminam com aa ou bb.
(a+)(b+ba)*
As palavras que não possuem dois a´s consecutivos.
![Page 10: FAPE - Curso de Ciência da Computação Aspectos Teóricos da Computação Professor: Gleifer Vaz Alves Quarta Aula - 2006/1](https://reader036.vdocuments.pub/reader036/viewer/2022062318/552fc0f9497959413d8b6490/html5/thumbnails/10.jpg)
FAPE-2006.1 ATC-04
Expressões e Linguagens
A classe das expressões regulares corresponde exatamente a classe das linguagens regulares.Expressão Regular Linguagem Regular Se r é uma ER, então GERA(r) é
uma linguagem regular
![Page 11: FAPE - Curso de Ciência da Computação Aspectos Teóricos da Computação Professor: Gleifer Vaz Alves Quarta Aula - 2006/1](https://reader036.vdocuments.pub/reader036/viewer/2022062318/552fc0f9497959413d8b6490/html5/thumbnails/11.jpg)
FAPE-2006.1 ATC-04
Expressões e Linguagens
Linguagem Regular Expressão Regular Se L é uma linguagem regular,
então existe uma expressão regular r tal que GERA(r) = L
![Page 12: FAPE - Curso de Ciência da Computação Aspectos Teóricos da Computação Professor: Gleifer Vaz Alves Quarta Aula - 2006/1](https://reader036.vdocuments.pub/reader036/viewer/2022062318/552fc0f9497959413d8b6490/html5/thumbnails/12.jpg)
FAPE-2006.1 ATC-04
Conversão: expressões autômatos
r = a
r =
r =
a
![Page 13: FAPE - Curso de Ciência da Computação Aspectos Teóricos da Computação Professor: Gleifer Vaz Alves Quarta Aula - 2006/1](https://reader036.vdocuments.pub/reader036/viewer/2022062318/552fc0f9497959413d8b6490/html5/thumbnails/13.jpg)
FAPE-2006.1 ATC-04
expressões autômatos
r = ab
r = a + b
a
a b
b
![Page 14: FAPE - Curso de Ciência da Computação Aspectos Teóricos da Computação Professor: Gleifer Vaz Alves Quarta Aula - 2006/1](https://reader036.vdocuments.pub/reader036/viewer/2022062318/552fc0f9497959413d8b6490/html5/thumbnails/14.jpg)
FAPE-2006.1 ATC-04
ER´s e Autômatos
r = a* a
![Page 15: FAPE - Curso de Ciência da Computação Aspectos Teóricos da Computação Professor: Gleifer Vaz Alves Quarta Aula - 2006/1](https://reader036.vdocuments.pub/reader036/viewer/2022062318/552fc0f9497959413d8b6490/html5/thumbnails/15.jpg)
FAPE-2006.1 ATC-04
Gramática
Seja G={N,T,P,S} uma gramática, onde:
N – conjunto de símbolos não-terminais;
T – conjunto de símbolos terminais;P – conjunto de regras de produção;S – símbolo inicial da gramática.
![Page 16: FAPE - Curso de Ciência da Computação Aspectos Teóricos da Computação Professor: Gleifer Vaz Alves Quarta Aula - 2006/1](https://reader036.vdocuments.pub/reader036/viewer/2022062318/552fc0f9497959413d8b6490/html5/thumbnails/16.jpg)
FAPE-2006.1 ATC-04
Gramática
Terminologia:símbolos não-terminais
N = {A,B,C,...T}símbolos terminais
T = {a,b,c,...t}
S N
![Page 17: FAPE - Curso de Ciência da Computação Aspectos Teóricos da Computação Professor: Gleifer Vaz Alves Quarta Aula - 2006/1](https://reader036.vdocuments.pub/reader036/viewer/2022062318/552fc0f9497959413d8b6490/html5/thumbnails/17.jpg)
FAPE-2006.1 ATC-04
Regras de produção
Aplicando as regras de produção definidas na gramáticas são geradas palavras referentes a linguagem que a gramática representa.
Gramática palavrar. de produção
![Page 18: FAPE - Curso de Ciência da Computação Aspectos Teóricos da Computação Professor: Gleifer Vaz Alves Quarta Aula - 2006/1](https://reader036.vdocuments.pub/reader036/viewer/2022062318/552fc0f9497959413d8b6490/html5/thumbnails/18.jpg)
FAPE-2006.1 ATC-04
Regras de produção
Exemplo:G = ( {S,A,B}, {a,b}, P, S )P = { S AB,
A a | AB, B b }
Passos para gerar a palavra: abbS AB ABB aBB abB abb.
![Page 19: FAPE - Curso de Ciência da Computação Aspectos Teóricos da Computação Professor: Gleifer Vaz Alves Quarta Aula - 2006/1](https://reader036.vdocuments.pub/reader036/viewer/2022062318/552fc0f9497959413d8b6490/html5/thumbnails/19.jpg)
FAPE-2006.1 ATC-04
Tipos de Gramática linear
Uma gramática G pode ser: GLD: se todas as regras de
produção são da forma AwB ou A w.
GLE: se todas as regras de produção são da forma ABw ou A w.
![Page 20: FAPE - Curso de Ciência da Computação Aspectos Teóricos da Computação Professor: Gleifer Vaz Alves Quarta Aula - 2006/1](https://reader036.vdocuments.pub/reader036/viewer/2022062318/552fc0f9497959413d8b6490/html5/thumbnails/20.jpg)
FAPE-2006.1 ATC-04
Gramática Regular
Uma gramática regular é qualquer gramática linear.Uma linguagem gerada por uma gramática regular G é representada por L(G) ou GERA(G).
![Page 21: FAPE - Curso de Ciência da Computação Aspectos Teóricos da Computação Professor: Gleifer Vaz Alves Quarta Aula - 2006/1](https://reader036.vdocuments.pub/reader036/viewer/2022062318/552fc0f9497959413d8b6490/html5/thumbnails/21.jpg)
FAPE-2006.1 ATC-04
Exemplos - gramáticas
Linguagem a(ba)* GLD:
G = ( {S,A}, {a,b}, { S aA, A baA | }, S )
GLE: G = ( {S}, {a,b}, { S Sba | a }, S )
![Page 22: FAPE - Curso de Ciência da Computação Aspectos Teóricos da Computação Professor: Gleifer Vaz Alves Quarta Aula - 2006/1](https://reader036.vdocuments.pub/reader036/viewer/2022062318/552fc0f9497959413d8b6490/html5/thumbnails/22.jpg)
FAPE-2006.1 ATC-04
Exemplos - gramáticas
Linguagem (a+b)*(aa+bb)
G = ( {S,A}, {a,b}, P, S )P = { S aS | bS | A, A aa | bb }
![Page 23: FAPE - Curso de Ciência da Computação Aspectos Teóricos da Computação Professor: Gleifer Vaz Alves Quarta Aula - 2006/1](https://reader036.vdocuments.pub/reader036/viewer/2022062318/552fc0f9497959413d8b6490/html5/thumbnails/23.jpg)
FAPE-2006.1 ATC-04
Árvores de derivação
Igualmente é possível representar as produções das gramáticas através de árvores derivação.
S
a S
A
b b
palavra: abb
![Page 24: FAPE - Curso de Ciência da Computação Aspectos Teóricos da Computação Professor: Gleifer Vaz Alves Quarta Aula - 2006/1](https://reader036.vdocuments.pub/reader036/viewer/2022062318/552fc0f9497959413d8b6490/html5/thumbnails/24.jpg)
FAPE-2006.1 ATC-04
Gramática Autômato
Tipo de produção
transição
A (A,)=qf
A a (A,a)=qf
A B (A,)=B
A aB (A,a)=B
![Page 25: FAPE - Curso de Ciência da Computação Aspectos Teóricos da Computação Professor: Gleifer Vaz Alves Quarta Aula - 2006/1](https://reader036.vdocuments.pub/reader036/viewer/2022062318/552fc0f9497959413d8b6490/html5/thumbnails/25.jpg)
FAPE-2006.1 ATC-04
Exemplo: GR AF
Considerando a gramática, G = ( {S,A,B}, {a,b},
{ S aA AbB | B aA }, S )
O AF que reconhece a gramática éM = ({a,b}, {S,A,B,qf}, , S, {qf})
![Page 26: FAPE - Curso de Ciência da Computação Aspectos Teóricos da Computação Professor: Gleifer Vaz Alves Quarta Aula - 2006/1](https://reader036.vdocuments.pub/reader036/viewer/2022062318/552fc0f9497959413d8b6490/html5/thumbnails/26.jpg)
FAPE-2006.1 ATC-04
Exemplo: GR AF
Tipo de produção
transição
S aA (S,a)=A
A bB (A,b)=B
A (A,)=qf
B aA (B,a)=A
![Page 27: FAPE - Curso de Ciência da Computação Aspectos Teóricos da Computação Professor: Gleifer Vaz Alves Quarta Aula - 2006/1](https://reader036.vdocuments.pub/reader036/viewer/2022062318/552fc0f9497959413d8b6490/html5/thumbnails/27.jpg)
FAPE-2006.1 ATC-04
Exemplo: GR AF
S A qf
B
a &
ba
![Page 28: FAPE - Curso de Ciência da Computação Aspectos Teóricos da Computação Professor: Gleifer Vaz Alves Quarta Aula - 2006/1](https://reader036.vdocuments.pub/reader036/viewer/2022062318/552fc0f9497959413d8b6490/html5/thumbnails/28.jpg)
FAPE-2006.1 ATC-04
Exemplo: AF GR
q0 q1 q2
c
b c
a b
Estados terminais: qo, q1 e q2.
![Page 29: FAPE - Curso de Ciência da Computação Aspectos Teóricos da Computação Professor: Gleifer Vaz Alves Quarta Aula - 2006/1](https://reader036.vdocuments.pub/reader036/viewer/2022062318/552fc0f9497959413d8b6490/html5/thumbnails/29.jpg)
FAPE-2006.1 ATC-04
Exemplo: AF GR
Transição Tipo de produção
S A
A
B
C
Correspondências: q0 = A, q1 = B, q2 = C
![Page 30: FAPE - Curso de Ciência da Computação Aspectos Teóricos da Computação Professor: Gleifer Vaz Alves Quarta Aula - 2006/1](https://reader036.vdocuments.pub/reader036/viewer/2022062318/552fc0f9497959413d8b6490/html5/thumbnails/30.jpg)
FAPE-2006.1 ATC-04
Exemplo: AF GR
Transição Tipo de produção
(q0,a)=q0 A aA(q0,b)=q1 A bB(q1,b)=q1 B bB(q1,c)=q2 B cC(q2,c)=q2 C cC
![Page 31: FAPE - Curso de Ciência da Computação Aspectos Teóricos da Computação Professor: Gleifer Vaz Alves Quarta Aula - 2006/1](https://reader036.vdocuments.pub/reader036/viewer/2022062318/552fc0f9497959413d8b6490/html5/thumbnails/31.jpg)
Tarefa: lista de exercícios 4