EXTRAÇÃO DE INFORMAÇÃO DE ARQUIVOS VETORIAIS PARA DADOS EM PROBLEMA DE GRAFOS



Documentos relacionados
CAPÍTULO 2. Grafos e Redes

AULA 6 Esquemas Elétricos Básicos das Subestações Elétricas

Notas da Aula 6 - Fundamentos de Sistemas Operacionais

3.1 Definições Uma classe é a descrição de um tipo de objeto.

7 - Análise de redes Pesquisa Operacional CAPÍTULO 7 ANÁLISE DE REDES. 4 c. Figura Exemplo de um grafo linear.

Introdução. Uso do disco Vantagens Desvantagens Baixo custo, facilidade de manutenção do software e do hardware, simetria e flexibilidade

Trabalho Computacional

A utilização da Web no apoio ao ensino de Desenho na Arquitetura

SISTEMAS DE INFORMAÇÃO GERENCIAIS

1 INTRODUÇÃO 1.1 CONCEITO DE PARADIGMAS DE LINGUAGEM DE PROGRAMAÇÃO PARADIGMAS DE LINGUAGEM DE PROGRAMAÇÃO

DEFINIÇÃO DE ÁREAS POTENCIAIS AO RISCO DE DESLIGAMENTO DE LINHAS DE TRANSMISSÃO DEVIDO A INCÊNDIOS - PLANEJAMENTO E CRITÉRIOS DE MANUTENÇÃO

2 Fundamentação Conceitual

Software Livre e Engenharia Elétrica

O ENSINO DE CÁLCULO NUMÉRICO: UMA EXPERIÊNCIA COM ALUNOS DO CURSO DE CIÊNCIA DA COMPUTAÇÃO

Exercícios Teóricos Resolvidos

BACHARELADO EM SISTEMAS DE INFORMAÇÃO EaD UAB/UFSCar Sistemas de Informação - prof. Dr. Hélio Crestana Guardia

Critérios para Cadastro no Gemini da Rede de Distribuição Subterrânea (RDS) - Savassi Belo Horizonte - MG

Banco de Dados Orientado a Objetos

Sistema de Informação Geográfica para Planejamento de Eletrificação Rural em Grande Escala

APLICATIVOS GRÁFICOS (AULA 4)

6.1 A Simulação Empresarial tem utilização em larga escala nos cursos de Administração, em seus diversos níveis de ensino no Brasil?

CASO DE ESTUDO SOBRE SIG

REPRESENTAÇÃO DE REQUISITOS VARIÁVEIS COM UML, SEGUINDO O MÉTODO ICONIX

CTGEO ESCOLA. Abaixo algumas respostas das principais dúvidas do SIG CTGEO ESCOLA. E entre elas,

Planificação de. Aplicações Informáticas B

Quais as diferenças entre os formatos de imagem PNG, JPG, GIF, SVG e BMP?

SIG. Uma plataforma para introdução de técnicas emergentes no planejamento urbano, regional e de transportes

Introdução à Ciência da Computação

Gerência de Projetos Prof. Késsia Rita da Costa Marchi 3ª Série

função de produção côncava. 1 É importante lembrar que este resultado é condicional ao fato das empresas apresentarem uma

Este documento foi elaborado sob a licença

Nota Técnica 113/2007 SRD/SRE/ANEEL Metodologia para Projeção de Investimentos para o Cálculo do Fator X Contribuição da Audiência Publica 052/2007

ORGANIZAÇÃO DE COMPUTADORES MÓDULO 1

XX Seminário Nacional de Distribuição de Energia Elétrica SENDI a 26 de outubro Rio de Janeiro - RJ - Brasil

1. CAPÍTULO COMPUTADORES

LSI tem célula de manufatura. Márcio Rillo e Reinaldo Bianchi. IPESI - Eletrônica e Informática, EDIB, São Paulo. Nov/Dez 95, p

UNIDADE 6 - PROGRAMAÇÃO MODULAR

XX SNPTEE SEMINÁRIO NACIONAL DE PRODUÇÃO E TRANSMISSÃO DE ENERGIA ELÉTRICA

