visualização de informações – uma abordagem prática

51
Capítulo 2 Visualização de Informações – Uma Abordagem Prática Hugo A. D. do Nascimento e Cristiane B. R. Ferreira 1 Abstract Information Visualization is an emerging scientific area that studies ways of presenting data visually, so that information about the data can be better understood or even dis- covered. This course discusses several aspects regarding the visual presentation of data and introduces well known and effective techniques for information visualization. The te- chniques presented here have applications in many scientific fields. In Computer Science, particularly, they gain special attention for data mining and software engineering (for the development of CAD and CASE software). The present paper differs from other ma- terials because it not only gives conceptual details of the Information Visualization area, but also discusses algorithms and proposes guidelines for implementing new visualization techniques. Resumo Visualização de Informações é uma área emergente da Ciência que estuda formas de apresentar dados visualmente de tal modo que relações entre os mesmos sejam melhor compreendidas ou novas informações possam ser descobertas. O presente curso discute vários aspectos relacionados com a apresentação visual de dados e introduz técnicas efe- tivas e bem conhecidas para visualização de informações. As técnicas estudadas aqui têm aplicações práticas em vários campos da Ciência. Em Ciência da Computação, particularmente, elas ganham atenção especial na mineração de dados e na engenharia de software (para o desenvolvimento de aplicações CAD e CASE). Este documento não somente apresenta detalhes conceituais da área de Visualização de Informação, mas tam- bém discute algoritmos e propõe linhas gerais para a implementação de novas técnicas de visualização, o que o difere de outros artigos similares. 1 Universidade Federal de Goiás, Instituto de Informática, Bloco do IMF I - Sala 239, Campus II, Caixa Postal 131, CEP 74001-970, Goiânia, GO. Fone: (62) 521-1181, Fax: (62) 521-1182. E-mail: {hadn,cristiane}@inf.ufg.br. Este trabalho foi financiado pela Fundação de Apoio à Pesquisa (FUNAPE) e pela Universidade Federal de Goiás. XXIV JAI 1262

Upload: augusto-bernardi-pereira

Post on 27-Sep-2015

28 views

Category:

Documents


1 download

DESCRIPTION

Abordagem Prática da Visualização de Informação

