linguagens formais e automatos- prof. gerson neto
TRANSCRIPT
-
7/27/2019 Linguagens Formais e Automatos- Prof. Gerson Neto
1/61
Linguagens Formais eAutmatos
Prof. Me. Eng. Comp. Gerson Neto
-
7/27/2019 Linguagens Formais e Automatos- Prof. Gerson Neto
2/61
Objetivos:
O objetivo dessa aula apresentar adisciplinas, sua ementa, competncias,habilidades, contedo e apresentar oprofessor.
-
7/27/2019 Linguagens Formais e Automatos- Prof. Gerson Neto
3/61
Roteiro Professor
Disciplina
Formas deAvaliao
Bibliografia
Currculo
FormaoAcadmica
DadosEmentaObjetivosContedo
ProvasTrabalhos
Clculo da Mdia
Critrio de Aprovao
Livros
SitesCompetncias
Habilidades
-
7/27/2019 Linguagens Formais e Automatos- Prof. Gerson Neto
4/61
Apresentao do Professor.
Belm do Pargoogle.com
O melhor time do
Brasil, na segundadiviso !!
No, eu no sou Carioca !! No, eu no sou Baiano !!Graduado em Engenharia da Computao:
Universidade Federal do Par - UFPAMestre em Computao Aplicada:Instituto Nacional de Pesquisas Espaciais - INPEPesquisador da Microsoft Research INPE/FAPESPNo mercado:Analista DesenvolvedorEmpresrio: Ramo de desenvolvimentos de sistemas
(ERP) para MEI, ME e EPP.
Email:
google.com
-
7/27/2019 Linguagens Formais e Automatos- Prof. Gerson Neto
5/61
Apresentao da Disciplina.
Linguagens formais e autmatos
Cursos Bacharelado em Cincia da Computao
Turno Noturno
Campi So Jos dos Campos: Unidade Esplanada
CargaHorria 80h/Tericas
-
7/27/2019 Linguagens Formais e Automatos- Prof. Gerson Neto
6/61
Apresentao da Disciplina.
Ementa:Introduo s Linguagens Formais eaos Autmatos.
Linguagens regulares, Livres de contexto
e sensveis ao contexto.Sistema de estados finitos.
Expresses regulares e reconhecedores.
rvores de derivao.Simplificao de autmatos.
Decidibilidade e Computabilidade.
-
7/27/2019 Linguagens Formais e Automatos- Prof. Gerson Neto
7/61
Apresentao da Disciplina.
Ementa:Matria clssica na rea da computao, no temcomo foco a empregabilidade do aluno recm-formado. O objetivo darslidaformaoterica
para que a medida que o tempo passe, o alunopossa se renovare se mantercompetitivo nomercadodetrabalho por mais tempo.
O investimento no aprendizado dos fundamentos
dacomputao significa a garantiadesuprimentode futuros bonsprofissionais para a rea, assimcomo do desenvolvimento de boas e novastecnologias e produtos.
-
7/27/2019 Linguagens Formais e Automatos- Prof. Gerson Neto
8/61
Apresentao da Disciplina.
Objetivos:
Compreender a aplicao das linguagensregulares.
Competncias:
Identificar as diferenas entre as linguagenslivres de contexto e sensveis ao contexto.
Conhecer os aspectos relacionados adecidibilidade e computabilidade.
-
7/27/2019 Linguagens Formais e Automatos- Prof. Gerson Neto
9/61
Apresentao da Disciplina.
Objetivos:
Aplicar os formalismos estudados resoluode problemas de natureza computacional.
Habilidades:
Aplicar os formalismos estudados
construo de softwares.
-
7/27/2019 Linguagens Formais e Automatos- Prof. Gerson Neto
10/61
Apresentao da Disciplina.
Contedo:Introduo s Linguagens Formais e aos
Autmatos. Alfabetos, palavras e linguagens.
Linguagens Regulares. Sistemas de estados
finitos. Expresses regulares.Autmato finito (AFD). Autmato no-determinstico.Autmato com movimentos vazios. Expresses egramticas regulares.
Gramticas Livres de Contexto (GLC). rvores dederivao. Simplificao e formas normais de GLC.Recurso esquerda. Autmato de Pilha.Propriedades e reconhecimento das Linguagens
Livres de Contexto (LLC).
-
7/27/2019 Linguagens Formais e Automatos- Prof. Gerson Neto
11/61
Apresentao da Disciplina.
Contedo:
Linguagens sensveis ao contexto. Mquinasde Turing.
Decidibilidade e Computabilidade.
-
7/27/2019 Linguagens Formais e Automatos- Prof. Gerson Neto
12/61
-
7/27/2019 Linguagens Formais e Automatos- Prof. Gerson Neto
13/61
Bibliografia.
MENEZES, P. B. Linguagens Formais e Automatos. Porto Alegre:Bookman, 2010.
RAMOS, M. V. M., NETO, J. J., VEGA, I. S. Linguagens Formais.Porto Alegre: Bookman, 2009.
NOVAIS, J.M. de A. Programacao de Automatos. Portugal: CalousteGulbenkian,2008.
FRANCISCO, A. Autmatos Programveis. Portugal: Lidel, 2007.
DIVERIO, T. A., MENEZES, P.B. Teoria da Computao MquinasUniversais e Computabilidade. Porto Alegre: Bookman, 2008. 220p.
-
7/27/2019 Linguagens Formais e Automatos- Prof. Gerson Neto
14/61
Perguntas.
Breve nos cinemas.Chapolin Begins.
google.com
-
7/27/2019 Linguagens Formais e Automatos- Prof. Gerson Neto
15/61
Linguagens Formais eAutmatos
Prof. Me. Eng. Comp. Gerson Neto
-
7/27/2019 Linguagens Formais e Automatos- Prof. Gerson Neto
16/61
Objetivos:
O objetivo dessa aula apresentar oconceito de linguagem formal. O que sintaxe e o que semntica. Definir oque alfabeto, palavra e linguagem.
-
7/27/2019 Linguagens Formais e Automatos- Prof. Gerson Neto
17/61
O que faz um cientista da
computao?Desenvolvimento de sistemas.
Desenvolvimento de software para finsespecficos. Ex: Sistemas embarcados.
Resoluo de problemas via computao (uso desoftware e/ou hardware).
Muitos cintistas da computao trabalhamcom desenvolvimento de sistemas.
Muitos cintistas da computao trabalhamcom desenvolvimento de sistemas especficos.
No fim o que todos os cintistas fazem procurar uma soluo para algum tipo de
problema ou demanda.
-
7/27/2019 Linguagens Formais e Automatos- Prof. Gerson Neto
18/61
-
7/27/2019 Linguagens Formais e Automatos- Prof. Gerson Neto
19/61
Linguagens Formais.
Sintaxe:
A sintaxe refere-se a gramtica dalinguagem de programao. A forma de
como se escreve o cdigo.
Diferentes formas de declarar umaString em C e em Java.
-
7/27/2019 Linguagens Formais e Automatos- Prof. Gerson Neto
20/61
Linguagens Formais.
Semntica:
A semntica refere-se ao significado dobloco de cdigo. A forma de como se
escreve o cdigo para que o compiladorentenda o que se deseja exatamente.
Diferentes formas de declarar umaString em C.
-
7/27/2019 Linguagens Formais e Automatos- Prof. Gerson Neto
21/61
Linguagens Formais.
Erros de sintaxe:
Esse cdigo apresenta um erro de
sintaxe. Por esse motivo o compiladordispara uma Exceo.
Tentativa de se atribuir um valor do tipoString para uma varivel do tipo int.
-
7/27/2019 Linguagens Formais e Automatos- Prof. Gerson Neto
22/61
Linguagens Formais.
Erros de semntica:
Sintaticamente o cdigo est correto, mas adiviso no retorna o valor exato.
Qual o valor da varivelj?
O compilador no interpreta erros de lgicacomo uma falha. Por isso erros de semnticaso difceis de serem identificados
-
7/27/2019 Linguagens Formais e Automatos- Prof. Gerson Neto
23/61
Definies.
Linguagem:
O uso da palavra articulada ou escrita como
meio de expresso e comunicao entrepessoas.
O Dicionrio Aurlio define linguagem como:
Forma de comunicao.
Um conjunto de elementos (smbolos) e um
conjunto de mtodos (regras) para combinar esteselementos, usado e entendido por umadeterminada comunidade.Exemplos: linguagens naturais (idiomas),linguagens de programao, protocolos decomunicao.
-
7/27/2019 Linguagens Formais e Automatos- Prof. Gerson Neto
24/61
Definies.
Alfabeto:
Letras e digitos so exemplos de smbolosfreqentemente usados.
Um alfabeto um conjunto finito de smbolos oucaracteres.
Um conjunto infito no um alfabeto.Um conjunto vazio no um alfabeto.
Ex: {a,b,c}
Ex: {0,1}
Ex: {!,@,$}
No estudo de autmatos elinguagens formais umaalfabeto representadopela letra .
-
7/27/2019 Linguagens Formais e Automatos- Prof. Gerson Neto
25/61
Definies.
Palavra:Uma palavra uma cadeia de caracteresoriginada a partir de um alfabeto.
Alfabeto:
= {0,1}.
= {a,b,c,...,z}.
Palavra:
0001010
casa
Pode ser entendida tambm como umaseqncia de smbolos do alfabeto justapostos.
= { a, b, c, ..., z}.w = casa
v = formatura
= { i, f, ( , ) }.n = if()
-
7/27/2019 Linguagens Formais e Automatos- Prof. Gerson Neto
26/61
Concatenao de palavras.
Concatenao:
uma operao associativa, definida sobre umconjunto de palavras, a qual associa a cada parde palavras uma palavranova formada pela
justaposio da primeira com a segunda.
Suponha o alfabeto: = {a,b}
Suponha as palavras:w = abba
v = aabbConcatenao das palavras:
wv = abbaaabb vw = aabbabba
-
7/27/2019 Linguagens Formais e Automatos- Prof. Gerson Neto
27/61
Concatenao de palavras.
Concatenao sucessiva:
Consiste de sucessivas concatenaes damesma palavra ou smbolo. Podem ser tratadasatravs da notao exponencial. Ex:
Suponha o alfabeto: = {a,b}
Suponha as palavras:w = abba
v = aabb
Concatenao sucessiva das palavras:
w = abba
nw
ww = abbaabbawww = abbaabbaabba
1w
2w
3w
0wCadeia vazia:
Representada por:
-
7/27/2019 Linguagens Formais e Automatos- Prof. Gerson Neto
28/61
Perguntas
vidadeprogramador.com.br
-
7/27/2019 Linguagens Formais e Automatos- Prof. Gerson Neto
29/61
Linguagens Formais eAutmatos
Prof. Me. Eng. Comp. Gerson Neto
-
7/27/2019 Linguagens Formais e Automatos- Prof. Gerson Neto
30/61
Objetivos:
O objetivo dessa aula apresentar a teoriabsica de conjuntos. Introduo aosformalismos Operacional, Axiomtico eDenotacional. Introduo a autmatos finitosdeterministicos e no-deterministicos.
-
7/27/2019 Linguagens Formais e Automatos- Prof. Gerson Neto
31/61
Teoria de conjuntos
Conjunto uma coleo ou classe de objetos,tambm chamados de elementos ou membros.
A notao de pertinncia serve para indicar queum elemento x pertence a um conjunto A e
denotado por: x A
Ex:
A = { 1,2,3,4 } B = { %,#,$,@ }
Ex:1 A
2 A
$ B
@ B
-
7/27/2019 Linguagens Formais e Automatos- Prof. Gerson Neto
32/61
Teoria de conjuntos
Conjunto vazio o conjunto que no possuinenhum elemento.
Ex:
A = { } B =
A seguinte notao para conjunto vazio considerada matematicamente errada:A = {}.
Um conjunto no possui ordenao portanto osseguintes conjuntos so iguais:
{1,2,3} = {2,1,3} = {3,2,1}
-
7/27/2019 Linguagens Formais e Automatos- Prof. Gerson Neto
33/61
Teoria de conjuntos
Conjuntos podem serfinitos ou infinitos. Conjuntofinito aquele que possui um nmero finito deelementos. O cojunto infinito possui um nmeroinfinito de elementos.
Exemplo de conjuntos finitos:A = { 1,2,3,4 } B = { %,#,$,@ }
Conjuntos finitos e infinitos podem ser denotados
por uma propriedade. Todos os elementos doconjunto devem se encaixar na propriedade.Exemplo de um conjunto infinitos e finitorespectivamente:
A = { x / x R} B = {x / x = 2n +1, n N }
-
7/27/2019 Linguagens Formais e Automatos- Prof. Gerson Neto
34/61
Teoria de conjuntos
Existem algumas propriedades aplicadas sobreconjuntos.
Propriedade de unio:
A = { 1,2,3,4 } B = { %,#,$,@ }
A U B = {1,2,3,4,%,#,$,@}
Os elementos em comum de dois conjuntos no serepetem quando aplicada a propriedade de unio:
A = { 1,2,3,4 } B = {3,4,5,6}
A U B = {1,2,3,4,5,6}
-
7/27/2019 Linguagens Formais e Automatos- Prof. Gerson Neto
35/61
Teoria de conjuntos
Algumas unies que merecem ateno.
A U A = A
(A U B) U C = A U (B U C)
A U = A
A disposio dos conjuntos na unio no altera oresultado.
A U B = B U A
A propriedade de unio tambm associativa.
-
7/27/2019 Linguagens Formais e Automatos- Prof. Gerson Neto
36/61
Teoria de conjuntos
Propriedade de interseo:Consiste em encontrar os elementos que somomuns em dois ou mais conjuntos:
A = { 1,2,3,4 } B = {3,4,5,6}A B = {3,4}
Algumas intersees merecem ateno:
A A = A A = A B = B A
(A B) C = A (B C)
-
7/27/2019 Linguagens Formais e Automatos- Prof. Gerson Neto
37/61
Teoria de conjuntos
Propriedade de distributividade:
Consiste em distribuir uma unio por umainterseo formando duas unies por uma interso
A U (B C) = (A U B) (A U C)
A (B U C) = (A B) U (A C)
Ou ainda em distribuir uma interseo por uma
unio formando duas intersees por uma unio:
-
7/27/2019 Linguagens Formais e Automatos- Prof. Gerson Neto
38/61
Teoria de conjuntos
Propriedade de diferena:
A diferena entre um conjuntoA e um conjunto Bconsiste dos elementos de A que no fazem parte
de B:A = { 1,2,3,4 } B = {3,4,5,6}
A - B = {1,2}
Algumas diferenas merecem ateno:A - = A
- A =
A - A =
-
7/27/2019 Linguagens Formais e Automatos- Prof. Gerson Neto
39/61
Perguntas
vidadeprogramador.com.br
-
7/27/2019 Linguagens Formais e Automatos- Prof. Gerson Neto
40/61
Formalismos
Formalismo Operacional:Autmato ou mquina abstrata:
Formados por estados.
Instrues primitivas.
Especificao de como cada instruo alteracada estado.Suficientemente simples para no permitirdvidas sobre o seu funcionamento.
Considerado o formalismo reconhecedor: faz aanlise de uma entrada para verificar se aceitaou reconhecida. Suas principais mquinas so:
Autmato finito.
Autmato de pilha.
Mquina de Turing.
-
7/27/2019 Linguagens Formais e Automatos- Prof. Gerson Neto
41/61
Formalismos
Formalismo Axiomtico:Gramtica:
Especifica um conjunto de smbolos vlidos auma linguagem.
Associa regras s componentes da linguagem.As regras de uma gramtica tem o objetivo deconsiderar o que ser verdadeiro aps aocorrncia de uma clusula e o que era verdadeiro
da ocorrncia. considerado o formalismogerador. Suas principais gramticas so:
Regulares
Livres de Contexto
Sensveis ao Contexto
Irrestritas
-
7/27/2019 Linguagens Formais e Automatos- Prof. Gerson Neto
42/61
Formalismos
Formalismo Denotacional:
Expresses Regulares:
Definio de um domnio que caracteriza umconjunto de palavras admissveis na linguagem.
Formado por funes composicionais cujo valor donotado por uma construo.
-
7/27/2019 Linguagens Formais e Automatos- Prof. Gerson Neto
43/61
Hierarquia de Chomsky
Linguagem Recursivamente Enumerveis, Tipo 0
Linguagem Sensveis ao Contexto, Tipo 1
Linguagem Livres de Contexto, Tipo 2Linguagem Regulares, Tipo 3
Tipo 0
Tipo 1
Tipo 2
Tipo 3
-
7/27/2019 Linguagens Formais e Automatos- Prof. Gerson Neto
44/61
Sistema de estados Finitos
Modelo matemtico de sistemas com entradas esadas discretas.
Devem assumir o nmero finito ou pr-determinadode estados.
Cada estado resume somente as informaes dopassado necessrias para determinar aes para aprxima entrada.
Ex:
Carros. Elevadores.
-
7/27/2019 Linguagens Formais e Automatos- Prof. Gerson Neto
45/61
Autmato Finito DeterminsticoMquina composta por trs elementos.
Fita: despositivo de entrada com informaopara processamento. A fita dividida emclulas com smbolos. lida sempre em umnico sentido.
Unidade de controle: Reflete o estado atualem que se encontra a mquina e acessa umaclula da fita por vez.Funo de transio: Funo que comanda as
leituras e define o estado da mquina.a b b b a a b a b a
q0 Controle.
-
7/27/2019 Linguagens Formais e Automatos- Prof. Gerson Neto
46/61
Autmato Finito Determinstico
Caractersticas de autmatos finitos determinsticos.No pode gravar na fita.
a b b b a a b a b a
q2 Controle.
No possui memria auxiliar.
A unidade de controle l o smbolo de uma clula decada vez.
Aps a leitura do smbolo a unidade de controle move-se uma clula no sentido da leitura.
Como no possui memria auxiliar o armazenamentode informaes necessrias ao processamento feito
atravs do conceito de estados.
-
7/27/2019 Linguagens Formais e Automatos- Prof. Gerson Neto
47/61
Autmato Finito Determinstico
Definio formal:Um autmato finito determinstico(AFD) M uma5-upla.
M = (, Q, , q0, F)
: Alfabeto de smbolos de entrada.
Q : Conjuntos de estados possveis.
q0 : Estado inicial tal que q0Q.
F : Conjunto de estados finais tal que FQ.
: Funo de transio: : Qx Q.
-
7/27/2019 Linguagens Formais e Automatos- Prof. Gerson Neto
48/61
Autmato Finito Determinstico
A funo de transio pode ser representada detrs formas:
Por um grafo finito direto:
q0 q1a
q0
qn
Estado inicial
Estado finalAnterior Novo
Smbolo lido
-
7/27/2019 Linguagens Formais e Automatos- Prof. Gerson Neto
49/61
Autmato Finito Determinstico
Na forma de funo:
Funo:
q0
q1a (q0 , a) = q1
q2
b
a
(q1 , a) = q1
(q1 , b) = q2
-
7/27/2019 Linguagens Formais e Automatos- Prof. Gerson Neto
50/61
Autmato Finito Determinstico
Na forma de tabela:
Tabela:
q0
q1a
q2
b
a
a b
q0 q1 ---q1 q1 q2
q2 --- ---
-
7/27/2019 Linguagens Formais e Automatos- Prof. Gerson Neto
51/61
Autmato Finito Determinstico
Exemplo: Dado o alfabeto = {0,1} fornea um autmatofinito determinstico que aceite a seguinte linguagem:
mpar}wem1`sdeq|{wL uantidea
-
7/27/2019 Linguagens Formais e Automatos- Prof. Gerson Neto
52/61
Autmato Finito Determinstico
Exemplo: Dado o alfabeto = {a,b} fornea um autmatofinito determinstico que aceite a seguinte linguagem:
0}n|baba{L n
-
7/27/2019 Linguagens Formais e Automatos- Prof. Gerson Neto
53/61
Autmato Finito Determinstico
Exemplo: Dado o alfabeto = {0,1} fornea um autmatofinito determinstico que aceite a seguinte linguagem:
os}consecutiv0`sdoismenospelopossuaw|{0,1}{wL *
-
7/27/2019 Linguagens Formais e Automatos- Prof. Gerson Neto
54/61
Autmato Finito Determinstico
Exemplo: Dado o alfabeto = {a,b} fornea um autmatofinito determinstico que aceite a seguinte linguagem:
0}n|bb(ab){L n
-
7/27/2019 Linguagens Formais e Automatos- Prof. Gerson Neto
55/61
Autmato Finito Determinstico
Atividade 1:Dado o alfabeto = {a,b} fornea autmatos finitos
determinsticos que aceite as seguintes linguagens:
par}nm|ba{L
nm
Atividade 2:Dado o alfabeto = {0,1} fornea um autmato finito
determinstico que aceite a seguinte linguagem:
1`s}e0`sdesocorrnciadeparnmeroumpossuie}1,0{|{L * ww
0}n,m|ba(ab)ab{L
nm
-
7/27/2019 Linguagens Formais e Automatos- Prof. Gerson Neto
56/61
Perguntas
vidadeprogramador.com.br
-
7/27/2019 Linguagens Formais e Automatos- Prof. Gerson Neto
57/61
Autmato Finito Determinstico
Exemplo: Dado o alfabeto = {0,1} fornea um autmatofinito determinstico que aceite a seguinte linguagem:
}yx,|x01y{L *
-
7/27/2019 Linguagens Formais e Automatos- Prof. Gerson Neto
58/61
Autmato Finito Determinstico
Exemplo: Dado o alfabeto = {a,b} fornea um autmatofinito determinstico que aceite a seguinte linguagem:
bc})({L *bba
-
7/27/2019 Linguagens Formais e Automatos- Prof. Gerson Neto
59/61
Autmato Finito Determinstico
Exemplo: Dado o alfabeto = {0,1} fornea um autmatofinito determinstico que aceite a seguinte linguagem:
11})0|1(00{L *
-
7/27/2019 Linguagens Formais e Automatos- Prof. Gerson Neto
60/61
Autmato Finito Determinstico
Atividade 3:Dado o alfabeto = {0,1} fornea autmatos finitos
determinsticos que aceite as seguintes linguagens:
0}|{L cominiciaww
0`s}deparnmeroumpossuiw|w{L 0}comterminaw|w{L
binrio}inteiroumcomodointerpretaquando3demltiploumw|w{L
Exemplos de palavras aceitas: 00 011 11 110 1100
binrio}inteiroumcomodointerpretaquando4demltiploumw|w{L
Exemplos de palavras aceitas: 00 100 1000 1100
-
7/27/2019 Linguagens Formais e Automatos- Prof. Gerson Neto
61/61
Perguntas