Desenvolvimento de dashboards através de dados de distribuição de energia elétrica fornecidos pela ANEEL

O MÉTODO HÚNGARO PARA RESOLUÇÃO DE PROBLEMAS DE OTIMIZAÇÃO

UNIVERSIDADE FEDERAL DE PERNAMBUCO DEPARTAMENTO DE GEOLOGIA DISCIPLINA DESENHO GEOLÓGICO PROF. GORKI MARIANO

Técnicas de Cartografia Digital

A TEORIA DOS GRAFOS NA ANÁLISE DO FLUXOGRAMA DO CURSO DE ENGENHARIA DE PRODUÇÃO DA UFF

Inovação aberta na indústria de software: Avaliação do perfil de inovação de empresas

Exercícios Adicionais

Detonando a Teoria do Big Bang Sumário

Grafo: Algoritmos e Aplicações

A SEGUIR ALGUMAS DICAS PARA O DESENVOLVIMENTO DE UM PROJETO CIENTÍFICO

Ambiente de Simulação Virtual para Capacitação e Treinamento na Manutenção de. Disjuntores de Subestações de Energia Elétrica,

WEBGIS Sistema Informativo Territorial

Figura 5.1.Modelo não linear de um neurônio j da camada k+1. Fonte: HAYKIN, 2001

Válvulas de Controle-"Case"- Copesul. Nelzo Luiz Neto da Silva 1 Jader Weber Brum 2

Memória cache. Prof. Francisco Adelton

Avaliação de Desempenho de Sistemas

Evolução da cooperação em populações modeladas por autômatos celulares com o uso de teoria de jogos

Introdução ao Paradigma Orientado a Objetos. Principais conceitos

4 Avaliação Experimental

Engenharia de Software. Tema 1. Introdução à Engenharia de Software Profa. Susana M. Iglesias

Metadados. 1. Introdução. 2. O que são Metadados? 3. O Valor dos Metadados

2 Sistema de Lajes com Forma de Aço Incorporado

ESPAÇOS MUNIDOS DE PRODUTO INTERNO

EDITORES DE TEXTO CAPÍTULO 5. Definição

Gestão do Risco e da Qualidade no Desenvolvimento de Software

2.1 Montando o cabo serial Conectando o receptor ao PC Instalando o programa (DRU)... 5

Considerações sobre redimensionamento de motores elétricos de indução

Descrição do Produto. Altus S. A. 1

Gestão da Qualidade em Projetos

REDES DE COMPUTADORES

Solução de problemas por meio de busca (com Python) Luis Martí DEE/PUC-Rio

EGC Gestão Estratégica da Tecnologia da Informação

PROJETO DE REDES

1 Introdução. Componentes Usuários. Provedor de Serviços. Figura 1.1 Ambiente de oferecimento de serviços

Geração de mapas temáticos utilizando os programas GPS TrackMaker, Google Earth e Surfer

CADERNOS DE INFORMÁTICA Nº 1. Fundamentos de Informática I - Word Sumário

IMPLEMENTAÇÃO DE UM PROTÓTIPO PARA INFORMATIZAÇÃO DE PROCESSO DE ADEQUAÇÃO DE FÉRIAS

A política e os programas privados de desenvolvimento comunitário

ANEXO L RESUMO ESPECIFICAÇÕES INCRA

DELPHI 7 LINGUAGEM DE PROGRAMAÇÃO AMBIENTE CLIENTE SERVIDOR

CEDERJ - CENTRO DE EDUCAÇÃO SUPERIOR A DISTÂNCIA DO ESTADO DO RIO DE JANEIRO

CENTRO ESTADUAL DE EDUCAÇÃO TECNOLOGICA PAULA SOUZA ETEC DR. EMLIO HERNANDEZ AGUILAR

Universidade Federal de Ouro Preto - UFOP Instituto de Ciências Exatas e Biológicas ICEB

Lista 1 para a P2. Operações com subespaços

GBD PROF. ANDREZA S. AREÃO

Guia prático para configuração, coleta e utilização de oscilografias em relés digitais

