DETERMINAÇÃO DO CAMINHO DE CUSTO ÓTIMO

Tamanho: px
Começar a partir da página:

Download "DETERMINAÇÃO DO CAMINHO DE CUSTO ÓTIMO"

Transcrição

1 0 MICHEL HENRIQUE DE PAULA BUENO RA sem. DETERMINAÇÃO DO CAMINHO DE CUSTO ÓTIMO Jaguariúna 2005

2 1 MICHEL HENRIQUE DE PAULA BUENO RA sem. DETERMINAÇÃO DO CAMINHO DE CUSTO ÓTIMO Monografia apresentada à disciplina Trabalho de Graduação III, do curso de Ciência da Computação da Faculdade de Jaguariúna, sob orientação do Prof. Ms. Fábio Alexandre Gaion Casotti, como exigência parcial para conclusão do curso de graduação. Jaguariúna 2005

3 2 BUENO, Michel Henrique de Paula. Determinação do Caminho de Custo Ótimo. Monografia defendida e aprovada na FAJ em 15 de dezembro e 2005 pela banca examinadora constituída pelos professores: Prof. Ms. Fábio Alexandre Gaion Casotti FAJ Orientador Prof. Ms. Peter Jandl Jr. FAJ Coordenador do curso Prof. Ms. Sílvio Petroli Neto FAJ Professor convidado

4 Dedico este trabalho aos meus pais Adriano Henrique e Marisa Isabel, que me proporcionaram a oportunidade de hoje estar aqui finalizando este curso. 3

5 4 Agradecimentos Gostaria de agradecer a minha noiva Tatiane, pela paciência com a distância e pelo amor concedido - tenham certeza que o recíproco é verdadeiro. Agradeço ao professor, orientador e amigo Fábio Alexandre Gaion Casotti, pela atenção e confiança depositada; e também ao coordenador Peter Jandl Junior e professores do curso de Ciência da Computação da FAJ pelo curso proporcionado: serei eternamente grato pela oportunidade. Agradeço também meus amigos por todos os momentos inesquecíveis que vivemos ao longo destes 4 anos de caminhada. Sem vocês o curso não teria a menor graça! A Deus, pela plenitude da vida; pela maravilha do mundo.

6 "Ciência da computação está tão relacionada aos computadores quanto a Astronomia aos telescópios, Biologia aos microscópios, ou Química aos tubos de ensaio. A Ciência não estuda ferramentas. Ela estuda como nós as utilizamos, e o que descobrimos com elas. (Edsger Dijkstra) 5

7 6 BUENO, Michel Henrique de Paula. Determinação do Caminho de Custo Ótimo Monografia (Bacharelado em Ciência da Computação) Curso de Ciência da Computação da Faculdade de Jaguariúna, Jaguariúna. RESUMO DETERMINAÇÃO DO CAMINHO DE CUSTO ÓTIMO As pessoas na sociedade atual necessitam cada vez mais de instrumentos que lhes permitam uma melhor localização e orientação geográfica. A dificuldade em definir rotas para uma frota de veículos para atender determinadas demandas dentro de um ambiente geograficamente reduzido tem incentivado um grande número de pesquisas a fim de otimizar estes tráfegos. Este trabalho tem por objetivo prover uma solução viável, de custo ótimo ou próximo a este, para o problema de determinação do caminho ótimo. Para tal, o modelo apresentado utiliza um algoritmo baseado no algoritmo de Dijkstra, um algoritmo que conduz a uma solução rápida. Palavras-chave: OTIMIZAÇÃO, GRAFO, ALGORITMO DIJKSTRA, CAMINHO DE CUSTO ÓTIMO. ABSTRACT DETERMINATION OF THE WAY OF EXCELLENT COST The people in the current society need each time more than instruments that allow to one better localization and geographic orientation them. The difficulty in defining routes for a fleet of vehicles to take care of definitive demands inside of an environment geographically reduced has stimulated a great number of research in order to optimize these traffics. This work has for objective to provide a viable solution, of excellent or next cost to this, for the problem of determination of the excellent way. For such, the presented model uses an algorithm based on the algorithm of Dijkstra, an algorithm that leads to a fast solution. Keywords: OPTIMIZATION, GRAPH, ALGORITHM DIJKSTRA, WAY OF EXCELLENT COST.

8 7 SUMÁRIO LISTA DE FIGURAS INTRODUÇÃO Introdução Objetivo Motivações Estrutura da Monografia GRAFO Conceitos Fundamentais em Teoria dos Grafos Histórico Definições e Notações Básicas REPRESENTAÇÃO DE UM GRAFO NO COMPUTADOR Matriz de Adjacências Listas de Adjacências Matriz de Incidência OTIMIZAÇÃO - AS ORIGENS DO PROBLEMA O Problema do Caminho Mais Curto (PCMC) Formulação Problemas Correlatos e Aplicações Algoritmos de Solução Algoritmo de Dijkstra Algoritmo de Ford-Moore-Bellman Estado da Arte O PROBLEMA DA ROTA MAIS BARATA SUJEITA A PEDÁGIO INTERFACE DO SISTEMA Página Inicial Página de Resultados CONCLUSÕES Conclusão Melhoramentos REFERÊNCIAS BIBLIOGRÁFICAS APÊNDICES Parâmetros do Problema Algoritmo... 33

9 8 LISTA DE FIGURAS Figura 2.1: Grafo...12 Figura 2.2: Grafo Figura 2.3: Grafo Figura 2.4: Grafo Figura 2.5: Grafo Completo Figura 2.6: Grafo Figura 2.7: Grafo Figura 2.8: Grafo Figura 2.9: Grafo Figura 2.10: Grafo Figura 2.11: Grafo Figura 3.1: Matriz de Adjacência Figura 3.2: Lista de Adjacência Figura 3.3: Matriz de Incidência grafo direcionado Figura 4.1: Algoritmo de Dijkstra Figura 4.2: Algoritmo de Ford-Moore-Bellman Figura 5.1: Distâncias entre as Cidades Figura 5.2: Tarifas de pedágio por trechos Figura 6.1: Tela inicial...28 Figura 6.2: Tela de resultados...28

10 9 1. INTRODUÇÃO 1.1. Introdução Na presente monografia, consideramos a questão-problema de como definir a melhor rota rodoviária entre duas cidades, ou seja, determinação do caminho ótimo, uma subárea da área de Pesquisa Operacional (Otimização). A aplicação visa atender as necessidades dos usuários da malha viária da Renovias (Concessionária de rodovias), possui um componente importante no sentido de proporcionar uma ferramenta que possibilita a redução de custos dos clientes, bem como o atendimento de uma demanda dos mesmos. O Sistema Renovias é formado por cinco rodovias que ligam Campinas ao Circuito das Águas e Sul de Minas: SP-340 (Campinas / Mogi Mirim / Mococa), SP-344 (Aguaí / Vargem Grande do Sul), SP-342 (Mogi Guaçu / Espírito Santo do Pinhal / São João da Boa Vista / Águas da Prata), SP-350 (Casa Branca / São José do Rio Pardo) e SP-215 (Vargem Grande do Sul / Casa Branca), numa extensão de 345,6 km s Objetivo O objetivo do projeto foi desenvolver uma aplicação capaz de encontrar a melhor rota rodoviária entre dois pontos, apresentando informações como distância percorrida, tarifas de pedágio, combustível consumido, tempo de viagem, etc., a fim de oferecer aos usuários da malha viária da Renovias uma solução viável, de custo ótimo ou próximo a este, para um melhor planejamento de sua viagem Motivações Obviamente, o interesse deste projeto não é meramente acadêmico, pelo contrário, as suas potencialidades de mercado são consideráveis. Na sociedade atual as pessoas necessitam cada vez mais de instrumentos que lhes permitam uma melhor localização e orientação geográfica. O desenvolvimento de uma aplicação deste gênero permitirá a todos os usuários saber qual o caminho ótimo entre duas cidades, entre outras informações relevantes Estrutura da Monografia A Monografia está estruturada em oito Capítulos: 1º Capítulo Introdução É apresentado o objetivo, motivações e descreve as várias etapas da realização do projeto.

11 10 2º Capítulo Grafo Descreve onde surgem vários problemas de grafos, um histórico, definições e notações básicas sobre grafos. 3 Capítulo Representação de um Grafo no computador Define matriz de adjacências e lista de adjacências. 4 Capítulo Otimização Relata as origens do problema, a formulação do problema do caminho mais curto, problemas correlatos. Descreve os algoritmos de Dijkstra e Ford-Moore-Bellman como algoritmos de solução. 5 Capítulo O problema da rota mais barata sujeita a pedágio Estabelece os critérios e restrições para elaboração do algoritmo. 6 Capítulo Interface do Sistema Neste capítulo são apresentadas as telas do sistema. 7º Capítulo Conclusões Neste capítulo são feitas a considerações finais sobre o projeto e ainda referenciados possíveis melhoramentos a aplicação. Apêndices Apresenta os parâmetros do problema e o algoritmo.

12 11 2. GRAFO 2.1. Conceitos Fundamentais em Teoria dos Grafos Teoria dos grafos é uma ferramenta útil na modelagem e formulação de problemas, tornando-os mais claros e precisos. Algumas vezes, uma formulação simples e precisa de um problema nos ajuda a compreendê-lo melhor. O maior trunfo de uma ferramenta de formulação é a possibilidade de compreender o modelo matemático de modo simplificado. Deste modo, na Teoria dos Grafos, a maior unidade de aprendizado que se usa é a assistência a colocações e possíveis encaminhamentos futuros a um problema. Uma vez que um problema seja formulado em linguagem teórica de grafos, os conceitos de Teoria dos Grafos podem ser usados para definir o que é necessário para analisar o problema. No entanto, alguns problemas podem ser modelados somente em parte por grafos (como por exemplo, problemas relacionados a telecomunicações), nos levando a crer que a Teoria de Grafos é algo que complementa com elegância a análise de vários problemas de nosso dia a dia. Problemas de Grafos surgem geralmente em: Determinação de Caminhos; Redes de comunicação; Localização de facilidades (Depósitos, Hospitais, Escolas, etc.); Desenhos de circuitos impressos; Desenho e/ou layout de revistas, jornais, etc; Distribuição de produtos; Telecomunicações; Limpeza urbana; Controle de tráfego; Atribuição de rádio freqüência móvel, etc. A Teoria dos grafos é uma ferramenta poderosa utilizada para solucionar uma série de problemas e, algumas vezes, fornecer idéias sobre como resolvê-los. Em geral, a Teoria de Grafos deve ser utilizada em conjunto com outras ferramentas (por exemplo, matemáticas ou estatísticas) a fim de se resolver de forma satisfatório um dado problema. Felizmente, o uso da teoria dos grafos pode nos ajudar a compreender de maneira sucinta o significado de problemas ligados ao dia a dia e algumas de suas possíveis soluções Histórico [1736] - Problema das Pontes de Konisbergs (Euler)

