Você está na página 1de 30

Linguagens Formais e

Autmatos
Contextualizao
Muzambinho, Fevereiro de 2012
Prof. Aracele Garcia de Oliveira Fassbinder
IFSULDEMINAS Campus Muzambinho
Sobre esta disciplina
O que uma linguagem formal?
O que sintaxe?
O que semntica?
Como definir uma linguagem?
O que um autmato?
....

Programa da Disciplina
Gramticas.
Linguagens regulares, livres de contexto, e sensveis ao contexto.
Tipos de reconhecedores.
Operaes com linguagens.
Propriedades das linguagens.
Autmatos de estados finitos determinstico e no determinstico.
Autmatos de pilha.
Mquina de Turing.
Hierarquia de Chomsky.
Funes Recursivas.
Tese de Church.
Problemas indecidveis.
Teorema da imcompletude de Godel.
Classes de Problemas P, NP, NP-Completo e NP-Difcil.
Mtodos de reduo de problemas.
Contexto da Disciplina no Curso
Algoritmos
Estruturas de Dados
Lgica Matemtica

Linguagens Formais

Teoria da Computao
Compiladores
Inteligncia Artificial
Bibliografia
Livro Texto: Paulo Blauth Menezes. Linguagens Formais
e Autmatos, Ed. Sagra Luzatto, 2000.
Joo Lus Garcia Rosa. Linguagens Formais e
Autmatos. Rio de Janeiro: LTC, 2010.
Lewis, H; Papadimitriou, C. Elementos de Teoria da
Computao, Bookman, 2000.
J. Hopcroft, Rajeev Motwani and Jeffrey D. Ullman,
Introduction do Automata Theory, Languages and
Computation, Addison-Wesley, 3rd ed. 2006.
Hopcroft et al. Introduo Teoria de Autmatos,
Linguagens e Computao. Campus, 2003.
www.tecmf.inf.puc-rio.br, Apostila do Prof. Jos Lucas
Rangel.



Avaliao
Descrio Geral
3 (trs) provas totalizando: 8 pts.
N atividades totalizando: 2 pts.
Descrio Detalhada
3 (trs) provas (P1, P2, P3).
P1 vale: 3,0 pts
P2 vale: 2,5 pts
P3 vale: 2,5 pts
Demais atividades (cada uma valendo 2,0 pontos)
Atividades ou trabalhos em sala ou extra-sala.
Listas de exerccios.
Seminrios.
Comportamento
Conversa, participao, desenvolvimento de atividades
adicionais, entrosamento, dedicao, comprometimento,
pontualidade na entrega das atividades.

Aulas
Um conjunto de assuntos abordados em sala pelo professor
por meio de AULAS TERICAS;
Aulas de tirar dvidas em sala de aula;
Avaliaes durante o semestre
Seminrio realizado pelos alunos apresentando aplicaes
dos assuntos estudados a problemas reais.
Algumas aulas destinadas a realizao de exerccios em
laboratrio (simuladores)
Objetivos da disciplina
Formativos
Projetar gramticas para especificar linguagens
Projetar autmatos para reconhecer linguagens
Classificar linguagens formais em funo dos seus
reconhecedores/gramticas
Entender o papel do no-determinismo na computao.
Estudar uma maneira precisa e formal de descrever sequncias de
smbolos pertencentes um determinado conjunto.

Informativos
Histria da Computao
Limitaes do processo computacional
Hierarquia de Chomsky
Complexidade
Conscientizao:
De que o conhecimento profundo dos assuntos tericos
que constituem os fundamentos conceituais e cientficos da
computao pode agregar valor
tanto qualidade do profissional de informtica
como dos produtos por ele desenvolvidos,
Histria
Na dcada de 1950, Chomsky, investigando abstraes
para uso em lingustica, plantou os alicerces tericos das
gramticas gerativas, que mais tarde vieram a manifestar
sua grande utilidade prtica nessa e em diversas outras
aplicaes, com destaque
anlise lxica e sinttica de linguagens de
programao,
modelagem do comportamento de organismos
biolgicos,
ao projeto de hardware
e ao processamento de linguagem natural.
Histria
Seu estudo foi inicialmente direcionado para questes
lingusticas associadas representao e tratamento de
linguagem natural.
Hoje nota-se sua praticidade em aplicaes voltadas para a
compilao ou interpretao de linguagens de programao
em computadores digitais.
Histria
Noam Chomsky criou em 1956 um modelo matemtico na
forma de gramtica, com o qual se props a estudar a
sintaxe de lnguas naturais, mas alguns anos mais tarde
seu modelo revelou-se expressivo em outra rea, ganhando
impulso por adequar-se perfeitamente formalizao da
linguagem de programao ALGOL 60.
Problemas e Linguagens
Um problema particularmente til na rea de computao:
Saber se uma dada string pertence ou no a uma
linguagem.