SP 04/92 NT 141/92. Velocidade Média: Considerações sobre seu Cálculo. Engº Luiz Henrique Piovesan. 1. Introdução

SARESTA SISTEMA DE RESTABELECIMENTO INTEGRADO AO SISTEMA DE SUPERVISÃO E CONTROLE DISTRIBUÍDO DA CEMIG

IBM Unica Histórico da Interação Attribution Modeler Versão 1 Release 0 15 de maio de Tabelas de Sistema do

FERRAMENTAS DA QUALIDADE

Q-Acadêmico. Módulo CIEE - Estágio. Revisão 01

MODELIX SYSTEM SOFTWARE DE PROGRAMAÇÃO DE ROBÔS

Design de superfície e arte: processo de criação em estamparia têxtil como lugar de encontro. Miriam Levinbook

INSTITUTO TECNOLÓGICO

Introdução à. Engenharia de Software. Givanaldo Rocha de Souza

Projetos I Resumo de TCC. Luiz Rogério Batista De Pieri Mat:

Diretrizes para determinação de intervalos de comprovação para equipamentos de medição.

FAZEMOS MONOGRAFIA PARA TODO BRASIL, QUALQUER TEMA! ENTRE EM CONTATO CONOSCO!

6 Ferramenta de Apoio ao Processo de Desenvolvimento de Sistemas Multi-Agentes

natureza do projeto e da aplicação métodos e ferramentas a serem usados controles e produtos que precisam ser entregues

Divulgação de Dados Meteorológicos das Estações da Grande Florianópolis

Transcrição:

EXTRAÇÃO DE INFORMAÇÃO DE ARQUIVOS VETORIAIS PARA DADOS EM PROBLEMA DE GRAFOS Henrique José Souza Coutinho Alexsander Petry Igor Neumaier Rubert UNIVALI - Universidade do Vale do Itajaí, Engenharia de Computação coutinho@univali.br, xandy_pc@hotmail.com, igorrubert@gmail.com RESUMO É comum para a resolução de um problema estruturado sob a forma de grafo, se extrair a informação contida no grafo, para sua posterior manipulação através de algoritmos específicos. Esta extração de informação de um grafo nem sempre é fácil, pois a maioria das linguagens atuais não foi modelada para tal tarefa. E em casos piores, o problema representado pelo grafo sofre alterações esporádicas, dificultado ainda mais a extração dos dados do grafo. Este trabalho vem propor a utilização do AutoCAD como plataforma parar desenhar um grafo, e a linguagem de programação AutoLisp para a interpretação e extração dos dados contidos no grafo, descritos pelo usuário através de funções ativadas via linha de comandos do AutoCAD. Através da programação de tais funções foram obtidos arquivos de saída do tipo texto (*.txt) possíveis de serem manipulados por qualquer outra linguagem. O principal resultado é a facilidade de se obter a informações de grafos de grande porte em situações de complexidade elevada, em situações bidimensionais e tridimensionais. Palavras-chave: Grafos, AutoCAD, extração de informações. ABSTRACT It s usual to resolve a structured problem under the graph way, to extract the information from the graph for following manipulation by specific algorithmic. This information extraction by a graph it s not every time an easy mode, because most actual languages did not modeled to this task. In the worst cases the problem represented by the graph suffer sporadic changes becoming even hard the graph data extraction. This paper came to offer the Auto Cad like a platform to draw and program language Auto Lisp to interpretation and extraction of the graph, data describe by the user under functions activated by Auto Cad code lines. Under the