13 12 Origem da teoria dos grafos. [1850] - Problema das Quatro Cores (De Morgan) Qual o número mínimo de cores para se colorir um mapa. [1859] - Problema do Ciclo Hamiltoniano (Hamilton) É possível realizar um caminho no grafo, de tal forma a percorrer todos os vértices uma única vez e voltar ao ponto de partida? [1940] - Utilização em Pesquisa Operacional Impulsionada pelas pesquisas militares. [1960] - Uso em Informática Informática proporciona avanço em Teoria dos grafos, através da resolução de problemas computacionalmente Definições e Notações Básicas O conceito de Grafo é extremamente simples e até mesmo intuitivo. Podemos considerar que um grafo nada mais é que uma representação gráfica de interdependência entre elementos que são representados por nós. Elementos que atendem à relação imaginada são simbolicamente unidos através de um traço denominado aresta. O modelo possui uma interpretação gráfica muito confortável; contudo, tal desenho não tem o poder, em várias situações reais, de formalizar completa e satisfatoriamente a estrutura imaginada. Devido a esse fato é necessário que um grafo seja também definido analiticamente. Segundo Barbosa (1974, 1975) e Furtado (1973), um grafo é uma estrutura de abstração que representa um conjunto de elementos denominados nós e suas relações de interdependência ou arestas. Sua representação matemática é denominando por V o conjunto de vértices da estrutura, e por E o conjunto das arestas ou ligações entre os vértices (ver figura 2.1), um grafo pode ser representado por: G = ( V, E) Vértice. C Aresta A B Figura 2.1: Grafo Os termos nós e vértices são empregados usualmente como sinônimos.

14 13 Grafo Um grafo G(V,E) é definido pelo par de conjuntos V e E, onde: V - conjunto não vazio: os vértices ou nodos do grafo; E - conjunto de pares ordenados e=(v,w), v e w Î V: as arestas do grafo. Seja, por exemplo, o grafo G(V,E) dado por: V = { p p é uma pessoa } E = { (v,w) < v é amigo de w > } Esta definição representa toda uma família de grafos. Um exemplo de elemento desta família (ver figura 2.2) é dado por: V = { Maria, Pedro, Joana, Luiz } Maria Pedro E = { (Maria, Pedro), (Joana, Maria), (Pedro, Luiz), (Joana, Pedro) } Joana Luiz Figura 2.2: Grafo 1 Neste exemplo estamos considerando que a relação <v é amigo de w> é uma relação simétrica, ou seja, se <v é amigo de w> então <w é amigo de v>. Como conseqüência, as arestas que ligam os vértices não possuem qualquer orientação. Dígrafo (Grafo Orientado) Considere, agora, o grafo definido por: V = { p p é uma pessoa da família Castro } E = { (v,w) < v é pai/mãe de w > } Um exemplo de deste grafo (ver figura 2.3) é: V = { Emerson, Isadora, Renata, Antonio, Rosane, Cecília, Alfredo } E = {(Isadora, Emerson), (Antonio, Renata), Emerson Renata Antonio (Alfredo, Emerson), (Cecília, Antonio), (Alfredo, Antonio)} Isadora Alfredo Cecília Figura 2.3: Grafo 2 A relação definida por E não é simétrica pois se <v é pai/mãe de w>, não é o caso de <w é pai/mãe de v>. O grafo acima é dito ser um grafo orientado (ou digrafo), sendo que as conexões entre os vértices são chamadas de arcos. Ordem A ordem de um grafo G é dada pela cardinalidade do conjunto de vértices, ou seja, pelo número de vértices de G. Nos exemplos acima: ordem(ver figura 2.2) = 4 ordem(ver figura 2.3) = 6

15 14 Adjacência Em um grafo simples (ver figura 2.2) dois vértices v e w são adjacentes (ou vizinhos) se há uma aresta e=(v,w) em G. Está aresta é dita ser incidente a ambos, v e w. É o caso dos vértices Maria e Pedro na figura 2.2. No caso do grafo ser dirigido (ver figura 2.3), a adjacência (vizinhança) é especializada em: Sucessor: um vértice w é sucessor de v se há um arco que parte de v e chega em w. Na figura 2.3, por exemplo, diz-se que Emerson e Antonio são sucessores de Alfredo. Antecessor: um vértice v é antecessor de w se há um arco que parte de v e chega em w. Na figura 2.3, por exemplo, diz-se que Alfredo e Cecília são antecessores de Antonio. Grau O grau de um vértice é dado pelo número de arestas que lhe são incidentes. Na figura 2.2, por exemplo: grau(pedro) = 3 grau(maria) = 2 No caso do grafo ser dirigido (ver figura 2.3), a noção de grau é especializada em: Grau de emissão: o grau de emissão de um vértice v corresponde ao número de arcos que partem de v. Na figura 2.3, por exemplo: graudeemissao(alfredo) = 2 Grau de recepção: o grau de recepção de um vértice v corresponde ao número de arcos que chegam a v. Na figura 2.3, por exemplo: grauderecepção(alfredo) = 0 Fonte Um vértice v é uma fonte se grauderecepção(v) = 0. É o caso dos vértices Isadora, Alfredo e Cecília na figura 2.3. Sumidouro Um vértice v é um sumidouro se graudeemissão(v) = 0. É o caso dos vértices Renata e Emerson na figura 2.3. Grafo Regular Um grafo é dito ser regular quando todos os seus vértices têm o mesmo grau. O grafo 3 (ver figura 2.4), por exemplo, é dito ser um grafo regular-3, pois todos os seus vértices tem grau 3. Figura 2.4: Grafo 3

16 15 Grafo Completo Um grafo é dito ser completo (ver figura 2.5) quando há uma aresta entre cada par de seus vértices. Estes grafos são designados por Kn, onde n é a ordem do grafo. K 1 K 2 K 3 K 4 K 5 Figura 2.5: Grafo Completo Um grafo Kn possui o número máximo possível de arestas para um dado número de nós n. Ele é, também regular-(n-1), pois todos os seus vértices tem grau n-1. Grafo Bipartido Um grafo é dito ser bipartido quando seu conjunto de vértices V puder ser particionado em dois subconjuntos V1 e V2, tais que toda aresta de G une um vértice de V1 a outro de V2. Para exemplificar, sejam os conjuntos H={h h é um homem} e M={m h é uma mulher} e o grafo G(V,E) (ver o exemplo G4) onde: V = H M E = {( v, w) ( v H e w M ) ou ( v M e w H ) e v foi namorado de w } Maria Joana Carla M Pedro Luiz H Figura 2.6: Grafo 4 O grafo 5 (ver figura 2.7) é uma K 3, 3, ou seja, um grafo bipartido completo que contém duas partições de 3 vértices cada. Ele é completo pois todos os vértices de uma partição estão ligados a todos os vértices da outra partição. K 3,3 Figura 2.7: Grafo 5 Grafo Valorado Um grafo G(V,E) é dito ser valorado quando existe uma ou mais funções relacionando V e/ou E com um conjunto de números. Para exemplificar (ver figura 2.8), seja G(V,E) onde:

17 16 V = {v v é uma cidade com aeroporto} E = {(v,w,t) <há linha aérea ligando v a w, sendo t o tempo esperado de vôo>} Multigrafo São Paulo 20 Curitiba Porto Alegre 45 Florianópolis Figura 2.8: Grafo 6 Um grafo G(V,E) é dito ser um multigrafo quando existem múltiplas arestas entre pares de vértices de G. Na figura 2.9, o grafo 7, por exemplo, há duas arestas entre os vértices A e C e entre os vértices A e B, caracterizando-o como um multigrafo. A C B D Subgrafo Figura 2.9: Grafo 7 Um grafo Gs(Vs, Es) é dito ser subgrafo de um grafo G(V,E) quando Vs Ì V e Es Ì E. Na figura 2.10, o grafo 8, por exemplo, é subgrafo do grafo 7 na figura 2.9. C B D Cadeia Figura 2.10: Grafo 8 Uma cadeia é uma seqüência qualquer de arestas adjacentes que ligam dois vértices. O conceito de cadeia vale também para grafos orientados, bastando que se ignore o sentido da orientação dos arcos. A seqüência de vértices (x6, x5, x4, x1) é um exemplo de cadeia na figura Uma cadeia é dita ser elementar se não passa duas vezes pelo mesmo vértice. x x 3 1 x É dita ser simples se não passa duas vezes 2 pela mesma aresta (arco). x 4 x O comprimento de uma cadeia é o número de 5 x 6 arestas (arcos) que a compõe. Figura 2.11: Grafo 9 Caminho Um caminho é uma cadeia na qual todos os arcos possuem a mesma orientação. Aplica-se, portanto, somente a grafos orientados. A seqüência de vértices (x1, x2, x5, x6, x3) é um exemplo de caminho na figura 2.11.

18 17 Ciclo Um ciclo é uma cadeia simples e fechada (o vértice inicial é o mesmo que o vértice final). A seqüência de vértices (x1, x2, x3, x6, x5, x4, x1) é um exemplo de ciclo elementar na figura Circuito Um circuito é um caminho simples e fechado. A seqüência de vértices (x1, x2, x5, x4, x1) é um exemplo de circuito elementar na figura Fecho Transitivo O fecho transitivo direto (ftd) de um vértice v é o conjunto de todos os vértices que podem ser atingidos por algum caminho iniciando em v. O próprio vértice faz parte do ftd já que ele é alcançável partindo-se dele mesmo. O fecho transitivo inverso (fti) de um vértice v é o conjunto de todos os vértices a partir dos quais se pode atingir v por algum caminho. O próprio vértice faz parte do fti já que dele se pode alcançar ele mesmo. Grafo Conexo Um grafo G(V,E) é dito ser conexo se há pelo menos uma cadeia ligando cada par de vértices deste grafo G. Grafo Desconexo Um grafo G(V,E) é dito ser desconexo se há pelo menos um par de vértices que não está ligado por nenhuma cadeia. Ponte Uma aresta é dita ser um a ponte se sua remoção provoca uma redução na conexidade do grafo. Árvore Uma árvore é um grafo conexo sem ciclos. Seja G(V,E) um grafo com ordem n > 2; as propriedades seguintes são equivalentes para caracterizar G como uma árvore: G é conexo e sem ciclos; G é sem ciclos e tem n-1 arestas; G é conexo e tem n-1 arestas; G é sem ciclos e por adição de uma aresta se cria um ciclo e somente um;