TRANSCRIPT

  • Captulo

    2

    Visualizao de Informaes Uma AbordagemPrtica

    Hugo A. D. do Nascimento e Cristiane B. R. Ferreira1

    Abstract

    Information Visualization is an emerging scientific area that studies ways of presentingdata visually, so that information about the data can be better understood or even dis-covered. This course discusses several aspects regarding the visual presentation of dataand introduces well known and effective techniques for information visualization. The te-chniques presented here have applications in many scientific fields. In Computer Science,particularly, they gain special attention for data mining and software engineering (forthe development of CAD and CASE software). The present paper differs from other ma-terials because it not only gives conceptual details of the Information Visualization area,but also discusses algorithms and proposes guidelines for implementing new visualizationtechniques.

    Resumo

    Visualizao de Informaes uma rea emergente da Cincia que estuda formas deapresentar dados visualmente de tal modo que relaes entre os mesmos sejam melhorcompreendidas ou novas informaes possam ser descobertas. O presente curso discutevrios aspectos relacionados com a apresentao visual de dados e introduz tcnicas efe-tivas e bem conhecidas para visualizao de informaes. As tcnicas estudadas aquitm aplicaes prticas em vrios campos da Cincia. Em Cincia da Computao,particularmente, elas ganham ateno especial na minerao de dados e na engenhariade software (para o desenvolvimento de aplicaes CAD e CASE). Este documento nosomente apresenta detalhes conceituais da rea de Visualizao de Informao, mas tam-bm discute algoritmos e prope linhas gerais para a implementao de novas tcnicasde visualizao, o que o difere de outros artigos similares.

    1Universidade Federal de Gois, Instituto de Informtica, Bloco do IMF I - Sala 239, Campus II,Caixa Postal 131, CEP 74001-970, Goinia, GO. Fone: (62) 521-1181, Fax: (62) 521-1182. E-mail:{hadn,cristiane}@inf.ufg.br. Este trabalho foi financiado pela Fundao de Apoio Pesquisa (FUNAPE) epela Universidade Federal de Gois.

    XXIV JAI 1262

  • 2.1 Introduo Visualizao de InformaesA rea de Visualizao de Informaes um campo emergente de pesquisa que se preo-cupa com a construo de representaes visuais de dados abstratos de forma a facilitar oseu entendimento e/ou ajudar na descoberta de novas informaes contidas nos mesmos.

    Antes de discutirmos as tcnicas de Visualizao de Informaes propriamenteditas, precisamos entender o que vem a ser o processo de visualizao. O DicionrioAurlio [de Holanda Ferreira, 2004] nos ajuda nesse sentido trazendo algumas definiesesclarecedoras sobre o verbo visualizar e o substantivo visualizao:

    Visualizar 1 Tornar visvel, mediante manobra ou procedimento. 2 Formar ouconceber uma imagem visual mental de (algo que no se tem ante os olhos nomomento).;

    Visualizao 1 Ato ou efeito de visualizar. 2 Transformao de conceitos abstra-tos em imagens real ou mentalmente visveis. 3 Processo de visualizar..

    Com base nessas definies, podemos concluir que o processo de visualizaoest relacionado com a transformao de algo abstrato em imagens (mentais ou reais) quepossam ser visualizadas pelos seres humanos. O objetivo final auxiliar no entendimentode determinado assunto, o qual, sem uma visualizao, exigiria maior esforo para sercompreendido.

    Nesse contexto, a rea de Visualizao de Informaes se apresenta como umcampo de estudo de grande utilidade, uma vez que agrega tcnicas que facilitam o enten-dimento de informaes a partir de representaes visuais de dados.

    2.1.1 Vantagens de uma visualizao

    Mas por que estamos dando nfase aqui na capacidade visual humana? Por que no fa-lamos tambm de audio de dados ou de dados tteis? Em verdade, essas outrasformas de percepo de dados podem ser utilizadas e so discutidas suscitamente na l-tima seo do trabalho. Destacamos, contudo, o aspecto visual neste documento, devidoa uma srie de vantagens naturalmente apresentadas pela capacidade visual humana.

    Em primeiro lugar, uma grande quantidade de dados pode ser condensada emuma simples visualizao. O ditado popular uma imagem vale mais do que mil pala-vras resume bem essa idia. A foto tirada por Nick Ut2 em 1972 que mostra uma meninavietnamita de 9 anos correndo nua juntamente com outras pessoas e que ganhou o prmioPulitzer um exemplo tpico do poder expressivo das imagens. No preciso muitas pa-lavras para entender o que a foto transmite e sabe-se hoje que ela teve um grande impactonas decises tomadas pelos Estados Unidos sobre a sua participao na guerra do Vietn.

    Uma outra razo para explorarmos o processo de visualizao que ele envolveo sentido humano que possui maior capacidade de captao de informaes por unidadede tempo. O sentido da viso rpido e paralelo, sendo possvel, inclusive, prestar aten-o em um objeto de interesse especial, sem perder de vista (obviamente, com menosdetalhes) o que est acontecendo ao redor.

    2A foto pode ser vista em http://www.igutenberg.org/jj825.html

    XXIV JAI 1263

  • Alm disso, o sistema visual humano treinado para reconhecer padres. Po-demos verificar essa capacidade atravs da Figura 2.1. Tente encontrar, por exemplo,a estrela presente na imagem. Note que podemos localiz-la rapidamente no meio dosquadrados. Se a estrela estivesse pintada com uma cor mais escura do que a dos demaissmbolos, ento o processo de reconhecimento seria ainda mais fcil.

    Figura 2.1: Reconhecendo padres. Onde est a estrela?

    Essas caractersticas do sistema visual nos permitem identificar e lidar com situa-es complexas do nosso dia-a-dia que envolvem processamento visual.

    Finalmente, as visualizaes por si s trazem benefcios, uma vez que podemfuncionar como uma extenso da memria humana e como um auxlio para o processocognitivo. Por exemplo, fazemos anotaes em uma agenda ou em um calendrio paranos lembrarmos de assuntos a serem discutidos ou de eventos que ocorreram ou que iroocorrer. Tambm desenhamos diagramas e organizamos informaes espacialmente emuma folha de papel quando estamos estudando um problema que envolve diversas par-tes. As imagens nos ajudam a entender o problema e/ou a encontrar uma soluo para omesmo. Elas, inclusive, facilitam a memorizao do objeto em estudo.2.1.2 Um exemplo de visualizao

    As vantagens de uma visualizao, conforme mencionado acima, podem ser vistas naaplicao a seguir.

    A Figura 2.2 mostra uma tabela real de gastos mensais de um residente da cidadede Goinia-GO com despesas domsticas durante o pedodo compreendido entre agostode 1997 a janeiro de 1999. Podemos levantar vrias questes interessantes sobre os dadosda tabela, tais como: qual a maior despesa durante o referido perodo?, qual asegunda maior despesa?, qual despesa oscilou constantemente com o tempo?, qualdespesa apresentou uma tendncia de reduo?.

    Com base apenas na Figura 2.2, as duas primeiras perguntas podem ser respon-didas sem grandes dificuldades. Contudo, as duas ltimas questes exigem uma anlisemais demorada dos dados.

    No entanto, se contrurmos uma visualizao baseada em um grfico de pizza paraessa tabela, como ilustrado na Figura 2.3, ento no apenas as duas primeiras perguntaspodem ser facilmente respondidas, mas tambm vrias outras questes relacionadas coma proporo que cada despesa representa no gasto total do perodo.

    XXIV JAI 1264

  • Conta Aluguel AluguelTelefone Telefone Apartamento

    AGO 179,61 14,58 51,40 40,00 267,08 52,40 605,07SET 183,81 23,50 38,35 40,00 267,08 52,40 605,14OUT 201,21 30,24 149,00 40,00 267,08 52,40 739,93NOV 219,73 35,94 143,95 40,00 232,08 52,40 724,10DEZ 238,10 27,30 164,10 40,00 232,08 52,40 753,98JAN 168,90 24,19 126,68 40,00 217,08 52,40 629,25FEV 160,10 15,89 25,49 40,00 225,00 52,40 518,88MAR 148,00 21,60 148,88 40,00 243,55 52,40 654,43ABR 170,35 23,84 174,76 40,00 267,08 52,40 728,43MAI 152,55 27,13 132,51 40,00 267,08 52,40 671,67JUN 157,70 24,19 56,90 40,00 319,00 52,40 650,19JUL 162,25 26,09 254,52 40,00 267,08 52,40 802,34AGO 171,25 21,25 185,74 40,00 267,08 52,40 59,90 797,62SET 155,85 29,55 114,42 40,00 267,08 52,40 59,90 719,20OUT 148,90 28,68 171,74 40,00 265,00 52,40 59,90 766,62NOV 150,35 15,38 98,16 40,00 265,00 52,40 57,90 679,19DEZ 132,20 49,77 183,39 40,00 267,08 82,40 59,90 814,74JAN 148,32 26,44 114,57 40,00 267,08 52,40 59,90 708,71

    Multicanal TotalCondomnio Luz Faxina

    Figura 2.2: Tabela de despesas.

    Condomnio24%

    Luz 4%

    Conta Telefone 19%

    Aluguel Telefone 6%

    Aluguel Apart. 36%

    Faxina8%

    Multicanal 3%

    Figura 2.3: Visualizao das despesas atravs de um grfico de pizza.

    Indo mais alm na anlise das despesas, podemos visualizar os mesmos dadosatravs de um grfico de linhas, como representado na Figura 2.4. Agora as respostaspara as duas ltimas questes ficam evidentes: a conta telefnica foi a despesa que maisoscilou durante o perodo e o condomno foi o gasto que apresentou uma tendncia dereduo.

    O mais interessante nessa anlise que, olhando a Figura 2.4 alguns anos depois,o residente de Goinia percebeu que houve trs momentos em que as despesas com contatelefnica foram prximas a zero. Vendo os meses dessa ocorrncia, foi possvel recordarque isso se deu nos perodos de frias escolares, quando o mesmo estava viajando paraoutra cidade. Ele tambm se lembrou que a reduo no ms de fevereiro foi mais acentu-ada, uma vez que nesse perodo teve frias de trinta dias, enquanto nos demais as friasforam de apenas quinze dias.

    XXIV JAI 1265

  • 0,00

    50,00

    100,00

    150,00

    200,00

    250,00

    300,00

    350,00

    AGO SET OUT NOV DEZ JAN FEV MAR ABR MAI JUN JUL AGO SET OUT NOV DEZ JANMeses

    Valo

    r (R$

    )

    CondomnioLuz Conta Telefone Aluguel Telefone Aluguel Apart. FaxinaMulticanal

    Figura 2.4: Visualizao das despesas atravs de um grfico de linhas.

    A constatao de padres ou de caractersticas visuais presentes em imagens con-tribue de forma muito mais significativa para o processo de compreenso do que a simplesobservao dos dados em sua forma bruta. A construo de uma visualizao que possi-bilite essa observao pode ser conseguida organizando os dados segundo algum critrioe apresentando-os de modo visual, como demonstrado nas figuras anteriores. Em geral,visualizaes acabam possibilitando a recuperao de informaes relevantes e a constru-o de novos conhecimentos.

    2.1.3 AplicaesVisualizaes de informaes tm sido desenvolvidas para uma grande va-riedade de outras aplicaes prticas, tais como: monitoramento de bol-sas de valores [Dwyer and Eades, 2002], consulta a bases de dados de filmes[Ahlberg and Shneiderman, 1994], e desenho de organogramas de empresas e dervores genealgicas [Di Battista et al., 1999].

    Particularmente na rea da Computao, a visualizao de informaes tem apli-caes especias na minerao de dados e na engenharia de software. Visualizaes desoftware, por exemplo, auxiliam o programador a analisar e a entender a estrutura e ofuncionamento de um programa, em um nvel maior de abstrao do que quando compa-rada a uma simples leitura do cdigo fonte.

    As tcnicas de visualizao de informaes tambm podem ser utilizadas parafiltrar, analisar e gerenciar grandes quantidades de dados, como as informaes que sogeradas e disponibilizadas diariamente na Internet.

    2.1.4 ObjetivosO presente documento tem por objetivo apresentar uma viso global da rea de Visuali-zao de Informaes atravs do levantamento de diferentes aspectos relacionados coma apresentao visual de dados, enfatizando sua importncia no processo de aquisio de

    XXIV JAI 1266

  • conhecimento em vrias reas da Cincia. Ele tambm discute tcnicas e algoritmos paraconstruir representaes visuais efetivas, que auxiliem na compreenso de informaes.

    Um outro objetivo do trabalho discutir mecanismos de interao que possibilitemmanipular representaes visuais de dados, bem como indicar linhas gerais para a criaoe a implementao de novas tcnicas de visualizao de informaes.

    2.1.5 Organizao do documentoO restante deste documento est organizado como segue: a Seo 2.2 apresenta algunsconceitos gerais sobre Visualizao de Informaes e sobre temas correlatos; a Seo 2.3discute alguns critrios para ajudar na construo de visualizaes efetivas; a Seo 2.4faz um apanhado histrico da evoluo das tcnicas de Visualizao de Informaes ecomenta algumas das tcnicas modernas mais utilizadas; a Seo 2.5 apresenta tcnicaspara desenho de grafos, as quais podem ser utilizadas na visualizao de dados relacio-nais; a Seo 2.6 discute a tcnica de visualizao Foco+Contexto; a Seo 2.7 comentaa tcnica de Coordenadas Paralelas; a Seo 2.8 estuda a tcnica de visualizao base-ada no uso de cones; j a Seo 2.9 apresenta um processo para guiar a utilizao dastcnicas de visualizaes e para auxiliar no desenvolvimento de novas visualizaes; porfim, a Seo 2.10 discute vrios tpicos adicionais e problemas em abertos na rea deVisualizao de Informaes.

    Informaes complementares sobre Visualizao de Informaes podem ser en-contradas no nosso site: http://www.inf.ufg.br/funcomp/infovis.

    2.2 Definies bsicasCard e outros [Card et al., 1999] definem Visualizao de Informaes como sendo ouso de representaes visuais de dados abstratos suportadas por computador e interativaspara ampliar a cognio. importante comparar, contudo, o estudo de Visualizao deInformaes com uma rea similar chamada de Visualizao Cientfica.

    Ambos os tipos de visualizao esto voltados para o processo de descoberta, depercepo e de tomada de deciso, mais do que para uma simples observao de figuras.Seus objetivos so ampliar nossa atividades cognitivas, melhorando o entendimento eaproveitamento do que exposto e levando aquisio e solidificao do conhecimento.

    Apesar da similaridade, na Visualizao de Cientfica os dados a serem apresenta-dos geralmente correspondem a medidas de objetos fsicos, fenmenos da natureza ou po-sies em um domnio espacial, possuindo, assim, uma representao geomtrica. Comoexemplo de visualizaes nessa linha, podemos citar a visualizao de orgos do corpohumano, de fluidos em movimento e, at mesmo, de funes matemticas.

    J em uma Visualizao de Informaes, os dados so abstratos, no havendonecessariamente uma representao geomtrica inerente aos mesmos. Neste caso, umaimagem deve ser gerada com base nos relacionamentos ou informaes que podem serinferidos acerca dos dados.

    A Figura 2.5 ilustra, de modo simplificado, um processo automatizado de Visu-alizao de Informaes, onde uma imagem produzida a partir de dados de entrada.Observe que poderamos chamar esse processo de Visualizao de Dados, uma vez que

    XXIV JAI 1267

  • a imagem est diretamente relacionada aos dados. Contudo, preferimos utilizar o termoVisualizao de Informaes porque estamos mais interessados em obter informaesacerca da relao entre os dados, do que nos seus valores isolados propriamente ditos.

    FerramentaComputacionalde Visualizaode Informaes

    DadosAbstratos Figura

    Informao

    Figura 2.5: Processo simplificado de visualizao de informaes auxiliada porcomputador.

    Podemos classificar os dados abstratos a serem visualizados nas seguintes catego-rias:

    Nominal conjunto de elementos distintos, sem uma relao de ordem entre eles.Exemplo: Joo, Maria, Alberto; Ordinal conjunto de elementos distintos, mas com uma relao de ordem entre

    os mesmos. Exemplo: Segunda, Tera, Quarta, . . . , ou Janeiro, Fevereiro, . . . ; e Quantitativo faixa de valores numricos. Essa categoria pode ser dividida em

    Intervalos (com valores discretos) e Razo (representando uma faixa contnua devalores).Como veremos na Seo 2.3, essa classificao nos ajuda a escolher uma repre-

    sentao grfica adequada para os dados.Um modelo de referncia para construir visualizao de informaes apresen-

    tado por Card e outros [Card et al., 1999] e mostrado na Figura 2.6. Esse modelo um refinamento do esquema da Figura 2.5 que prev a diviso do processo de gerar umaimagem para um conjunto de dados em trs etapas descritas a seguir.

    Figura 2.6: Modelo de Referncia para Visualizao, adaptado de Card e outros.[Card et al., 1999].

    A primeira etapa chamada de Transformaes dos Dados. Nessa etapa, umconjunto de dados brutos processado e organizado em uma representao lgica mais

    XXIV JAI 1268

  • estruturada, geralmente na forma de uma ou mais tabelas. O processamento pode envolvera eliminao de dados redundantes, errados ou incompletos, bem como a filtragem eo agrupamento dos dados relevantes. Alm disso, pode ser feita a incluso de novasinformaes, como, por exemplo, de resultados de anlises estatsticas (mdia, soma total,desvio padro, etc.) realizadas sobre os dados brutos. Uma forma comum de organizaros dados em tabelas alocar uma linha para cada dado e uma coluna para cada atributodiferente dos dados. Dessa forma, a quantidade de linhas informa o nmero total de dadosa serem visualizados, e o total de colunas representa a dimenso dos dados.

    A prxima etapa o Mapeamento Visual. A tarefa aqui construir uma estruturavisual que represente visualmente os dados da tabela. Toda estrutura visual pode serdecomposta em trs partes: substrato espacial, marcas e propriedades grficas das marcas.

    O substrato visual caracteriza o espao para a visualizao, sendo normalmenterepresentado por eixos, tais como os eixos X e Y do plano cartesiano. H quatro tiposelementares de eixos:

    U = eixo no estruturado (ou sem eixo); N = eixo nominal (regio dividida em subregies); O = eixo ordenado (regio dividida em subregies, onde a ordem das mesmas tem

    importncia); Q = eixo quantitativo (a regio tem uma mtrica).

    As marcas visuais so smbolos grficos utilizados para representar os itens dedados. Alguns tipos de marcas podem ser vistas na Figura 2.7 e consistem em pontos(figuras geomtricas simples), linhas, reas, volumes e figuras complexas (tambm cha-madas de cones ou glyphs).

    Pontos

    Linhas

    Volumes

    reas

    Figuras

    Conta Ago Set Out Nov Dez JanCondomnio 179,61 183,81 201,21 219,73 238,10 168,90Luz 14,58 23,50 30,24 35,94 27,30 24,19ContaTelefone 51,40 38,35 149,00 143,95 164,10 126,68AluguelTelefone 40,00 40,00 40,00 40,00 40,00 40,00AluguelApto 267,08 267,08 267,08 232,08 232,08 217,08Faxina 52,40 52,40 52,40 52,40 52,40 52,40

    Figura 2.7: Tipos de marcas visuais.

    Por fim, as propriedades grficas das marcas so os atributos visuais que carac-terizam as mesmas. Algumas das propriedades mais utilizadas so apresentadas na Fi-gura 2.8.

    Dessa forma, o Mapeamento Visual consiste em associar os itens de dados a mar-cas visuais em um substrato visual. Cada atributo dos dados pode ser associado a propri-edades grficas das marcas.

    Um exemplo de Mapeamento Visual pode ser observado na Seo 2.1, onde umatabela de despesas (Figura 2.2) foi mapeada em um substrato espacial (Figura 2.4) con-tendo um eixo quantitativo (eixo Y) e um eixo ordinal (eixo X). Cada item de dados,

    XXIV JAI 1269

  • Posio

    Tamanho, rea, volume

    ngulo

    Inclinao

    Orientao

    Cor

    Textura

    Forma

    Animao, tempo, movimento, piscante

    Figura 2.8: Propriedades grficas das marcas.

    descrito por uma linha da tabela, foi associado a uma linha grfica na figura. Os atributosdesses dados, isto o nome da despesa e o seu valor em cada ms, foram associados core altura da linha em seu diversos pontos.

    A ltima etapa a de Transformaes Visuais, na qual possvel modificar eestender as estruturas visuais interativamente atravs de operaes bsicas como:

    Testes de localizao, que possibilitam obter informaes adicionais sobre umitem da tabela de dados; Controles de ponto de vista, os quais permitem ampliar, reduzir e deslocar a ima-

    gem com o objetivo de oferecer vises diferentes; e Distores da imagem, visando criar ampliaes de uma regio especfica em de-

    trimento de outra. importante ressaltar que os mecanismos de interao implementados nessa etapa

    permitem ao usurio explorar diferentes cenrios para um melhor entendimento dos dadosvisualizados. Alm disso, o esforo de explorao dos dados repassado em parte para ocomputador, uma vez que os clculos e o redesenho da imagem so realizados pela m-quina, deixando para o usurio a tarefa de observar o que acontece quando a visualizaose modifica.

    Como a rea de Visualizao de Informaes envolve o ato de ver (o qual, deacordo com Marr [Marr, 1982], uma tarefa complexa que abrange a aquisio de ima-gens do ambiente), a representao e o armazenamento adequado das mesmas e a extraode informaes relevantes dentro de um contexto, os estudos sobre o assunto no podemser aprofundados sem o conhecimento de contribuies importantes advindas de diversosramos da Cincia. Sendo assim, Visualizao de Informaes se encontra intimamenterelacionada Psicologia, Lingustica e s Artes Visuais, no que se refere forma comoo ser humano v e interpreta o que est sendo visto. A Visualizao de Informaestambm possui uma forte relao com algumas subreas da Computao, como VisoComputacional e Interao Homem-Computador.

    Apesar de ser uma rea relativamente nova, j existem vrios congressos, confe-rncias e simpsios importantes sendo realizados em todo o mundo em Visualizao deInformaes. Dentre eles, podemos citar:

    ACM Symposium on Software Visualization (http://www.softvis.org/); Asian Pacific Symposium on Information Visualisation (http://www.it.usyd.edu.au/~visual/apvis/);

    XXIV JAI 1270

  • Eurographics / IEEE VGTC Symposium on Visualization (http://www.comp.leeds.ac.uk/eurovis/); IEEE Symposium on Information Visualization (http://www.infovis.org/infovis/2005/); International Conference of Information Visualization (http://www.graphicslink.demon.co.uk/IV05/); e Brazilian Symposium on Computer Graphics and Image Processing - SIBGRAPI

    (http://www.sbc.org.br/sibgrapi/).Alm disso, descries de diversas tcnicas e informaes adicionais sobre essa

    rea podem ser encontradas em livros especilizados, tais como:

    The Visual Display of Quantitative Information [Tufte, 1983]; Envisioning Information [Tufte, 1990]; Visual explanations: images and quantities, evidence and narrative [Tufte, 1997]; Readings in Information Visualization - Using Vision to Think [Card et al., 1999]; Information Visualisation [Spence, 2000]; e Information Visualization - Perception for Design [Ware, 2004].

    2.3 Visualizaes efetivasNem toda forma de visualizao til para o usurio. Em geral, dois atributos de umavisualizao nos ajudam a determinar a sua provvel utilidade. Esses atributos, apresen-tados por Mackinlay como critrios para avaliar linguagens grficas [Mackinlay, 1986],so a expressividade e a efetividade.

    Uma visualizao pode ser considerada expressiva se ela capaz de mostrar todosos dados de interesse do usurio e nada mais que isso.

    J a efetividade est relacionada com a facilidade de se compreender os dadosapresentados. Para ser efetiva, uma visualizao deve ser de rpida percepo e induzir auma quantidade menor de erros de interpretao do que outras formas de se visualizar osmesmos dados.

    Efetividade e expressividade so aspectos importantes, porque sem os mesmosuma visualizao pode no ser capaz de enfatizar padres relevantes nos dados, no tra-zendo, assim, quaisquer informaes novas alm daquilo que j trivialmente conhecido.Alm disso, uma visualizao tambm pode ser de difcil entendimento ou, at mesmo,sugerir padres que na verdade no existem, o que pode levar a uma interpretao errneados dados.

    A Figura 2.9 ilustra problemas com efetividade de visualizaes para apresentara cotao do Dlar para compra em Reais. A visualizao (a) mostra a cotao no pe-rodo de 13 a 18/04/2005, utilizando um mapeamento visual em que o valor do Dlarfoi associado saturao da cor utilizada em uma seqncia de crculos. Para cada diatil do perodo h um crculo correspondente; quanto mais escuro o crculo, maior a cotao do Dlar. Obviamente essa visualizao no to efetiva quanto a mostradaem (b), onde os dados so apresentados intuitivamente atravs um grfico XY de linhas.Por outro lado, essa segunda visualizao pode sugerir que houve uma forte tendncia deaumento do Dlar, uma vez que a linha de projeo da cotao ngreme. Tal grfico,

    XXIV JAI 1271

  • contudo, carece de dados para situar o perodo analisado em um contexto maior. Se to-marmos a situao do Dlar entre 08/04/2005 a 13/05/2005, como demonstrado em (c),perceberemos que houve, na verdade, uma queda crescente do seu valor. Esse fato foi,inclusive, comentado pelos principais jornais do Pas na poca. As duas primeiras visu-alizao no so, portanto, efetivas, porque no conseguem transmitir para o observadoruma informao correta sobre a tendncia significativa da variao do Dlar.

    Figura 2.9: Visualizaes da cotao do Dlar para compra.

    Os problemas mais comuns que podem comprometer a efetividade de uma visua-lizao so:

    no colocar dados suficientes na visualizao de forma a contextualizar as infor-maes mais relevantes apresentadas; desconsiderar atributos importantes dos dados; utilizar grficos sobrepostos em escalas diferentes ou com sistemas de coordena-

    das distintos, o que impede uma comparao justa entre os dados; e no fazer um mapeamento dos dados para marcas e atributos visuais de forma

    adequada.

    XXIV JAI 1272

  • Obviamente, caractersticas como cor, dimensionalidade, perspectiva, luminosi-dade, tamanho e forma dos objetos so fatores que auxiliam no processo de cognio eque podem ser explorados na construo de visualizaes efetivas. Outros aspectos comoexistncia de mecanismos de interao com os dados e a possibilidade de compactar umagrande quantidade de informaes teis em uma mesma imagem contribuem para a efeti-vidade de uma visualizao.

    A seguir apresentamos algumas sugestes para aumentar a expressividade e efeti-vidade das visualizaes:

    Utilize o modelo de visualizao apresentado na Figura 2.6 no desenvolvimento denovas visualizaes. Esse modelo ajuda na modularizao do processo de trans-formao de dados brutos em imagens interativas. Com isso, novos recursos po-dem ser adicionados visualizao sem a necessidade de alterar todo o processo. Elimine da visualizao grficos e textos desnecessrios. Uma boa medida de

    quantos elementos so desnecessrios em uma figura a quantidade de tinta ou depixels gastos com itens que no so dados de interesse. Busque simplicidade; isto , entre duas formas diferentes de representar visual-

    mente uma mesma informao, prefira a que mais simples. Aumente a quantidade de dados por centmetro quadrado. Isso parece contrrio

    s duas recomendaes anteriores, contudo, o que se deseja aqui colocar maisdados de interesse na imagem, sem sobrecarreg-la demasiadamente, de forma aajudar na compreenso do problema como um todo. Explore a utilizao de smbolos e de atributos visuais que facilitem a percepo

    dos dados e dos padres existentes nos mesmos. Por exemplo, possvel destacarelementos importantes em uma imagem atravs do uso de uma cor mais chama-tiva ou colocando informaes piscando na tela. Certas cores e smbolos grficostambm j so bem conhecidos culturalmente por terem um significado especfico;essas cores e smbolos podem ser associados a dados abstratos para transmitir-lhesum significado similar. Permita formas de interao com a visualizao. Utilize animaes para mudar gradativamente uma visualizao sempre que ne-

    cessrio, de forma a preservar o mapa mental que o usurio tem da imagem. Seuma visualizao muda drasticamente, ento pode ser difcil para o usurio enten-der o que aconteceu, uma vez que o seu mapa mental (de onde e como estolocalizados visualmente os dados) no coincide com a nova representao visual.No que diz respeito utilizao de atributos visuais, Mackinlay [Mackinlay, 1986]

    prope ordens de prioridade para se associar atributos de dados a atributos visu-ais, as quais so uma extenso do trabalho desenvolvido por Clevelan e McGill[Cleveland and McGill, 1984]. As ordens de prioridade de Mackling so apresentadasna tabela a seguir para trs tipos de dados e vo do atributo visual mais perceptvel at omenos perceptvel. A idia associar os atributos mais importantes dos dados aos atribu-tos visuais no topo da lista, seguindo a seqncia recomendada.

    Como exemplo, suponha que se deseje associar dados quantitativos de pacientesde um hospital, como peso, altura e tempo de internao, uma imagem. De acordo com aTabela 2.1, os atributos mais importantes devem ser associados posio de um elementovisual na tela. Os demais atributos podem ser associados ao comprimento, inclinao erea do elemento, nesta ordem.

    XXIV JAI 1273

  • Percepo Dados Quantitativos Dados Ordinais Dados NominaisMaior Posio Posio Posio

    Comprimento Densidade Croma de Corngulo Saturao de cor Textura

    Inclinao Croma de cor Conexorea Textura Envolvimento

    Volume Conexo DensidadeDensidade Envolvimento Saturao de cor

    Satrurao de cor Comprimento FormaCroma de cor ngulo Comprimento

    Textura Inclinao nguloConexo rea Inclinao

    Envolvimento Volume reaMenor Forma Forma Volume

    Tabela 2.1: Acuidade de percepo de atributos visuais.

    2.4 Resumo das tcnicas de visualizaoNesta seo apresentado um breve levantamento das tcnicas de Visualizao de Infor-maes.

    2.4.1 Primeiras formas de visualizao de informaes

    As formas mais antigas de visualizao de informaes remontam Pr-Histria, quandoos homens da poca expressavam visualmente o que se passava no seu viver atravs dedesenhos e pinturas em rochas e cavernas. As pinturas mais antigas foram encontradasnas cavernas em Altamira, na Espanha, e em Lascaux, na Frana, e datam de 25.000a.C. Essas manifestaes iniciais da expresso artstica registraram atividades e hbitoshumanos, sendo hoje um grande auxlio para o entendimento de nossa evoluo cultural.

    Caminhando um pouco mais na linha do tempo, observamos uma iniciativa, porparte dos rabes, de elaborar um mtodo visual para realizar contas de multiplicao:o mtodo tabular, ilustrado na Figura 2.10. Esse mtodo levou ao desenvolvimento domtodo de multiplicao atual.

    Figura 2.10: Mtodo tabular.

    No exemplo mostrado na Figura 2.10, uma tabela desenhada contendo o nmero217 acima e o nmero 14 esquerda da mesma. O produto de cada dgito da esquerdacom um digito de cima colocado na interseo da linha com a coluna associada a essesdgitos. Assim, o produto de 1 por 217 colocado na primeira linha da tabela e o produtode 4 por 217 colocado na segunda linha. O produto final de 217 por 14 dado pela somados dgitos nas diagonais, ou seja:

    XXIV JAI 1274

  • 84 + 2 + 7 = 3 (vai 1)(vai 1) + 8 + 1 = 0 (vai 1)(vai 1) + 2 = 3Utilizar uma folha de papel para realizar o clculo com o mtodo descrito ante-

    riormente proporciona uma extenso para a memria humana, visto que fazer a conta decabea pode ser um processo mais demorado e, dependendo do caso, complicado.

    Outros exemplos de visualizao permitiram a transmisso de conhecimento e adescoberta de novas informaes de maneira efetiva.

    Em 1845 ocorreu uma incidncia de clera no Distrito de Soho, em Londres. Omdico John Snow acabou criando um mapa dessa rea no qual pontos pretos representa-vam mortes individuais por clera e marcas em X representavam as posies de bombasde gua3. A partir desse mapa, o Dr. Snow observou que as mortes estavam concentra-das nos arredores da bomba da Broad Street e que, portanto, poderiam estar associadas gua. importante lembrar que a forma de transmisso da clera no era conhecida aocerto na poca.

    Outra forma precursora de visualizao o mapa de M. Charles Minard que re-trata a famosa marcha de Napoleo na Rssia (1812)4, quando 422.000 soldados partiramda Frana e somente 10.000 retornaram. Esse mapa um dos exemplos de visualizaomais citados porque agrega diversas informaes de forma efetiva em uma nica figura. Amarcha dos soldados representada, por exemplo, por uma linha sobre um mapa geogr-fico simplificado. A largura da linha em cada ponto do mapa proporcional quantidadede soldados que formavam o grupo naquele percurso. A ida para Moscou e a retirada dogrupo indicada pela cor da linha. Alm disso, um grfico mostrando a queda da tem-peratura durante a volta de Napoleo apresentado na parte inferior da figura, alinhadocom a linha que indica a marcha dos soldados. A visualizao ajuda a perceber como ascondies climticas desfavorveis contriburam para a mortalidade dos soldados.

    O mapa do metr de Londres constitui outro bom exemplo de visualizao deinformaes. No incio do sculo XX, o Ingls Harry Beck percebeu que passageirosde metr no precisavam saber da posio geogrfica exata por onde as linhas dos trenspassavam para poder utilizar eficientemente esse sistema de transporte. Ele verificou que,uma vez no subsolo, o importante era ter um conhecimento das estaes e de quais linhasde metr faziam conexo entre as mesmas. Assim, um passageiro poderia planejar a suaviagem considerando apenas as estaes de partida e de destino e uma rota vivel entreelas. Beck ento desenhou um novo mapa de metr para Londres que desconsiderava aposio geogrfica precisa da malha ferroviria, em favor de linhas de conexo mais retase de espaamento uniforme entre as estaes. Alguns propriedades geogrficas foram

    3O mapa de John Snow pode ser visto em http://www.ph.ucla.edu/epi/tufte\_snow2.htm (site acessado em 17/05/05).

    4Diversas adaptaes e tradues do mapa de Minard tem sido feitas, existindo inclusive uma versoanimada que mostra gradativamente a marcha de Napoleo. Um verso fiel do mapa traduzida para oIngls pode ser encontrada em http://www.edwardtufte.com/tufte/minard (site acessado em17/05/05)

    XXIV JAI 1275

  • mantidas no mapa tais como: a direo e a orientao geral das linhas (Norte-Sul e Lest-Oeste) e a distncia relativa entre estaes adjacentes. A abordagem de visualizaodesenvolvida por Herry Back foi publicada em 1933 e utilizada hoje nos principaismetrs do mundo por ser simples e bastante intuitiva5.

    Com o passar do tempo, as tcnicas de visualizao de informaes foram evo-luindo, motivadas pelo desenvolvimento da Computao e pela necessidade crescente degerenciar e apresentar uma quantidade cada vez maior de dados. Esses fatores levaram aosurgimento da rea de Visualizao de Informaes como a conhecemos, composta porvrios estilos de visualizao com finalidades distintas.

    A partir deste ponto faremos uma breve explanao sobre cada um dos tipos detcnicas de visualizao e aprofundaremos algumas delas nas sees subseqentes.

    2.4.2 Visualizaes atuais

    Existem dois eixos principais para o estudo das tcnicas de visualizao de informaes.O primeiro eixo considera o modo como as tcnicas exploram o substrato visual, as mar-cas e as propriedades visuais do desenho. Nesse eixo, temos tcnicas que utilizam cores,exploram a dimenso do substrato visual, modificam dinamicamente a associao dosdados a marcas visuais, variam a escala de ampliao da imagem e empregam figurasmetafricas para apresentar informaes. No segundo eixo, as tcnicas so classificadasde acordo com as caractersticas dos dados a serem visualizados. Dessa forma, existemtcnicas adequadas para dados unidimensionais, bidimensionais e tridimensionais comatributos aparentemente independentes, multi-dimensionais (quatro ou mais dimenses)e redes (grafos).

    Considerando o primeiro eixo definido anteriormente, uma caracterstica bastanteexplorada por vrias tcnicas na representao de informaes a cor das marcas visuais.Colocar a cor certa no lugar certo no uma tarefa trivial, uma vez que a associa-o inapropriada de atributos de dados a cores pode causar uma catstrofe visual. Tufte[Tufte, 1990] apresenta alguns princpios para o uso correto das cores. Por exemplo, nocaso de mapas, cores puras, muito fortes ou brilhantes, podem resultar em efeitos desa-gradveis quando empregadas em grandes reas adjacentes, mas podem ter efeitos extra-ordinrios quando usadas de forma reduzida ou entre dois tons de background. O uso deluz, cores brilhantes misturadas com branco, podem gerar tambm efeitos desagradveis,principalmente se as cores forem utilizadas em grandes reas. Ware [Ware, 2000] discutea importncia das cores e tambm apresenta alguns cuidados com o uso das mesmas, prin-cipalmente em relao ao contraste da cor de uma marca visual com a cor de fundo. Ocontraste entre cores adjacentes pode alterar significativamente a percepo de uma cor,fazendo com que ela parea ser mais clara ou escura. Existem meios para tentar reduziresses efeitos, como, por exemplo, desenhar uma fina borda branca ou preta ao redor doobjeto colorido.

    Com relao dimenso do substrato visual, Card e outros [Card et al., 1999]trazem uma discusso detalhada sobre o uso de estruturas dimensionais. Estruturas uni-dimensionais so tipicamente empregadas para a apresentao de documentos de texto

    5O mapa original de metr de Londres, de 1933, pode ser encontrado em http://img223.echo.cx/img223/1470/beckmap609ah.jpg (site acessado em 18/05/05).

    XXIV JAI 1276

  • ou de linhas do tempo, podendo ser combinadas com um segundo ou terceiro eixo paramostrar comparao entre valores. Estruturas visuais bidimensionais, como grficos delinhas, barras, pizza e mapas, so tipicamente utilizadas para apresentar dados estats-ticos, descrever funes matemticas ou visualizar informaes geogrficas. Estruturasvisuais 3D, por sua vez, so mais usadas para visualizar dados fsicos ou para combinarvisualizaes em 2D.

    A Figura 2.4 da Seo 2.1 um exemplo de visualizao que emprega um subs-trato visual bidimensional, com dois eixos.

    A Figura 2.11 mostra uma tela do programa HomeFinder[Williamson and Shneiderman, 1992], a qual tambm um bom exemplo de visua-lizao 2D. O HomeFinder localiza em um mapa geogrfico casas disponveis paravenda. O ponto forte do sistema a possibilidade de realizar consultas dinmicas basede dados a fim de filtrar casas de acordo com o seu preo, quantidade de quartos e debanheiros e a distncia em relao a um ponto de referncia, entre outros parmetros.

    Figura 2.11: Homefinder. Figura gerada utilizando o software demonstrativo emhttp://dq.com/homefind/.

    Outra categoria de tcnicas de Visualizao de Informaes composta por abor-dagens que variam a escala de ampliao da imagem. Uma tcnica dessa categoria a Foco+Contexto, a qual proporciona uma viso geral dos dados e, ao mesmo tempo,destaca uma determinada regio de interesse (foco) atravs de uma distoro da imagemvisualizada. Diversas variaes da tcnica de Foco+Contexto existem, sendo algumasdelas discutidas na Seo 2.6.

    Uma abordagem similar Foco+Contexto mas que no utiliza distores cha-mada de Overview+Detail. Essa tcnica mostra uma viso geral dos dados como umafigura reduzida em um regio da tela (o overview), enquanto apresenta um subconjuntodos dados de modo ampliado e detalhado em outra regio (o detail). A tcnica sincro-niza a regio ampliada com a viso geral atravs de uma pequena marca visual na figurareduzida, indicando qual parte dos dados foi ampliada. Essa abordagem amplamenteutilizada em editores e visualizadores de documentos texto e de imagens.

    Alm das formas j descritas de visualizao, metforas visuais vm sendo em-

    XXIV JAI 1277

  • pregadas como uma nova maneira de apresentar e explorar informaes. Como exemplo,Panas e Berrigan [Marcus et al., 2003] prope uma abordagem para visualizar softwareque mapeia mtricas de programas em estruturas 3D de uma cidade virtual. Com essetipo de visualizao, possvel detectar problemas no software e reduzir gastos com a suamanuteno. Um trabalho similar apresentado por Balzer e outros [Balzer et al., 2004],na qual estruturas estticas de programas orientados a objetos so representadas comoobjetos tridimensionais distribudos sobre um plano.

    Nessa mesma linha de imagens metafricas, outra proposta interessante o uso depaisagens (landscapes) para representar interrelaes entre grupos de dados. A propostatem sido utilizada, entre outras aplicaes, para visualizar a similaridade entre documen-tos texto com base em palavras-chave. Nesse caso, a tcnica consiste em desenhar orelevo de uma ilha de tal forma que cada palavra-chave seja associada a uma nica regioda mesma. A quantidade de documentos onde cada palavra-chave aparece utilizada paradeterminar a altura do relevo na regio correspondente. Alm disso, se no h documen-tos que compartilham duas palavras-chave, ento no existe uma linha reta de terra queliga as regies correspondentes. A Figura 2.12 mostra uma tela do KartOO, um site debusca na web (http://www.kartoo.com/) que apresenta seus resultados na formade landscapes interativos.

    Figura 2.12: Exemplo de landscape.

    Passando para o segundo eixo apresentado no incio dessa seo, as tcnicas devisualizao de informaes podem seguir uma classificao de acordo com as caracters-ticas dos dados. Dados lineares e bimensionais podem ser visualizados atravs de vriastcnicas como: grficos de pizza, de linha e de barra, Overview+Detail e Foco+Contexto.

    Quando os dados possuem n dimenses, com n maior que 3, tcnicas mais elabo-radas so necessrias. Uma dessas tcnicas consiste em mapear apenas dois atributos dosdados para coordenadas X Y de um plano cartesiano e associar os demais atributos forma, cor e tamanho de objetos visuais. Outra soluo projetar o espao n-dimensionalno plano cartesiano, atravs de alguma tcnica de projeo, como a MultidimensionalScalling [Borg and Groenen, 1997].

    Duas outras tcnicas de visualizao para dados multidimensionais bastante inte-ressantes so as Coordenadas Paralelas e os Glyphs. A tcnica de Coordenadas Paralelas

    XXIV JAI 1278

  • associa as dimenses dos dados a eixos paralelos verticais equidistantes, denominadoscoordenadas. Nessa tcnica cada dado mapeado em uma linha conectando pontos noseixos. J os Glyphs (ou cones) podem ser entendidos como uma representao simb-lica que evidencia caractersticas essenciais de um dado ao qual se refere. Os Glyphs soconstrudos atravs de um mecanismo de codificao que associa atributos dos dados aparmetros do cone. As tcnicas de Coordenadas Paralelas e de Glyphs so explicadascom mais detalhes nas prximas sees deste trabalho.

    Se os dados representarem relaes entre objetos, uma forma efetiva de visualiz-los construir um grafo que descreva essa relao e gerar um desenho do mesmo. Tcni-cas para desenho de grafos so apresentadas na Seo 2.5. Relaes hierrquicas entre da-dos podem ser visualizadas atravs de desenhos de rvores, o que tambm mencionadonaquela seo. Outras tcnicas, como o browser hiperblico, apresentado na Seo 2.6,podem ser utilizadas para mostrar estruturas relacionais.

    No caso especfico de hierarquias, Johnson e Shneiderman[Johnson and Shneiderman, 1991] utilizam uma tcnica, chamada Tree-Map, que faz usode 100% do espao disponvel na tela para mostrar uma estrutura hierquica. A tcnicaconsiste em representar o nvel mais alto da hierarquia como uma regio retangular quepreenche todo o espao de desenho. Os nveis mais baixos so desenhados recursivamentecomo retngulos dentro da regio maior. O tamanho de cada retngulo proporcionalao nmero de itens nos nveis imediatamente abaixo na hierarquia. Um exemplo dessatcnica mostrado na Figura 2.13. Outro exemplo a visualizao de notcias apresenta-das em http://www.marumushi.com/apps/newsmap/newsmap.cfm, ondeo usurio pode filtrar informaes de acordo com o tema, data e pas.

    Figura 2.13: Exemplo de uso da tcnica tree-map. A imagem foi gerada atravsdo software desenvolvido por Ben Shneiderman do Laboratrio deInterao Homem-Computador da Universidade de Maryland.

    Conforme evidenciado no incio dessa seo, o objetivo aqui era fazer um r-pido passeio pelos tipos de tcnicas de visualizao. Algumas delas so aprofundadasnas prximas sees. Entretanto, informaes mais completas sobre diversas tcnicas po-dem ser encontradas em livros especializados no assunto [Card et al., 1999, Spence, 2000,Ware, 2000].

    XXIV JAI 1279

  • 2.5 Desenho de GrafosGrafos so modelos matemticos formados por estruturas simples que consistem de umconjunto de vrtices e um conjunto de arestas. Os vrtices geralmente representam objetosconcretos ou abstratos em diversas reas do conhecimento humano, e as arestas indicamrelaes entre esses objetos. Desenho de Grafos [Di Battista et al., 1999] uma das tcni-cas de visualizao mais comumente utilizadas para demonstrar relaes entre objetos oupessoas e estruturas hierrquicas. As tcnicas de Desenho de Grafos tm aplicaes, porexemplo, na micro-eletrnica para desenho de circuitos VLSI; na Engenharia de Softwarepara representar estruturas modulares de programas e a hierarquia de classes e de objetos(principalmente nas linguagens visuais e nas ferramentas de desenvolvimento de siste-mas); em aplicaes CAD para facilitar a anlise e a manipulao de dados; em sistemasde telefonia para ilustrar uma rede de chamadas telefnicas em uma determinada regioou pas; e em ambientes de comunidade virtual para apresentar redes sociais. Atualmente,basta abrir um livro de cincias ou uma revista cientfica para perceber que as figuras oudiagramas ilustrativos tm um bom trabalho subjacente de desenho de grafos.

    Nesta seo apresentamos algoritmos para visualizar grafos. Algumas definiesbsicas em Teoria dos Grafos so dadas inicialmente, sendo que o leitor mais familiari-zado com o assunto pode avanar diretamente para a Subseo 2.5.2.

    2.5.1 Grafos

    Um grafo G (nodirecionado6) um par (V,E), onde V um conjunto finito de pontosdenominados vrtices e E um conjunto finito de arestas. Uma aresta e E um parno ordenado xy de vrtices distintos de V . A aresta e pode ser escrita como xy ou yxe indica que x e y so os extremos de e. Neste caso, dizemos que x e y so adjacentes eque a aresta xy incidente em x e em y. O grau de um vrtice x V definido comosendo o nmero de arestas de G incidentes a x.

    Um caminho, de um vrtice x para um vrtice y, em um grafo G consiste de umaseqncia Sxy = (x = v0, v0v1, v1, v1v2, . . . , vk1vk, vk = y) onde vivi+1 so arestas deG (para i = 0, 1, . . . , k 1) e v0, . . . , vk so vrtices de G. Sem perda de generalidade,podemos omitir os vrtices da seqncia. Deste modo, um caminho de um vrtice x paraum vrtice y uma seqncia de arestas Sxy = (v0v1, v1v2, . . . , vk1vk), onde v0 = x,vk = y, e vivi+1 so arestas de G para i = 0, 1, . . . , k 1. Quando um caminho temambos os seus extremos iguais (v0 = vk), ele chamado caminho fechado (ou ciclo).O comprimento de um caminho Sxy representado por |Sxy| e definido como sendo onmero de arestas da seqncia. A distncia entre dois vrtices x e y no grafo (tambmconhecida como distncia terica) dada pelo comprimento do menor caminho de x paray.

    Um grafo G conexo se existe um caminho Sxy para todo par de vrtices distintosx e y de G.

    O centro terico de um grafo no-direcionado G representado por um vrtice xcuja soma das distncias de x a todos os demais vrtices de G mnima.

    Dizemos que um grafo G = (V , E ) um subgrafo de G = (V,E), se V V e6tambm chamado de grafo no-orientado

    XXIV JAI 1280

  • E E. Se G contm todas as arestas de G cujos extremos so vrtices de V , ento G chamado de subgrafo induzido de G.

    Um grafo H dito gerado de um grafo G, notao H v G, se H um subgrafo deG, e quaisquer dois vrtices u e v so adjacentes em H se e somente se forem adjacentesem G.

    Dois grafos so isomorfos se h uma correspondncia entre seus conjuntos devrtices que preserva a adjacncia. Assim, G = (V,E) isomorfo a G = (V , E ) seexiste uma funo bijetora : V V , tal que xy E implica que (x)(y) E evice-versa. Naturalmente, grafos isormofos tm o mesmo nmero de vrtices e de arestas.

    De forma semelhante definio de grafo no-direcionado, um grafo direcionadoG um par (V,E), onde V um conjunto finito de vrtices e E um conjunto de pa-res ordenados de vrtices. Num grafo direcionado, uma aresta e = (x, y) de E ditadiscindente de x e incidente em y, respectivamente. O vrtice y dito adjacente a x.

    O grau de entrada de um vrtice x de um grafo direcionado G definido comosendo o nmero de arestas que incidem em x. O grau de sada deste vrtice dado pelonmero de arestas discidentes de x. O grau de x definido como a soma entre o grau deentrada e o grau de sada de x.

    Um caminho direcionado de um vrtice x para um vrtice y uma seqncia dearestas Sxy = ((v0, v1), (v1, v2), . . . , (vk1, vk)), onde (vi, vi+1) so arestas orientadas deG, para i = 0, 1 . . . k 1. Quando um caminho direcionado tem ambos os seus extremosiguais (v0 = vk), ele chamado caminho direcionado fechado (ou ciclo direcionado).Um grafo direcionado dito acclico (tambm conhecido por DAG, do ingls DirectedAcyclic Graph) se no possui caminhos direcionados fechados.

    Se existe um caminho direcionado de um vrtice x para um vrtice y em um grafodirecionado G, ento dizemos que y alcanado por x. Definimos o conjunto alcanveldo vrtice x, notao Rx, como sendo o conjunto de todos os vrtices alcanveis por x.

    Um grafo Gs no-direcionado subjacente a um grafo direcionado G se Gs obtido a partir de G removendo-se somente a orientao de suas arestas.

    Um grafo direcionado fracamente conexo se seu grafo subjacente for conexo.Os grafos direcionados fracamente conexos sero referenciados, neste trabalho, apenaspor grafos conexos, suprimindo-se o termo fracamente.

    Para um grafo G = (V,E), direcionado ou nodirecionado, denotamos por |V |e |E| os tamanhos dos conjuntos V e E, respectivamente. O tamanho de um grafo G,notao |G|, consiste da soma |V |+ |E|.

    Uma rvore um grafo A = (V,E) conexo onde |E| = |V | 1. Todo vrticecom grau 1 de uma rvore chamado de folha.

    Uma rvore com raiz uma rvore A = (V,E) que possui um vrtice r V ,chamado de raiz, e uma ordem hierrchica dos seus vrtices que inicia em r e terminanas folhas. A profundidade de um vrtice v V dada pela distncia de v a r. A alturade A a maior profundidade de seus vrtices. A hierarquia definida de acordo coma profundadide de cada vrtice. A altura de A a maior profundidade de seus vrtices.Os filhos de um vrtice v V so os vrtices adjacentes a v que possuem profundidade

    XXIV JAI 1281

  • maior do que ele; nesse casso, v chamado de pai desses vrtices. A rvore A ditabinria se a raiz tem grau mximo dois e todos os demais vrtices possuem grau menorou igual a trs.

    Os interessados em se aprofundar em Teoria do Grafos podero encontrar outrasdefinies em [Bollobs, 1978, Swamy and Thulasiraman, 1981].

    2.5.2 Processo de desenho

    Um desenho bidimensional de um grafo G = (V,E) uma funo D : G IR2 queassocia a cada vrtice e aresta de G um objeto no IR2. Neste documento damos enfoque adesenhos bidimensionais de grafos. Desta forma, omitiremos o adjetivo bidimensional,ficando este subentendido.

    Um processo de desenho de grafos geralmente comea com uma representao deum grafo numa forma combinacional, como, por exemplo, uma matriz ou uma lista deadjacncias, e resulta em um desenho que adota uma representao grfica e define umalocalizao no plano para cada vrtices e aresta do grafo. Esse processo ilustrado naFigura 2.14.

    G=(V,E)V={1,2,3,4,5}E={(1,2),(1,3),(2,3),

    (2,4),(2,5),(3,5),(4,5)}

    1

    2 3

    4 5

    Algoritmo deDesenho

    Figura 2.14: Processo de desenho de grafos.

    Para obter um desenho final de qualidade, o processo de Desenho de Grafos deveenvolve trs etapas:

    1. escolher um padro grfico para vrtices e arestas;2. definir critrios que determinam a qualidade esttica do desenho; e3. produzir um desenho com o padro grfico adotado que satisfaa os critrios est-

    ticos definidos.

    O padro grfico determina a forma com que os vrtices e as arestas so represen-tados geometricamente. Existem muitos padres grficos, sendo que, o mais comum de-senhar os vrtices como crculos e as arestas como linhas poligonais7. Os pontos onde aslinhas poligonais mudam de direo so chamados de dobras (observe a Figura 2.15(a)).

    Dentro do padro de linhas poligonais existem duas variaes de particular inte-resse quanto representao das arestas: cada aresta pode ser simbolizada por um nicosegmento de reta, e, neste caso, o desenho chamado de desenho em linhas retas (Fi-gura 2.15(b)); ou cada aresta pode ser simbolizada por vrios segmentos de retas ortogo-nais aos eixos do plano, e o desenho chamado de desenho ortogonal (Figura 2.15(c)).

    7Alguns autores desenham as arestas como arcos

    XXIV JAI 1282

  • dobra

    (a) (b) (c)Figura 2.15: Padro grfico: (a) linhas poligonais, (b) linhas retas e (c) desenho

    ortogonal.

    Algumas terminologias tm sido empregadas para identificar certas propriedadesvisuais apresentadas pelos desenhos de grafos. De um modo geral, dizemos que um dese-nho produzido sobre uma grade quando utilizamos uma regio reticulada para desenharvrtices e pontos de dobra das arestas.

    Um desenho de um grafo direcionado em linhas poligonais chamado de upwardquando todas as suas arestas possuem pelo menos uma componente da linha poligonalvoltada para cima e nenhuma componente volta para baixo. O conceito de upward podeser utilizado de forma mais intuitiva e abrangente para referenciar um desenho de umgrafo direcionado em que todas as arestas esto voltadas para um nico sentido, seja essepara baixo ou para cima.

    Desenhos que no apresentam cruzamentos de arestas e que no possuem sobre-posio de vrtices em arestas so denominados de planares.

    possvel gerar um nmero infinito de desenhos diferentes para um mesmo grafo,independente do padro grfico escolhido. Contudo, somente uma parcela desses dese-nhos tm alguma utilidade prtica.

    Na maioria das vezes, entre todos os possveis desenhos, estamos interessadosapenas naqueles que so legveis, ou seja, que ajudam na visualizao dos vrtices earestas e, portanto, na compreenso do grafo.

    Em outras situaes, o importante no obter propriamente legibilidade, mas sim,atender a certas necessidades que facilitem o mapeamento direto do desenho em algumobjeto de aplicao real. Citamos como exemplo o caso do projeto de circuitos digitais,cujo objetivo maior gerar diagramas eltricos com o mnimo possvel de cruzamentosentre conexes.

    A escolha de qual subconjunto de desenhos til pode ser uma atividade subje-tiva, que varia de acordo com o gosto particular de cada usurio. Veja, por exemplo, osdesenhos de um mesmo grafo direcionado apresentados na Figura 2.16. Um grande n-mero de pessoas pode achar mais interessante o desenho da Figura 2.16(a), uma vez queeste exibe simetrias; no entanto, possvel que outras pessoas gostem mais do desenhoda Figura 2.16(b), pois ele mostra arestas com orientao uniforme para baixo.

    Com o objetivo de eliminar essa subjetividade, definimos um conjunto de critriosque indicam quais so as caractersticas nos desenhos que nos agradam. Estes critriosso denominados, grosso modo, de critrios estticos, por estarem freqentemente rela-

    XXIV JAI 1283

  • (a) (b)Figura 2.16: Subjetividade na definio do que seja um bom desenho.

    cionados com caractersticas estticas visuais. Apesar disso, eles podem refletir aspectosde outra natureza (no esttica).

    Alguns exemplos de critrios estticos gerais utilizados so:

    apresentar poucos cruzamentos de arestas, exibir simetrias8, distribuir os vrtices uniformemente no espao de desenho, mostrar arestas com comprimento uniforme e dispor as arestas numa mesma direo, tanto quanto possvel (no caso de grafos

    direcionados).Podemos dizer que a qualidade de um desenho est associada ao grau de satisfao

    de um conjunto de critrios estticos. Dependendo de quanto um desenho atende a certocritrio, ele pode ser considerado como de boa ou de m qualidade. A busca por desenhosde boa qualidade comumente envolve a satisfao de vrios critrios estticos ao mesmotempo e tratada na literatura como um problema de otimizao multiobjetivo.

    Alm de critrios estticos, podemos definir tambm restries para orientara elaborao dos desenhos. As restries estabelecem regras que devem ser cumpridasnecessariamente. So exemplos de restries de desenhos exigir que um conjunto devrtices seja desenhado em uma determinada posio ou seguindo um padro grficodiferente dos demais. Enquanto uma restrio nunca deve ser desrespeitada, um critrioesttico pode ser atenuado dentro de um certo grau de tolerncia.

    A atividade de desenhar grafos em linhas poligonais divide-se em dois paradig-mas: o posicionamento dos vrtices placement e o roteamento das arestas routing. Oprimeiro paradigma consiste em adotar um padro grfico para desenhar as arestas e en-contrar uma localizao para os vrtices que atenda a alguns critrios estticos ou restri-es. O segundo consiste em fixar a posio dos vrtices e satisfazer a critrios estticosou restries roteando as arestas do grafo.

    A busca por desenhos de boa qualidade, tanto para problemas de posicionamentocomo de roteamento, incorre em muitas dificuldades. A principal delas segue do fato deque a obteno de bons desenhos freqentemente est associada a problemas NP-Difceis[Di Battista et al., 1994, Eades, 1989].

    8Definimos o nmero de simetrias de um desenho de forma simplificada aqui, como sendo a quantidadede operaes distintas de rotao e de reflexo que podem ser realizadas sobre a figura sem alterar a suaforma original.

    XXIV JAI 1284

  • Devemos observar, tambm, que nem sempre existe um desenho de um grafo quesatisfaa de modo simultneo dois ou mais critrios estticos. comum ocorrer situaesem que a satisfao ampla de um determinado critrio implica no negligenciamento deoutro. Quando ocorre esse tipo de situao, dizemos que os dois critrios so conflitantesentre si. Nas Figuras 2.17 e 2.18, ilustramos exemplos de conflitos.

    A Figura 2.17 mostra dois desenhos de um grafo completo de 5 vrtices. O dese-nho (a) possui o mximo de simetrias, contudo, apresenta 5 cruzamentos. J o desenho(b) possui a menor quantidade de cruzamentos, mas no exibe a simetria de rotao vistano desenho (a), entre outras simetrias.

    (a) (b)Figura 2.17: Conflito entre os critrios de poucos cruzamentos e muitas sime-

    trias.

    A Figura 2.18 mostra desenhos de um grafo direcionado acclico. O desenho (a) upward, enquanto o desenho (b) planar. Observe que no existe um desenho desse grafoque seja planar e upward simultaneamente.

    (a) (b)Figura 2.18: Conflito entre os critrios de orientao uniforme e poucos cruza-

    mentos.

    Um outro exemplo de conflito pode ser visto na Figura 2.16, onde garantir orien-tao uniforme das arestas implica em reduzir o nmero de simetrias.

    Muitos conflitos tm sido relatados na literatura [Davidson and Harel, 1989] en-volvendo critrios estticos como: mnimo nmero de cruzamentos, mnima rea do dese-nho, mnimo nmero de dobras das arestas, mximo nmero de simetrias, maior resoluoangular, entre outros. A existncia de conflitos torna mais difcil a atividade de dese-nhar grafos. Em geral, procura-se resolver os conflitos buscando por solues de com-promisso, as quais atendem de forma equilibrada os diversos critrios pr-determinados[Davidson and Harel, 1989, Tunkelang, 1993].

    Face complexidade dos problemas que envolvem a atividade de desenhar grafos,justifica-se o uso de heursticas na produo de boas solues.

    XXIV JAI 1285

  • Um objetivo de singular importncia na rea de Desenho de Grafos projetaralgoritmos flexveis, ou seja: algoritmos cuja incluso de novos critrios estticos ou cujamodificao para que trabalhem com outra classe de grafos no implique em um gradeesforo de codificao.

    A seguir, introduzimos algumas tcnicas referentes ao desenho de quatro classesgenricas de grafos, dando enfoque ao desenho de rvores, grafos gerais e de grafos dire-cionados. Esta escolha deve-se ao fato dessas classes serem alvo de intensa pesquisa narea.

    Algumas tcnicas genricas para desenhar qualquer tipo de grafo so apresentadasna ltima subseo.

    2.5.3 Desenho de rvoresHistoricamente, as rvores esto entre as primeiras classes estudadas em Desenho de Gra-fos, em funo da sua popularidade e da simplicidade de sua estrutura. As tcnicas paradesenhar rvores consideram dois casos distintos: desenho de rvores com raiz (rootedtrees) e desenho de rvores livres (free trees). Em ambos os casos, desejvel a obtenode desenhos planares em linhas poligonais.

    rvores com raiz

    rvores com raiz geralmente representam hierarquias, tais como diagramas organizacio-nais, rvores de busca e registros de chamadas de sub-rotinas.

    Entre os critrios estticos para desenhar esse tipo de rvore destacam-se:

    distribuir os vrtices sobre nveis hierrquicos horizontais, de acordo com a suaprofundidade na rvore; para rvores binrias, posicionar os filhos esquerdo e direito de cada vrtice, res-

    pectivamente, esquerda e direita do vrtice pai; centralizar os pais sobre os seus filhos; e minimizar a largura do desenho.

    Um dos primeiros trabalhos nessa rea apareceu em[Wetherell and Shannon, 1979], onde Wetherell e Shannon apresentaram um algoritmopara desenho de rvores binrias que satisfaz os trs primeiros critrios mencionados.

    Posteriormente, Reingold e Tilford mostraram em [Reingold and Tilford, 1981]que o algoritmo de Wetherell e Shannon poderia gerar desenhos muito mais largos doque o necessrio e com algumas outras caractersticas estticas indesejveis. Eles apre-sentaram ento um novo algoritmo e incluram os seguintes critrios: mostrar simetrias edesenhar sub-rvores isomorfas sempre do mesmo modo.

    Embora o algoritmo de Reingold e Tilford obtenha resultados melhores doque aqueles apresentados por Wetherell, ele no satisfaz obrigatoriamente o cri-trio de mnima largura. Um trabalho mais recente de Sopwit e Reingold em[Supowit and Reingold, 1983] mostrou que a construo de um desenho de uma rvorebinria com largura mnima, tal que os vrtices pais estejam centralizados sobre seus fi-lhos e que sub-rvores isomorfas sejam congruentes (mesmo ngulo descrito pelas arestas

    XXIV JAI 1286

  • incidentes nos vrtices pais e nos filhos) um problema NP-completo quando os vrticestm coordenadas sobre uma grade. De outra forma, considerando o desenho sobre um es-pao contnuo, o problema pode ser aproximado em tempo polinomial atravs de tcnicasde programao linear.

    rvores livres

    rvores livres so rvores que no possuem raiz. Uma maneira simples de se desenharesse tipo de estrutura consiste em escolher um vrtice como raiz e aplicar um dos algo-ritmos mencionados acima para construir uma representao hierrquica (em nveis) damesma. Em seguida, converte-se a representao de nveis para um desenho radial, ondeo vrtice raiz colocado no centro da figura e os demais vrtices so posicionados emcrculos concntricos de acordo com os seus nveis [Eades, 1992].

    O padro grfico mais comum para as arestas em um desenho radial utilizarlinhas retas. Como critrio esttico, geralmente se deseja desenhar as arestas com com-primento uniforme e mostrar o mximo de simetrias possvel.

    Eades em [Eades, 1992] apresenta estudos sobre desenho de rvores livres, desta-cando no apenas algoritmos para obter desenhos radiais, como tambm, a utilizao domtodo Springs [Eades, 1984, Kamada and Kawai, 1989]. O mtodo Springs ser des-crito mais adiante.

    2.5.4 Grafos planaresUm grafo dito planar se ele admite um desenho planar (sem cruzamento entre arestas).

    A classe de grafos planares certamente a mais bem estudada na rea de Desenhode Grafos devido a 2 fatores: a sua grande aplicao, principalmente, no projeto de cir-cuitos VLSI, e devido ao fato de estar associada a muitos conceitos e problemas toricosde fundamental importncia em Teoria dos Grafos.

    Dentre as muitas formas grficas de se desenhar grafos planares bastantecomum produzir desenhos em linhas retas. Segundo resultados apresentados em[Wagner, 1936, Fary, 1948, Stein, 1951], todo grafo planar pode ser desenhado sem cru-zamentos utilizando-se esse padro.

    Os algoritmos para construir desenhos de grafos planares em geral incluem osseguintes passos:

    1. teste de planaridade;2. construo de uma representao planar;3. utilizao da representao planar para produzir um desenho segundo algum pa-

    dro grfico.O teste de planaridade tem por objetivo verificar se o grafo a ser desenhado

    de fato planar. A busca por um algoritmo que realizasse o teste de planaridade emtempo linear foi um desafio de grande interesse, at ser conseguido por Hopcroft e Tarjan[Hopcroft and Tarjan, 1974].

    Em geral, os algoritmos que testam a planaridade podem ser modificados paraconstruir uma representao planar do grafo. Tal representao uma estrutura de dados

    XXIV JAI 1287

  • que descreve as adjacncias entre as faces de um desenho planar, e pode ser utilizada paraobter um desenho final sem cruzamentos de arestas. Deste modo, um desenho de umgrafo planar pode ser gerado em tempo linear modificando-se certos algoritmos de testede planaridade.

    Algumas convenes grficas para o desenho de grafos planares foram introduzi-das pela rea de projetos de circuitos VLSI. Por exemplo, tornou-se comum desenhar osgrafos planares sobre uma grade de baixa resoluo, adotando-se um padro grfico orto-gonal. Neste caso, alguns critrios estticos desejados incluem: minimizar o nmero dedobras das arestas e a rea ocupada pelo desenho. Entretanto, o problema de minimizardobras NP-difcil [Garg and Tamassia, 1995].

    Uma outra conveno motivada pelo projeto de circuitos VLSI o conceito derepresentao de visibilidade, que consiste em representar os vrtices de um grafo porsegmentos horizontais e as arestas por segmentos verticais que interceptam apenas osseus vrtices extremos.

    Para os desenhos em linha reta, os critrios estticos mais utilizados incluem mini-mizar o comprimento das arestas e maximizar a resoluo angular. A resoluo angular deum desenho em linha reta consiste no menor ngulo formado por duas arestas incidentesem um mesmo vrtice.

    Um dos problemas em aberto para desenho de grafos planares diz respeito aodesenvolvimento de algoritmos simples para teste de planaridade em tempo linear. Todosos algoritmos de teste de planaridade existentes so difceis de serem entendidos e exigemmuito esforo de implementao, o que limita o seu uso em sistemas prticos.

    Apesar da dificuldade de se implementar o teste de planaridade, algumas tcnicasde desenho de grafos baseiam-se no estudo de grafos planares, em funo da existncia dealgoritmos de desenho para essa classe que executam em tempo linear. A idia principal converter um grafo no planar em um grafo planar, atravs de um processo chamadode planarizao, e produzir um desenho planar utilizando-se um dos algoritmos conhe-cidos para tanto. A planarizao pode ser realizada atravs de algumas operaes comoa eliminao de vrtices, eliminao de arestas ou separao de vrtices. A eliminaode arestas, em particular, consiste em remover um conjunto de arestas do grafo a fim detorn-lo planar. Observe que encontrar o menor conjunto de arestas que devem ser elimi-nadas para se conseguir planaridade equivalente ao problema de computar o subgrafoplanar mximo, o qual NP-difcil [Garey and Johnson, 1979]. Existem, no entanto, al-goritmos de tempo polinomial para encontrar um subgrafo planar maximal.

    2.5.5 Grafos geraisTratamos, nesta seo, de grafos no-direcionados gerais, os quais abreviamos apenas porgrafos gerais. Esses so grafos para os quais no se tem muita informao acerca de suaestrutura, alm do conhecimento de seus vrtices e arestas. Construir desenhos para essaclasse de grafos parece ser uma tarefa desafiadora, visto que no existe nenhuma regrabem definida que indique onde posicionar os vrtices. Tal situao bem diferente da-quela que caracteriza as rvores e os grafos direcionados em geral, onde os vrtices devemser colocados no desenho de forma que as arestas possuam uma orientao uniforme.

    Apesar dessa aparente dificuldade, alguns critrios estticos bastante intuitivos

    XXIV JAI 1288

  • tm sido propostos para desenhar grafos gerais como, por exemplo: mostrar muitas si-metrias, distribuir os vrtices uniformemente e apresentar poucos cruzamentos entre ares-tas. Em geral, a satisfao destes critrios implica em desenhos que ajudam na com-preenso do grafo. Devemos observar, contudo, que alguns critrios esto relaciona-dos com problemas NP-difceis, tais como: identificar todas as simetrias apresentadaspor um desenho [Manning, 1991, Manning, 1990] e minimizar o nmero de cruzamentos[Garey and Johnson, 1983].

    Uma abordagem simples para desenhar grafos gerais consiste em transform-losem uma outra classe de grafos e aplicar um algoritmo adequado mesma. possvel, porexemplo, planarizar o grafo ou atribuir orientao s duas arestas de forma que ele mudede classe [Di Battista et al., 1994]. No entanto, os desenhos produzidos atravs desseprocesso geralmente apresentam caractersticas no desejadas, comuns classe para aqual o grafo foi convertido.

    De fato, a abordagem mais utilizada para desenhar grafos gerais baseia-se emum sistema de foras que tenta descrever a relao existente entre os vrtices do grafo,definida por suas arestas. Um dos trabalhos mais famosos nesse sentido mtodo Springsproposto por Eades em [Eades, 1984]. Esse mtodo modela um grafo como um sistemadinmico de molas no plano onde cada vrtice representado por uma partcula que exerceuma fora de repulso sobre os demais vrtices. As arestas, por sua vez, so substitudaspor uma mola conectando dois vrtices (partculas). O mtodo funciona como segue: "

    1. uma configurao inicial do sistema definida atribuindo-se aleatoriamente coor-denadas no plano aos vrtices;

    2. o vrtice mais crtico (que possui maior fora resultante) movido para umaposio que minimiza a energia total do sistema9; os demais vrtices so mantidoscongelados na sua posio original. Esse passo repetido sucessivamente parao prximo vrtice mais crtico, at que no haja mais vrtices que contribuam comvalores altos funo de energia.

    O objetivo do mtodo encontrar um estado de baixa energia do sistema, o qualest geralmente associado a um desenho de boa qualidade. Os desenhos gerados pelomtodo Springs costumam ter arestas com comprimento uniforme e apresentar muitassimetrias. O mtodo, contudo, no trata o problema de minimizar o nmero de cruzamen-tos entre arestas e exige ajustes para que no caia em um mnimo local[Lin, 1992]. Umacombinao interessante entre um algoritmo para desenho radial e o mtodo Springs proposta por Eades em [Eades, 1992]. O algoritmo resultante produz desenhos com ca-ractersticas simtricas sem cruzamentos em todos os casos testados.

    Diversas variaes do mtodo Springs existem. A proposta de Kamada e Kawai,por exemplo, [Kamada and Kawai, 1989] define um sistema de molas completo que uti-liza uma mola para conectar cada par de vrtices do grafo. O comprimento e a cons-tante elstica das molas dependem da distncia terica entre os seus vrtices. A energiado sistema minimizada encontrando posies para os vrtices atravs do mtodo deNewton-Raphson.

    9a energia total do sistema pode ser definida como sendo a soma do mdulo da fora resultante em cadavrtice

    XXIV JAI 1289

  • 2.5.6 Grafos direcionados

    Muitas estruturas hierrquicas como, por exemplo, redes PERT, diagramas de chamada desubrotinas, organogramas de empresas e autmatos finitos so representados por grafosdirecionados. Um padro grfico comum para essa classe de grafos desenhar os vrticescomo retngulos ou crculos e as arestas como linhas poligonais com setas. O desenho geralmente construdo sobre uma grade retangular, sendo os vrtices posicionados sobreos pontos de interseo de uma linha com uma coluna.

    Os principais critrios estticos para o desenho de grafos direcionados so:

    apresentar orientao uniforme das arestas; por exemplo, mostrar todas as arestasapontando para baixo (isso possvel se o grafo for acclico); minimizar o nmero de cruzamento entre arestas; minimizar o comprimento das arestas e desenh-las to retas quanto possvel; e minimizar a rea do desenho.

    A abordagem mais utilizada para desenhar grafos direcionados o mtodo deSugiyama [Sugiyama et al., 1981], o qual constri um desenho hierrquico em nveis,semelhante ao que foi descrito para o caso de rvores com raiz. O mtodo consiste dequatro passos:

    1. Remoo de Ciclos este passo um pr-processamento necessrio apenasquando o grafo possui ciclos. O objetivo reverter a orientao de algumas arestasdo grafo (ou remov-las completamente) de forma a torn-lo acclico.

    2. Associao Nveis neste passo, os vrtices do grafo so associados a nveis,de tal forma que as arestas ficam com uma orientao uniforme (apontando parabaixo). Quando uma aresta (u, v) cruza um ou mais nveis, ela subtituda porum conjunto de arestas menores (u, n1),(n1, n2), . . . (ni, ni+1),(nk, v), onde ni,para i = 1, 2 . . . k, so vrtices novos chamados de vrtices falsos. Os vrticesfalsos so colocados nos pontos de interseo da aresta antiga com os nveis. Oproblema de minimizar a altura e possivelmente a largura do desenho tambm considerado nesse passo atravs de uma escolha apropriada dos nveis a seremassociados aos vrtices.

    3. Reduo de Cruzamentos nesse passo, os vrtices em cada nvel so reor-denados de modo a reduzir o nmero de cruzamentos entre arestas. Sugiyamaapresenta uma heurstica para reduzir cruzamentos, denominada de Baricentro,a qual tem sido utilizada em muitos algoritmos prticos para desenho de grafosdirecionados. O Baricentro consiste em colocar os vrtices de um nvel em suaposio mdia (ou baricntrica) em relao a seus adjacentes no nvel imediata-mente acima ou abaixo. Um algoritmo que implementa o Baricentro geralmenteexecuta como segue: a posio dos vrtices do nvel mais alto fixada e o Bari-centro aplicado para os vrtices do prximo nvel (abaixo) tomando como baseos seus adjacentes acima. Essa operao repetida para os nveis seguintes at queos vrtices no ltimo nvel mais baixo sejam colocados em sua posio baricn-trica. Em seguida, o processo repetido iniciando no nvel mais baixo at o maisalto. O Baricentro aplicado sucessivas vezes de cima para baixo e de baixo paracima, at que no se consiga mais reduzir o nmero de cruzamentos entre arestas.Uma heurstica semelhante ao Baricentro conhecida como Mediana e executa

    XXIV JAI 1290

  • colocando vrtices na posio mdia entre os seus adjacentes mais esquerda emais direita .

    4. Associao de Coordenada Horizontal nesse passo, a coordenada X final decada vrtice definida de tal modo que o desenho resultante apresente arestasto retas quanto possvel, tenha poucas curvas nas arestas e no seja muito largo.Isso realizado sem mudar a ordem dos vrtices nos nveis. Alm disso, todasas arestas modificadas no Passo 1 so revertidas sua orientao original nestepasso.

    O Mtodo de Sugiyama envolve vrios problemas Np-difceis) como, por exem-plo, o problema de computar o menor conjunto de arestas a serem revertidas no Passo 1,a fim de eliminar os ciclos do grafo, o qual NP-difcil) e conhecido na literatura comoFeedback Arc Set Problem [Garey and Johnson, 1979]. Minimizar o nmero de cruza-mentos entre arestas, feito no Passo 2, tambm um problema NP-difcil, mesmo quandoconsiderada uma hierarquia com apenas dois nveis e mantendo-se fixa a ordem dos vr-tices em um dos nveis [Garey and Johnson, 1983, Eades and Wormald, 1994]. Um outroproblema importante, tratado em parte nos Passos 1 e 2, consiste em gerar uma figuraque no seja nem muito larga nem comprida. Encontrar uma disposio hierrquica quesatisfaa de forma tima esse critrio NP-difcil [Eades, 1989].2.5.7 Outras abordagensAlgumas tcnicas mais gerais e flexveis tm sido desenvolvidas para desenhar umagrande variedade de classes de grafos e para tratar diversos critrios estticos simulta-neamente.

    Uma tcnica bem conhecida que oferece esses recursos o Simulated Annealingde Davidson e Harel [Davidson and Harel, 1996].

    Simulated Annealing (SA) um mtodo de otimizao iterativo, formulado ini-cialmente por Kirkpatrick et al [Kirkpatrick et al., 1983] e que se originou da MecnicaEstatstica [Metropolis et al., 1953]. O mtodo tenta escapar de mnimos locais utilizandooperaes anlogas ao processo em que lquidos so esfriados at assumirem uma formacristalina, processo esse chamado de annealing.

    A motivao por tras do mtodo segue da observao dos princpios que regulamo processo annealing: se o esfriamento de um lquido for lento o suficiente, ento aspequenas foras inicas dos seus tomos interagem e organizam a estrutura do lquido,atingindo uma forma chamada de cristal, que est associada ao estado de mnima ener-gia do sistema. Entretanto, se este esfriamento for demasiadamente rpido, o sistema(lquido) assume uma configurao amorfa que representa mnimos locais.

    Durante o annealing, o sistema obedece a distribuio de Boltzmann:

    P (E) ' e EkT ,a qual define uma distribuio de probabilidades para estados de energia E, como umafuno da temperatura T e da constante de Boltzmann k.

    Metropolis e outros em [Metropolis et al., 1953] sugeriram um procedimento parasimular esse processo em uma dada temperatura atravs de uma seqncia de movimentos

    XXIV JAI 1291

  • que mudam o estado do sistema. Novos estados so obtidos dentro da vizinhana doestado corrente, pertubando-se uma pequena parcela do sistema. A regra bsica do pro-cedimento que a probabilidade de passar de um estado com energia E1 para um novoestado com energia E2 dada pela funo:

    p = min{1, eE2E1kT }.

    Isto significa que o sistema sempre muda para o novo estado se E2 < E1. Casocontrrio, se E2 > E1, o novo estado ser aceito com probabilidade p.

    Um algoritmo para simular o annealing, proposto por Kirkpatrick e outros em[Kirkpatrick et al., 1983], consiste em estabelecer um alto valor para a temperatura T e irdiminuindo-o lentamente, enquanto se atinge um estado de equilbrio atravs da aplicaosucessiva de pequenas perturbaes no sistema para cada valor de T . Os passos bsicosde um algoritmo para Simulated Annealing so apresentados na Figura 2.19. Kirkpatricke outros mostraram que este processo pode ser aplicado para resolver problemas gerais deotimizao.

    1. Escolha uma configurao inicial e uma temperatura inicial T ;2. Repita (comumente um nmero fixo de vezes)

    (a) Escolha uma nova configurao a partir da vizinhana de ;(b) Sejam E e E os valores da funo de custo (energia) de e , respecti-

    vamente;se Random < e(EE

    )/T ento faa ;3. Decremente a temperatura T ;4. Se uma condio de parada for satisfeita, ento pare. Caso contrrio, volte ao

    passo 2.

    Figura 2.19: Algoritmo para Simulated Annealing.

    Davidson e Harel em [Davidson and Harel, 1989] fizeram uso de Simulated Anne-aling para desenhar grafos gerais. Eles definiram uma funo energtica de custo associ-ada aos estados do sistema, que representa uma lista de critrios estticos como: distribuiruniformemente os vrtices sobre uma regio de desenho, minimizar o comprimento dasarestas, minimizar o nmero de cruzamentos e maximizar a distncia entre vrtices earestas. A funo energtica total de um estado referente a um grafo G = (V,A) tem aseguinte forma:

    E() = 1

    i,jV1/dij

    2+2

    iV,k=1,2,3,41/diBk

    2+3rA

    lr2+4X+5

    iV,rA

    1/dir

    onde: dij a distncia entre os vrtices i e j, diBk a distncia entre o vrtice i ea borda k da regio retangular do desenho, lr o comprimento da aresta r, X o nmerototal de cruzamentos, dir a distncia entre o vrtice i e a aresta r (com r no incidente ai), e 1, 2, . . . , 5 so constantes que ponderam as componentes da funo energtica. Opeso de cada componente de energia determina a qualidade esttica dos desenhos finaisproduzidos.

    XXIV JAI 1292

  • Essa proposta utilizando Simulated Annealing considerada uma das abordagensexistentes mais flexveis para desenho de grafos, uma vez que novos critrios estticospode ser facilmente includos na funo de energia do sistema.

    Em contrapartida, o Simulated Annealing reconhecidamente lento[Aarts and Korst, 1989] e exige inmeros testes e ajustes minuciosos dos seus pa-rmetros at que seja capaz de produzir bons resultados. Alguns parmetros que levamtempo para serem configurados corretamente incluem: os pesos para os critrios estticos,a taxa de decrscimo da temperatura e a funo que define a vizinhana entre estados dosistema.

    Tunkenlang [Tunkelang, 1993] apresenta uma outra abordagem prtica para de-senho de grafos gerais que faz uso de uma funo energtica semelhante quela do Si-mulated Annealing de Davidson e Harel. A novidade nesta abordagem que uma sriede otimizaes so implementadas a fim de agilizar a atividade de desenho. A principalotimizao consiste em gerar o desenho de forma incremental, adicionando-se um vrticepor vez figura parcialmente construda. A cada incluso, realiza-se uma seqncia depassos iterativos para minimizar a energia do sistema, reorganizando a posio dos vrti-ces. A proposta de Tunkelang caracteriza-se por implementar otimizao do processo dedesenho, permitindo construir figuras rapidamente.

    Uma outra abordagem para desenhar grafos gerais faz uso de Algoritmos Genti-cos. Os Algoritmos Gneticos [Goldberg, 1989] so processos de busca baseados nas leisda seleo natural e da gentica, e consistem de trs operaes bsicas: seleo de umasubpopulao de cromossomos a partir de uma populao inicial (os cromossomos simbo-lizam solues do problema); aplicao de operaes genticas de permutao e mutaosobre os cromossomos selecionados com o objetivo de gerar um conjunto de cromosso-mos filhos; e substituio dos cromossomos pais pelos filhos com base em alguma regrade aptido.

    O uso de Algoritmos Genticos para desenho de grafos [Branke et al., 1997,Utech et al., 1998, do Nascimento and Eades, 2002] possuem algumas vantagens como apossibilidade de se obter uma populao de desenhos diferentes e o potencial de se ex-plorar paralelismo. Entretanto, bastente difcil codificar heursticas inteligentes nestaabordagem, bem como ajustar o algoritmo para convergir para boas solues. Os algo-ritmos genticos tambm sofre do mesmo problema de tempo elevado de processamentoapresentado pelo Simulated Annealing.

    2.6 Foco+Contexto

    O conceito central das tcnicas Foco+Contexto apresentar uma viso geral dos dados aserem visualizados, mas destacando uma regio de interesse (foco) atravs de uma ampli-ao suave da mesma. Geralmente, procura-se ampliar a regio de interesse, enquanto secompacta o restante da imagem (do contexto). Como essa tcnica emprega uma distoroda imagem original, ela demanda maior tempo para ser aprendida.

    A seguir analisamos as principais variaes da tcnica de Foco+Contexto, entreelas Fish-eye e Browser Hiperblico.

    XXIV JAI 1293

  • 2.6.1 Fish-eye

    A tcnica de visualizao Fish-eye, como o prprio nome diz, produz um efeito seme-lhante ao de um olho de peixe ou de uma lente de aumento. Ela permite uma viso maisdetalhada de uma regio de interesse sem haver perda de seus arredores, atravs de umataxa maior de ampliao no centro da regio de interesse e decrescente no sentido daperiferia da imagem.

    Apesar da idia do Fish-eye ser intuitiva para imagens 2D, a tcnica muito maisgeral e foi primeiramente proposta por Furnas [Furnas, 1981] como uma abordagem devisualizao para texto.

    Furnas define uma Funo de Grau de Interesse (DOI) a partir de trs conceitos: ponto de foco (ou simplesmente foco) o dado sobre qual o observador est con-

    centrando sua ateno no momento, sendo representado pelo smbolo de um ponto(.); distncia do ponto do foco para qualquer outro lugar x da estrutura; isso simbo-

    lizado por D(., x), com D(., .) = 0; e nvel de detalhe, de importncia ou de resoluo de um ponto x, representado

    por LOD(x), uma medida da importncia intrnseca do ponto x em relao estrutura global. O nvel de detalhe geralmente um nmero negativo, de formaque, quanto maior o detalhe, menor o valor de LOD.Esses conceitos so ento combinados para compor a funo DOI , a qual repre-

    senta o interesse de um ponto x aparecer ou no na visualizao. Em geral, a funode grau de interesse de x definida como: DOI(x|.) = F (LOD(x), D(., x)), onde F uma funo monotonicamente crescente em seu primeiro argumento e decrescente nosegundo. Dessa forma, o grau de interesse cresce com o LOD de x e decresce com a suadistncia em relao ao foco.

    Para se criar uma viso Fish-eye utilizando tais definies, o ponto x mostradose, e somente se, seu grau de interesse (DOI) maior que um determinado limiar k. Noteque DOI usualmente negativa e, portanto, k tambm deve ser negativo.

    Furnas exemplificou essa idia para um caso prtico de visualizao de cdigos deprogramas, onde o . se refere linha atual do programa de interesse do usurio, D(., x) a distncia dessa linha at uma outra linha x do texto e LOD(x) se refere ao nvel dedetalhe inerente linha x (isto , identao ou profundidade implcita dessa linha como,por exemplo, se ela est dentro de vrios blocos de comando encadeados. Quanto maiora profundidade de x, menor valor de LOD(x)).

    A Figura 2.20 ilustra a abordagem de Furnas. Um trecho padro de um cdigoem C apresentado esquerda e uma viso Fish-eye do mesmo programa pode ser vista direita. As convenes adotadas so para representar o ponto de foco e ... paraindicar linhas que foram omitidas quando o seu valor DOI foi abaixo do limiar. A figuramostra, por exemplo que as linhas 28 a 37, 42, 44, 45 e 48 a 56 foram suprimidas, en-quanto as linhas mais importantes prximas ao foco (linha 39), inclusive o prprio foco,so apresentadas.

    Outro exemplo de utilizao dessa tcnica para navegao em rvores de diret-rios. Apenas movimentando o mouse sobre uma estrutura de rvores, sem a necessidade

    XXIV JAI 1294

  • 1 # define DIG 402 # include 4 main()5 {6 int c, i, x[DIG/4], t[DIG/4], k = DIG/4, noprint = 0;;8 while ((c=getchar()) ! = EOF) {9 if (c >= 0 &&c >

    ...

    ...

    ...

    ...

    ...

    ...

    ...

    ...

    >>

    ...

    ...

    ...

    28 t[0] = (t[0] + 10000)29 x[0];30 for (i=1; i < k; i++){31 t[i] = (t[i] + 10000)32 x[i]33 (1 t[i1]/10000);34 t[i1] %= 10000;35 }36 t[k1] %= 10000;37 break;38 case e:39 for (i=0; i 0) {

    >>

    Figura 2.20: Fish-eye aplicado visualizao de cdigo-fonte de um programaem C. Adaptado de [Furnas, 1981]

    de cliques do mouse, o ponto de foco pode ser modificado e as subrvores de diretriosexpandidas ou compactadas de acordo com o seu grau de interesse.

    A tcnica Fish-eye tem sido mais empregada, contudo, para a visualizao deimagens. A Figura 2.21 mostra um exemplo de uma abordagem derivada do Fish-eye,chamada de Fish-eye menu10. A imagem esquerda uma abordagem tradicional demenu, onde uma barra de rolagem tem que ser utilizada para permitir acesso a todosos tens do menu. direita, vemos uma visualizao que emprega o conceito de Fish-eye. Nesta imagem, todos os itens so apresentados simultaneamente, sendo permitida amovimentao do mouse sobre o menu, o que causa a ampliao das opes prximas aoponto de foco.

    Figura 2.21: Fish-eye menu.

    2.6.2 Browser HiperblicoO Browser Hiperblico combina Foco+Contexto com desenho radial de rvores para au-xiliar na explorao de grandes hierarquias. Um dos principais trabalhos relacionados

    10A figura foi obtida de http://www.samuelwan.com/downloads/com.samuelwan.eidt/fisheyemenu/FisheyeMenuDemo.html.

    XXIV JAI 1295

  • com essa tcnica a proposta de Lamping e Rao [Lamping and Rao, 1996], na qual aestrutura de uma rvore mapeada em uma representao no plano hiperblico a ser pro-jetado na tela. Uma propriedade conveniente desse plano que a circunferncia de umcrculo cujo centro coincide com o centro da tela cresce exponencialmente com o seu raio.Isso significa que h mais espao disponvel para se compactar informaes na medidaem que se aproxima da periferia do desenho.

    Com essa representao, o Browser Hiperblico consegue disponibilizar cerca dedez vezes mais vrtices de uma rvore do que utilizando uma visualizao no plano car-tesiano.

    A navegao em um Browser Hiperblico tambm mais efetiva. Mudanas defoco podem ser realizadas atravs de movimentos simples do mouse objetivando seleci-onar vrtices de maior interesse. Isso move o vrtice selecionado para o centro da tela,ocasionando uma compactao das informaes que esto distantes do mesmo. Almdisso, o sistema realiza transies gradativas e suaves da mudana do ponto de foco, a fimde preservar o mapa mental construdo para aquela estrutura.

    Uma ilustrao de Browser Hiperblico11 apresentada na Figura 2.22.

    Figura 2.22: Browser Hiperblico. Inxight Software, Inc.

    2.6.3 Perspective Wall e Table Lens

    Existem outras tcnicas de visualizao baseadas em Foco+Contexto. Dentre elas, pode-mos citar as tcnicas Perspective Wall e Table Lens.

    A tcnica Perspective Wall [Mackinlay et al., 1991] permite a visualizao de mui-tas informaes lineares em um retngulo horizontal, o qual dobrado para trs nos limi-tes direita e esquerda da regio de interesse, fornecendo, assim, uma perspectiva 3Ddo resultado. Um exemplo dessa tcnica pode ser visto em http://escience.anu.edu.au/lecture/cg/Import/zb/wall/wall.gif.

    11Ilustrao obtida em http://www.flashkit.com/search/sitemap/index.shtml.

    XXIV JAI 1296

  • J a tcnica Table Lens [Rao and Card, 1994] uma