programation of this functions were obtained out text files (*.txt) that can be manipulated by any other language. The main result is the facility of get the information of a big size in high complexity situations, in 2D and 3D situations. Palavras-chave: Grafos, Auto Cad, Extração de Informação. 1 Introdução Inúmeras pesquisas e atividades desenvolvidas em diversos campos das ciências exatas utilizam como uma das ferramentas o conhecimento de Grafos e seus supostos algoritmos. Grafos, por sua vez, são estruturas simples formadas por nós que estão conectados através de arestas entre si. Apesar da simplicidade deste tipo de estrutura, os grafos possuem um grande poder de representação de diversas situações permitindo uma melhor estruturação e posteriormente a resolução de problemas em diferentes áreas de conhecimento e de pesquisa. Como por exemplo: Em centros urbanos complexos, existe a necessidade de análise das possibilidades de rotas e ou caminhos entre pontos, com o intuito de minimizar o custo operacional de algum processo. Estes processos podem ser diversos como os seguintes casos: Distribuição de água. Coleta de resíduos urbanos. Distribuição de algum tipo de bem como: jornais, cartas entre outros. Além destes problemas existem ainda outros associados a grafos como as operações de solda executadas por robôs, automação de perfuração em chapas ou a colocação de componentes em placas de circuito impresso, todos solucionáveis através da utilização de algoritmos utilizando a teoria de grafos. Uma análise não criteriosa de uma operação qualquer que seja em um grafo não trivial, pode determinar uma operação pouco eficiente, tendo como conseqüências, custos ou tempo de operação não aceitável para qual quer que seja a atividade. Assim esta análise em casos complexos, torna-se impraticável sem o auxilio de um sistema computacional e antes do próprio sistema para solução de um problema de grafos, é necessário ainda que os dados do grafo estejam em formato possível de serem trabalhados. Qualquer que seja o problema proposto em grafos existe antes a necessidade de formatar os dados para que sejam trabalhados. Em alguns casos práticos, os dados surgem tabulados, ou seja, sob a forma de uma matriz de adjacência ou tabela de adjacência, ou ainda uma matriz de incidência. Eventualmente para qualquer um dos três casos anteriores pode haver o interesse de se desenhar ou imaginar o grafo extraído da tabela. No entanto é mais comum a apresentação de um grafo sob a forma de um desenho conceitual, em qualquer plataforma de desenho, que se deseja a tabela ou matriz de adjacência para que este grafo seja processado por um algoritmo qualquer. Para as situações apresentadas nos casos anteriores, grafos de grandes dimensões, em relação ao número de nós e/ou arestas, se faz necessário ferramentas com capacidade para manipular o grafo em ambos os sentidos, espacial e sob a forma de desenho ou sob a forma de tabelas ou matrizes.

Por outro lado, as linguagens de programação formais (atuais) dificilmente, ou quase nunca, dispõem de bibliotecas com a possibilidade de exercer tal função, pois desenhos ou representações espaciais nessas linguagens são pouco desenvolvidos já que as mesmas não foram modeladas para tal função. Desta forma apresentamos aqui o problema, como transformar a informação contida em um grafo possível de ser manipulada, como por exemplo, de posse de um mapa da rede elétrica de uma cidade, como transformá-lo em um grafo para que este seja devidamente operacionalizado através de algum algoritmo de grafos. Para se resolver o problema descrito anteriormente surge naturalmente o objetivo a ser proposto. Os Sistemas de Informação Geográfica (SIG) são ferramentas especialmente conhecidas por sua grande capacidade de espacialização e de dados principalmente no sentido geográfico. Em alguns casos específicos, possivelmente a formatação de dados já deve ser feita. Porém são sistemas extremamente caros, pesados e de difícil manipulação, o que torna seu aprendizado junto aos cursos de engenharia é inviável e pouco provável, já que seu principal uso não se encontra diretamente relacionado com os objetivos acadêmicos do curso. No entanto o trabalho em apreciação permitirá desenvolver uma ferramenta que possibilitará obter dados com confiabilidade, quando comparadas a um SIG. Resumindo, devem ser considerados os seguintes pontos: Alto custo dos Sistemas de informações geográficas SIG. Dimensão do problema, em relação ao tamanho propriamente dito. Eventualmente podemos ter o objetivo de trabalhar com um grafo para representar uma placa de circuito impresso e não um bairro de uma cidade. Dificuldades no aprendizado dos SIG. Congruência com objetivos dos cursos de engenharia. Aplicação da ferramenta em outras disciplinas do curso disciplinas do curso, como pesquisa operacional. 2 Revisão Bibliográfica Pouca ou nenhuma informação foi obtida no que se diz respeito à manipulação e extração de dados de um grafo utilizando AutoCAD e AutoLisp, porém os parágrafos que sucedem enfatizam a utilização da abordagem de grafos em varias situações. Segundo MARKENZON et al (2002), em grande parte dos problemas modelados por grafos, um percurso sobre a estrutura é etapa fundamental para a construção de uma solução algorítmica eficiente. Por vezes, o próprio percurso e suas propriedades conduzem diretamente à resposta do problema. De acordo com NETTO et al (2001), resolver um problema através de um modelo de grafo implica, com freqüência, em um trabalho para suplantar dificuldades de caráter combinatório, associadas às características do problema, especialmente quando se dispõe de um amplo universo de possibilidades, em meio às quais se busca uma otimização ao menos aproximada. Um exemplo que retrata bem esta situação é visto por ROMERO (2001), quando aumenta o número de ramos de ligação do grafo de um sistema elétrico então o espaço de soluções