19 18 G é conexo, mas deixa de sê-lo se uma aresta é suprimida (todas as arestas são pontes); todo par de vértices de G é unido por uma e somente uma cadeia simples. Arborescência Uma arborescência é uma árvore que possui uma raiz. Aplica-se, portanto, somente a grafos orientados. Floresta Uma floresta é um grafo cujas componentes conexas são árvores.

20 19 3. REPRESENTAÇÃO DE UM GRAFO NO COMPUTADOR 3.1. Matriz de Adjacências Seja G = ( V, E) um grafo com n vértices. A matriz de adjacência (ver figura 3.1) para G é um array bidimensional n x n, que denotaremos por A, onde A( i, j) = 1 se a aresta ( V i, V j ) simétrica. está presente em G. A matriz de adjacência para grafos não dirigidos é sempre Figura 3.1: Matriz de Adjacência O grau de um vértice Vi em um grafo não dirigido, representado por matriz de adjacência, pode ser obtido pela soma de sua linha (ou coluna) correspondente. Para um dígrafo, a soma dos elementos na linha i V representa o grau de saída do vértice i enquanto a soma dos elementos na coluna j representam o grau de entrada de O problema com matriz de adjacência na representação de grafos é que questões como: 'quantas arestas existem no grafo? ', 'o grafo é conexo? ', serão respondidas em tempo 2 O( n ). Se o grafo possui poucas arestas, este tempo pode ser melhorado utilizando-se listas de adjacências, como veremos a seguir Listas de Adjacências Nesta representação, as n linhas da matriz de adjacência são representadas como n listas encadeadas. Existe uma lista para cada vértice em G (ver figura 3.2). Os nós na lista i representam os vértices que são adjacentes ao vértice i. Cada nó na lista possui pelo menos dois campos: VÉRTICE, que armazena o índice do vértice que é adjacente i e NEXT, que é um ponteiro para o próximo nó adjacente. As cabeças das listas podem ser armazenas em um array de ponteiros para facilitar o acesso aos vértices. É conveniente armazenarmos em cada entrada do array de cabeças de listas um campo FLAG que será utilizado posteriormente para indicar se um dado vértice possui V i.

21 20 alguma propriedade, por exemplo, em buscas, este FLAG pode indicar se um dado vértice já foi visitado ou não. v1 2 3 v2 v1 v3 v v v4 2 8 v5 v6 v5 2 8 v6 3 8 v4 v8 v7 v7 3 8 v Figura 3.2: Lista de Adjacência No caso de um grafo não dirigido com n vértices e e arestas, a representação acima requer um array de tamanho n para as cabeças e 2 e nós nas listas. O grau de qualquer vértice i em um grafo não dirigido pode ser determinado pelo número de nós na lista do vértice i. O número total de arestas no grafo pode ser determinado em tempo ( n e) O +. No caso de dígrafos, o número total de nós nas listas é e. O grau de saída de um nó i é o número de nós na lista do vértice i. O grau de entrada de um vértice i pode ser calculado em tempo O ( n + e) (como este cálculo pode ser feito?). Existem variações dessas representações para se mostrar as arestas que ligam determinados vértices. São chamada Matriz de Incidência e Lista de Arestas Incidentes Matriz de Incidência Nesse caso as colunas da matriz correspondem às arestas do grafo e as linhas aos nós (ver figura 3.3). Uma matriz x m A [ ] ( N M ) n = é denominada como de incidência do grafo G =, se, para todo arco j que liga o nó k ao nó l temos: a a a ij ij ij = + 1 i = k = 1 i = 1(para grafo direcionado, senão a = 0 nos outros casos u 1 u 2 u 3 u 4 a ij ij 1 ) u 1 u 2 u 3 u Figura 3.3: Matriz de Incidência grafo direcionado

22 21 4. OTIMIZAÇÃO - AS ORIGENS DO PROBLEMA Em inúmeras situações, o problema de otimização estará associado às alternativas de conexão entre facilidades, ou entre os clientes e suas facilidades. Os problemas de localização caracterizam várias situações em que existe a necessidade de se examinar a distribuição do atendimento. Uma outra espécie de situação exige o estudo mais aproximado das ligações entre as demandas e seus pontos de atendimento. Nesse tipo de problemas em que a tomada de decisão é polarizada pela arquitetura de ligação, três estruturas de representação são extremamente importantes: Caminhos: quando o foco está em uma trajetória; Árvores: quando o foco está na continuidade da conexão e no estabelecimento de uma espinha dorsal sobre um conjunto de pontos demandantes, e Emparelhamento (matching): quando o problema da conexão envolve pequenos grupamentos. O critério mais comum para esses tipos de problemas é o de minimização da estrutura conectora ou do processo de ligação, daí a importância do caminho mais curto (a ligação mais barata entre dois pontos), das diversas árvores mínimas (a estrutura de conexão global mais barata) e do matching mínimo (emparelhamento de pontos dois a dois a custo mínimo) O Problema do Caminho Mais Curto (PCMC) Sendo u e v dois vértices do grafo G = ( N, M ), o caminho mais curto entre u e v é uma seqüência de arestas que, passando por vértices distintos, liga u a v de forma a acumular o menor comprimento, ou distância. Para que possa haver um caminho mais curto entre os vértices u e v é indispensável que exista primeiramente uma conexão entre u e v, ou seja, se existe um caminho de u para v, significa que v é um sucessor de u em algum passeio legal sobre o conjunto N. O problema do caminho mais curto está contextualizado dentro do problema maior de percursos em grafos, que envolve: Caminhos mais curtos; Caminhos mais longos, e Percursos Hamiltonianos e Eulerianos. O problema de caminhos mais curtos está intimamente relacionado à solução de vários problemas combinatórios como os de roteamento, programação e seqüenciamento de tarefas etc. O problema de percursos ou de passeios, é um dos mais conhecidos e antigos na pesquisa operacional e sua solução foi sugerida até mesmo em lendas mitológicas da Grécia Antiga. O problema mais elementar na otimização de percursos é o chamado

23 22 problema do labirinto, em que o objetivo é apenas não repetir trajetos já realizados. Nessa linha de raciocínio, encontramos o chamado algoritmo de Trémaux (ver Boaventura [1996]). A característica desse algoritmo é que a estrutura do grafo (labirinto) não precisa ser conhecida e, na medida da própria leitura dos dados, o exame pode ser realizado. Algoritmos nessa linha de solução são hoje bastantes desejáveis, na medida em que a robótica exige cada vez melhores algoritmos para a navegação (Bar-Eli et al. [1994] e Papadrimitriou e Yannakakis [1989]) em contextos com vários elementos de incerteza. Como a solução encontrada por Teseu na lenda do Minotauro, o algoritmo de Trémaux marca cada aresta percorrida pela busca para evitar que o expedicionário se perca no trajeto. Os algoritmos de caminho mais curto, contudo, dispondo de todas as informações possíveis sobre o grafo, objetivam minimizar os esforços de busca Formulação Podemos formular o problema do caminho mais curto como um problema de programação matemática da seguinte forma: z = (CMC) Minimizar ( i, j ) sujeito a: xij x ( i, j ) A ( k, i) A x ij c ij A x 1 se i = o = se i o e i d ki 0 se i d + 1 = ( 0,1) ( i, j) A ij Onde os vértices o e d representam os vértices de início e término do caminho Problemas Correlatos e Aplicações O problema do caminho mais curto está associado a um enorme número de outros problemas na área de roteamento, manufatura, fluxo em redes etc. Destacaremos dois modelos mais recentes: Caminhos mais Curto com Janelas de Tempo (PCMC-JT): trata-se da versão do caminho mais curto restrita em um intervalo de chegada aos nós, semelhante aos problemas de roteamento com janela de tempo. Desrochers e Saumis [1988] estudam a adaptação dos algoritmos de rotulação para esse caso. Caminho mais Curto em Grafos Estocásticos (PCMC-GE): nesse caso existem algumas linhas de trabalho que incluem: Falha nos vértices (Jaillet [1992]). Custos estocásticos (Loui [1983]).

24 23 Ligações estocásticas (Psaraftis e Tsitsiklis [1993]). As estratégias de abordagens para a solução definem o caminho ótimo sob incerteza como: Aquele que não excede o comprimento do caminho em valores pré-fixados (Henig [1990]). Aquele que mais provavelmente vai se aproximar do caminho mais curto (Sigal et al. [1980]). Aquele que a priori minimiza a distância esperada (Jaillet [1992]) Algoritmos de Solução Na área de programação matemática encontramos as possibilidades para a solução do PCMC: Algoritmos com especialização do simplex. Algoritmos de fluxo. Entretanto, os mais eficientes algoritmos hoje estão disponíveis através da abordagem em grafos. Nessa linha, dentre várias, duas grandes vertentes são dominantes: Algoritmos de ajustes sucessivos. Algoritmos por indução e ajuste. Em relação ao problema em si, três situações são distintas: O caminho mais curto entre um par de nós. O caminho mais curto entre todos os nós do grafo. O caminho mais curto entre um nó origem e vários nós destinos Algoritmo de Dijkstra Em 1959 Dijkstra sugeriu um algoritmo de rotulação para caminhos em grafos com arcos positivos, utilizando indução e ajuste, eficiente e de fácil implementação computacional. Chamando de: Lista F (lista de nós fechados) = o conjunto dos vértices para o qual já se conhece um caminho mínimo. Lista A (lista dos nós abertos) = o conjunto dos nós para o qual ainda não se conhece um caminho mínimo. t = contador de iterações. V = representando o conjunto dos nós rotulados e abertos em G. r = índice do vértice a ser fechado na iteração t.

25 24 C = ( ) cij diretamente. = matriz de custos representando as distâncias entre vértices ligados d ij = a distância entre os vértices xi e x j na iteração t. rot( i) = vetor que guarda o vértice que deu origem à distância calculada para o vértice de índice i. ( r) R + = conjunto de vizinhos do vértice de índice r. Podemos descrever o algoritmo como se resume abaixo: Algoritmo Dijkstra (Caminho mais Curto) INÍCIO Ler os dados de G ( N, A) =, onde d ij Inicializar variáveis 0 { rot( i) 0, i N} t a n fazer Para = 1 Início FIM Fim r x F F A A \ é a distância entre os nós vizinhos de G { }; V { x } 1 d ; { } 11 d i N \ 1 i x1 { r} ; { r} ; + R ( r) V A Para i V fazer min { d } i tal que d1i i1 xi A Início Fim t 1 { d ( d d )} p min + Se p 1 i, 1 < d t 1i Início Fim 1r, então ri d t 1 i p ; rot 1 ( ) r Figura 4.1: Algoritmo de Dijkstra ; { N} A ; F φ ; 2 A complexidade do algoritmo de Dijkstra é O( n ). Esse algoritmo não é capaz de encontrar caminhos mais curtos em presença de arcos negativos, uma vez que a cada iteração, o vértice examinado com menor distância acumulada é fechado. O Algoritmo calcula as menores distâncias de um vértice inicial a todos os outros.

