Escolar Documentos
Profissional Documentos
Cultura Documentos
CENTRO TECNOLÓGICO
DEPARTAMENTO DE ENGENHARIA DE PRODUÇÃO E SISTEMAS
PROGRAMA ESPECIAL DE TREINAMENTO
TUTORA: PROFESSORA MIRNA DE BORBA
1. SUMÁRIO
2. INTRODUÇÃO ______________________________________________________________________ 3
2. INTRODUÇÃO
A Teoria dos Grafos tem suas origens remotas nas mais diversas áreas
do conhecimento humano, mas veio a ser enunciada somente em 1736 com um
problema simples resolvido pelo matemático Euler, conhecido como problema das
pontes de Königsberg, que consistia em ligar as pontes sem que o caminho fosse
quebrado e sem que se passasse duas vezes pela mesma ponte. Euler mostrou
que o problema não tinha solução, representando as margens e as ilhas do
problema por pontos e as pontes por linhas ligando-as.
A teoria dos grafos ficou adormecida até as décadas de 40 e 50,
quando do advento dos computadores que trouxeram maior agilidade e precisão
na realização das contas e no processamento de dados, dando grande impulso ao
desenvolvimento de novos teoremas e novas técnicas de resolução de problemas.
Hoje em dia a Teoria dos Grafos está extremamente difundida para
problemas que envolvem arranjo de objetos discretos, como os elementos de uma
linha de produção em um processo industrial, problemas de arranjo de
componentes eletrônicos e suas ligações em uma placa, problemas que envolven
redes de comunicação, entre vários outros que poderiam ser aqui enunciados.
Um grafo pode ser representado por um conjunto de pontos (vértices)
finito e não vazio e uma relação binária sobre esses pontos que representam uma
linha (aresta) orientada ou não ligando-os entre si.
Este trabalho tem por objetivo a apresentação da teoria dos grafos,
uma ferramenta de grande valia na resolução de problemas de pesquisa
operacional, onde haja um caminho a ser percorrido, seja numa linha de produção
ou no setor de serviços como o de coleta de lixo de uma cidade.
O trabalho é constituÍdo de duas partes básicas. A primeira é um
glossário com os termos utilizados para o comentário dos componentes da teoria
dos grafos, uma segunda parte com programas em linguagem turbo-pascal e
comentários a respeito dos mesmos.
3. TERMOS UTILIZADOS
3.1. VÉRTICE
- é a representação de elementos finitos. Apreseenta-se como pontos no
grafo. Os vértices são ditos:
⇒ Isolados - quando não têm ligação com outros vértices;
⇒ adjacentes a outro - quando têm pelo menos uma aresta ligando
um ao outro;
⇒ pendentes - quando possuem grau 1;
Propriedade:
• grau - corresponde ao número de arestas incidentes.
3.2. ARESTA
- representa as ligações entre os diversos elementos finitos do grafo. As
arestas são ditas:
⇒ incidentes em relação a algum vértice- quando liga o mesmo a
um outro;
⇒ adjacentes a outra - quando compartilha a ligação de um mesmo
vértice com outra aresta;
⇒ paralelas - quando ligam os mesmos dois vértices;
⇒ em laço - quando liga um vértice a ele mesmo.
Propriedades:
• Não orientada - Quando não tem sentido obrigatório para ser
percorrida;
• Orientada: Quando só pode ser percorrida em um único sentido.
Propriedades:
• Dirigidos - quando compostos por arestas orientadas;
• Não dirigidos - quando compostas por arestas não dirigidas.
4.1. OBJETIVO:
O objetivo do programa programa para teste de conexidade é informar
se há algum caminho que ligue os pontos do grafo uns aos outros, caracterizando
um grafo conexo, ou se há algum vértice isolado, caracterizando um grafo
desconexo.
4.2. ENTRADA:
O programa para teste de conexidade tem como entrada o número de
vértices do grafo não orientado que se quer analisar e a matriz de adjacência
correspondente.
4.3. SAÍDA:
4.4. EXEMPLO:
Consideremos o grafo abaixo:
1 2 3 4
6 7
8 9
10 11
1 1 0 0 0 1 0 1 1 0 0
1 1 0 0 0 0 1 0 0 0 0
0 0 1 0 1 0 0 1 0 0 1
0 0 0 1 0 0 1 0 0 0 0
0 0 1 0 1 0 0 0 1 1 1
1 0 0 0 0 1 0 0 0 0 0
0 1 0 1 0 0 1 0 0 0 0
1 0 1 0 0 0 0 1 0 0 0
1 0 0 0 1 0 0 0 1 1 0
0 0 0 0 1 0 0 0 1 1 0
0 0 1 0 1 0 0 0 0 0 1
A saída deste programa é:
5.1. OBJETIVO:
O objetivo do programa baseado no algoritmo de Roy é encontrar todas
as componentes fortetmente conexas e a relação entre elas em um digrafo
qualquer.
5.2. ENTRADA:
O programa baseado no Algoritmo de Roy tem como entrada o número
de vértices do grafo e a matriz de adjacência correspondente, com as relações
entre estes vértices.
5.3. SAÍDA:
A saída deste algoritmo fornece o menor número de Componentes
Fortemente Conexas em que o digrafo pode ser subdividido, uma lista com todas
as Componentes Fortemente Conexas e uma nova matriz de adjacência
relacionado estes elementos.
5.4. EXEMPLO:
Consideremos o digrafo abaixo:
2
1
5
3 4
7 6
1* 2*
3* 4*
Onde 1*, 2*, 3* e 4* correspondem às componentes fortemente
conexas (1 3), (2 4 7), (5) e (6) respectivamente.
Pode-se claramente observar que o grafo é irredutível a um menor
número de componentes fortemente conexas.
6.1. OBJETIVO:
O objetivo do programa do Ciclo Hamiltoniano de Custo Mínimo é
encontrar um caminho de custo pequeno passando por todos os vértices do grafo
não orientado a partir de um determinado vértice e voltar a este vértice ao final,
mas que não é garantidamente o mínimo, já que o processamento de todos os
ciclos possíveis é tecnicamente inviável.
6.2. ENTRADA:
O programa do Ciclo Hamiltoniano de Custo Mínimo tem como entrada
o número de vértices do grafo e a matriz de adjacência valorada correspondente,
que traz o custo das ligações entre os diversos vértices do grafo.
6.3. SAÍDA:
O programa do Ciclo Hamiltoniano de Custo Mínimo tem como saída o
custo baixio de um tour que passa por todos os vértices do grafo e a seqüência
dos vértices a serem seguidos para conseguir tal valor.
6.4. EXEMPLO:
Consideremos o grafo abaixo:
10 2
9 3
8 4
7 6 5
7.1. OBJETIVO:
O objetivo do programa baseado no algoritmo de Roberts & Flores é
descobrir se há algum caminho hamiltoniano entre os vértices do grafo. Caso
haja, o programa retorna uma ionformação de sua existência.
7.2. ENTRADA:
O programa baseado no algoritmo de Roberts & Flores tem como
entrada o número de vértices do grafo e a matriz de adjacência correspondente a
um grafo orientado.
7.3. SAÍDA:
A saída do processamento do programa de Roberts & Flores é um
vetor com um caminho hamiltoniano iniciado pelo vértice 1 ou uma informação de
que não foi possível encontrar nenhum caminho hamiltoniano no grafo dado.
7.4. EXEMPLO:
A execução do programa se inicia com o seguinte aviso:
3
6
8.1. OBJETIVO:
O programa baseado no algoritmo de Floyd faz diversas iterações com
a matriz de adjacência inicial com a finalidade de encontrar o menor custo entre
dois pontos quaisquer.
8.2. ENTRADA:
A entrada deste programa é o número de vértices e a matriz de
adjacência valorada inicial sendo que os valores das conexões inexistentes
devem ser substituídos por valores muito maiores do que o maior valor entre
todas as arestas.
8.3. SAÍDA:
Como saída o programa nos fornece uma matriz de adjacência
valorada mostrando o menor custo entre dois pontos quaisquer, sem que indique
contudo o caminho entre os pontos indicados para que se chegue a este valor.
8.4. EXEMPLO:
3
6
0 5 ∞ ∞ ∞ ∞
∞ 0 ∞ ∞ 15 ∞
∞ 8 0 10 ∞ ∞
∞ ∞ 8 0 ∞ 20
∞ ∞ 14 9 0 ∞
8 12 ∞ ∞ ∞ 0
Após a entrada deste dado surgem vários anuncios como o que segue:
Qual o custo da ligação direta entre os vértices 1 e 2?
0 5 34 29 20 49
52 0 29 24 15 44
38 8 0 10 23 30
28 16 8 0 31 20
37 22 14 9 0 44
8 12 41 36 27 0
9. BIBLIOGRAFIA