possíveis do problema explode de forma combinatória inviabilizando as técnicas de otimização clássicas para encontrar a topologia ótima do problema da reconfiguração. Para sistemas complexos geralmente são conhecidas apenas soluções de boa qualidade ou quase ótimas. Pelos comentários expostos acima, a extração da informação de grafos de complexidade elevada, é parte fundamental para solucionar problemas combinatórios. 3 Desenvolvimento do Trabalho As etapas empregadas no desenvolvimento deste trabalho podem ser mais bem identificadas na forma de um diagrama. Figura 1: Diagrama sistemático do desenvolvimento do trabalho. O trabalho inicial foi determinar no AutoCAD o grafo que será trabalhado. Este grafo pode ser determinado utilizando coordenadas reais de um desenho qualquer ou obtidas através do GPS (sistema de posicionamento global) ou ainda utilizar uma imagem digitalizada (*.bmp, *.jpg, *.gif, etc). Posteriormente foi desenhado o grafo sobre esta imagem. Em casos mais simples o desenho feito no AutoCAD torna-se o próprio grafo. Nesta parte referente ao AutoCAD foi utilizado como livro texto o OMURA. Em nosso principal teste resenhamos em um layer (camada do desenho) no Auto Cad as ruas do bairro Kobrassol de São José (SC), sobre um layer de um mapa digitalizado do bairro. É importante lembrar que estamos desta forma transferindo uma informação do tipo bitmap (*.bmp) para uma informação vetorizada, onde poderão se extrair novas informações. Para capturar as informações do grafo foi desenvolvida uma função na linguagem AutoLisp, que captura, por exemplo, as coordenadas dos nós, o tamanho e as direções das arestas. Nesta parte referente ao AutoLisp utilizamos como referência MATSUMOTO (2001). Esta função salva todas as informações capturadas em arquivos do tipo texto (*.txt), em uma formatação que possibilita a reutilização destas informações nos processos seguintes do trabalho.

Para a apresentação dos dados obtidos, desenvolvemos um aplicativo que recebe as informações do grafo e as modela de acordo com o que foi proposto nos objetivos do trabalho. Nesta parte referente ao aplicativo que foi desenvolvido na linguagem Delphi, utilizamos como referência BORATTI (2002). O aplicativo também permite salvar estas informações já modeladas em arquivos do tipo texto (*.txt), para que o usuário possa trabalhar com elas, ou se necessário, para que sejam utilizadas em mais um aplicativo. Por fim, é importante salientar a ausência de trabalhos acumulando experimentos nas duas áreas de Grafos e AutoCAD simultaneamente, a maioria dos trabalhos encontrados utilizava grafos para retratar as situações desejadas, porém usufruíam de outros programas, ou ainda, de outras linguagens para a extração das informações. 4 Exemplo de Aplicação Este trabalho de extração de informação foi utilizado como ferramenta em para alimentar com dados um de problema de pesquisa operacional em um TCC (Trabalho de Conclusão de Curso), na Universidade do Vale do Itajaí (UNIVALI), por SOUZA (2007). Em SOUZA (2007) é proposta uma solução para minimizar o percurso de coleta de material reciclável, efetuada por uma associação de reciclagem (catadores) no município de São José (SC), utilizando técnicas de pesquisa operacional, algoritmos de grafos e algoritmo genético. A metodologia utilizada divide o trabalho em três fases. A primeira, onde é extraída a informação de um arquivo vetorial de AUTO CAD (mapa da cidade) e transformada em um o grafo, usando o método apresentado neste trabalho; a segunda fase minimiza este grafo, retirando o que não é necessário para achar a solução, obtendo um sub-grafo; e na terceira fase, com o Algoritmo Genético, realiza uma busca para encontrar uma boa solução para as rotas de coleta. A figura 1 apresenta em detalhe o trabalho do redesenho das ruas através de um linha (line) no que e passada pelo centro das ruas. Esta linha após a execução das rotinas programadas no AUTO LISP será referenciada como uma aresta de um grafo. Como nem todos as ruas da cidade foram redesenhadas teremos um sub grafo como resultado. Este sub grafo possui formatação de dados que possibilitam a aplicação de algoritmos de grafos para solucionar o problema. O círculo na figura 1 marca o posicionamento de um local de coleta.