26 Algoritmo de Ford-Moore-Bellman O algoritmo de Ford-Moore-Bellman, assim denominado em homenagem ao trabalho simultâneo desses pesquisadores (ver Bellman [1958]), mas publicado em épocas diferentes, abre mão do fechamento de um nó a cada iteração, e examina todos os nós até que não seja mais possível melhorias, podendo, com isso, aceitar arestas negativas. O critério de parada está associado a não modificação de todos os rótulos em uma iteração. A idéia básica da iteração é de que, se um caminho de um vértice s para um j contém k arestas, um caminho melhor de s para j conterá, no máximo, k + 1 arestas. Denominado de: l ( s, j) l s = comprimento de um caminho entre s e j. = comprimento do caminho associado ao nó s. k l j = comprimento do menor caminho P k sj A. O algoritmo pode ser assim descrito: Algoritmo Ford-Moore-Bellman INÍCIO k Psj usando no máximo k arcos, em que Ler os dados de G = ( N, A), onde l ( i, j) é o comprimento da aresta ( j) sejam i, j vizinhos em G e S o nó inicial da busca. Inicializar variáveis 1 { l( i j) se ( i, j) A}, ; Enquanto FIM l Início Fim k 1 j k l, j N j k + 1 l j minl k k k ; { l l 0}{ l 0, j = 1,..., n 1} fazer k j, 1 s s j ; l( s, j) min i k [ l + l( i, j) ] i i j, s; j = 1,..., n 1 Figura 4.2: Algoritmo de Ford-Moore-Bellman i para quaisquer que { j = 1,..., n 1} l s ;

27 Estado da Arte Abaixo, temos a relação dos vários algoritmos exatos que solucionam o problema de caminho mais curto: Autores Ano Descrição Complexidade Dijkstra 1959 Seleciona o nó de menor potencial O(n 2 ) Ford-Moore-Bellman 1956 Técnica de rotulação FIFO O(mn) Ford-Fulkerson 1962 Técnica de rotulação FIFO O(mn) Floyd-Warshall 1962 Técnica da operação tríplice O(n 3 ) Hu 1967 Algoritmo matricial O(mn) Dial 1969 Buckets e FIFO O(m+Cn) Pape 1974 Incremental sobre um conjunto de nós W restrito Θ(n2 n ) Pallottino 1984 Incremental sobre um conjunto de nós W restrito O(n2m) Glover & Glover-Klingman 1984 Combinação das abordagens Dijkstra e Ford-Moore-Bellman O(mn) Goldberg-Radzik 1993 Manipulação de conjuntos de rotulação

28 27 5. O PROBLEMA DA ROTA MAIS BARATA SUJEITA A PEDÁGIO Um carro pretende cruzar um trecho de estradas pedagiadas administrado pela RENOVIAS, trafegando da cidade X para a cidade Y. O custo da travessia é igual à soma do total da distância percorrida com o valor do pedágio.as regras de pedágio são simples: o carro paga a tarifa do pedágio correspondente ao trecho percorrido. A figura 5.1 apresenta as distâncias entre as cidades X e Y dentro das rotas possíveis, e a figura 5.2 as tarifas de pedágio de cada trecho passível de utilização. I 15 Q I p19 Q P p8 p18 P H 37 G O K 10 L 22 M N H p7 G p6 p11 p17 p15 O p16 p13 K L M p12 p14 N F 26 F p10 8 E 28 J p5 E p9 J 10 p4 D 30 C D p3 C 18 A 18 B Figura 5.1: Distâncias entre as Cidades p2 p1 A B Figura 5.2: Tarifas de pedágio por trechos Existem diversas soluções, entre soluções algébricas e algoritmos, desenvolvidos para o cálculo do caminho de menor custo entre pontos. Para esse trabalho, algumas características específicas levaram a utilizar o algoritmo de Dijkstra para servir de base para o desenvolvimento do algoritmo desejado. O algoritmo de Dijkstra foi escolhido por ser um algoritmo que conduz a uma solução rápida e por trabalhar com arcos positivos, que é o caso acima.

29 28 6. INTERFACE DO SISTEMA 6.1. Página Inicial É a página de entrada da aplicação, onde apresenta uma tabela com cidades e distâncias fictícias Página de Resultados Figura 6.1: Tela inicial É a página da aplicação, que mostra o itinerário por onde se tem de passar para, pelo trajeto ótimo, chegar do local de Origem ao local de Destino. Figura 6.2: Tela de resultados

30 29 7. CONCLUSÕES 7.1. Conclusão Após o término deste grande desafio que delimita a conclusão da vida acadêmica, posso afirmar que me sinto bem mais preparado para os desafios do cotidiano. O desenvolvimento do projeto nos últimos meses foi sem dúvida um período de muita aprendizagem. Após a realização de um projeto como este, de viver todas as experiências que até à data eram desconhecidas, posso dizer que esta experiência foi muito marcante e enriquecedora. O fato de o projeto movimentar vários conceitos, tais como: programação, desenvolvimento de software, pesquisa operacional e estrutura de dados, entre outros, permitiu aplicar e relembrar conceitos apreendidos anteriormente em disciplinas deste curso. Com o passar do tempo o projeto foi ganhando forma, cada obstáculo ultrapassado permitiu observar um obstáculo ainda maior que o anterior. Foram meses de trabalho, onde a capacidade de organização, estruturação, análise e resolução de problemas foi grande. O nível de funcionalidade é satisfatório, preenchendo os requisitos que foram estabelecidos Melhoramentos O primeiro melhoramento que sugeria que se fizesse na aplicação, era implementar uma base de imagens do percurso a ser percorrido, isto é, marcar nas imagens as rodovias e os pedágios que pertencessem ao percurso. Outros melhoramentos poderão ser realizados o que tornaria a aplicação ainda mais interessante. Um deles é o zoom nas imagens, outro seria dar a possibilidade ao utilizador de escolher qual a função de custo para determinar o caminho ótimo (distância, tempo ou interesse turístico). Dotar a base de dados com mais informação tornaria a aplicação mais abrangente.

31 30 REFERÊNCIAS BIBLIOGRÁFICAS GOLDBARG, Marco César. Otimização Combinatória e Programação Linear. 2.Ed. Campus, 2005 CORMEN, T. H.; LEISERSON, C. E.; RIVEST, R. L; STEIN, C.Algoritmos : teoria e prática.. Rio de Janeiro: Campus, 2002 GERSTING, Judith L., IORIO, Valéria de Magalhães. Fundamentos matemáticos para a ciência da computação. 4.Ed. São Paulo: LTC, 2001 GOLDBARG, Marco Cesar; LUNA, Henrique Pacca L. Otimização Combinatória e Programação Linear. 1.Ed. Campus, 2000 SILVA, Elio Medeiros da; SILVA, Ermes Medeiros. Pesquisa operacional : programação linear, simulação. 3.Ed. Atlas, 1998 SZWARCFITER, Jayme Luiz. Grafos e algoritmos computacionais. 2.Ed. Rio de Janeiro: Campus, 1986 FURMANKIEWICZ, Edson, DEITEL, H. M., DEITEL, P. J.. Java. 3.Ed. Porto Alegre: Bookman, 2001 DEITEL, H. M., DEITEL, P. J.. Java: Como Programar. 4.Ed. Porto Alegre: Bookman, 2002 TRINDADE, Cristiano. Desenvolvendo Soluções com a Tecnologia Java. 1.Ed. Visual Books, 2003 Goodrich,Michael T; Tamassia, Roberto.Estrutura de Dados e Algoritmos em Java. 2.Ed. Porto Alegre: Bookman, HORSTMANN, Cay S., CORNELL, Gary. CoreJava 2: Vol. I Fundamentos. São Paulo: Makron Books, 2001 JANDL JUNIOR, Peter. Introdução ao Java.. São Paulo: Berkeley, 2002

32 31 APÊNDICES Parâmetros do Problema Matriz - Caminhos Matriz - Distâncias Matriz Pedágios Matriz - Serviços i 0 i 1 i 2 i 3 i 4 i 5 i 6 i 7 i 8 i 9 i 10 i 11 i 12 i 13 i 14 i 15 Campinas Jaguariúna Holambra / Santo Antônio de Posse Mogi Mirim Mogi Guaçu Estiva Gerbi Trevo Elipse Casa Branca Mococa Espírito Santo do Pinhal Aguaí São João da Boa Vista Águas da Prata Poços de Caldas Vargem Grande do Sul Itobi i 16 São José do Rio Pardo Lista Cidades d 1 d 2 d 3 d 4 d 5 d 6 d 10 DELTA 1 - SP340 km Pista Norte DELTA 2 - SP340 km Pista Norte DELTA 3 - SP344 km Pista Leste DELTA 4 - SP340 km Pista Norte DELTA 5 - SP340 km Pista Norte DELTA 6 - SP340 km Pista Norte Área de Descanso - SP340 km Pista Sul d 11 CCP - SP340 km Pista Sul Lista - Serviços

33 32 g 1 GAMA 1 / Jaguariúna - SP340 km 121 g 2 GAMA 2 / Estiva Gerbi - SP340 km 193 g 3 GAMA 3 / Casa Branca - SP340 km 221 g 4 GAMA 4 / Mococa - SP340 km 254 g 5 GAMA 5 / Aguaí - SP344 km 219 g 6 GAMA 6 / São João da Boa Vista - SP344 km 230 g 7 GAMA 7 / Águas da Prata - SP342 km 240 g 8 GAMA 8 / Vargem Grande do Sul - SP215 km 41 g 9 GAMA 9 / Itobi - SP350 km 252 g 14 GAMA 14 / Pinhal - SP342 km 192 Lista Pedágios g 1 R$ 5,90 g 2 R$ 3,60 g 3 R$ 3,30 g 4 R$ 2,00 g 5 R$ 2,30 g 6 R$ 2,40 g 7 R$ 1,70 g 8 R$ - g 9 R$ 4,40 g 14 R$ 4,50 Lista - Tarifas

34 33 Algoritmo long int dijkstra(tinfo M[ ][MAXVERTICES], int ori, int dest, int precede[]) { int i, k; int distancia[maxvertices]; int menor_cam [MAXVERTICES]; int atual, dc, menordist, novadist; char parar = 'N'; for (i= 0; i < MAXVERTICES; i++) { distancia[i] = INFINITO; menor_cam [i] = NAO_MEMBRO; precede[i] = -1; } menor_cam [ori] = MEMBRO; distancia[ori] = 0; atual = ori; k = atual; while (atual!= dest && parar == 'N') { menordist = INFINITO; dc = distancia[atual]; for (i = 0; i < MAXVERTICES; i++) { if (menor_cam [i] == NAO_MEMBRO) { if (M[atual][i].adj =='S') novadist = dc + M[atual][i].valor; else novadist = M[atual][i].valor; if (novadist < distancia[i]) { distancia[i] = novadist; precede[i] = atual; } if (distancia[i] < menordist) { menordist = distancia[i]; k = i; } } } if (atual == k) { parar = 'S'; } else { atual = k; menor_cam [ atual] = MEMBRO; } } return (long) distancia[dest]; }

