1 / 23

Linguagens Formais e Autômatos Conceitos Preliminares

Linguagens Formais e Autômatos Conceitos Preliminares. Prof. Humberto Brandão humberto@dcc.ufmg.br versão da aula: 0.1. Conceitos Preliminares. Alguns conceitos são pré-requisitos no aprendizado da disciplina de Teoria da Computação: Conjuntos; Funções; Grafos, Linguagens Formais;

magar
Télécharger la présentation

Linguagens Formais e Autômatos Conceitos Preliminares

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

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

More Related