Figura 1 - Edição no mapa. A figura 2 apresenta de forma geral a dimensão do problema tratado, uma das rotas definidas pelo algoritmo genético e alguns locais de coleta apresentados pelos círculos. Figura 2 O sub Grafo capturado e a Primeira rota. 5 Resultados e Conclusões Após a análise da utilização do trabalho realizado, verificamos a possibilidade de operacionalizar grafos de forma confiável. No entanto, o processo de captura das informações do grafo, isto é, onde são selecionados os nós e as arestas é muito minucioso e deve ser feito aos poucos, para que se possa garantir a integridade das informações. O usuário deve selecionar primeiramente as arestas unidirecionais, posteriormente o sistema considerará todas as outras arestas como bidirecionais, sendo esta operação ainda demorada. Com a análise dos resultados obtidos neste trabalho, podemos concluir que o trabalho auxiliou na formatação de grafos, nos quais se faz necessário que as informações estejam devidamente formatadas, como por exemplo, na utilização de um algoritmo que efetue o cálculo da menor distância entre dois pontos em um grafo. É comum a dificuldade de se obter um grafo e, no entanto, a informação do grafo não esta em formatada para sua manipulação. Neste sentido o a trabalho apresentado facilita esta utilização.

Agradecimentos Os autores agradecem pelo apoio financeiro da Universidade do Vale do Itajaí (UNIVALI), através de seu Programa de Bolsas de Iniciação Científica (PROBIC). Referências [1] MATSUMOTO, Elia Yathie. AutoLISP 2002: linguagem de programação do AutoCAD. São Paulo: Érica, 2001. [2] OMURA, George. Dominando o autocad 2000. Livros Técnicos e Científicos Editora, Rio de Janeiro, 2000. [3] BORATTI, Isaias Camilo. Programação orientada a objetos [usando Delphi: conceitos preliminares - o modelo de objetos - representação de classes em object Pascal - características de implementação - desenvolvimento de ap. 2.ed. Florianópolis: Visual Books, 2002. [4] NETTO, Paulo Oswaldo Boaventura et al. Contribuição para o projeto de eletrificação de zonas rurais: uma aplicação de grafos. XXXIII Simpósio Brasileiro de Pesquisa Operacional (SBPO), Campos do Jordão SP, 2001. [5] ROMERO, R. Reconfiguração de alimentadores em sistemas de distribuição de energia elétrica usando um algoritmo genético. XXXIII Simpósio Brasileiro de Pesquisa Operacional (SBPO), Campos do Jordão SP, 2001. [6] SOUZA, Eduardo H. L. Otimização da rota de coleta de material reciclável para uma associação de reciclagem de lixo. Trabalho de conclusão de curso UNIVALI Universidade do Vale do Itajaí São Jose, SC, 2007. [7] MARKENZON, Lílian. Percursos em grafos. XXXIV Simpósio Brasileiro de Pesquisa Operacional (SBPO), Rio de Janeiro RJ, 2002.