Estrutura de Dados e Algoritmos e Programação e Computadores II. Aula 10: Introdução aos Grafos

Estrutura de Dados e Algoritmos e Programação e Computadores II. Aula 10: Introdução aos Grafos Estrutura de Dados e Algoritmos e Programação e Computadores II Aula 10: Introdução aos Grafos História O assunto que se constitui no marco inicial da teoria de grafos é na realidade um problema algorítmico.

Leia mais

Definições Básicas para Grafos

Definições Básicas para Grafos Definições Básicas para rafos RAFO Um grafo (V,A) é definido pelo par de conjuntos V e A, onde: V - conjunto não vazio: os vértices ou nodos do grafo; A - conjunto de pares ordenados a=(v,w), v e w V:

Leia mais

Conceito Básicos da Teoria de Grafos

Conceito Básicos da Teoria de Grafos 1 Conceito Básicos da Teoria de Grafos GRAFO Um grafo G(V,A) é definido pelo par de conjuntos V e A, onde: V - conjunto não vazio: os vértices ou nodos do grafo; A - conjunto de pares ordenados a=(v,w),

Leia mais

Conceitos Básicos da Teoria de Grafos

Conceitos Básicos da Teoria de Grafos Conceitos Básicos da Teoria de Grafos Universidade Federal do Pampa - UNIPAMPA Engenharia da Computação Estrutura de Dados Profª Sandra Piovesan Grafos Uma noção simples, abstrata e intuitiva. Representa

Leia mais

Teoria dos grafos. FATEC Carapicuíba Augusto de Toledo Cruz Junior

Teoria dos grafos. FATEC Carapicuíba Augusto de Toledo Cruz Junior Teoria dos grafos FATEC Carapicuíba Augusto de Toledo Cruz Junior Teoria dos grafos HISTÓRICO 2 Origem O artigo do matemático e físico suiço Leonhard Euler, publicado em 1736, sobre o problema das Sete

Leia mais

Cap. 2 Conceitos Básicos em Teoria dos Grafos

Cap. 2 Conceitos Básicos em Teoria dos Grafos Teoria dos Grafos e Aplicações 8 Cap. 2 Conceitos Básicos em Teoria dos Grafos 2.1 Grafo É uma noção simples, abstrata e intuitiva, usada para representar a idéia de alguma espécie de relação entre os

Leia mais

Estruturas de Dados Grafos

Estruturas de Dados Grafos Estruturas de Dados Grafos Prof. Eduardo Alchieri (introdução) Grafo é um conjunto de pontos e linhas que conectam vários pontos Formalmente, um grafo G(V,A) é definido pelo par de conjuntos V e A, onde:

Leia mais

GRAFOS. Prof. André Backes. Como representar um conjunto de objetos e as suas relações?

GRAFOS. Prof. André Backes. Como representar um conjunto de objetos e as suas relações? 8/0/06 GRAFOS Prof. André Backes Definição Como representar um conjunto de objetos e as suas relações? Diversos tipos de aplicações necessitam disso Um grafo é um modelo matemático que representa as relações

Leia mais

ESTRUTURAS DE DADOS. prof. Alexandre César Muniz de Oliveira. 1. Introdução 2. Pilhas 3. Filas 4. Listas 5. Árvores 6. Ordenação 7. Busca 8.

ESTRUTURAS DE DADOS. prof. Alexandre César Muniz de Oliveira. 1. Introdução 2. Pilhas 3. Filas 4. Listas 5. Árvores 6. Ordenação 7. Busca 8. ESTRUTURAS DE DADOS prof. Alexandre César Muniz de Oliveira 1. Introdução 2. Pilhas 3. Filas 4. Listas 5. Árvores 6. Ordenação 7. Busca 8. Grafos Sugestão bibliográfica: ESTRUTURAS DE DADOS USANDO C Aaron

Leia mais

UNIP - Ciência da Computação e Sistemas de Informação. Estrutura de Dados. AULA 8 Grafos. Estrutura de Dados 1

UNIP - Ciência da Computação e Sistemas de Informação. Estrutura de Dados. AULA 8 Grafos. Estrutura de Dados 1 UNIP - Ciência da Computação e Sistemas de Informação Estrutura de Dados AULA 8 Grafos Estrutura de Dados 1 Grafos - Motivação Muitas aplicações em computação necessitam considerar conjunto de conexões

Leia mais

Aplicação do algoritmo de Dijkstra para o problema de roteamento da frota de táxis partindo de um ponto fixo

Aplicação do algoritmo de Dijkstra para o problema de roteamento da frota de táxis partindo de um ponto fixo Aplicação do algoritmo de Dijkstra para o problema de roteamento da frota de táxis partindo de um ponto fixo Heverton Ramos dos Santos 1 Alamir Rodrigues Rangel Jr 2 O presente artigo visa demonstrar uma

Leia mais

Percursos em um grafo