O que uma string?
O que uma linguagem?

Apresentao
Foco
Nas LINGUAGENS:
Especificao
Reconhecimento
E no ESTUDO DE MODELOS ABSTRATOS associados a
estas linguagens.

Habilita o profissional
A desenvolver argumentaes matemticas, formais e
rigorosas.
Proporciona uma grande familiaridade com os fundamentos
e princpios da Cincia da Computao.
Aplicaes
Processamento de linguagens de programao textuais.
Representaes
de processos, estruturas e protocolos e comunicao,
do fluxo da lgica dos programas,
de mquinas cujo funcionamento depende de sucessivas
alteraes do seu estado interno.
Benefcios com o seu estudo (I)
Proporciona uma viso panormica das bases cientficas da
computao;
Proporciona fundamentos tericos para a rea
(decidibilidade, computabilidade, complexidade);
Fornece um slido lastro para o desenvolvimento de
inmeras aplicaes computacionais (processamento de
linguagens, reconhecimento de padres, modelagem de
sistemas).
Benefcios com o seu estudo (II)
Estabelece forte elo entre a teoria e a prtica;
Permite que os conceitos e os resultados da teoria referente
s linguagens, seus geradores, reconhecedores e
analisadores possam ser aplicados de forma rgida;
um dos temas que se mostra mais ecltico e menos
divorciado dos demais assuntos estudados na Teoria da
Computao.
Autoridades no assunto
Noam Chomsky
Arto Salomaa
Peter Lintz
Hopcroft
Ullman

Motivao deste ramo de
conhecimento
Gira em torno da investigao do alcance das computaes,
da possibilidade ou no de se efetuarem determinadas
computaes, culminando no importante conceito de
algoritmo, cuja possibilidade de existncia fortemente
associada viabilidade prtica de materializao das
computaes realizveis.
Outras motivaes
D uma viso que permite avaliar o alcance e as limitaes
dos computadores;
Gozam, na prtica, de uma extraordinria aplicabilidade.
As ferramentas disponveis vibializam a obteno de
solues para muitos complexos problemas da prtica.
Qual a sua importncia ?
Guia:

Que problemas podem ser
efetivamente computveis, como e
com que complexidade
Exemplos prticos
Mquina de Refrigerante
Elevador
Controlador de aparelhos eletrodomsticos: microondas,
etc.
Traduo entre linguagens (portugus-libras, etc)
Semforos

Classificao dos Problemas
No-Computveis
Computveis
Indecidveis
Decidveis
Intratveis
Tratveis
Exemplos de Problemas
Computabilidade e Decidibilidade
Expressividade de Mquinas e Modelos
Equivalncia entre Programas
Complexidade Computacional
Semntica e Correo de Programas
Modelos que formalizam a noo
de ser ou no computvel
Mquinas de Turing (Turing, 1936)
Gramticas (Chomsky, 1959)
Algoritmos de Markov (Markov, 1951)
-Calculus (Church, 1936)
Sistemas de Post (Emil Post, 1936)
Funes recursivas (Kleene, 1936)

Ferramentas
JFLAP
Ferramenta visual para criao de autmatos
http://jflap.org/
SCTMF
Sistema de Criao e Teste de Modelos Formais
www.din.uem.br/~yandre/sctmf/
Language Emulator
http://homepages.dcc.ufmg.br/~lfvieira/ftc.html
Simulador Universal de Autmatos Finitos
http://simuladoruniversal.weebly.com/
Ferramentas
Nota:
GAM Ginux Abstract Machine
AFD/AFND Autmato finito determinstico e Autmato Finito No Determinstico
GR Gramtica Regular
ER Expresso Regular
AP Autmato com Pilha
MT Mquina de Turing
Fonte: http://www.br-ie.org/pub/index.php/rbie/article/viewFile/1208/1108
Eventos Relacionados
LATA - International Conference on Language
and Automata Theory and Applications
WTA - Workshop de Tecnologia Adaptativa
ICTAC - International Colloquium on Theoretical Aspects of
Computing
SBMF - Brazilian Symposium on Formal Methods
LSFA - Workshop on Logical and Semantic Frameworks,
with Applications

Referncias
A teoria da computao e o profissional de
informtica, por Joo Jos Neto. Revista de Computao e
Tecnologia da PUC-SP ReCeT, vol. I, n 1.
www.tecmf.inf.puc-rio.br/LFA
O que um autmato. http://protet.inescporto.pt/o-que-
e/automacao-industrial/o-que-e-um-automato.html
Livros listados no slide inicial sobre referncias.