Download
linguagens formais e aut matos conceitos preliminares n.
Skip this Video
Loading SlideShow in 5 Seconds..
Linguagens Formais e Autômatos Conceitos Preliminares PowerPoint Presentation
Download Presentation
Linguagens Formais e Autômatos Conceitos Preliminares

Linguagens Formais e Autômatos Conceitos Preliminares

137 Vues Download Presentation
Télécharger la présentation

Linguagens Formais e Autômatos Conceitos Preliminares

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

  1. Linguagens Formais e AutômatosConceitos Preliminares Prof. Humberto Brandão humberto@dcc.ufmg.br versão da aula: 0.1

  2. Conceitos Preliminares • Alguns conceitos são pré-requisitos no aprendizado da disciplina de Teoria da Computação: • Conjuntos; • Funções; • Grafos, • Linguagens Formais; • Gramáticas; • Problemas de Decisão;

  3. GrafosVisão geral e conceitos básicos para a disciplina- História da teoria dos grafos- Componentes dos grafos- Tipos básicos de grafos- Representação computacional- Caminhos em grafos- Busca - Em profundidade - Em largura

  4. GrafosHistória da Teoria dos Grafos • Leonhard Euler (1707-1783), no ano de 1736, resolveu um problema na cidade de Königsberg (antiga Prússia), criando assim o primeiro registro na história referente aos grafos. • Euler criou tal estrutura para resolver o clássico problema das Sete Pontes de Königsberg. • O problema era: É possível visitar todas as partes de terra desta cidade passando por cada ponte exatamente uma vez?

  5. Grafos • A cidade de Königsberg foi construída numa região onde haviam dois braços do Rio Pregel e uma ilha. Foram construídas sete pontes ligando diferentes partes da cidade, como mostrado na figura: • Problema:É possível que uma pessoa faça um percurso na cidade de tal forma que inicie e volte a mesma posição passando por todas as pontes somente uma única vez?

  6. GrafosHistória da Teoria dos Grafos • Apesar do problema ser uma brincadeira dos matemáticos da época, possui fundamental importância. • Euler isolou completamente a essência do problema, ficando apenas o que era importante para o pensamento em sua solução, que passou então a ser trivial.

  7. GrafosModelagem proposta por Euler • Todos os “pontos” de uma dada área de terra podem ser representados por um único ponto já que uma pessoa pode andar de um lado para o outro sem atravessar uma ponte. • Um ponto é conectado a outro se houver uma ponte de um lado para o outro.

  8. GrafosHistória dos Grafos • Pensamento trivial de Euler: • Não existe solução para o problema: • Saindo de A, não é possível voltar para A passando por todas as pontes sem utilizar a mesma ponte mais de uma vez porque existem faixas de terra que são conectadas com um número impar de pontes.

  9. GrafosHistória dos Grafos • O formalismo proposto por Euler ficou mais de 100 anos sem ser utilizado, vindo a ser referenciado apenas no século XIX com os trabalhos de: • Gustav Kirchoff (circuitos elétricos) • Arthur Cayley (química – desenhos de hidrocarbonetos) Butano

  10. GrafosComponentes do Grafo • Um grafo é uma estrutura matemática que contém dois tipos básicos de entidades: • Vértices • Arestas • G(V,A), onde:V = {e1, e2}A = { (e1,e1), (e1,e2) } G

  11. GrafosTipos básicos • Os grafos podem ser: • Dirigidos (G1) • Não dirigidos (G2) • Nos grafos dirigidos, as arestas representam pares ordenados. G1 G2

  12. GrafosCaracterísticas básicas – Rotulado ou Valorado • Os grafos podem ser: • Rotulados (G3) • Não Rotulados • Os rótulos indicam alguma característica para cada par de vértices, ou seja, para cada aresta. G3

  13. GrafosRepresentação computacional • Matriz de Adjacência • Útil na representação de grafos densos. • Os grafos densos são aqueles que o tamanho do conjunto das arestas (|A|) é aproximadamente o tamanho de |V|2. • Memória utilizada para o Grafo G(V,A) é |V|2.

  14. GrafosRepresentação computacional • Lista de Adjacência

  15. GrafosRepresentação computacional • Matriz de Incidência

  16. GrafosAlgumas aplicações • As aplicações de grafos nos dias de hoje são vistas nas mais diversas áreas da ciência, por exemplo: • Mapas (localização de caminhos mínimos, alternativos, etc) • Redes de computadores (roteamento de pacotes) • Teoria de Linguagens (autômatos) • Química (moléculas) • Física (circuitos) • Otimização (fluxo em redes) • Arquitetura de Computadores (Grafos planares)

  17. GrafosNo curso • Para a disciplina de Linguagens formais e autômatos, é necessárias apenas uma visão básica de grafos, sendo desenvolvida ao longo do semestre. • No decorrer do curso, vocês irão ver uma disciplina específica de grafos para maior aprendizado da área.

  18. Linguagens Formais

  19. Linguagens Formais • INSERIR AULA DE GRAFOS

  20. Gramáticas

  21. Gramáticas • INSERIR AULA DE GRAFOS

  22. Problemas de Decisão

  23. Problemas de Decisão • INSERIR AULA DE GRAFOS