Percursos em um grafo Percursos em um grafo Definição Um percurso ou cadeia é uma seqüência de arestas sucessivamente adjacentes, cada uma tendo uma extremidade adjacente à anterior e a outra a subsequente (à exceção da primeira

Leia mais

Pesquisa Operacional II. Professor João Soares de Mello

Pesquisa Operacional II. Professor João Soares de Mello Pesquisa Operacional II Professor João Soares de Mello http://www.uff.br/decisao/notas.htm Ementa Teoria dos grafos (pré-requisitos: PO I, Álgebra Linear) Programação não linear (pré-requisitos: PO I,

Leia mais

TGR BCC Representação Computacional de Grafos. Prof. Ricardo José Pfitscher

TGR BCC Representação Computacional de Grafos. Prof. Ricardo José Pfitscher TGR BCC Representação Computacional de Grafos Prof. Ricardo José Pfitscher Cronograma Representação Matriz de djacências Lista de djacências Matriz de Incidências Representação Como podemos representar

Leia mais

Problemas de Fluxo em Redes

Problemas de Fluxo em Redes CAPÍTULO 7 1. Conceitos fundamentais de grafos Em muitos problemas que nos surgem, a forma mais simples de o descrever, é representá-lo em forma de grafo, uma vez que um grafo oferece uma representação

Leia mais

Percursos em um grafo

Percursos em um grafo Percursos em um grafo Definição Um percurso ou cadeia é uma seqüência de arestas sucessivamente adjacentes, cada uma tendo uma extremidade adjacente à anterior e a outra a subsequente (à exceção da primeira

Leia mais

Grafos - Motivação. Grafos - Motivação. Algoritmos e Estruturas de Dados II Introdução a Grafos

Grafos - Motivação. Grafos - Motivação. Algoritmos e Estruturas de Dados II Introdução a Grafos Algoritmos e Estruturas de Dados II Introdução a Profa. M. Cristina/ Profa. Rosane (2010) Material de aula original: Profa. Josiane M. Bueno - Motivação : conceito introduzido por Euler, em 1736 Problema

Leia mais

Prof. Marco Antonio M. Carvalho

Prof. Marco Antonio M. Carvalho Prof. Marco Antonio M. Carvalho Lembretes! Lista de discussão! Endereço:! programaacao@googlegroups.com! Solicitem acesso:! http://groups.google.com/group/programaacao! Página com material dos treinamentos!

Leia mais

MATEMÁTICA DISCRETA. Patrícia Ribeiro 2018/2019. Departamento de Matemática, ESTSetúbal 1 / 47

MATEMÁTICA DISCRETA. Patrícia Ribeiro 2018/2019. Departamento de Matemática, ESTSetúbal 1 / 47 1 / 47 MATEMÁTICA DISCRETA Patrícia Ribeiro Departamento de Matemática, ESTSetúbal 2018/2019 2 / 47 1 Combinatória 2 Aritmética Racional 3 3 / 47 Capítulo 3 4 / 47 não orientados Um grafo não orientado

Leia mais

IFRN. Introdução à Teoria dos Grafos. Prof. Edmilson Campos

IFRN. Introdução à Teoria dos Grafos. Prof. Edmilson Campos IFRN Introdução à Teoria dos Grafos Prof. Edmilson Campos Conteúdo Histórico Aplicações Definições Grafo Dígrafo Ordem, adjacência e grau Laço Tipos de grafos Representação de Grafos Matriz de adjacências

Leia mais

INF 1010 Estruturas de Dados Avançadas

INF 1010 Estruturas de Dados Avançadas INF Estruturas de Dados Avançadas Grafos // DI, PUC-Rio Estruturas de Dados Avançadas. Aplicações de grafos grafo vértices arestas Cronograma tarefas restrições de preferência Malha viária interseções

Leia mais

Pesquisa Operacional

Pesquisa Operacional Faculdade de Engenharia - Campus de Guaratinguetá Pesquisa Operacional Livro: Introdução à Pesquisa Operacional Capítulo 3 - Teoria dos Grafos Fernando Marins fmarins@feg.unesp.br Departamento de Produção

Leia mais

Teoria dos Grafos. Profa. Alessandra Martins Coelho

Teoria dos Grafos. Profa. Alessandra Martins Coelho Teoria dos Grafos Profa. Alessandra Martins Coelho fev/2014 Avaliação 2 Provas 30 pontos cada; 3 Implementações 10 pontos cada; 1 Seminário 10 pontos; Listas de exercícios Listas não valem nota, entretanto...

Leia mais

Introdução a Grafos Letícia Rodrigues Bueno

Introdução a Grafos Letícia Rodrigues Bueno Introdução a Grafos Letícia Rodrigues Bueno UFABC Teoria dos Grafos - Motivação Objetivo: aprender a resolver problemas; Como: usando grafos para modelar os problemas; Grafos: ferramenta fundamental de

Leia mais

PCC173 - Otimização em Redes

PCC173 - Otimização em Redes PCC173 - Otimização em Redes Marco Antonio M. Carvalho Departamento de Computação Instituto de Ciências Exatas e Biológicas Universidade Federal de Ouro Preto 31 de maio de 2017 Marco Antonio M. Carvalho

Leia mais

Departamento de Engenharia de Produção UFPR 57

Departamento de Engenharia de Produção UFPR 57 Departamento de Engenharia de Produção UFPR 57 Introdução a Grafos Muitos problemas de otimização podem ser analisados utilizando-se uma estrutura denominada grafo ou rede. Problemas em redes aparecem

Leia mais

Alg l ori r t i m t os e E str t u r tu t ra r s d e D ados I I Intr t o r duçã ç o ã a a Gr G a r f a o f s P of o a. M. C r C ist s ina n a /

Alg l ori r t i m t os e E str t u r tu t ra r s d e D ados I I Intr t o r duçã ç o ã a a Gr G a r f a o f s P of o a. M. C r C ist s ina n a / Algoritmos e Estruturas de Dados II Introdução a Grafos Profa. M. Cristina / Profa. Rosane (2012) Baseado no material de aula original: Profª. Josiane M. Bueno Divisão do arquivo 1ª parte: Motivação Definição:

Leia mais

Algoritmos e Estruturas de Dados II Introdução a Grafos. Divisão do arquivo

Algoritmos e Estruturas de Dados II Introdução a Grafos. Divisão do arquivo Algoritmos e Estruturas de Dados II Introdução a Profa. M. Cristina / Profa. Rosane (2010/11) Baseado no material de aula original: Profª. Josiane M. Bueno Divisão do arquivo 1ª parte: Motivação Definição:

Leia mais

SCC Modelagem Computacional em Grafos Introdução a Grafos

SCC Modelagem Computacional em Grafos Introdução a Grafos SCC0216 - Modelagem Computacional em Grafos Introdução a Grafos Prof. Alneu (alneu@icmc.usp.br ) / Profa. Rosane (rminghim@icmc.usp.br) PAE: Alan (alan@icmc.usp.br) / Henry (henry@icmc.usp.br) Baseado

Leia mais

Pesquisa Operacional. Teoria dos Grafos

Pesquisa Operacional. Teoria dos Grafos Pesquisa Operacional Teoria dos Grafos 1 Sumário Introdução Histórico Aplicações de modelos em grafos Conceitos e Notação Representações de um grafo G Tipos de grafos Algoritmos Algoritmo de Djisktra Algoritmo

Leia mais

Volmir Eugênio Wilhelm Departamento de Engenharia de Produção UFPR 45

Volmir Eugênio Wilhelm Departamento de Engenharia de Produção UFPR 45 Volmir Eugênio Wilhelm Departamento de Engenharia de Produção UFPR 45 Introdução a Grafos Muitos problemas de otimização podem ser analisados utilizando-se uma estrutura denominada grafo ou rede. Problemas

Leia mais

Otimização. Otimização em Redes. Paulo Henrique Ribeiro Gabriel Faculdade de Computação Universidade Federal de Uberlândia 2016/2

Otimização. Otimização em Redes. Paulo Henrique Ribeiro Gabriel Faculdade de Computação Universidade Federal de Uberlândia 2016/2 Otimização Otimização em Redes Paulo Henrique Ribeiro Gabriel phrg@ufu.br Faculdade de Computação Universidade Federal de Uberlândia 2016/2 Paulo H. R. Gabriel (FACOM/UFU) GSI027 2016/2 1 / 51 Conteúdo

Leia mais

ESTRUTURAS DISCRETAS (INF 1631) GRAFOS. 1. O que é um grafo? Defina um grafo orientado. Defina um grafo não-orientado.

ESTRUTURAS DISCRETAS (INF 1631) GRAFOS. 1. O que é um grafo? Defina um grafo orientado. Defina um grafo não-orientado. PUC-Rio Departamento de Informática Profs. Marcus Vinicius S. Poggi de Aragão Período: 0. Horário: as-feiras e as-feiras de - horas de maio de 0 ESTRUTURAS DISCRETAS (INF 6) a Lista de Exercícios Procure

Leia mais

grafo nós vértices arcos arestas

grafo nós vértices arcos arestas GRAFOS E APLICAÇÕES 1. INTRODUÇÃO 1) Um grafo G = (V, E) consiste num conjunto de nós (ou vértices) V e num conjunto de arcos (ou arestas) E. Cada arco é representado por um par de nós. No seguinte exemplo,

Leia mais

CES-11. Algoritmos e Estruturas de Dados. Carlos Alberto Alonso Sanches

CES-11. Algoritmos e Estruturas de Dados. Carlos Alberto Alonso Sanches CES-11 Algoritmos e Estruturas de Dados Carlos Alberto Alonso Sanches Juliana de Melo Bezerra CES-11 Grafos Conceitos gerais e representações Algoritmos em grafos Exploração sistemática em largura Caminhos

Leia mais

Grafos Orientados (digrafos)

Grafos Orientados (digrafos) Grafos Orientados (digrafos) Grafo Orientado ou digrafo Consiste em um grafo G = (V,A) onde V = {v 1,, v n } é um conjunto de vértices e A = {a 1,, a k } é um conjunto de arcos tais que a k, k=1,,m é representado

Leia mais

Grafos Parte 1. Aleardo Manacero Jr.

Grafos Parte 1. Aleardo Manacero Jr. Grafos Parte 1 Aleardo Manacero Jr. Uma breve introdução Grafos são estruturas bastante versáteis para a representação de diversas formas de sistemas e/ou problemas Na realidade, árvores e listas podem

Leia mais

Problema do Caminho Mínimo

Problema do Caminho Mínimo Departamento de Engenharia de Produção UFPR 63 Problema do Caminho Mínimo O problema do caminho mínimo ou caminho mais curto, shortest path problem, consiste em encontrar o melhor caminho entre dois nós.

Leia mais

Grafos COM11087-Tópicos Especiais em Programação II

Grafos COM11087-Tópicos Especiais em Programação II Grafos COM11087-Tópicos Especiais em Programação II edmar.kampke@ufes.br Introdução Grafos são estruturas muito estudadas na Ciência da Computação para modelagem de problemas Euler (1736) em Königsberg

Leia mais

PCC173 - Otimização em Redes

PCC173 - Otimização em Redes PCC173 - Otimização em Redes Marco Antonio M. Carvalho Departamento de Computação Instituto de Ciências Exatas e Biológicas Universidade Federal de Ouro Preto 7 de agosto de 2017 Marco Antonio M. Carvalho

Leia mais

TEORIA DOS GRAFOS TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS MATEMÁTICA DISCRETA II PROFº MARCOS NASCIMENTO

TEORIA DOS GRAFOS TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS MATEMÁTICA DISCRETA II PROFº MARCOS NASCIMENTO TEORIA DOS GRAFOS TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS MATEMÁTICA DISCRETA II PROFº MARCOS NASCIMENTO Por que estudar grafos? Importante ferramenta matemática com aplicação em diversas áreas

Leia mais

Algoritmos e Estruturas de Dados II Grafos conceitos gerais. Thiago A. S. Pardo Profa. M. Cristina Material de aula da Profa. Josiane M.

Algoritmos e Estruturas de Dados II Grafos conceitos gerais. Thiago A. S. Pardo Profa. M. Cristina Material de aula da Profa. Josiane M. Algoritmos e Estruturas de Dados II Grafos conceitos gerais Thiago A. S. Pardo Profa. M. Cristina Material de aula da Profa. Josiane M. Bueno - Motivação Grafos: conceito introduzido por Euler, em 1736

Leia mais

PERCURSOS. André Falcão, Carlos Augusto, Rafael Broédel e Lucas Dipré

PERCURSOS. André Falcão, Carlos Augusto, Rafael Broédel e Lucas Dipré PERCURSOS André Falcão, Carlos Augusto, Rafael Broédel e Lucas Dipré Serra 2011 Índice 1...O que é caminho e circuito 1.1...Caminho 1.2...Circuito 1.3...Classificação 2...Caminhos Eulerianos 2.1...Definição

Leia mais

INF 1010 Estruturas de Dados Avançadas

INF 1010 Estruturas de Dados Avançadas INF Estruturas de Dados Avançadas Grafos //8 DI, PUC-Rio Estruturas de Dados Avançadas. Primeiro uso conhecido 7 Euler: pontes de Königsberg //8 DI, PUC-Rio Estruturas de Dados Avançadas. Primeiro uso

Leia mais

x y Grafo Euleriano Figura 1

x y Grafo Euleriano Figura 1 Grafo Euleriano Um caminho simples ou um circuito simples é dito euleriano se ele contém todas as arestas de um grafo. Um grafo que contém um circuito euleriano é um grafo euleriano. Um grafo que não contém

Leia mais

Teoria dos Grafos. Motivação

Teoria dos Grafos. Motivação Teoria dos Grafos Aula 1 Primeiras Ideias Prof a. Alessandra Martins Coelho março/2013 Motivação Muitas aplicações em computação necessitam considerar conjunto de conexões entre pares de objetos: Existe

Leia mais

Disciplina: Matemática Discreta Agostinho Iaqchan Ryokiti Homa

Disciplina: Matemática Discreta Agostinho Iaqchan Ryokiti Homa Disciplina: Matemática Discreta Agostinho Iaqchan Ryokiti Homa Aula -Grafos Uma figura vale por mil palavras A representação de dados e ou informações utilizando de recursos visuais é, em muitos casos,

Leia mais

Grafos representação e aplicações. Prof. Guilherme Tomaschewski Netto

Grafos representação e aplicações. Prof. Guilherme Tomaschewski Netto Grafos representação e aplicações Prof. Guilherme Tomaschewski Netto guilherme.netto@gmail.com Roteiro! Contextualização! Apresentação, um pouco de história! Conceitos Grafos! Principais aplicacões! Estruturas

Leia mais

Problema de Roteamento de Veículos (VRP)

Problema de Roteamento de Veículos (VRP) Problema de Roteamento de Veículos (VRP) 1 Definição Um PRV consiste basicamente em estabelecer e organizar rotas ou itinerários eficientes para veículos realizarem entrega/captação de mercadorias. Dispondo

Leia mais

Módulo 2 OTIMIZAÇÃO DE REDES

Módulo 2 OTIMIZAÇÃO DE REDES Módulo 2 OTIMIZAÇÃO DE REDES Grafos e Redes Está contida na área de Pesquisa Operacional. Pode ser considerada como uma teoria baseada na interligação de pontos e linhas, utilizada principalmente na solução

Leia mais

GRAFOS Aula 04 Caminhos, Conexidade e Distância Max Pereira

GRAFOS Aula 04 Caminhos, Conexidade e Distância Max Pereira Ciência da Computação GRAFOS Aula 04 Caminhos, Conexidade e Distância Max Pereira Um grafo é dito conexo se for possível visitar qualquer vértice, partindo de um outro qualquer, passando pelas suas arestas.

Leia mais

Teoria dos Grafos. Valeriano A. de Oliveira, Socorro Rangel, Silvio A. de Araujo. Departamento de Matemática Aplicada

Teoria dos Grafos. Valeriano A. de Oliveira, Socorro Rangel, Silvio A. de Araujo. Departamento de Matemática Aplicada Teoria dos Grafos Valeriano A de Oliveira, Socorro Rangel, Silvio A de Araujo Departamento de Matemática Aplicada Capítulo 12: Grafos Hamiltonianos Preparado a partir do texto: Rangel, Socorro Teoria do

Leia mais

Teoria dos Grafos Aula 2

Teoria dos Grafos Aula 2 Teoria dos Grafos Aula 2 Aula passada Logística, regras Objetivos Grafos, o que são? Formando pares Encontrando caminhos Aula de hoje Outro problema real Definições importantes Algumas propriedades Grafo

Leia mais

Lista de Exercícios Programação Inteira. x 2 0 e inteiros.

Lista de Exercícios Programação Inteira. x 2 0 e inteiros. Lista de Exercícios Programação Inteira ) Resolva os problemas a seguir usando o método B&B a) Max z = 5 x + 2 y s.a x + y 2 x + y 5 x, y 0, x e y inteiros b) Max z = 2 x + y s.a x + 2y 0 x + y 25 x, y

Leia mais

Grafos IFRN. Robinson Alves

Grafos IFRN. Robinson Alves Grafos IFRN Robinson Alves Introdução Problema das Pontes de Königsberg No século 18 havia na cidade de Königsberg(antiga Prússia) um conjunto de sete pontes (identificadas pelas letras de a até f nas

Leia mais

Algoritmos em Grafos

Algoritmos em Grafos Algoritmos em Grafos Baseado em: The Algorithm Design Manual Steven S. Skiena IF64C Estruturas de Dados 2 Engenharia da Computação Prof. João Alberto Fabro - Slide 1/42 Introdução (1) Um grafo G=(V,E)

Leia mais

Instituto de Computação - Universidade Federal Fluminense Teoria dos Grafos - Lista de exercícios

Instituto de Computação - Universidade Federal Fluminense Teoria dos Grafos - Lista de exercícios Instituto de Computação - Universidade Federal Fluminense Teoria dos Grafos - Lista de exercícios 1 Conceitos 1. Prove o Teorema da Amizade: em qualquer festa com pelo menos seis pessoas, ou três se conhecem

Leia mais

GRAFOS Aula 03 Representações de Grafos Max Pereira

GRAFOS Aula 03 Representações de Grafos Max Pereira Ciência da Computação GRAFOS Aula 03 Representações de Grafos Max Pereira A maior vantagem de um grafo é a sua representação visual da informação. Mas para a manipulação e armazenamento em um computador,

Leia mais

GRAFOS E DIGRAFOS. Vanessa Braganholo Estruturas de Dados e Seus Algoritmos

GRAFOS E DIGRAFOS. Vanessa Braganholo Estruturas de Dados e Seus Algoritmos GRAFOS E DIGRAFOS Vanessa Braganholo Estruturas de Dados e Seus Algoritmos GRAFOS Definições Representação Algoritmos Busca Inserção (arestas e vértices) Exclusão (arestas e vértices) 1 4 5 6 GRAFOS Grafos

Leia mais

Teoria dos Grafos. Valeriano A. de Oliveira Socorro Rangel Departamento de Matemática Aplicada.

Teoria dos Grafos. Valeriano A. de Oliveira Socorro Rangel Departamento de Matemática Aplicada. Teoria dos Grafos Valeriano A de Oliveira Socorro Rangel Departamento de Matemática Aplicada antunes@ibilceunespbr, socorro@ibilceunespbr Grafos Hamiltonianos Preparado a partir do texto: Rangel, Socorro

Leia mais

Teoria dos Grafos. Edson Prestes

Teoria dos Grafos. Edson Prestes Edson Prestes As arestas possuem a função de indicar o relacionamento(espacial, comportamental, temporal) entre os elementos de um grafo. Em diversas situações esta relação não é simétrica, ou seja, par

Leia mais

5COP096 TeoriadaComputação

5COP096 TeoriadaComputação Sylvio 1 Barbon Jr barbon@uel.br 5COP096 TeoriadaComputação Aula 13 Prof. Dr. Sylvio Barbon Junior Sumário - Problemas NP-Completo Algoritmos Não-deterministas; Classes NP-Completo e NP-Dificil; Teorema

Leia mais

Noções da Teoria dos Grafos

Noções da Teoria dos Grafos Noções da Teoria dos Grafos André Arbex Hallack Índice 1 Introdução e definições básicas. Passeios eulerianos 1 2 Ciclos hamiltonianos 7 3 Árvores 11 4 Emparelhamento em grafos 15 5 Grafos planares: Colorindo

Leia mais

Teoria dos Grafos. Teoria dos Grafos. Profa. Sheila Morais de Almeida DAINF-UTFPR-PG. agosto

Teoria dos Grafos. Teoria dos Grafos. Profa. Sheila Morais de Almeida DAINF-UTFPR-PG. agosto Teoria dos Grafos Introdução Profa. Sheila Morais de Almeida DAINF-UTFPR-PG agosto - 2017 O que é Grafo? Definição formal Um grafo G = (V (G), E(G)) é uma estrutura matemática que consiste de dois conjuntos:

Leia mais

Noções da Teoria dos Grafos. André Arbex Hallack

Noções da Teoria dos Grafos. André Arbex Hallack Noções da Teoria dos Grafos André Arbex Hallack Junho/2015 Índice 1 Introdução e definições básicas. Passeios eulerianos 1 1.1 Introdução histórica..................................... 1 1.2 Passeios

Leia mais

Volmir Eugênio Wilhelm Departamento de Engenharia de Produção UFPR 21

Volmir Eugênio Wilhelm Departamento de Engenharia de Produção UFPR 21 Volmir Eugênio Wilhelm Departamento de Engenharia de Produção UFPR 21 Três objetivos i. Redução de custos (custos variáveis) ii. iii. Redução de capital (investimento, custos fixos) Melhoria do serviço

Leia mais

Teoria dos Grafos Aula 1 - Introdução

Teoria dos Grafos Aula 1 - Introdução Teoria dos Grafos Aula 1 - Introdução Profa. Sheila Morais de Almeida Mayara Omai Universidade Tecnológica Federal do Paraná - Ponta Grossa 2018 Sheila Almeida e Mayara Omai (UTFPR-PG) Teoria dos Grafos

Leia mais

Prova Didática Grafos: Árvores Geradoras e Caminhos Mínimos, Análise de Complexidade

Prova Didática Grafos: Árvores Geradoras e Caminhos Mínimos, Análise de Complexidade Prova Didática Grafos: Árvores Geradoras e Caminhos Mínimos, Análise de Complexidade Gustavo E.A.P.A. Batista 25 de janeiro de 2005 1 Contextualização 2 Caminhos Mínimos Caminhos Mínimos de uma Origem

Leia mais

Teoria dos Grafos. Valeriano A. de Oliveira, Socorro Rangel, Silvio A. de Araujo. Departamento de Matemática Aplicada

Teoria dos Grafos. Valeriano A. de Oliveira, Socorro Rangel, Silvio A. de Araujo. Departamento de Matemática Aplicada Teoria dos Grafos Valeriano A. de Oliveira, Socorro Rangel, Silvio A. de Araujo Departamento de Matemática Aplicada Capítulo 09: Representação de Grafos Preparado a partir do texto: Rangel, Socorro. Teoria

Leia mais

Teoria dos Grafos. Valeriano A. de Oliveira Socorro Rangel Departamento de Matemática Aplicada.

Teoria dos Grafos. Valeriano A. de Oliveira Socorro Rangel Departamento de Matemática Aplicada. Teoria dos Grafos Valeriano A. de Oliveira Socorro Rangel Departamento de Matemática Aplicada antunes@ibilce.unesp.br, socorro@ibilce.unesp.br Preparado a partir do texto: Rangel, Socorro. Teoria do Grafos,

Leia mais

COMPARAÇÃO ENTRE FROTA HOMOGÊNEA E HETEROGÊNEA EM PROBLEMAS DE ROTEAMENTO DE VEÍCULOS CAPACITADOS

COMPARAÇÃO ENTRE FROTA HOMOGÊNEA E HETEROGÊNEA EM PROBLEMAS DE ROTEAMENTO DE VEÍCULOS CAPACITADOS COMPARAÇÃO ENTRE FROTA HOMOGÊNEA E HETEROGÊNEA EM PROBLEMAS DE ROTEAMENTO DE VEÍCULOS CAPACITADOS Rosiana da Silva Lopes Danilo César Rodrigues Azevedo rosianalopes16@gmail.com danilo.azevedo@ufpi.edu.br.com

Leia mais

Instituto de Computação - Universidade Federal Fluminense Teoria dos Grafos - Lista de exercícios

Instituto de Computação - Universidade Federal Fluminense Teoria dos Grafos - Lista de exercícios Instituto de Computação - Universidade Federal Fluminense Teoria dos Grafos - Lista de exercícios 1 Conceitos 1. Prove o Teorema da Amizade: em qualquer festa com pelo menos seis pessoas, ou três se conhecem

Leia mais

GRAFOS E ALGORITMOS TEORIA DE GRAFOS

GRAFOS E ALGORITMOS TEORIA DE GRAFOS GRAFOS E ALGORITMOS TEORIA DE GRAFOS 1a. PARTE Prof. Ronaldo R. Goldschmidt rribeiro@univercidade.br ronaldo_goldschmidt@yahoo.com.br ROTEIRO 1. INTRODUÇÃO E MOTIVAÇÃO 2. FUNDAMENTOS 3. CONECTIVIDADE 4.

Leia mais

2. Desenhe o grafo orientado G = (X, Γ) para: 3. Em cada alínea dois grafos são iguais. Identifique-os. (a) (b) (c)

2. Desenhe o grafo orientado G = (X, Γ) para: 3. Em cada alínea dois grafos são iguais. Identifique-os. (a) (b) (c) 1. Desenhe o grafo não orientado G = (X, Γ) para: (a) X = {a, b, c, d} e Γ = {{a, b}, {b, c}, {c, d}}. (b) X = {a, b, c, d} e Γ = φ. (c) X = {1, 2, 3, 4, 5, 6, 7, 8} e Γ = {{1, 2}, {2, 2}, {2, 3}, {3,

Leia mais

Parte B Teoria dos Grafos

Parte B Teoria dos Grafos 45 Parte B Teoria dos Grafos B. Grafos e Subgrafos Um grafo G é uma tripla ordenada (V(G), E(G), ), constituindo de um conjunto não vazio V(G) de vértices, um conjunto disjunto E(G) das arestas e uma função

Leia mais

CAP4. ELEMENTOS DA TEORIA DE GRAFOS. Grafo [graph]. Estrutura que consiste num par ordenado de conjuntos, G ( V, E) , sendo:

CAP4. ELEMENTOS DA TEORIA DE GRAFOS. Grafo [graph]. Estrutura que consiste num par ordenado de conjuntos, G ( V, E) , sendo: Matemática Discreta ESTiG\IPB Cap4. Elementos da Teoria de Grafos pg 1 CAP4. ELEMENTOS DA TEORIA DE GRAFOS Grafo [graph]. Estrutura que consiste num par ordenado de conjuntos, G ( V, E), sendo: Exemplos

Leia mais

Circuitos Hamiltorianos

Circuitos Hamiltorianos Circuitos Hamiltorianos Vimos que o teorema de euler resolve o problema de caracterizar grafos que tenham um circuito em que cada aresta apareça exatamente uma vez. Vamos estudar aqui uma questão relacionada.

Leia mais

1 Introdução Motivação

1 Introdução Motivação 1 Introdução 1.1. Motivação A programação linear, ao menos na modelagem matemática que se conhece hoje, foi desenvolvida durante a segunda grande guerra quando foi utilizada no planejamento e execução

Leia mais

MÓDULO 2 - OTIMIZAÇÃO DE REDES

MÓDULO 2 - OTIMIZAÇÃO DE REDES MÓUL - TIMIZÇÃ RS s problemas de otimização de redes podem ocorrer em várias áreas, mas geralmente são encontrados nas áreas de transportes e comunicações. Um problema típico de transporte consiste em

Leia mais

Noções da Teoria dos Grafos. André Arbex Hallack

Noções da Teoria dos Grafos. André Arbex Hallack Noções da Teoria dos Grafos André Arbex Hallack Junho/2015 Índice 1 Introdução e definições básicas. Passeios eulerianos 1 2 Ciclos hamiltonianos 5 3 Árvores 7 4 Emparelhamento em grafos 11 5 Grafos planares:

Leia mais

Classes, Herança e Interfaces

Classes, Herança e Interfaces Escola de Artes, Ciências e Humanidades EACH-USP ACH2002 Introdução à Ciência da Computação II Professor: Delano Medeiros Beder revisada pelo professor: Luciano Digiampietri EACH Segundo Semestre de 2011

Leia mais

MODELAGEM MATEMÁTICA E A CONTEXTUALIZAÇÃO DO ESTUDO DE GRAFOS E MATRIZES NO ENSINO MÉDIO

MODELAGEM MATEMÁTICA E A CONTEXTUALIZAÇÃO DO ESTUDO DE GRAFOS E MATRIZES NO ENSINO MÉDIO MODELAGEM MATEMÁTICA E A CONTEXTUALIZAÇÃO DO ESTUDO DE GRAFOS E MATRIZES NO ENSINO MÉDIO RESUMO Maria Eliana Barreto Druzian Dr. MarcioViolante Ferreira Este trabalho aborda a teoria de grafos e pretende

Leia mais

Lista de Exercícios Programação Inteira. x 2 0 e inteiros.

Lista de Exercícios Programação Inteira. x 2 0 e inteiros. Lista de Exercícios Programação Inteira ) Resolva os problemas a seguir usando o método B&B a) Max z = 5 x + y s.a x + y x + y 5 b) Max z = x + y s.a x + y 0 x + y 5 c) Max z = x + y s.a x + 9y 6 8 x +

Leia mais

Oalgoritmo de Dijkstra

Oalgoritmo de Dijkstra Dijkstra Oalgoritmo de Dijkstra O algoritmo de Dijkstra, concebido pelo cientista da computação holandês Edsger Dijkstra em 1956 e publicado em 1959, soluciona o problema do caminho mais curto num grafo

Leia mais

01 Grafos: parte 1 SCC0503 Algoritmos e Estruturas de Dados II

01 Grafos: parte 1 SCC0503 Algoritmos e Estruturas de Dados II 01 Grafos: parte 1 SCC0503 Algoritmos e Estruturas de Dados II Prof. Moacir Ponti Jr. www.icmc.usp.br/~moacir Instituto de Ciências Matemáticas e de Computação USP 2011/1 Moacir Ponti Jr. (ICMCUSP) 01

Leia mais

GRAFOS Conceitos Básicos (Parte 1)

GRAFOS Conceitos Básicos (Parte 1) ALGORITMOS E ESTRUTURAS DE DADOS II GRAFOS Conceitos Básicos (Parte 1) Gustavo Batista Profa. Elaine Parros Machado de Sousa alterações: Cris-na Dutra de Aguiar Ciferri Material baseado em aulas dos professores:

Leia mais

APLICAÇÕES DE BUSCA EM GRAFOS

APLICAÇÕES DE BUSCA EM GRAFOS APLICAÇÕES DE BUSCA EM GRAFOS David Krenkel Rodrigues de Melo david.melo1992@gmail.com Prof. Leonardo Sommariva, Estrutura de Dados RESUMO: São inúmeras as aplicaçõe de grafos, bem como os problemas clássicos

Leia mais

Comunicação e redes. Aula 2: Teoria dos Grafos Conceitos básicos. Professor: Guilherme Oliveira Mota.

Comunicação e redes. Aula 2: Teoria dos Grafos Conceitos básicos. Professor: Guilherme Oliveira Mota. Comunicação e redes Aula 2: Teoria dos Grafos Conceitos básicos Professor: Guilherme Oliveira Mota g.mota@ufabc.edu.br Aula passada Redes complexas Grafo G: Conjunto de pontos e linhas ligando esses pontos

Leia mais

UNIVERSIDADE DE SÃO PAULO INSTITUTO DE CIÊNCIAS MATEMÁTICAS E DE COMPUTAÇÃO Departamento de Ciências de Computação

UNIVERSIDADE DE SÃO PAULO INSTITUTO DE CIÊNCIAS MATEMÁTICAS E DE COMPUTAÇÃO Departamento de Ciências de Computação UNIVERSIDADE DE SÃO PAULO INSTITUTO DE CIÊNCIAS MATEMÁTICAS E DE COMPUTAÇÃO Departamento de Ciências de Computação SCC-203 ALGORITMOS E ESTRUTURAS DE DADOS II Prova - Gabarito Nome: Nro. USP ) O matemático

Leia mais

Matemática Discreta. Aula 06: Teoria dos Grafos. Tópico 01: Grafos e suas Representações. Observação

Matemática Discreta. Aula 06: Teoria dos Grafos. Tópico 01: Grafos e suas Representações. Observação Aula 06: Teoria dos Grafos Tópico 01: Grafos e suas Representações Nesta aula nós passamos a estudar um outro assunto, mas que também tem muita aplicação na vida prática, a Teoria dos Grafos. Para esta

Leia mais

MÓDULO 3 - PROBLEMAS DE COBERTURAS DE ARCOS E NÓS

MÓDULO 3 - PROBLEMAS DE COBERTURAS DE ARCOS E NÓS MÓULO 3 - PROBLEMAS E COBERTURAS E ARCOS E NÓS 1. CONCEITOS INICIAIS Área contida na Pesquisa Operacional. Pode ser considerada como uma teoria baseada na interligação de pontos e linhas, utilizada principalmente

Leia mais

Algoritmos de Caminho Mínimo Parte 1

Algoritmos de Caminho Mínimo Parte 1 Algoritmos de Caminho Mínimo Parte 1 A journey of a thousand miles starts with a single step and if that step is the right step, it becomes the last step. Index 1. Introduction 2. Applications 3. Tree

Leia mais

Teoria dos Grafos Aula 2

Teoria dos Grafos Aula 2 Teoria dos Grafos Aula 2 Aula passada Logística Objetivos Grafos, o que são? Formando pares Aula de hoje Mais problemas reais Definições importantes Algumas propriedades Objetivos da Disciplina Grafos

Leia mais

Grafos - Introdução. Pedro Ribeiro 2014/2015 DCC/FCUP. Pedro Ribeiro (DCC/FCUP) Grafos - Introdução 2014/ / 32

Grafos - Introdução. Pedro Ribeiro 2014/2015 DCC/FCUP. Pedro Ribeiro (DCC/FCUP) Grafos - Introdução 2014/ / 32 Grafos - Introdução Pedro Ribeiro DCC/FCUP 2014/2015 Pedro Ribeiro (DCC/FCUP) Grafos - Introdução 2014/2015 1 / 32 Conceito Definição de Grafo Formalmente, um grafo é: Um conjunto de nós/vértices (V).

Leia mais

UNIVERSIDADE DE SÃO PAULO INSTITUTO DE CIÊNCIAS MATEMÁTICAS E DE COMPUTAÇÃO Departamento de Ciências de Computação

UNIVERSIDADE DE SÃO PAULO INSTITUTO DE CIÊNCIAS MATEMÁTICAS E DE COMPUTAÇÃO Departamento de Ciências de Computação UNIVERSIDADE DE SÃO PAULO INSTITUTO DE CIÊNCIAS MATEMÁTICAS E DE COMPUTAÇÃO Departamento de Ciências de Computação SCC-203 ALGORITMOS E ESTRUTURAS DE DADOS II Prova - Gabarito Nome: Nro. USP ) O matemático

Leia mais

Projeto e Análise de Algoritmos. Introdução. Prof. Ademir Constantino Universidade Estadual de Maringá Departamento de Informática

Projeto e Análise de Algoritmos. Introdução. Prof. Ademir Constantino Universidade Estadual de Maringá Departamento de Informática Projeto e Análise de Algoritmos Introdução Prof. Ademir Constantino Universidade Estadual de Maringá Departamento de Informática Projeto e Análise de Algoritmos Eu penso que o projeto de algoritmos eficientes

Leia mais

Teoria dos Grafos. Aula 5 - Estruturas de Dados para Grafos. Profª. Alessandra Martins Coelho. março/2013

Teoria dos Grafos. Aula 5 - Estruturas de Dados para Grafos. Profª. Alessandra Martins Coelho. março/2013 Teoria dos Grafos Aula 5 - Estruturas de Dados para Grafos Profª. Alessandra Martins Coelho março/2013 Estrutura é o que caracteriza o próprio grafo e independe da forma como ele é representado. A representação

Leia mais

Projeto e Análise de Algoritmos NP Completude. Prof. Humberto Brandão

Projeto e Análise de Algoritmos NP Completude. Prof. Humberto Brandão Projeto e Análise de Algoritmos NP Completude Prof. Humberto Brandão humberto@bcc.unifal-mg.edu.br Universidade Federal de Alfenas versão da aula: 0.4 Introdução Problemas intratáveis ou difíceis são comuns

Leia mais

Planaridade UFES. Teoria dos Grafos (INF 5037)

Planaridade UFES. Teoria dos Grafos (INF 5037) Planaridade Planaridade Ideia intimamente ligada à noção de mapa, ou seja, uma representação de um conjunto de elementos (usualmente geográficos) dispostos sobre o plano A planaridade é um conceito associado

Leia mais