Você está na página 1de 51
Capítulo 2 Visualização de Informações – Uma Abordagem Prática Hugo A. D. do Nascimento e

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

2.1

Introdução à Visualização de Informações

A área de Visualização de Informações é um campo emergente de pesquisa que se preo- cupa com a construção de representações visuais de dados abstratos de forma a facilitar o seu entendimento e/ou ajudar na descoberta de novas informações contidas nos mesmos.

Antes de discutirmos as técnicas de Visualização de Informações propriamente ditas, precisamos entender o que vem a ser o processo de visualização. O Dicionário Aurélio [de Holanda Ferreira, 2004] nos ajuda nesse sentido trazendo algumas definições esclarecedoras sobre o verbo “visualizar” e o substantivo “visualização”:

Visualizar 1 Tornar visível, mediante manobra ou procedimento. 2 Formar ou conceber uma imagem visual mental de (algo que não se tem ante os olhos no momento).”;

Visualização 1 Ato ou efeito de visualizar. 2 Transformação de conceitos abstra- tos em imagens real ou mentalmente visíveis. 3 Processo de visualizar.”.

Com base nessas definições, podemos concluir que o processo de visualização está relacionado com a transformação de algo abstrato em imagens (mentais ou reais) que possam ser visualizadas pelos seres humanos. O objetivo final é auxiliar no entendimento de determinado assunto, o qual, sem uma visualização, exigiria maior esforço para ser compreendido.

Nesse contexto, a área de Visualização de Informações se apresenta como um campo de estudo de grande utilidade, uma vez que agrega técnicas que facilitam o enten- dimento de informações a partir de representações visuais de dados.

2.1.1 Vantagens de uma visualização

Mas por que estamos dando ênfase aqui na capacidade visual humana? Por que não fa- lamos também de “audição de dados” ou de “dados táteis”? Em verdade, essas outras

formas de percepção de dados podem ser utilizadas e são discutidas suscitamente na úl- tima seção do trabalho. Destacamos, contudo, o aspecto visual neste documento, devido

a uma série de vantagens naturalmente apresentadas pela capacidade visual humana.

Em primeiro lugar, uma grande quantidade de dados pode ser condensada em uma simples visualização. O ditado popular “uma imagem vale mais do que mil pala- vras” resume bem essa idéia. A foto tirada por Nick Ut 2 em 1972 que mostra uma menina vietnamita de 9 anos correndo nua juntamente com outras pessoas e que ganhou o prêmio Pulitzer é um exemplo típico do poder expressivo das imagens. Não é preciso muitas pa- lavras para entender o que a foto transmite e sabe-se hoje que ela teve um grande impacto nas decisões tomadas pelos Estados Unidos sobre a sua participação na guerra do Vietnã.

Uma outra razão para explorarmos o processo de visualização é que ele envolve

o sentido humano que possui maior capacidade de captação de informações por unidade

de tempo. O sentido da visão é rápido e paralelo, sendo possível, inclusive, prestar aten- ção em um objeto de interesse especial, sem perder de vista (obviamente, com menos detalhes) o que está acontecendo ao redor.

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

XXIV JAI

1263

Além disso, o sistema visual humano é treinado para reconhecer padrões. Po-

demos verificar essa capacidade através da Figura 2.1. Tente encontrar, por exemplo,

a estrela presente na imagem. Note que podemos localizá-la rapidamente no meio dos

quadrados. Se a estrela estivesse pintada com uma cor mais escura do que a dos demais

símbolos, então o processo de reconhecimento seria ainda mais fácil.

então o processo de reconhecimento seria ainda mais fácil. Figura 2.1: Reconhecendo padrões. Onde está a

Figura 2.1: Reconhecendo padrões. Onde está a estrela?

Essas características do sistema visual nos permitem identificar e lidar com situa- ções complexas do nosso dia-a-dia que envolvem processamento visual.

Finalmente, as visualizações por si só trazem benefícios, uma vez que podem funcionar como uma extensão da memória humana e como um auxílio para o processo cognitivo. Por exemplo, fazemos anotações em uma agenda ou em um calendário para nos lembrarmos de assuntos a serem discutidos ou de eventos que ocorreram ou que irão ocorrer. Também desenhamos diagramas e organizamos informações espacialmente em uma 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 solução para o mesmo. Elas, inclusive, facilitam a memorização do objeto em estudo.

2.1.2 Um exemplo de visualização

As vantagens de uma visualização, conforme mencionado acima, podem ser vistas na aplicação a seguir.

A Figura 2.2 mostra uma tabela real de gastos mensais de um residente da cidade de Goiânia-GO com despesas domésticas durante o pedíodo compreendido entre agosto de 1997 a janeiro de 1999. Podemos levantar várias questões interessantes sobre os dados da tabela, tais como: “qual é a maior despesa durante o referido período?”, “qual é a segunda maior despesa?”, “qual despesa oscilou constantemente com o tempo?”, “qual despesa apresentou uma tendência de redução?”.

Com base apenas na Figura 2.2, as duas primeiras perguntas podem ser respon- didas sem grandes dificuldades. Contudo, as duas últimas questões exigem uma análise mais demorada dos dados.

No entanto, se contruírmos uma visualização baseada em um gráfico de pizza para

essa tabela, como ilustrado na Figura 2.3, então não apenas as duas primeiras perguntas podem ser facilmente respondidas, mas também várias outras questões relacionadas com

a proporção que cada despesa representa no gasto total do período.

XXIV JAI

1264

Condomínio

Luz

Conta

Aluguel

Aluguel

Faxina

Multicanal

Total

Telefone

Telefone

Apartamento

 
 

AGO

179,61

14,58

51,40

40,00

267,08

52,40

605,07

Figura 2.2: Tabela de despesas.

Multicanal

Faxina

3%

8%

Figura 2.2: Tabela de despesas. Multicanal Faxina 3% 8% 24% Luz 4% Condomínio Aluguel Apart. 36%

24%

Luz

4%

Condomínio

Aluguel Apart.

36%

Conta Telefone

19%

Aluguel Telefone

6%

Figura 2.3: Visualização das despesas através de um gráfico de pizza.

Indo mais além na análise das despesas, podemos visualizar os mesmos dados através de um gráfico de linhas, como representado na Figura 2.4. Agora as respostas para as duas últimas questões ficam evidentes: a conta telefônica foi a despesa que mais oscilou durante o período e o condomíno foi o gasto que apresentou uma tendência de redução.

O mais interessante nessa análise é que, olhando a Figura 2.4 alguns anos depois, o residente de Goiânia percebeu que houve três momentos em que as despesas com conta telefônica foram próximas a zero. Vendo os meses dessa ocorrência, foi possível recordar que isso se deu nos períodos de férias escolares, quando o mesmo estava viajando para outra cidade. Ele também se lembrou que a redução no mês de fevereiro foi mais acentu- ada, uma vez que nesse período teve férias de trinta dias, enquanto nos demais as férias foram de apenas quinze dias.

XXIV JAI

1265

Valor (R$)

350,00

300,00

250,00

200,00

150,00

100,00

50,00

0,00

(R$) 350,00 300,00 250,00 200,00 150,00 100,00 50,00 0,00 AGO SET OUT NOV DEZ JAN FEV
(R$) 350,00 300,00 250,00 200,00 150,00 100,00 50,00 0,00 AGO SET OUT NOV DEZ JAN FEV
(R$) 350,00 300,00 250,00 200,00 150,00 100,00 50,00 0,00 AGO SET OUT NOV DEZ JAN FEV
(R$) 350,00 300,00 250,00 200,00 150,00 100,00 50,00 0,00 AGO SET OUT NOV DEZ JAN FEV
(R$) 350,00 300,00 250,00 200,00 150,00 100,00 50,00 0,00 AGO SET OUT NOV DEZ JAN FEV
(R$) 350,00 300,00 250,00 200,00 150,00 100,00 50,00 0,00 AGO SET OUT NOV DEZ JAN FEV
(R$) 350,00 300,00 250,00 200,00 150,00 100,00 50,00 0,00 AGO SET OUT NOV DEZ JAN FEV

AGO SET

OUT NOV DEZ

JAN

FEV MAR ABR Meses

MAI

JUN

JUL

AGO SET

OUT NOV DEZ

JAN

Condomínio Luz Conta Telefone Aluguel Telefone Aluguel Apart. Faxina Multicanal
Condomínio
Luz
Conta Telefone
Aluguel Telefone
Aluguel Apart.
Faxina
Multicanal

Figura 2.4: Visualização das despesas através de um gráfico de linhas.

A constatação de padrões ou de características visuais presentes em imagens con-

tribue de forma muito mais significativa para o processo de compreensão do que a simples observação dos dados em sua forma bruta. A construção de uma visualização que possi- bilite essa observação pode ser conseguida organizando os dados segundo algum critério

e apresentando-os de modo visual, como demonstrado nas figuras anteriores. Em geral,

visualizações acabam possibilitando a recuperação de informações relevantes e a constru-

ção de novos conhecimentos.

2.1.3 Aplicações

Visualizações de informações têm sido desenvolvidas para uma grande va- riedade de outras aplicações práticas, 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 de árvores genealógicas [Di Battista et al., 1999].

Particularmente na área da Computação, a visualização de informações tem apli- cações especias na mineração de dados e na engenharia de software. Visualizações de software, por exemplo, auxiliam o programador a analisar e a entender a estrutura e o funcionamento de um programa, em um nível maior de abstração do que quando compa- rada a uma simples leitura do código fonte.

As técnicas de visualização de informações também podem ser utilizadas para filtrar, analisar e gerenciar grandes quantidades de dados, como as informações que são geradas e disponibilizadas diariamente na Internet.

2.1.4 Objetivos

O presente documento tem por objetivo apresentar uma visão global da área de Visuali- zação de Informações através do levantamento de diferentes aspectos relacionados com

a apresentação visual de dados, enfatizando sua importância no processo de aquisição de

XXIV JAI

1266

conhecimento em várias áreas da Ciência. Ele também discute técnicas e algoritmos para construir representações visuais efetivas, que auxiliem na compreensão de informações.

Um outro objetivo do trabalho é discutir mecanismos de interação que possibilitem

manipular representações visuais de dados, bem como indicar linhas gerais para a criação

e a implementação de novas técnicas de visualização de informações.

2.1.5 Organização do documento

O restante deste documento está organizado como segue: a Seção 2.2 apresenta alguns conceitos gerais sobre Visualização de Informações e sobre temas correlatos; a Seção 2.3

discute alguns critérios para ajudar na construção de visualizações efetivas; a Seção 2.4 faz um apanhado histórico da evolução das técnicas de Visualização de Informações e comenta algumas das técnicas modernas mais utilizadas; a Seção 2.5 apresenta técnicas para desenho de grafos, as quais podem ser utilizadas na visualização de dados relacio- nais; a Seção 2.6 discute a técnica de visualização Foco+Contexto; a Seção 2.7 comenta

a técnica de Coordenadas Paralelas; a Seção 2.8 estuda a técnica de visualização base-

ada no uso de ícones; já a Seção 2.9 apresenta um processo para guiar a utilização das técnicas de visualizações e para auxiliar no desenvolvimento de novas visualizações; por fim, a Seção 2.10 discute vários tópicos adicionais e problemas em abertos na área de Visualização de Informações.

Informações complementares sobre Visualização de Informações podem ser en- contradas no nosso site: http://www.inf.ufg.br/funcomp/infovis.

2.2 Definições básicas

Card e outros [Card et al., 1999] definem Visualização de Informações como sendo “o uso de representações visuais de dados abstratos suportadas por computador e interativas para ampliar a cognição”. É importante comparar, contudo, o estudo de Visualização de Informações com uma área similar chamada de Visualização Científica.

Ambos os tipos de visualização estão voltados para o processo de descoberta, de percepção e de tomada de decisão, mais do que para uma simples observação de figuras. Seus objetivos são ampliar nossa atividades cognitivas, melhorando o entendimento e aproveitamento do que é exposto e levando à aquisição e solidificação do conhecimento.

Apesar da similaridade, na Visualização de Científica os dados a serem apresenta- dos geralmente correspondem a medidas de objetos físicos, fenômenos da natureza ou po- sições em um domínio espacial, possuindo, assim, uma representação geométrica. Como exemplo de visualizações nessa linha, podemos citar a visualização de orgãos do corpo humano, de fluidos em movimento e, até mesmo, de funções matemáticas.

Já em uma Visualização de Informações, os dados são abstratos, não havendo necessariamente uma representação geométrica inerente aos mesmos. Neste caso, uma imagem deve ser gerada com base nos relacionamentos ou informações que podem ser inferidos acerca dos dados.

A Figura 2.5 ilustra, de modo simplificado, um processo automatizado de Visu- alização de Informações, onde uma imagem é produzida a partir de dados de entrada. Observe que poderíamos chamar esse processo de “Visualização de Dados”, uma vez que

XXIV JAI

1267

a imagem está diretamente relacionada aos dados. Contudo, preferimos utilizar o termo ”Visualização de Informações” porque estamos mais interessados em obter informações acerca da relação entre os dados, do que nos seus valores isolados propriamente ditos.

Abstratos Dados

seus valores isolados propriamente ditos. Abstratos Dados Ferramenta de de Computacional Visualização Informações

Ferramenta de de Computacional Visualização Informações

Informação Figura
Informação
Figura

Figura 2.5: Processo simplificado de visualização de informações auxiliada por computador.

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

rias:

Nominal – conjunto de elementos distintos, sem uma relação de ordem entre eles. Exemplo: João, Maria, Alberto;

Ordinal – conjunto de elementos distintos, mas com uma relação de ordem entre

os mesmos. Exemplo: Segunda, Terça, Quarta,

, ou Janeiro, Fevereiro,

; e

Quantitativo – faixa de valores numéricos. Essa categoria pode ser dividida em Intervalos (com valores discretos) e Razão (representando uma faixa contínua de valores).

Como veremos na Seção 2.3, essa classificação nos ajuda a escolher uma repre- sentação gráfica adequada para os dados.

Um modelo de referência para construir visualização de informações é 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 divisão do processo de gerar uma imagem para um conjunto de dados em três etapas descritas a seguir.

um conjunto de dados em três etapas descritas a seguir. Figura 2.6: Modelo de Referência para

Figura 2.6: Modelo de Referência para Visualização, adaptado de Card e outros. [Card et al., 1999].

A primeira etapa é chamada de Transformações dos Dados. Nessa etapa, um

conjunto de dados brutos é processado e organizado em uma representação lógica mais

XXIV JAI

1268

estruturada, geralmente na forma de uma ou mais tabelas. O processamento pode envolver

a

eliminação de dados redundantes, errados ou incompletos, bem como a filtragem e

o

agrupamento dos dados relevantes. Além disso, pode ser feita a inclusão de novas

informações, como, por exemplo, de resultados de análises estatísticas (média, soma total,

desvio padrão, etc.) realizadas sobre os dados brutos. Uma forma comum de organizar os dados em tabelas é alocar uma linha para cada dado e uma coluna para cada atributo

diferente dos dados. Dessa forma, a quantidade de linhas informa o número total de dados

a serem visualizados, e o total de colunas representa a dimensão dos dados.

A próxima etapa é o Mapeamento Visual. A tarefa aqui é construir uma estrutura

visual que represente visualmente os dados da tabela. Toda estrutura visual pode ser decomposta em três partes: substrato espacial, marcas e propriedades gráficas das marcas.

O substrato visual caracteriza o espaço para a visualização, sendo normalmente

representado por eixos, tais como os eixos X e Y do plano cartesiano. Há quatro tipos elementares de eixos:

U = eixo não estruturado (ou sem eixo);

N = eixo nominal (região dividida em subregiões);

O = eixo ordenado (região dividida em subregiões, onde a ordem das mesmas tem importância);

Q = eixo quantitativo (a região tem uma métrica). As marcas visuais são símbolos gráficos utilizados para representar os itens de dados. Alguns tipos de marcas podem ser vistas na Figura 2.7 e consistem em pontos (figuras geométricas simples), linhas, áreas, volumes e figuras complexas (também cha- madas de ícones ou glyphs).

Pontos Linhas Volumes Áreas Figuras
Pontos
Linhas
Volumes
Áreas
Figuras

Conta

Ago

Set

Out

Nov

Dez

Jan

Conta Ago Set Out Nov Dez Jan Condomínio 179,61 183,81 201,21 219,73 238,10 168,90 Luz
Conta Ago Set Out Nov Dez Jan Condomínio 179,61 183,81 201,21 219,73 238,10 168,90 Luz
Conta Ago Set Out Nov Dez Jan Condomínio 179,61 183,81 201,21 219,73 238,10 168,90 Luz
Conta Ago Set Out Nov Dez Jan Condomínio 179,61 183,81 201,21 219,73 238,10 168,90 Luz
Conta Ago Set Out Nov Dez Jan Condomínio 179,61 183,81 201,21 219,73 238,10 168,90 Luz
Conta Ago Set Out Nov Dez Jan Condomínio 179,61 183,81 201,21 219,73 238,10 168,90 Luz
Conta Ago Set Out Nov Dez Jan Condomínio 179,61 183,81 201,21 219,73 238,10 168,90 Luz
Conta Ago Set Out Nov Dez Jan Condomínio 179,61 183,81 201,21 219,73 238,10 168,90 Luz
Conta Ago Set Out Nov Dez Jan Condomínio 179,61 183,81 201,21 219,73 238,10 168,90 Luz
Conta Ago Set Out Nov Dez Jan Condomínio 179,61 183,81 201,21 219,73 238,10 168,90 Luz
Conta Ago Set Out Nov Dez Jan Condomínio 179,61 183,81 201,21 219,73 238,10 168,90 Luz

Condomínio

179,61

183,81

201,21

219,73

238,10

168,90

Luz

14,58

23,50

30,24

35,94

27,30

24,19

ContaTelefone

51,40

38,35

149,00

143,95

164,10

126,68

AluguelTelefone

40,00

40,00

40,00

40,00

40,00

40,00

AluguelApto

267,08

267,08

267,08

232,08

232,08

217,08

Faxina

52,40

52,40

52,40

52,40

52,40

52,40

Faxina 52,40 52,40 52,40 52,40 52,40 52,40 Figura 2.7: Tipos de marcas visuais. Por fim, as

Figura 2.7: Tipos de marcas visuais.

Por fim, as propriedades gráficas das marcas são os atributos visuais que carac- terizam as mesmas. Algumas das propriedades mais utilizadas são 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 gráficas das marcas.

Um exemplo de Mapeamento Visual pode ser observado na Seção 2.1, onde uma tabela 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

Posição Tamanho, área, volume Ângulo α β Inclinação
Posição
Tamanho, área, volume
Ângulo
α
β
Inclinação

Orientação

Orientação
Orientação

Cor

Cor
Cor
Cor

Textura

Textura
Textura
Textura

Forma

Forma
Forma
Forma
volume Ângulo α β Inclinação Orientação Cor Textura Forma Animação, tempo, movimento, piscante

Animação, tempo, movimento, piscante

Figura 2.8: Propriedades gráficas das marcas.

descrito por uma linha da tabela, foi associado a uma linha gráfica na figura. Os atributos desses dados, isto é o nome da despesa e o seu valor em cada mês, foram associados à cor e à altura da linha em seu diversos pontos.

A última etapa é a de Transformações Visuais, na qual é possível modificar e estender as estruturas visuais interativamente através de operações básicas como:

Testes de localização, que possibilitam obter informações adicionais sobre um item da tabela de dados;

Controles de ponto de vista, os quais permitem ampliar, reduzir e deslocar a ima- gem com o objetivo de oferecer visões diferentes; e

Distorções da imagem, visando criar ampliações de uma região específica em de- trimento de outra. É importante ressaltar que os mecanismos de interação implementados nessa etapa permitem ao usuário explorar diferentes cenários para um melhor entendimento dos dados visualizados. Além disso, o esforço de exploração dos dados é repassado em parte para o computador, uma vez que os cálculos e o redesenho da imagem são realizados pela má-

quina, deixando para o usuário a tarefa de observar o que acontece quando a visualização

se modifica.

Como a área de Visualização de Informações envolve o ato de ver (o qual, de acordo com Marr [Marr, 1982], é uma tarefa complexa que abrange a aquisição de ima- gens do ambiente), a representação e o armazenamento adequado das mesmas e a extração de informações relevantes dentro de um contexto, os estudos sobre o assunto não podem ser aprofundados sem o conhecimento de contribuições importantes advindas de diversos ramos da Ciência. Sendo assim, Visualização de Informações se encontra intimamente

relacionada à Psicologia, à Linguística e às Artes Visuais, no que se refere à forma como

o ser humano vê e interpreta o que está sendo visto. A Visualização de Informações também possui uma forte relação com algumas subáreas da Computação, como Visão Computacional e Interação Homem-Computador.

Apesar de ser uma área relativamente nova, já existem vários congressos, confe- rências e simpósios importantes sendo realizados em todo o mundo em Visualização de Informações. 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/).

Além disso, descrições de diversas técnicas e informações 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 Visualizações efetivas

Nem toda forma de visualização é útil para o usuário. Em geral, dois atributos de uma visualização nos ajudam a determinar a sua provável utilidade. Esses atributos, apresen- tados por Mackinlay como critérios para avaliar linguagens gráficas [Mackinlay, 1986], são a expressividade e a efetividade.

Uma visualização pode ser considerada expressiva se ela é capaz de mostrar todos os dados de interesse do usuário e nada mais que isso.

Já a efetividade está relacionada com a facilidade de se compreender os dados apresentados. Para ser efetiva, uma visualização deve ser de rápida percepção e induzir a uma quantidade menor de erros de interpretação do que outras formas de se visualizar os mesmos dados.

Efetividade e expressividade são aspectos importantes, porque sem os mesmos uma visualização pode não ser capaz de enfatizar padrões relevantes nos dados, não tra- zendo, assim, quaisquer informações novas além daquilo que já é trivialmente conhecido. Além disso, uma visualização também pode ser de difícil entendimento ou, até mesmo, sugerir padrões que na verdade não existem, o que pode levar a uma interpretação errônea dos dados.

A Figura 2.9 ilustra problemas com efetividade de visualizações para apresentar

a cotação do Dólar para compra em Reais. A visualização (a) mostra a cotação no pe- ríodo de 13 a 18/04/2005, utilizando um mapeamento visual em que o valor do Dólar

foi associado à saturação da cor utilizada em uma seqüência de círculos. Para cada dia útil do período há um círculo correspondente; quanto mais escuro é o círculo, maior é

a cotação do Dólar. Obviamente essa visualização não é tão efetiva quanto a mostrada

em (b), onde os dados são apresentados intuitivamente através um gráfico XY de linhas. Por outro lado, essa segunda visualização pode sugerir que houve uma forte tendência de aumento do Dólar, uma vez que a linha de projeção da cotação é íngreme. Tal gráfico,

XXIV JAI

1271

contudo, carece de dados para situar o período analisado em um contexto maior. Se to- marmos a situação do Dólar 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 País na época. As duas primeiras visu- alização não são, portanto, efetivas, porque não conseguem transmitir para o observador uma informação correta sobre a tendência significativa da variação do Dólar.

sobre a tendência significativa da variação do Dólar. Figura 2.9: Visualizações da cotação do Dólar para

Figura 2.9: Visualizações da cotação do Dólar para compra.

Os problemas mais comuns que podem comprometer a efetividade de uma visua- lização são:

não colocar dados suficientes na visualização de forma a contextualizar as infor- mações mais relevantes apresentadas;

desconsiderar atributos importantes dos dados;

utilizar gráficos sobrepostos em escalas diferentes ou com sistemas de coordena- das distintos, o que impede uma comparação justa entre os dados; e

não fazer um mapeamento dos dados para marcas e atributos visuais de forma adequada.

XXIV JAI

1272

Obviamente, características como cor, dimensionalidade, perspectiva, luminosi- dade, tamanho e forma dos objetos são fatores que auxiliam no processo de cognição e que podem ser explorados na construção de visualizações efetivas. Outros aspectos como existência de mecanismos de interação com os dados e a possibilidade de compactar uma grande quantidade de informações úteis em uma mesma imagem contribuem para a efeti- vidade de uma visualização.

A seguir apresentamos algumas sugestões para aumentar a expressividade e efeti-

vidade das visualizações:

Utilize o modelo de visualização apresentado na Figura 2.6 no desenvolvimento de novas visualizações. Esse modelo ajuda na modularização do processo de trans- formação de dados brutos em imagens interativas. Com isso, novos recursos po- dem ser adicionados à visualização sem a necessidade de alterar todo o processo.

Elimine da visualização gráficos e textos desnecessários. Uma boa medida de quantos elementos são desnecessários em uma figura é a quantidade de tinta ou de pixels gastos com itens que não são dados de interesse.

Busque simplicidade; isto é, entre duas formas diferentes de representar visual- mente uma mesma informação, prefira a que é mais simples.

Aumente a quantidade de dados por centímetro quadrado. Isso parece contrário

às duas recomendações anteriores, contudo, o que se deseja aqui é colocar mais

dados de interesse na imagem, sem sobrecarregá-la demasiadamente, de forma a ajudar na compreensão do problema como um todo.

Explore a utilização de símbolos e de atributos visuais que facilitem a percepção dos dados e dos padrões existentes nos mesmos. Por exemplo, é possível destacar elementos importantes em uma imagem através do uso de uma cor mais chama- tiva ou colocando informações piscando na tela. Certas cores e símbolos gráficos também já são bem conhecidos culturalmente por terem um significado específico; essas cores e símbolos podem ser associados a dados abstratos para transmitir-lhes um significado similar.

Permita formas de interação com a visualização.

Utilize animações para mudar gradativamente uma visualização sempre que ne- cessário, de forma a preservar o “mapa mental” que o usuário tem da imagem. Se uma visualização muda drasticamente, então pode ser difícil para o usuário enten- der o que aconteceu, uma vez que o seu “mapa mental” (de onde e como estão localizados visualmente os dados) não coincide com a nova representação visual. No que diz respeito à utilização de atributos visuais, Mackinlay [Mackinlay, 1986] propõe ordens de prioridade para se associar atributos de dados a atributos visu- ais, as quais são uma extensão do trabalho desenvolvido por Clevelan e McGill [Cleveland and McGill, 1984]. As ordens de prioridade de Mackling são apresentadas na tabela a seguir para três tipos de dados e vão do atributo visual mais perceptível até o menos perceptível. A idéia é associar os atributos mais importantes dos dados aos atribu- tos visuais no topo da lista, seguindo a seqüência recomendada.

Como exemplo, suponha que se deseje associar dados quantitativos de pacientes de um hospital, como peso, altura e tempo de internação, à uma imagem. De acordo com a Tabela 2.1, os atributos mais importantes devem ser associados à posição de um elemento visual na tela. Os demais atributos podem ser associados ao comprimento, inclinação e área do elemento, nesta ordem.

XXIV JAI

1273

Percepção

Dados Quantitativos

Dados Ordinais

Dados Nominais

Maior

Posição Comprimento Ângulo Inclinação Área Volume Densidade Satruração de cor Croma de cor Textura Conexão Envolvimento Forma

Posição Densidade Saturação de cor Croma de cor Textura Conexão Envolvimento Comprimento Ângulo Inclinação Área Volume Forma

Posição Croma de Cor Textura Conexão Envolvimento Densidade Saturação de cor Forma Comprimento Ângulo Inclinação Área Volume

Menor

Tabela 2.1: Acuidade de percepção de atributos visuais.

2.4 Resumo das técnicas de visualização

Nesta seção é apresentado um breve levantamento das técnicas de Visualização de Infor- mações.

2.4.1 Primeiras formas de visualização de informações

As formas mais antigas de visualização de informações remontam à Pré-História, quando os homens da época expressavam visualmente o que se passava no seu viver através de desenhos e pinturas em rochas e cavernas. As pinturas mais antigas foram encontradas nas cavernas em Altamira, na Espanha, e em Lascaux, na França, e datam de 25.000 a.C. Essas manifestações iniciais da expressão artística registraram atividades e hábitos humanos, sendo hoje um grande auxílio para o entendimento de nossa evolução cultural.

Caminhando um pouco mais na linha do tempo, observamos uma iniciativa, por parte dos árabes, de elaborar um método visual para realizar contas de multiplicação:

o método tabular, ilustrado na Figura 2.10. Esse método levou ao desenvolvimento do método de multiplicação atual.

ao desenvolvimento do método de multiplicação atual. Figura 2.10: Método tabular. No exemplo mostrado na Figura

Figura 2.10: Método tabular.

No exemplo mostrado na Figura 2.10, uma tabela é desenhada contendo o número 217 acima e o número 14 à esquerda da mesma. O produto de cada dígito da esquerda com um digito de cima é colocado na interseção da linha com a coluna associada a esses dígitos. Assim, o produto de 1 por 217 é colocado na primeira linha da tabela e o produto de 4 por 217 é colocado na segunda linha. O produto final de 217 por 14 é dado pela soma dos dígitos nas diagonais, ou seja:

XXIV JAI

1274

8

4 + 2 + 7 = 3 (vai 1)

(vai 1) + 8 + 1 = 0 (vai 1)

(vai 1) + 2 = 3

Utilizar uma folha de papel para realizar o cálculo com o método descrito ante- riormente proporciona uma extensão para a memória humana, visto que fazer a conta de cabeça pode ser um processo mais demorado e, dependendo do caso, complicado.

Outros exemplos de visualização permitiram a transmissão de conhecimento e a descoberta de novas informações de maneira efetiva.

Em 1845 ocorreu uma incidência de cólera no Distrito de Soho, em Londres. O médico John Snow acabou criando um mapa dessa área no qual pontos pretos representa- vam mortes individuais por cólera e marcas em X representavam as posições de bombas de água 3 . 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 transmissão da cólera não era conhecida ao certo na época.

Outra forma precursora de visualização é o mapa de M. Charles Minard que re- trata a famosa marcha de Napoleão na Rússia (1812) 4 , quando 422.000 soldados partiram da França e somente 10.000 retornaram. Esse mapa é um dos exemplos de visualização mais citados porque agrega diversas informações de forma efetiva em uma única figura. A marcha dos soldados é representada, por exemplo, por uma linha sobre um mapa geográ- fico simplificado. A largura da linha em cada ponto do mapa é proporcional à quantidade de soldados que formavam o grupo naquele percurso. A ida para Moscou e a retirada do grupo é indicada pela cor da linha. Além disso, um gráfico mostrando a queda da tem- peratura durante a volta de Napoleão é apresentado na parte inferior da figura, alinhado com a linha que indica a marcha dos soldados. A visualização ajuda a perceber como as condições climáticas desfavoráveis contribuíram para a mortalidade dos soldados.

O mapa do metrô de Londres constitui outro bom exemplo de visualização de informações. No início do século XX, o Inglês Harry Beck percebeu que passageiros de metrô não precisavam saber da posição geográfica exata por onde as linhas dos trens passavam para poder utilizar eficientemente esse sistema de transporte. Ele verificou que, uma vez no subsolo, o importante era ter um conhecimento das estações e de quais linhas de metrô faziam conexão entre as mesmas. Assim, um passageiro poderia planejar a sua viagem considerando apenas as estações de partida e de destino e uma rota viável entre elas. Beck então desenhou um novo mapa de metrô para Londres que desconsiderava a posição geográfica precisa da malha ferroviária, em favor de linhas de conexão mais retas e de espaçamento uniforme entre as estações. Alguns propriedades geográficas foram

3 O mapa de John Snow pode ser visto em http://www.ph.ucla.edu/epi/tufte\_snow2. htm (site acessado em 17/05/05). 4 Diversas adaptações e traduções do mapa de Minard tem sido feitas, existindo inclusive uma versão animada que mostra gradativamente a marcha de Napoleão. Um versão fiel do mapa traduzida para o Inglês pode ser encontrada em http://www.edwardtufte.com/tufte/minard (site acessado em

17/05/05)

XXIV JAI

1275

mantidas no mapa tais como: a direção e a orientação geral das linhas (Norte-Sul e Lest- Oeste) e a distância relativa entre estações adjacentes. A abordagem de visualização desenvolvida por Herry Back foi publicada em 1933 e é utilizada hoje nos principais metrôs do mundo por ser simples e bastante intuitiva 5 .

Com o passar do tempo, as técnicas de visualização de informações foram evo- luindo, motivadas pelo desenvolvimento da Computação e pela necessidade crescente de gerenciar e apresentar uma quantidade cada vez maior de dados. Esses fatores levaram ao surgimento da área de Visualização de Informações como a conhecemos, composta por vários estilos de visualização com finalidades distintas.

A partir deste ponto faremos uma breve explanação sobre cada um dos tipos de técnicas de visualização e aprofundaremos algumas delas nas seções subseqüentes.

2.4.2 Visualizações atuais

Existem dois eixos principais para o estudo das técnicas de visualização de informações. O primeiro eixo considera o modo como as técnicas exploram o substrato visual, as mar- cas e as propriedades visuais do desenho. Nesse eixo, temos técnicas que utilizam cores, exploram a dimensão do substrato visual, modificam dinamicamente a associação dos dados a marcas visuais, variam a escala de ampliação da imagem e empregam figuras metafóricas para apresentar informações. No segundo eixo, as técnicas são classificadas de acordo com as características dos dados a serem visualizados. Dessa forma, existem técnicas adequadas para dados unidimensionais, bidimensionais e tridimensionais com atributos aparentemente independentes, multi-dimensionais (quatro ou mais dimensões)

e redes (grafos).

Considerando o primeiro eixo definido anteriormente, uma característica bastante

explorada por várias técnicas na representação de informações é a cor das marcas visuais. Colocar “a cor certa no lugar certo” não é uma tarefa trivial, uma vez que a associa- ção inapropriada de atributos de dados a cores pode causar uma catástrofe visual. Tufte [Tufte, 1990] apresenta alguns princípios para o uso correto das cores. Por exemplo, no caso de mapas, cores puras, muito fortes ou brilhantes, podem resultar em efeitos desa- gradáveis quando empregadas em grandes áreas adjacentes, mas podem ter efeitos extra- ordinários quando usadas de forma reduzida ou entre dois tons de background. O uso de luz, cores brilhantes misturadas com branco, podem gerar também efeitos desagradáveis, principalmente se as cores forem utilizadas em grandes áreas. Ware [Ware, 2000] discute

a importância das cores e também apresenta alguns cuidados com o uso das mesmas, prin-

cipalmente em relação ao contraste da cor de uma marca visual com a cor de fundo. O contraste entre cores adjacentes pode alterar significativamente a percepção de uma cor, fazendo com que ela pareça ser mais clara ou escura. Existem meios para tentar reduzir esses efeitos, como, por exemplo, desenhar uma fina borda branca ou preta ao redor do objeto colorido.

Com relação à dimensão do substrato visual, Card e outros [Card et al., 1999] trazem uma discussão detalhada sobre o uso de estruturas dimensionais. Estruturas uni- dimensionais são tipicamente empregadas para a apresentação de documentos de texto

5 O 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 para mostrar comparação entre valores. Estruturas visuais bidimensionais, como gráficos de linhas, barras, pizza e mapas, são tipicamente utilizadas para apresentar dados estatís- ticos, descrever funções matemáticas ou visualizar informações geográficas. Estruturas visuais 3D, por sua vez, são mais usadas para visualizar dados físicos ou para combinar visualizações em 2D.

A Figura 2.4 da Seção 2.1 é um exemplo de visualização 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 é também um bom exemplo de visua- lização 2D. O HomeFinder localiza em um mapa geográfico casas disponíveis para venda. O ponto forte do sistema é a possibilidade de realizar consultas dinâmicas à base de dados a fim de filtrar casas de acordo com o seu preço, quantidade de quartos e de banheiros e a distância em relação a um ponto de referência, entre outros parâmetros.

a um ponto de referência, entre outros parâmetros. Figura 2.11: Homefinder. Figura gerada utilizando o

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

Outra categoria de técnicas de Visualização de Informações é composta por abor- dagens que variam a escala de ampliação da imagem. Uma técnica dessa categoria é a Foco+Contexto, a qual proporciona uma visão geral dos dados e, ao mesmo tempo, destaca uma determinada região de interesse (foco) através de uma distorção da imagem visualizada. Diversas variações da técnica de Foco+Contexto existem, sendo algumas delas discutidas na Seção 2.6.

Uma abordagem similar à Foco+Contexto mas que não utiliza distorções é cha- mada de Overview+Detail. Essa técnica mostra uma visão geral dos dados como uma figura reduzida em um região da tela (o overview), enquanto apresenta um subconjunto dos dados de modo ampliado e detalhado em outra região (o detail). A técnica sincro- niza a região ampliada com a visão geral através de uma pequena marca visual na figura reduzida, indicando qual parte dos dados foi ampliada. Essa abordagem é amplamente utilizada em editores e visualizadores de documentos texto e de imagens.

Além das formas já descritas de visualização, metáforas visuais vêm sendo em-

XXIV JAI

1277

pregadas como uma nova maneira de apresentar e explorar informações. Como exemplo, Panas e Berrigan [Marcus et al., 2003] propõe uma abordagem para visualizar software que mapeia métricas de programas em estruturas 3D de uma cidade virtual. Com esse tipo de visualização, é possível detectar problemas no software e reduzir gastos com a sua manutenção. Um trabalho similar é apresentado por Balzer e outros [Balzer et al., 2004], na qual estruturas estáticas de programas orientados a objetos são representadas como objetos tridimensionais distribuídos sobre um plano.

Nessa mesma linha de imagens metafóricas, outra proposta interessante é o uso de paisagens (landscapes) para representar interrelações entre grupos de dados. A proposta tem sido utilizada, entre outras aplicações, para visualizar a similaridade entre documen- tos texto com base em palavras-chave. Nesse caso, a técnica consiste em desenhar o relevo de uma ilha de tal forma que cada palavra-chave seja associada a uma única região da mesma. A quantidade de documentos onde cada palavra-chave aparece é utilizada para determinar a altura do relevo na região correspondente. Além disso, se não há documen- tos que compartilham duas palavras-chave, então não existe uma linha reta de terra que liga as regiões correspondentes. A Figura 2.12 mostra uma tela do KartOO, um site de busca na web (http://www.kartoo.com/) que apresenta seus resultados na forma de landscapes interativos.

seus resultados na forma de landscapes interativos. Figura 2.12: Exemplo de landscape . Passando para o

Figura 2.12: Exemplo de landscape.

Passando para o segundo eixo apresentado no início dessa seção, as técnicas de visualização de informações podem seguir uma classificação de acordo com as caracterís- ticas dos dados. Dados lineares e bimensionais podem ser visualizados através de várias técnicas como: gráficos de pizza, de linha e de barra, Overview+Detail e Foco+Contexto.

Quando os dados possuem n dimensões, com n maior que 3, técnicas mais elabo- radas são necessárias. Uma dessas técnicas consiste em mapear apenas dois atributos dos dados para coordenadas X Y de um plano cartesiano e associar os demais atributos à forma, cor e tamanho de objetos visuais. Outra solução é projetar o espaço n -dimensional no plano cartesiano, através de alguma técnica de projeção, como a Multidimensional Scalling [Borg and Groenen, 1997].

Duas outras técnicas de visualização para dados multidimensionais bastante inte- ressantes são as Coordenadas Paralelas e os Glyphs. A técnica de Coordenadas Paralelas

XXIV JAI

1278

associa as dimensões dos dados a eixos paralelos verticais equidistantes, denominados coordenadas. Nessa técnica cada dado é mapeado em uma linha conectando pontos nos eixos. Já os Glyphs (ou ícones) podem ser entendidos como uma representação simbó- lica que evidencia características essenciais de um dado ao qual se refere. Os Glyphs são construídos através de um mecanismo de codificação que associa atributos dos dados a parâmetros do ícone. As técnicas de Coordenadas Paralelas e de Glyphs são explicadas com mais detalhes nas próximas seções deste trabalho.

Se os dados representarem relações entre objetos, uma forma efetiva de visualizá- los é construir um grafo que descreva essa relação e gerar um desenho do mesmo. Técni- cas para desenho de grafos são apresentadas na Seção 2.5. Relações hierárquicas entre da- dos podem ser visualizadas através de desenhos de árvores, o que é também mencionado naquela seção. Outras técnicas, como o browser hiperbólico, apresentado na Seção 2.6, podem ser utilizadas para mostrar estruturas relacionais.

No caso específico de hierarquias, Johnson e Shneiderman [Johnson and Shneiderman, 1991] utilizam uma técnica, chamada Tree-Map, que faz uso de 100% do espaço disponível na tela para mostrar uma estrutura hieráquica. A técnica consiste em representar o nível mais alto da hierarquia como uma região retangular que preenche todo o espaço de desenho. Os níveis mais baixos são desenhados recursivamente como retângulos dentro da região maior. O tamanho de cada retângulo é proporcional ao número de itens nos níveis imediatamente abaixo na hierarquia. Um exemplo dessa técnica é mostrado na Figura 2.13. Outro exemplo é a visualização de notícias apresenta- das em http://www.marumushi.com/apps/newsmap/newsmap.cfm, onde o usuário pode filtrar informações de acordo com o tema, data e país.

filtrar informações de acordo com o tema, data e país. Figura 2.13: Exemplo de uso da

Figura 2.13: Exemplo de uso da técnica tree-map. A imagem foi gerada através do software desenvolvido por Ben Shneiderman do Laboratório de Interação Homem-Computador da Universidade de Maryland.

Conforme evidenciado no início dessa seção, o objetivo aqui era fazer um rá- pido passeio pelos tipos de técnicas de visualização. Algumas delas são aprofundadas nas próximas seções. Entretanto, informações mais completas sobre diversas técnicas po- dem ser encontradas em livros especializados no assunto [Card et al., 1999, Spence, 2000, Ware, 2000].

XXIV JAI

1279

2.5

Desenho de Grafos

Grafos são modelos matemáticos formados por estruturas simples que consistem de um conjunto de vértices e um conjunto de arestas. Os vértices geralmente representam objetos concretos ou abstratos em diversas áreas do conhecimento humano, e as arestas indicam relações entre esses objetos. Desenho de Grafos [Di Battista et al., 1999] é uma das técni- cas de visualização mais comumente utilizadas para demonstrar relações entre objetos ou pessoas e estruturas hierárquicas. As técnicas de Desenho de Grafos têm aplicações, por exemplo, na micro-eletrônica para desenho de circuitos VLSI; na Engenharia de Software para 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 aplicações CAD para facilitar a análise e a manipulação de dados; em sistemas de telefonia para ilustrar uma rede de chamadas telefônicas em uma determinada região ou país; e em ambientes de comunidade virtual para apresentar redes sociais. Atualmente, basta abrir um livro de ciências ou uma revista científica para perceber que as figuras ou diagramas ilustrativos têm um bom trabalho subjacente de desenho de grafos.

Nesta seção apresentamos algoritmos para visualizar grafos. Algumas definições básicas em Teoria dos Grafos são dadas inicialmente, sendo que o leitor mais familiari- zado com o assunto pode avançar diretamente para a Subseção 2.5.2.

2.5.1 Grafos

Um grafo G (não–direcionado 6 ) é um par (V, E ), onde V é um conjunto finito de pontos denominados vértices e E é um conjunto finito de arestas. Uma aresta e E é um par não ordenado xy de vértices distintos de V . A aresta e pode ser escrita como xy ou yx e indica que x e y são os extremos de e. Neste caso, dizemos que x e y são adjacentes e que a aresta xy é incidente em x e em y . O grau de um vértice x V é definido como sendo o número de arestas de G incidentes a x .

Um caminho, de um vértice x para um vértice y , em um grafo G consiste de uma

seqüência S xy = (x = v 0 , v 0 v 1 , v 1 , v 1 v 2 ,

G (para i = 0, 1,

= y ) onde v i v i+1 são arestas de

, v k são vértices de G . Sem perda de generalidade,

podemos omitir os vértices da seqüência. Deste modo, um caminho de um vértice x para

, v k 1 v k ), onde v 0 = x ,

, k 1. Quando um caminho tem

v k = y , e v i v i+1 são arestas de G para i = 0, 1,

um vértice y é uma seqüência de arestas S xy = (v 0 v 1 , v 1 v 2 ,

, v k 1 v k , v k

, k 1) e v 0 ,

ambos os seus extremos iguais ( v 0 = v k ), ele é chamado caminho fechado (ou ciclo). O comprimento de um caminho S xy é representado por |S xy | e é definido como sendo o número de arestas da seqüência. A distância entre dois vértices x e y no grafo (também conhecida como distância teórica) é dada pelo comprimento do menor caminho de x para y .

Um grafo G é conexo se existe um caminho S xy para todo par de vértices distintos x e y de G .

O centro teórico de um grafo não-direcionado G é representado por um vértice x cuja soma das distâncias de x a todos os demais vértices de G é mínima.

Dizemos que um grafo G = (V , E ) é um subgrafo de G = (V, E ), se V V e

6 também chamado de grafo não-orientado

XXIV JAI

1280

E E . Se G contém todas as arestas de G cujos extremos são vértices de V , então G é chamado de subgrafo induzido de G .

Um grafo H é dito gerado de um grafo G , notação H G , se H é um subgrafo de G , e quaisquer dois vértices u e v são adjacentes em H se e somente se forem adjacentes em G .

Dois grafos são isomorfos se há uma correspondência entre seus conjuntos de vértices que preserva a adjacência. Assim, G = ( V, E ) é isomorfo a G = ( V , E ) se existe uma função bijetora φ : V V , tal que xy E implica que φ(x )φ(y ) E e vice-versa. Naturalmente, grafos isormofos têm o mesmo número de vértices e de arestas.

De forma semelhante à definição de grafo não-direcionado, um grafo direcionado G é um par (V, E ), onde V é um conjunto finito de vértices e E é um conjunto de pa- res ordenados de vértices. Num grafo direcionado, uma aresta e = ( x, y ) de E é dita discindente de x e incidente em y , respectivamente. O vértice y é dito adjacente a x .

O grau de entrada de um vértice x de um grafo direcionado G é definido como sendo o número de arestas que incidem em x . O grau de saída deste vértice é dado pelo número de arestas discidentes de x . O grau de x é definido como a soma entre o grau de entrada e o grau de saída de x .

Um caminho direcionado de um vértice x para um vértice y é uma seqüência de

arestas S xy = ((v 0 , v 1 ), (v 1 , v 2 ),

G , para i = 0, 1

, (v k 1 , v k )), onde (v i , v i+1 ) são arestas orientadas de

k 1. Quando um caminho direcionado tem ambos os seus extremos

iguais (v 0 = v k ), ele é chamado caminho direcionado fechado (ou ciclo direcionado). Um grafo direcionado é dito acíclico (também conhecido por DAG, do inglês “Directed Acyclic Graph”) se não possui caminhos direcionados fechados.

Se existe um caminho direcionado de um vértice x para um vértice y em um grafo direcionado G , então dizemos que y é alcançado por x . Definimos o conjunto alcançável do vértice x , notação R x , como sendo o conjunto de todos os vértices alcançáveis por x .

Um grafo G s não-direcionado é subjacente a um grafo direcionado G se G s é obtido a partir de G removendo-se somente a orientação de suas arestas.

Um grafo direcionado é fracamente conexo se seu grafo subjacente for conexo. Os grafos direcionados fracamente conexos serão referenciados, neste trabalho, apenas por “grafos conexos”, suprimindo-se o termo “fracamente”.

Para um grafo G = (V, E ), direcionado ou não–direcionado, denotamos por |V |

e |E | os tamanhos dos conjuntos V e E , respectivamente. O tamanho de um grafo G , notação |G |, consiste da soma |V | + |E |.

Uma árvore é um grafo A = ( V, E ) conexo onde |E | = |V | − 1. Todo vértice com grau 1 de uma árvore é chamado de folha.

Uma árvore com raiz é uma árvore A = ( V, E ) que possui um vértice r V , chamado de raiz, e uma ordem hierárchica dos seus vértices que inicia em r e termina

nas folhas. A profundidade de um vértice v V é dada pela distância de v a r . A altura de A é a maior profundidade de seus vértices. A hierarquia é definida de acordo com

a profundadide de cada vértice. A altura de A é a maior profundidade de seus vértices. Os filhos de um vértice v V são os vértices adjacentes a v que possuem profundidade

XXIV JAI

1281

maior do que ele; nesse casso, v é chamado de pai desses vértices. A árvore A é dita binária se a raiz tem grau máximo dois e todos os demais vértices possuem grau menor ou igual a três.

Os interessados em se aprofundar em Teoria do Grafos poderão encontrar outras definições em [Bollobás, 1978, Swamy and Thulasiraman, 1981].

2.5.2 Processo de desenho

Um desenho bidimensional de um grafo G = (V, E ) é uma função D : G IR 2 que associa a cada vértice e aresta de G um objeto no IR 2 . Neste documento damos enfoque a desenhos bidimensionais de grafos. Desta forma, omitiremos o adjetivo “bidimensional”, ficando este subentendido.

Um processo de desenho de grafos geralmente começa com uma representação de um grafo numa forma combinacional, como, por exemplo, uma matriz ou uma lista de adjacências, e resulta em um desenho que adota uma representação gráfica e define uma localização no plano para cada vértices e aresta do grafo. Esse processo é ilustrado na Figura 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)}

E={(1,2),(1,3),(2,3), (2,4),(2,5),(3,5), (4,5)} Algoritmo de Desenho 2 4 1 3 5 Figura 2.14: Processo de

Algoritmo de

Desenho

(2,4),(2,5),(3,5), (4,5)} Algoritmo de Desenho 2 4 1 3 5 Figura 2.14: Processo de desenho de

2

4

1

(2,4),(2,5),(3,5), (4,5)} Algoritmo de Desenho 2 4 1 3 5 Figura 2.14: Processo de desenho de

3

5

Figura 2.14: Processo de desenho de grafos.

Para obter um desenho final de qualidade, o processo de Desenho de Grafos deve envolve três etapas:

1. escolher um padrão gráfico para vértices e arestas;

2. definir critérios que determinam a qualidade estética do desenho; e

3. produzir um desenho com o padrão gráfico adotado que satisfaça os critérios esté- ticos definidos.

O padrão gráfico determina a forma com que os vértices e as arestas são represen- tados geometricamente. Existem muitos padrões gráficos, sendo que, o mais comum é de- senhar os vértices como círculos e as arestas como linhas poligonais 7 . Os pontos onde as linhas poligonais mudam de direção são chamados de dobras (observe a Figura 2.15(a)).

Dentro do padrão de linhas poligonais existem duas variações de particular inte- resse quanto à representação das arestas: cada aresta pode ser simbolizada por um único segmento 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 vários segmentos de retas ortogo- nais aos eixos do plano, e o desenho é chamado de desenho ortogonal (Figura 2.15(c)).

7 Alguns autores desenham as arestas como arcos

XXIV JAI

1282

dobra (a)
dobra
(a)
(b) (c)
(b)
(c)

Figura 2.15: Padrão gráfico: (a) linhas poligonais, (b) linhas retas e (c) desenho ortogonal.

Algumas terminologias têm sido empregadas para identificar certas propriedades visuais apresentadas pelos desenhos de grafos. De um modo geral, dizemos que um dese- nho é produzido sobre uma grade quando utilizamos uma região reticulada para desenhar vértices e pontos de dobra das arestas.

Um desenho de um grafo direcionado em linhas poligonais é chamado de upward quando todas as suas arestas possuem pelo menos uma componente da linha poligonal voltada para cima e nenhuma componente volta para baixo. O conceito de upward pode ser utilizado de forma mais intuitiva e abrangente para referenciar um desenho de um grafo direcionado em que todas as arestas estão voltadas para um único sentido, seja esse para baixo ou para cima.

Desenhos que não apresentam cruzamentos de arestas e que não possuem sobre- posição de vértices em arestas são denominados de planares.

É possível gerar um número infinito de desenhos diferentes para um mesmo grafo, independente do padrão gráfico escolhido. Contudo, somente uma parcela desses dese- nhos têm alguma utilidade prática.

Na maioria das vezes, entre todos os possíveis desenhos, estamos interessados apenas naqueles que são “legíveis”, ou seja, que ajudam na visualização dos vértices e arestas e, portanto, na compreensão do grafo.

Em outras situações, o importante não é obter propriamente legibilidade, mas sim, atender a certas necessidades que facilitem o mapeamento direto do desenho em algum objeto de aplicação real. Citamos como exemplo o caso do projeto de circuitos digitais, cujo objetivo maior é gerar diagramas elétricos com o mínimo possível de cruzamentos entre conexões.

A escolha de qual subconjunto de desenhos é útil pode ser uma atividade subje- tiva, que varia de acordo com o gosto particular de cada usuário. Veja, por exemplo, os desenhos 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 que este exibe simetrias; no entanto, é possível que outras pessoas gostem mais do desenho da Figura 2.16(b), pois ele mostra arestas com orientação uniforme para baixo.

Com o objetivo de eliminar essa subjetividade, definimos um conjunto de critérios que indicam quais são as características nos desenhos que nos agradam. Estes critérios são denominados, “grosso modo”, de critérios estéticos, por estarem freqüentemente rela-

XXIV JAI

1283

(a) (b) Figura 2.16: Subjetividade na definição do que seja um bom desenho. cionados com

(a)

(a) (b) Figura 2.16: Subjetividade na definição do que seja um bom desenho. cionados com características

(b)

Figura 2.16: Subjetividade na definição do que seja um bom desenho.

cionados com características estéticas visuais. Apesar disso, eles podem refletir aspectos de outra natureza (não estética).

Alguns exemplos de critérios estéticos gerais utilizados são:

apresentar poucos cruzamentos de arestas,

exibir simetrias 8 ,

distribuir os vértices uniformemente no espaço de desenho,

mostrar arestas com comprimento uniforme e

dispor as arestas numa mesma direção, tanto quanto possível (no caso de grafos direcionados).

Podemos dizer que a qualidade de um desenho está associada ao grau de satisfação de um conjunto de critérios estéticos. Dependendo de quanto um desenho atende a certo critério, ele pode ser considerado como de boa ou de má qualidade. A busca por desenhos de boa qualidade comumente envolve a satisfação de vários critérios estéticos ao mesmo tempo e é tratada na literatura como um problema de otimização multiobjetivo.

Além de critérios estéticos, podemos definir também “restrições” para orientar a elaboração dos desenhos. As restrições estabelecem regras que devem ser cumpridas necessariamente. São exemplos de restrições de desenhos exigir que um conjunto de vértices seja desenhado em uma determinada posição ou seguindo um padrão gráfico diferente dos demais. Enquanto uma restrição nunca deve ser desrespeitada, um critério estético pode ser atenuado dentro de um certo grau de tolerância.

A atividade de desenhar grafos em linhas poligonais divide-se em dois paradig-

mas: o posicionamento dos vértices placement e o roteamento das arestas routing. O primeiro paradigma consiste em adotar um padrão gráfico para desenhar as arestas e en- contrar uma localização para os vértices que atenda a alguns critérios estéticos ou restri- ções. O segundo consiste em fixar a posição dos vértices e satisfazer a critérios estéticos ou restrições roteando as arestas do grafo.

A busca por desenhos de boa qualidade, tanto para problemas de posicionamento

como de roteamento, incorre em muitas dificuldades. A principal delas segue do fato de

que a obtenção de bons desenhos freqüentemente está associada a problemas NP-Difíceis [Di Battista et al., 1994, Eades, 1989].

8 Definimos o número de simetrias de um desenho de forma simplificada aqui, como sendo a quantidade de operações distintas de rotação e de reflexão que podem ser realizadas sobre a figura sem alterar a sua forma original.

XXIV JAI

1284

Devemos observar, também, que nem sempre existe um desenho de um grafo que satisfaça de modo simultâneo dois ou mais critérios estéticos. É comum ocorrer situações em que a satisfação ampla de um determinado critério implica no negligenciamento de outro. Quando ocorre esse tipo de situação, dizemos que os dois critérios são conflitantes entre 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 vértices. O dese-

nho (a) possui o máximo de simetrias, contudo, apresenta 5 cruzamentos. Já o desenho (b) possui a menor quantidade de cruzamentos, mas não exibe a simetria de rotação vista no desenho (a), entre outras simetrias.

de rotação vista no desenho (a), entre outras simetrias. (a) (b) Figura 2.17: Conflito entre os

(a)

rotação vista no desenho (a), entre outras simetrias. (a) (b) Figura 2.17: Conflito entre os critérios

(b)

Figura 2.17: Conflito entre os critérios de poucos cruzamentos e muitas sime- trias.

A Figura 2.18 mostra desenhos de um grafo direcionado acíclico. O desenho (a) é

upward, enquanto o desenho (b) é planar. Observe que não existe um desenho desse grafo que seja planar e upward simultaneamente.

desse grafo que seja planar e upward simultaneamente. (a) (b) Figura 2.18: Conflito entre os critérios

(a)

desse grafo que seja planar e upward simultaneamente. (a) (b) Figura 2.18: Conflito entre os critérios

(b)

Figura 2.18: Conflito entre os critérios de orientação uniforme e poucos cruza- mentos.

Um outro exemplo de conflito pode ser visto na Figura 2.16, onde garantir orien- tação uniforme das arestas implica em reduzir o número de simetrias.

Muitos conflitos têm sido relatados na literatura [Davidson and Harel, 1989] en- volvendo critérios estéticos como: mínimo número de cruzamentos, mínima área do dese- nho, mínimo número de dobras das arestas, máximo número de simetrias, maior resolução angular, entre outros. A existência de conflitos torna mais difícil a atividade de dese- nhar grafos. Em geral, procura-se resolver os conflitos buscando por soluções de com- promisso, as quais atendem de forma equilibrada os diversos critérios pré-determinados [Davidson and Harel, 1989, Tunkelang, 1993].

Face à complexidade dos problemas que envolvem a atividade de desenhar grafos, justifica-se o uso de heurísticas na produção de boas soluções.

XXIV JAI

1285

Um objetivo de singular importância na área de Desenho de Grafos é projetar algoritmos flexíveis, ou seja: algoritmos cuja inclusão de novos critérios estéticos ou cuja modificação para que trabalhem com outra classe de grafos não implique em um grade esforço de codificação.

A seguir, introduzimos algumas técnicas referentes ao desenho de quatro classes genéricas 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 na área.

Algumas técnicas genéricas para desenhar qualquer tipo de grafo são apresentadas na última subseção.

2.5.3 Desenho de Árvores

Historicamente, as árvores estão entre as primeiras classes estudadas em Desenho de Gra- fos, em função da sua popularidade e da simplicidade de sua estrutura. As técnicas para desenhar árvores consideram dois casos distintos: desenho de árvores com raiz (rooted trees) e desenho de árvores livres (free trees). Em ambos os casos, é desejável a obtenção de 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 critérios estéticos para desenhar esse tipo de árvore destacam-se:

distribuir os vértices sobre níveis hierárquicos horizontais, de acordo com a sua profundidade na árvore;

para árvores binárias, posicionar os filhos esquerdo e direito de cada vértice, res- pectivamente, à esquerda e à direita do vértice pai;

centralizar os pais sobre os seus filhos; e

minimizar a largura do desenho.

em

[Wetherell and Shannon, 1979], onde Wetherell e Shannon apresentaram um algoritmo para desenho de árvores binárias que satisfaz os três primeiros critérios mencionados.

Posteriormente, Reingold e Tilford mostraram em [Reingold and Tilford, 1981] que o algoritmo de Wetherell e Shannon poderia gerar desenhos muito mais largos do que o necessário e com algumas outras características estéticas indesejáveis. Eles apre- sentaram então um novo algoritmo e incluíram os seguintes critérios: mostrar simetrias e desenhar sub-árvores isomorfas sempre do mesmo modo.

Embora o algoritmo de Reingold e Tilford obtenha resultados melhores do que aqueles apresentados por Wetherell, ele não satisfaz obrigatoriamente o cri- tério de mínima largura. Um trabalho mais recente de Sopwit e Reingold em [Supowit and Reingold, 1983] mostrou que a construção de um desenho de uma árvore binária com largura mínima, tal que os vértices pais estejam centralizados sobre seus fi- lhos e que sub-árvores isomorfas sejam congruentes (mesmo ângulo descrito pelas arestas

Um

dos

primeiros

trabalhos

nessa

área

apareceu

XXIV JAI

1286

incidentes nos vértices pais e nos filhos) é um problema NP-completo quando os vértices têm coordenadas sobre uma grade. De outra forma, considerando o desenho sobre um es- paço contínuo, o problema pode ser aproximado em tempo polinomial através de técnicas de programação linear.

Árvores livres

Árvores livres são árvores que não possuem raiz. Uma maneira simples de se desenhar esse tipo de estrutura consiste em escolher um vértice como raiz e aplicar um dos algo- ritmos mencionados acima para construir uma representação hierárquica (em níveis) da mesma. Em seguida, converte-se a representação de níveis para um desenho radial, onde o vértice raiz é colocado no centro da figura e os demais vértices são posicionados em círculos concêntricos de acordo com os seus níveis [Eades, 1992].

O padrão gráfico mais comum para as arestas em um desenho radial é utilizar

linhas retas. Como critério estético, geralmente se deseja desenhar as arestas com com- primento uniforme e mostrar o máximo de simetrias possível.

Eades em [Eades, 1992] apresenta estudos sobre desenho de árvores livres, desta- cando não apenas algoritmos para obter desenhos radiais, como também, a utilização do método Springs [Eades, 1984, Kamada and Kawai, 1989]. O método Springs será des- crito mais adiante.

2.5.4 Grafos planares

Um 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 Desenho

de Grafos devido a 2 fatores: a sua grande aplicação, principalmente, no projeto de cir- cuitos VLSI, e devido ao fato de estar associada a muitos conceitos e problemas téoricos de fundamental importância em Teoria dos Grafos.

Dentre as muitas formas gráficas de se desenhar grafos planares é bastante comum 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 padrão.

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

1. teste de planaridade;

2. construção de uma representação planar;

3. utilização da representação planar para produzir um desenho segundo algum pa- drão gráfico.

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 em tempo 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 para construir uma representação planar do grafo. Tal representação é uma estrutura de dados

XXIV JAI

1287

que descreve as adjacências entre as faces de um desenho planar, e pode ser utilizada para obter um desenho final sem cruzamentos de arestas. Deste modo, um desenho de um grafo planar pode ser gerado em tempo linear modificando-se certos algoritmos de teste de planaridade.

Algumas convenções gráficas para o desenho de grafos planares foram introduzi- das pela área de projetos de circuitos VLSI. Por exemplo, tornou-se comum desenhar os grafos planares sobre uma grade de baixa resolução, adotando-se um padrão gráfico orto- gonal. Neste caso, alguns critérios estéticos desejados incluem: minimizar o número de dobras das arestas e a área ocupada pelo desenho. Entretanto, o problema de minimizar dobras é NP-difícil [Garg and Tamassia, 1995].

Uma outra convenção motivada pelo projeto de circuitos VLSI é o conceito de representação de visibilidade, que consiste em representar os vértices de um grafo por segmentos horizontais e as arestas por segmentos verticais que interceptam apenas os seus vértices extremos.

Para os desenhos em linha reta, os critérios estéticos mais utilizados incluem mini- mizar o comprimento das arestas e maximizar a resolução angular. A resolução angular de um desenho em linha reta consiste no menor ângulo formado por duas arestas incidentes em um mesmo vértice.

Um dos problemas em aberto para desenho de grafos planares diz respeito ao desenvolvimento de algoritmos simples para teste de planaridade em tempo linear. Todos os algoritmos de teste de planaridade existentes são difíceis de serem entendidos e exigem muito esforço de implementação, o que limita o seu uso em sistemas práticos.

Apesar da dificuldade de se implementar o teste de planaridade, algumas técnicas

de desenho de grafos baseiam-se no estudo de grafos planares, em função da existência de algoritmos de desenho para essa classe que executam em tempo linear. A idéia principal

é converter um grafo não planar em um grafo planar, através de um processo chamado

de planarização, e produzir um desenho planar utilizando-se um dos algoritmos conhe-

cidos para tanto. A planarização pode ser realizada através de algumas operações como

a eliminação de vértices, eliminação de arestas ou separação de vértices. A eliminação

de arestas, em particular, consiste em remover um conjunto de arestas do grafo a fim de torná-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 subgrafo planar máximo, o qual é NP-difícil [Garey and Johnson, 1979]. Existem, no entanto, al- goritmos de tempo polinomial para encontrar um subgrafo planar maximal.

2.5.5 Grafos gerais

Tratamos, nesta seção, de grafos não-direcionados gerais, os quais abreviamos apenas por grafos gerais. Esses são grafos para os quais não se tem muita informação acerca de sua estrutura, além do conhecimento de seus vértices e arestas. Construir desenhos para essa classe de grafos parece ser uma tarefa desafiadora, visto que não existe nenhuma regra bem definida que indique onde posicionar os vértices. Tal situação é bem diferente da- quela que caracteriza as árvores e os grafos direcionados em geral, onde os vértices devem ser colocados no desenho de forma que as arestas possuam uma orientação uniforme.

Apesar dessa aparente dificuldade, alguns critérios estéticos bastante intuitivos

XXIV JAI

1288

têm sido propostos para desenhar grafos gerais como, por exemplo: mostrar muitas si- metrias, distribuir os vértices uniformemente e apresentar poucos cruzamentos entre ares- tas. Em geral, a satisfação destes critérios implica em desenhos que ajudam na com- preensão do grafo. Devemos observar, contudo, que alguns critérios estão relaciona- dos com problemas NP-difíceis, tais como: identificar todas as simetrias apresentadas por um desenho [Manning, 1991, Manning, 1990] e minimizar o número de cruzamentos [Garey and Johnson, 1983].

Uma abordagem simples para desenhar grafos gerais consiste em transformá-los em uma outra classe de grafos e aplicar um algoritmo adequado à mesma. É possível, por exemplo, planarizar o grafo ou atribuir orientação às duas arestas de forma que ele mude de classe [Di Battista et al., 1994]. No entanto, os desenhos produzidos através desse processo geralmente apresentam características não desejadas, comuns à classe para a qual o grafo foi convertido.

De fato, a abordagem mais utilizada para desenhar grafos gerais baseia-se em um sistema de forças que tenta descrever a relação existente entre os vértices do grafo, definida por suas arestas. Um dos trabalhos mais famosos nesse sentido é método Springs proposto por Eades em [Eades, 1984]. Esse método modela um grafo como um sistema dinâmico de molas no plano onde cada vértice é representado por uma partícula que exerce uma força de repulsão sobre os demais vértices. As arestas, por sua vez, são substituídas por uma mola conectando dois vértices (partículas). O método funciona como segue: "

1.

uma configuração inicial do sistema é definida atribuindo-se aleatoriamente coor- denadas no plano aos vértices;

2.

o

vértice mais “crítico” (que possui maior força resultante) é movido para uma

posição que minimiza a energia total do sistema 9 ; os demais vértices são mantidos “congelados” na sua posição original. Esse passo é repetido sucessivamente para

o próximo vértice mais crítico, até que não haja mais vértices que contribuam com valores “altos” à função de energia.

O objetivo do método é encontrar um estado de baixa energia do sistema, o qual está geralmente associado a um desenho de boa qualidade. Os desenhos gerados pelo método Springs costumam ter arestas com comprimento uniforme e apresentar muitas simetrias. O método, contudo, não trata o problema de minimizar o número de cruzamen- tos entre arestas e exige ajustes para que não caia em um mínimo local[Lin, 1992]. Uma combinação interessante entre um algoritmo para desenho radial e o método Springs é proposta por Eades em [Eades, 1992]. O algoritmo resultante produz desenhos com ca- racterísticas simétricas sem cruzamentos em todos os casos testados.

Diversas variações do método 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 vértices do grafo. O comprimento e a cons- tante elástica das molas dependem da distância teórica entre os seus vértices. A energia do sistema é minimizada encontrando posições para os vértices através do método de Newton-Raphson.

9 a energia total do sistema pode ser definida como sendo a soma do módulo da força resultante em cada vértice

XXIV JAI

1289

2.5.6

Grafos direcionados

Muitas estruturas hierárquicas como, por exemplo, redes PERT, diagramas de chamada de subrotinas, organogramas de empresas e autômatos finitos são representados por grafos direcionados. Um padrão gráfico comum para essa classe de grafos é desenhar os vértices como retângulos ou círculos e as arestas como linhas poligonais com setas. O desenho é geralmente construído sobre uma grade retangular, sendo os vértices posicionados sobre os pontos de interseção de uma linha com uma coluna.

Os principais critérios estéticos para o desenho de grafos direcionados são:

apresentar orientação uniforme das arestas; por exemplo, mostrar todas as arestas apontando para baixo (isso é possível se o grafo for acíclico);

minimizar o número de cruzamento entre arestas;

minimizar o comprimento das arestas e desenhá-las tão retas quanto possível; e

minimizar a área do desenho.

A abordagem mais utilizada para desenhar grafos direcionados é o método de

Sugiyama [Sugiyama et al., 1981], o qual constrói um desenho hierárquico em níveis, semelhante ao que foi descrito para o caso de árvores com raiz. O método consiste de quatro passos:

1. Remoção de Ciclos – este passo é um pré-processamento necessário apenas

quando o grafo possui ciclos. O objetivo é reverter a orientação de algumas arestas

do grafo (ou removê-las completamente) de forma a torná-lo acíclico.

2. Associação à Níveis – neste passo, os vértices do grafo são associados a níveis,

de tal forma que as arestas ficam com uma orientação uniforme (apontando para

baixo). Quando uma aresta (u, v ) cruza um ou mais níveis, ela é subtituída por

(n i , n i+1 ), (n k , v ), onde n i ,

k , são vértices novos chamados de vértices falsos. Os vértices

falsos são colocados nos pontos de interseção da aresta antiga com os níveis. O problema de minimizar a altura – e possivelmente a largura – do desenho também

é considerado nesse passo através de uma escolha apropriada dos níveis a serem associados aos vértices.

3. Redução de Cruzamentos – nesse passo, os vértices em cada nível são reor- denados de modo a reduzir o número de cruzamentos entre arestas. Sugiyama

apresenta uma heurística para reduzir cruzamentos, denominada de Baricentro,

a qual tem sido utilizada em muitos algoritmos práticos para desenho de grafos

direcionados. O Baricentro consiste em colocar os vértices de um nível em sua posição média (ou baricêntrica) em relação a seus adjacentes no nível imediata- mente acima ou abaixo. Um algoritmo que implementa o Baricentro geralmente executa como segue: a posição dos vértices do nível mais alto é fixada e o Bari- centro é aplicado para os vértices do próximo nível (abaixo) tomando como base

um conjunto de para i = 1, 2

arestas menores (u, n 1 ), (n 1 , n 2 ),

os

seus adjacentes acima. Essa operação é repetida para os níveis seguintes até que

os

vértices no último nível mais baixo sejam colocados em sua posição baricên-

trica. Em seguida, o processo é repetido iniciando no nível mais baixo até o mais alto. O Baricentro é aplicado sucessivas vezes de cima para baixo e de baixo para cima, até que não se consiga mais reduzir o número de cruzamentos entre arestas. Uma heurística semelhante ao Baricentro é conhecida como Mediana e executa

XXIV JAI

1290

colocando vértices na posição média entre os seus adjacentes mais à esquerda e mais à direita . 4. Associação de Coordenada Horizontal – nesse passo, a coordenada X final de cada vértice é definida de tal modo que o desenho resultante apresente arestas

tão retas quanto possível, tenha poucas curvas nas arestas e não seja muito largo. Isso é realizado sem mudar a ordem dos vértices nos níveis. Além disso, todas

as arestas modificadas no Passo 1 são revertidas à sua orientação original neste passo.

O Método de Sugiyama envolve vários problemas Np-difíceis) 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-difícil) e é conhecido na literatura como Feedback Arc Set Problem [Garey and Johnson, 1979]. Minimizar o número de cruza- mentos entre arestas, feito no Passo 2, também é um problema NP-difícil, mesmo quando considerada uma hierarquia com apenas dois níveis e mantendo-se fixa a ordem dos vér- tices em um dos níveis [Garey and Johnson, 1983, Eades and Wormald, 1994]. Um outro problema importante, tratado em parte nos Passos 1 e 2, consiste em gerar uma figura que não seja nem muito larga nem comprida. Encontrar uma disposição hierárquica que satisfaça de forma ótima esse critério é NP-difícil [Eades, 1989].

2.5.7 Outras abordagens

Algumas técnicas mais gerais e flexíveis têm sido desenvolvidas para desenhar uma grande variedade de classes de grafos e para tratar diversos critérios estéticos simulta- neamente.

Uma técnica bem conhecida que oferece esses recursos é o Simulated Annealing de Davidson e Harel [Davidson and Harel, 1996].

Simulated Annealing (SA) é um método de otimização iterativo, formulado ini- cialmente por Kirkpatrick et al [Kirkpatrick et al., 1983] e que se originou da Mecânica Estatística [Metropolis et al., 1953]. O método tenta escapar de mínimos locais utilizando operações análogas ao processo em que líquidos são esfriados até assumirem uma forma cristalina, processo esse chamado de annealing.

A motivação por tras do método segue da observação dos princípios que regulam

o processo annealing: se o esfriamento de um líquido for lento o suficiente, então as

pequenas forças iônicas dos seus átomos interagem e organizam a estrutura do líquido,

atingindo uma forma chamada de cristal, que está associada ao estado de mínima ener- gia do sistema. Entretanto, se este esfriamento for demasiadamente rápido, o sistema (líquido) assume uma configuração amorfa que representa mínimos locais.

Durante o annealing, o sistema obedece a distribuição de Boltzmann:

P (E ) e E

kT ,

a qual define uma distribuição de probabilidades para estados de energia E , como uma função da temperatura T e da constante de Boltzmann k .

Metropolis e outros em [Metropolis et al., 1953] sugeriram um procedimento para simular esse processo em uma dada temperatura através de uma seqüência de movimentos

XXIV JAI

1291

que mudam o estado do sistema. Novos estados são obtidos dentro da “vizinhança” do estado corrente, pertubando-se uma pequena parcela do sistema. A regra básica do pro- cedimento é que a probabilidade de passar de um estado com energia E 1 para um novo estado com energia E 2 é dada pela função:

p = min{ 1, e

E 2 E 1 kT

}

.

Isto significa que o sistema sempre muda para o novo estado se E 2 < E 1 . Caso contrário, se E 2 > E 1 , 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 ir diminuindo-o lentamente, enquanto se atinge um estado de equilíbrio através da aplicação sucessiva de pequenas perturbações no sistema para cada valor de T . Os passos básicos de um algoritmo para Simulated Annealing são apresentados na Figura 2.19. Kirkpatrick

e outros mostraram que este processo pode ser aplicado para resolver problemas gerais de otimização.

1. Escolha uma configuração inicial σ e uma temperatura inicial T ;

2. Repita (comumente um número fixo de vezes)

(a)

Escolha uma nova configuração σ a partir da vizinhança de σ ;

(b)

Sejam E e E os valores da função de custo (energia) de σ e σ , respecti-

vamente; se Random < e ( E E ) /T então faça σ σ ;

3. Decremente a temperatura T ;

4. Se uma condição de parada for satisfeita, então pare. Caso contrário, 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 função energética de custo associ- ada aos estados do sistema, que representa uma lista de critérios estéticos como: distribuir uniformemente os vértices sobre uma região de desenho, minimizar o comprimento das arestas, minimizar o número de cruzamentos e maximizar a distância entre vértices e arestas. A função energética total de um estado σ referente a um grafo G = (V, A) tem a seguinte forma:

E (σ ) = λ 1 1/d ij 2 + λ 2

i,j V

iV,k =1 , 2 , 3 , 4

1/d iB k 2 + λ 3 l r 2 + λ 4 X + λ 5

r A

iV,r A

1/d ir

onde: d ij é a distância entre os vértices i e j , d iB k é a distância entre o vértice i e

a borda k da região retangular do desenho, l r é o comprimento da aresta r , X é o número

total de cruzamentos, d ir é a distância entre o vértice i e a aresta r (com r não incidente a

i ), e λ 1 , λ 2 ,

peso de cada componente de energia determina a qualidade estética dos desenhos finais produzidos.

, λ 5 são constantes que ponderam as componentes da função energética. O

XXIV JAI

1292

Essa proposta utilizando Simulated Annealing é considerada uma das abordagens existentes mais flexíveis para desenho de grafos, uma vez que novos critérios estéticos pode ser facilmente incluídos na função de energia do sistema.

Em contrapartida, o Simulated Annealing é reconhecidamente lento [Aarts and Korst, 1989] e exige inúmeros testes e ajustes minuciosos dos seus pa- râmetros até que seja capaz de produzir bons resultados. Alguns parâmetros que levam tempo para serem configurados corretamente incluem: os pesos para os critérios estéticos, a taxa de decréscimo da temperatura e a função que define a vizinhança entre estados do sistema.

Tunkenlang [Tunkelang, 1993] apresenta uma outra abordagem prática para de- senho de grafos gerais que faz uso de uma função energética semelhante àquela do Si- mulated Annealing de Davidson e Harel. A novidade nesta abordagem é que uma série de otimizações são implementadas a fim de agilizar a atividade de desenho. A principal otimização consiste em gerar o desenho de forma incremental, adicionando-se um vértice por vez à figura parcialmente construída. A cada inclusão, realiza-se uma seqüência de passos iterativos para minimizar a energia do sistema, reorganizando a posição dos vérti- ces. A proposta de Tunkelang caracteriza-se por implementar otimização do processo de desenho, permitindo construir figuras rapidamente.

Uma outra abordagem para desenhar grafos gerais faz uso de Algoritmos Genéti- cos. Os Algoritmos Géneticos [Goldberg, 1989] são processos de busca baseados nas leis da seleção natural e da genética, e consistem de três operações básicas: seleção de uma subpopulação de cromossomos a partir de uma população inicial (os cromossomos simbo- lizam soluções do problema); aplicação de operações genéticas de permutação e mutação sobre os cromossomos selecionados com o objetivo de gerar um conjunto de cromosso- mos filhos; e substituição dos cromossomos pais pelos filhos com base em alguma regra de aptidão.

O uso de Algoritmos Genéticos para desenho de grafos [Branke et al., 1997,

Utech et al., 1998, do Nascimento and Eades, 2002] possuem algumas vantagens como a possibilidade de se obter uma “população” de desenhos diferentes e o potencial de se ex- plorar paralelismo. Entretanto, é bastente difícil codificar heurísticas inteligentes nesta abordagem, bem como ajustar o algoritmo para convergir para boas soluções. Os algo- ritmos genéticos também sofre do mesmo problema de tempo elevado de processamento

apresentado pelo Simulated Annealing.

2.6

Foco+Contexto

O conceito central das técnicas Foco+Contexto é apresentar uma visão geral dos dados a serem visualizados, mas destacando uma região de interesse (foco) através de uma ampli- ação suave da mesma. Geralmente, procura-se ampliar a região de interesse, enquanto se compacta o restante da imagem (do contexto). Como essa técnica emprega uma distorção da imagem original, ela demanda maior tempo para ser aprendida.

A seguir analisamos as principais variações da técnica de Foco+Contexto, entre

elas Fish-eye e Browser Hiperbólico.

XXIV JAI

1293

2.6.1 Fish-eye

A técnica de visualização Fish-eye, como o próprio nome diz, produz um efeito seme- lhante ao de um olho de peixe ou de uma lente de aumento. Ela permite uma visão mais detalhada de uma região de interesse sem haver perda de seus arredores, através de uma taxa maior de ampliação no centro da região de interesse e decrescente no sentido da periferia da imagem.

Apesar da idéia do Fish-eye ser intuitiva para imagens 2D, a técnica é muito mais geral e foi primeiramente proposta por Furnas [Furnas, 1981] como uma abordagem de visualização para texto.

Furnas define uma Função de Grau de Interesse (DOI) a partir de três conceitos:

ponto de foco (ou simplesmente foco) é o dado sobre qual o observador está con- centrando sua atenção no momento, sendo representado pelo símbolo de um ponto (“.”);

distância do ponto do foco para qualquer outro lugar x da estrutura; isso é simbo- lizado por D (., x ), com D (., .) = 0; e

nível de detalhe, de importância ou de resolução de um ponto x , representado por LOD (x ), é uma medida da importância intrínseca do ponto x em relação à estrutura global. O nível de detalhe é geralmente um número negativo, de forma que, quanto maior o detalhe, menor o valor de LOD .

Esses conceitos são então combinados para compor a função DOI , a qual repre- senta o interesse de um ponto x aparecer ou não na visualização. Em geral, a função

de grau de interesse de x é definida como: DOI (x |. ) = F (LOD (x ), D (., x )), onde F

é uma função monotonicamente crescente em seu primeiro argumento e decrescente no

segundo. Dessa forma, o grau de interesse cresce com o LOD de x e decresce com a sua distância em relação ao foco.

Para se criar uma visão Fish-eye utilizando tais definições, o ponto x é mostrado se, e somente se, seu grau de interesse (DOI ) é maior que um determinado limiar k . Note que DOI é usualmente negativa e, portanto, k também deve ser negativo.

Furnas exemplificou essa idéia para um caso prático de visualização de códigos de

programas, onde o “.” se refere à linha atual do programa de interesse do usuário, D (., x )

é a distância dessa linha até uma outra linha x do texto e LOD (x ) se refere ao nível de

detalhe inerente à linha x (isto é, à identação ou profundidade implícita dessa linha como, por exemplo, se ela está dentro de vários blocos de comando encadeados. Quanto maior

a profundidade de x , menor é valor de LOD (x )).

A Figura 2.20 ilustra a abordagem de Furnas. Um trecho padrão de um código em C é apresentado à esquerda e uma visão Fish-eye do mesmo programa pode ser vista

para

indicar linhas que foram omitidas quando o seu valor DOI foi abaixo do limiar. A figura mostra, por exemplo que as linhas 28 a 37, 42, 44, 45 e 48 a 56 foram suprimidas, en- quanto as linhas mais importantes próximas ao foco (linha 39), inclusive o próprio foco, são apresentadas.

à direita. As convenções adotadas são “»” para representar o ponto de foco e “

Outro exemplo de utilização dessa técnica é para navegação em árvores de diretó- rios. Apenas movimentando o mouse sobre uma estrutura de árvores, sem a necessidade

XXIV JAI

1294

28

29

t[0] =(t[0] −x[0]; +10000)

 

4main() 2# 1# include define DIG40 <stdio.h>

 

30

31

for (i=1; t[i] i<k; =(t[i] i++){ +10000)

5{

32

33

34

t[i−1] %= −(1−t[i−1]/10000); −x[i] 10000;

6

while int c, ((c=getchar()) i, x[DIG/4], t[DIG/4], !=EOF) k= { DIG/4, noprint =0;;

8

9

if } else (c >=’0’&&c { <=’9’){

35

36

37

break; t[k−1] } %=10000;

16

17

switch case (c) { ’+’:

18

38

>> 39

40

case ’e’: break; for (i=0; i<k; i++) t[i] =x[i];

27

case case ’−’: ’e’: for break; (i=0; i< k; i++) t[i] =x[i];

38

>>

>>

39

41

42

43

44

45

default: case ’q’: exit(0); noprint break; =1;

40

41

case default: ’q’:

43

46

}

47

if } (!noprint){

46}

57

48

47if (!noprint) printf("%d",t[i]); for (i=k−1; { t[i] <=0 &&i> 0; i−−);

49

58

}

59

noprint = 0;

60

}

50

if (i >0) {

61 }

Figura 2.20: Fish-eye aplicado à visualização de código-fonte de um programa em C. Adaptado de [Furnas, 1981]

de cliques do mouse, o ponto de foco pode ser modificado e as subárvores de diretórios expandidas ou compactadas de acordo com o seu grau de interesse.

A técnica Fish-eye tem sido mais empregada, contudo, para a visualização de imagens. A Figura 2.21 mostra um exemplo de uma abordagem derivada do Fish-eye, chamada de Fish-eye menu 10 . A imagem à esquerda é uma abordagem tradicional de menu, onde uma barra de rolagem tem que ser utilizada para permitir acesso a todos os ítens do menu. À direita, vemos uma visualização que emprega o conceito de Fish- eye. Nesta imagem, todos os itens são apresentados simultaneamente, sendo permitida a movimentação do mouse sobre o menu, o que causa a ampliação das opções próximas ao ponto de foco.

causa a ampliação das opções próximas ao ponto de foco. Figura 2.21: Fish-eye menu. 2.6.2 Browser

Figura 2.21: Fish-eye menu.

2.6.2 Browser Hiperbólico

O Browser Hiperbólico combina Foco+Contexto com desenho radial de árvores para au- xiliar na exploração de grandes hierarquias. Um dos principais trabalhos relacionados

10 A

figura

foi

obtida

de

http://www.samuelwan.com/downloads/com.samuelwan.

eidt/fisheyemenu/FisheyeMenuDemo.html.

XXIV JAI

1295

com essa técnica é a proposta de Lamping e Rao [Lamping and Rao, 1996], na qual a estrutura de uma árvore é mapeada em uma representação no plano hiperbólico a ser pro- jetado na tela. Uma propriedade conveniente desse plano é que a circunferência de um círculo cujo centro coincide com o centro da tela cresce exponencialmente com o seu raio. Isso significa que há mais espaço disponível para se compactar informações na medida em que se aproxima da periferia do desenho.

Com essa representação, o Browser Hiperbólico consegue disponibilizar cerca de dez vezes mais vértices de uma árvore do que utilizando uma visualização no plano car- tesiano.

A navegação em um Browser Hiperbólico é também mais efetiva. Mudanças de

foco podem ser realizadas através de movimentos simples do mouse objetivando seleci- onar vértices de maior interesse. Isso move o vértice selecionado para o centro da tela, ocasionando uma compactação das informações que estão distantes do mesmo. Além disso, o sistema realiza transições gradativas e suaves da mudança do ponto de foco, a fim de preservar o mapa mental construído para aquela estrutura.

Uma ilustração de Browser Hiperbólico 11 é apresentada na Figura 2.22.

Browser Hiperbólico 1 1 é apresentada na Figura 2.22. Figura 2.22: Browser Hiperbólico. Inxight Software, Inc.

Figura 2.22: Browser Hiperbólico. Inxight Software, Inc.

2.6.3 Perspective Wall e Table Lens

Existem outras técnicas de visualização baseadas em Foco+Contexto. Dentre elas, pode- mos citar as técnicas Perspective Wall e Table Lens.

A técnica Perspective Wall [Mackinlay et al., 1991] permite a visualização de mui-

tas informações lineares em um retângulo horizontal, o qual é dobrado para trás nos limi- tes à direita e à esquerda da região de interesse, fornecendo, assim, uma perspectiva 3D do resultado. Um exemplo dessa técnica pode ser visto em http://escience.anu. edu.au/lecture/cg/Import/zb/wall/wall.gif.

11 Ilustração obtida em http://www.flashkit.com/search/sitemap/index.shtml.

XXIV JAI

1296

Já a técnica Table Lens [Rao and Card, 1994] é uma forma efetiva para o enten- dimento de dados numéricos e categóricos multidimensionais. Essa técnica permite a visualização de uma tabela onde os dados de interesse aparecem expandidos e os demais itens, de forma compactada. As linhas da tabela são vistas como linhas de pixels. A técnica possibilita interação do usuário para focalizar linhas ou colunas, o que causa a ampliação das mesmas enquanto mantém compactado o contexto ao seu redor.

A Figura 2.23 ilustra a técnica Table Lens 12 .

A Figura 2.23 ilustra a técnica Table Lens 1 2 . Figura 2.23: Table Lens. 2.7

Figura 2.23: Table Lens.

2.7 Coordenadas Paralelas

A técnica Coordenadas Paralelas foi proposta por Inselberg [Inselberg and Dimsdale, 1990, Inselberg, 1997]. Essa técnica, conforme mencio- nado na Seção 2.4, mapeia um espaço n -dimensional em uma estrutura bidimensional que usa n eixos paralelos verticais eqüidistantes, denominados coordenadas.

Os eixos verticais representam as dimensões ou atributos dos dados. Uma linha representando cada item de dado conecta os eixos nos seus respectivos valores, o que permite a observação de padrões.

A Figura 2.24, gerada a partir da ferramenta VisEd [Xavier, 2004], mostra um

exemplo dessa técnica. A mencionada ferramenta dá suporte ao ensino à distância via Web, permitindo a visualização de dados sobre a participação e o desempenho de alunos em um determinado curso. Nesse exemplo, os eixos representam os seguintes atributos dos alunos: nome, idade, bairro onde mora, número de acessos ao chat do curso e nota. Foi selecionada, pelo usuário da ferramenta, a faixa de variação de valores entre 80 e 100 no eixo do atributo Nota, o que ocasionou o destaque das linhas correspondentes aos alunos que tiraram notas neste intervalo, possibilitando, assim, a visualização dos seus respectivos valores em outros eixos.

As formas de interação possibilitadas pela técnica de Coordenadas Paralelas são:

12 Imagem obtida utilizando o applet da Avizsoft em http://www.avizsoft.com/contents/ table-lens-demo.htm.

XXIV JAI

1297

inclusão ou remoção de eixos (coordenadas);

seleção de um intervalo de interesse em um eixo. Nesse caso, as linhas que passam pelo intervalo selecionado são destacadas com uma cor mais intensa, enquanto as demais têm a sua cor atenuada, conforme pode ser visto na Figura 2.24. Esse pro- cesso simboliza uma filtragem dos dados de acordo com um determinado critério;

seleção de intervalos em duas ou mais coordenadas simultaneamente. Tal pro- cesso permite a criação de filtros complexos para os dados, definindo operações como união, intersecção ou complemento entre os conjuntos filtrados de cada co- ordenada. Por exemplo, na Figura 2.24 poderíamos definir uma consulta para evi- denciar os alunos com idade entre 22 e 28 anos e que residam nos bairros Sudoeste e Aeroporto.

22 e 28 anos e que residam nos bairros Sudoeste e Aeroporto. Figura 2.24: Exemplo de

Figura 2.24: Exemplo de visualização usando a técnica Coordenadas Paralelas. Figura gerada pela Ferramenta VisEd [Xavier, 2004].

De um modo geral, Coordenadas Paralelas são adequadas para mineração de dados com várias dimensões, pois permitem transformar a busca por relações entre variáveis de um problema em um processo mais intuitivo de reconhecimento de padrões 2D. A técnica enfatiza, principalmente, relações entre eixos adjacentes e conjuntos de dados que possuem padrões similares.

Um ponto a ser observado é que podemos realizar a normalização do intervalo de valores de cada eixo de maneira individual ou em grupo, objetivando realçar padrões de comportamento. Cada uma dessas abordagens causa resultados diferenciados. As Figuras 2.25 e 2.26 trazem um exemplo onde ocorreu a normalização dos eixos indi- vidualmente (através do maior valor de cada eixo) e a normalização em grupo (através do maior valor presente em todos os eixos), respectivamente. Os dados utilizados estão

XXIV JAI

1298

relacionados com a quantidade de atividades acadêmicas realizadas por professores de uma determinada universidade. Normalizando os eixos individualmente, pode acontecer o caso em que há uma variação de valores muito grande em um eixo e em outro não. Entretanto, todos eles estarão normalizados em um intervalo entre 0 e 1, por exemplo, podendo mascarar padrões de comportamento. No segundo caso, os dados são melhor evidenciados, visto que é considerado o maior valor dentre os valores presentes em todos os eixos. É possível observar, nesse caso, algumas tendências nos dados de maneira mais clara. Note que essa normalização em grupo somente pode ser realizada se os eixos forem quantitativos e tiverem a mesma unidade de medida.

Parallel Coordinates Visualization 100,00% 75,00% 50,00% 25,00% 0,00% 0 0 0 0 0 2 0
Parallel Coordinates Visualization
100,00%
75,00%
50,00%
25,00%
0,00%
0
0
0
0
0
2
0
0
0
0
7
0
3
0
0
0
0
3
3
0
0
0
0
0
0

Figura 2.25: Exemplo de visualização usando a técnica Coordenadas Paralelas com normalização individual por eixo. Figura gerada utilizando a ferramenta XLSTAT (http://www.xlstat.com/ ).

Parallel Coordinates Visualization 40 35 30 25 20 15 10 5 0 0 0 0
Parallel Coordinates Visualization
40
35
30
25
20
15
10
5
0
0
0
0
0
0
2
0
0
0
0
7
0
3
0
0
0
0
3
3
0
0
0
0
0
0

Figura 2.26: Exemplo de visualização usando a técnica Coordenadas Paralelas com normalização dos eixos em grupo. Figura gerada utilizando a ferramenta XLSTAT.

Alguns outros parâmetros também devem ser configurados nessa técnica para au- mentar a sua efetividade. Entre eles, destacamos a ordem com que as coordenadas são apresentadas, o que pode levar a mais ou menos cruzamentos entre linhas. Normalmente, essa ordem é sugerida pelos próprios atributos dos dados.

Vários trabalhos têm sido desenvolvidos no sentido de estender a técnica básica de Coordenadas Paralelas [Artero et al., 2004], o que mostra que, apesar de simples, as formas de utilização dessa abordagem ainda não se esgotaram.

2.8

Glyphs

Outra classe de técnicas na área de Visualização de Informações está relacionada com o uso de Glyphs, também chamados de ícones. Assim como as Coordenadas Paralelas, os

XXIV JAI

1299

ícones também são utilizados para a visualização de dados multidimensionais e podem ser compostos por atributos geométricos, tais como forma, tamanho, orientação, posição ou direção, e atributos de aparência, como cor, textura e transparência. Cada ícone pode ser associado a um dado diferente, possibilitando, assim, uma visualização rápida e compacta de vários ícones simultaneamente, representando, dessa forma, o domínio de dados.

Um dos primeiros trabalhos nesse tema foi apresentado por Chernoff [Chernoff, 1973], onde os atributos visuais dos ícones são explorados de uma forma bas- tante particular. Chernoff observou que os seres humanos são muito sensíveis a uma grande variedade de expressões faciais. Ele então sugeriu a utilização de ícones repre- sentando faces, onde algumas características como o tamanho dos olhos, a altura da so- brancelha e a forma da boca pudessem ser associados a cada atributo de dado. Chernoff aplicou sua técnica para estudar exemplos geológicos, com cada face cobrindo dezoito atributos. Sua técnica ficou conhecida como Faces de Chernoff.

A Figura 2.27 apresenta uma visualização baseada nas Faces de Chernoff, gerada

novamente pela ferramenta VisEd. Os dados de alunos como sexo, quantidade de acesso

a um curso e nota foram mapeados em atributos visuais de um rosto. Nesse caso, o mape-

amento visual, realizado pelo usuário da ferramenta, consistiu em apresentar o número de acessos ao site do curso como a quantidade de cabelo sobre o rosto, a nota do aluno como

a inclinação da boca (triste, sério ou sorrindo) e o sexo do aluno como a cor da face. Essas associações são totalmente flexíveis, podendo ser modificadas dinamicamente através de uma seleção simples para cada atributo. Além disso, é possível ordenar as faces com base em algum atributo dos dados, buscando enfatizar um determinado padrão. Os ícones da Figura 2.27, por exemplo, foram classificados por ordem decrescente de notas dos alunos. Através da análise dessa imagem, podemos verificar que os alunos que obtiveram notas mais baixas (faces da última linha da figura) também acessaram pouco o site do curso (quantidade menor de cabelos).

pouco o site do curso (quantidade menor de cabelos). Figura 2.27: Visualização de dados de alunos

Figura 2.27: Visualização de dados de alunos utilizando Faces de Chernoff. Ima- gem gerada pela ferramenta VisEd [Xavier, 2004].

A quantidade de ícones que podem ser apresentados ao mesmo tempo em uma

visualização baseada em Glyphs de maneira efetiva depende, principalmente, do tamanho da tela e do formato dos ícones. Em geral, existe um ponto de equilíbrio entre se mostrar

XXIV JAI

1300

muitos dados e se apresentar ícones com muitos detalhes (atributos). Se vários ícones têm que ser apresentados simultaneamente, então o tamanho dos mesmos precisa ser re- duzido, o que impede a percepção de algumas características sutis como, por exemplo,

a inclinação da sobrancelha de uma face. Tal fato leva ao comprometimento da efetivi-

dade da visualização. Por outro lado, se os ícones tiverem muitos detalhes, então mais

espaço na tela será necessário para se desenhar os mesmos, o que reduz a quantidade íco- nes que podem ser mostrados ao mesmo tempo. A escolha do tamanho ideal dos ícones

é uma decisão que pode ser deixada para o próprio usuário, através da implementação de ferramentas interativas de zoom.

As principais formas de interação com uma visualização baseada em Glyphs são:

modificação dinâmica da associação dos atributos dos dados aos atributos visuais dos ícones;

alteração do tamanho dos ícones, objetivando controlar a quantidade total de íco- nes a serem visualizados simultaneamente na tela;

ordenação dos ícones de acordo com atributos desejados; e

acesso a informações mais detalhadas sobre os dados relacionados com um ícone através de um clique sobre o mesmo.

Além de permitir a visualização de vários dados simultaneamente, abordagens usando Glyphs são bastante motivadoras. Entretanto, esse tipo de técnica exige um tempo maior para treinamento do usuário, visto que é preciso habituar-se a interpretar cada atri- buto visual do ícone de acordo com o mapeamento visual adotado.

visual do ícone de acordo com o mapeamento visual adotado. Figura 2.28: Visualização de dados usando

Figura 2.28: Visualização de dados usando Starplots.

Uma técnica de visualização que combina Glyphs com Coordenadas Paralelas é a Starplot [Lee et al., 2003], também voltada para a visualização de dados multidimensio- nais. Na Starplot, os eixos irradiam em forma de estrela a partir de um ponto de origem comum. Essa técnica é ilustrada na Figura 2.28 para demonstrar os mesmos dados apre- sentados nas Figuras 2.25 e 2.26, isto é, para visualizar a quantidade de atividades aca- dêmicas de um grupo de professores de uma universidade. Cada ícone-estrela representa

XXIV JAI

1301

um professor. As pontas das estrelas são os tipos de atividades acadêmicas. É bem visível agora que alguns professores produzem mais do que outros em diversas atividades.

2.9 Desenvolvimento de novas visualizações

A formação de profissionais capacitados a atuar na área de Visualização de Informações envolve mais do que simplesmente estudar algumas técnicas de visualização. É preciso também conhecer uma metodologia para se utilizar tais técnicas e para desenvolver novas visualizações efetivas, ter acesso a recursos de hardware e software adequados, e possuir capacidades e habilidades que são necessárias para se trabalhar nessa área.

Na Seção 2.2, apresentamos um modelo de referência que divide o processo de visualização em uma seqüência de três etapas menores. A idéia geral do modelo é intuitiva e coerente e pode ser utilizada para se abstrair uma metodologia que auxilie na aplicação de técnicas de Visualização de Informações. Desenvolvemos, assim, uma metodologia para se utilizar técnicas já existentes ou para se projetar novas visualizações interativas para diversos problemas práticos. Nossa metodologia é composta de cinco passos:

1. Estudar o problema e os dados a serem visualizados – Apesar de muitas técni- cas de visualização terem uma aplicação geral, no fundo elas somente ganham im- portância quando são considerados os problemas reais que podem ser resolvidos por meio das mesmas. A primeira etapa na aplicação de técnicas de visualizações

é, portanto, estudar o problema alvo a ser tratado. Essa etapa deve ser realizada, preferencialmente, em conjunto com os especialistas no problema e com os fu- turos usuários da visualização. Uma das tarefas nesse passo é elaborar uma lista de perguntas a serem respondidas a partir da base de dados disponível. Deve ser feita, também, uma análise dessa base para se ter uma idéia do seu tamanho e com- plexidade. Nesse sentido, é importante anotar a quantidade de dados na base, a dimensão (quantidade de atributos) desses dados e as categorias (nominal, ordinal

e quantitativo) dos seus atributos. Uma outra tarefa de fundamental importância

consiste em identificar relações entre os atributos dos dados e registrar padrões que já podem ser percebidos nos mesmos. O resultado final do passo é uma lista de perguntas, um subconjunto da base de dados que seja relevante para o problema

a ser resolvido e uma descrição detalhada dos elementos desse conjunto.

2. Construir Visualizações – O trabalho nesse passo é elaborar uma ou mais vi- sualizações para o problema em estudo. Duas abordagens podem ser utilizadas para tanto: escolher uma técnica geral de visualização de informações ou desen- volver uma visualização específica para o problema. A escolha de técnicas já existentes deve ser norteada pelas perguntas e pelas características da base de da- dos levantadas no passo anterior. Algumas técnicas, como foi discutido em outras seções deste trabalho, são mais adequadas para a representação de relações entre os dados (como desenho de grafos), enquanto outras são apropriadas para mostrar dados com muitos atributos (por exemplo, técnicas para visualização de dados multi-dimensionais como Coordenadas Paralelas). Uma vez escolhida a técnica, deve-se realizar o mapeamento dos dados para as estruturas visuais já definidas na visualização. Se houver interesse, contudo, em construir uma nova visualiza- ção que seja específica para o problema, então o trabalho será mais complicado e

XXIV JAI

1302

poderá exigir muita criatividade. Isso porque será necessário definir um substrato visual, escolher marcas e propriedades visuais das marcas para serem colocadas no substrato e definir um mapeamento visual para os dados que seja expressivo e efetivo. Apesar dessa dificuldade, uma ajuda pode ser conseguida com os especi- alistas na área, observando a forma tradicional como eles atualmente visualizam

o problema. Em alguns casos, visualizações tradicionais em papel são muito boas

e podem ser implementadas sem grandes dificuldades dentro de uma aplicação interativa no computador.

3. Definir mecanismos de interação – visualizações podem ser utilizadas como “canais” não apenas para transmitir dados mas também para receber comandos do usuário. Neste passo, alguns mecanismos de interação com as visualizações construídas anteriormente devem ser especificados de modo a ampliar a percep- ção de informações relacionadas aos dados. A interação pode ser no sentido de

controlar a quantidade de dados na tela, o que determina a expressividade da vi- sualização, ou de mudar a forma como esses dados são apresentados visualmente, afetando assim a sua efetividade. O modelo de referência da Figura 2.6 mostra como o processo de visualização pode ser controlado pelo usuário em cada uma de suas etapas. Algumas formas de interação com visualizações são: filtragem de dados para serem apresentados, reassociação (mapeamento dinâmico) dos dados

a estruturas visuais e ajuste da imagem final por meio de operações de navegação

espacial e de ajuste de escala.

4. Implementar um sistema protótipo – este passo prevê o desenvolvimento de um sistema protótipo que implemente as visualizações e as formas de interação especificadas nas fases anteriores. É importante que o protótipo seja altamente interativo, a fim de permitir ao usuário altenar facilmente entre duas ou mais vi- sualizações ou entre configurações distintas de uma mesma visualização, a fim de testar e comparar formas diferentes de se visualizar a base de dados.

5. Avaliar as visualizações – nenhuma visualização pode ser consideradas útil até que tenha sido avaliada em termos de sua expressividade e efetividade. Neste último passo da metodologia, o sistema protótipo deve ser utilizado para ava- liar as visualizações e os mecanismos de interação. Duas abordagens gerais da área de Interação Homem-Computador [Shneiderman, 2004] podem ser utiliza- das para tanto: avaliações informais com usuários especialistas e experimentos controlados. Nas avaliações informais, um sistema é apresentado para um grupo de usuários, os quais opinam sobre as características da interface e o funciona- mento da aplicação. Um exemplo desse tipo de estudo é a Avaliação Heurística [Nielsen, 1993], onde um grupo de três a cinco usuários especialistas no domíno do problema avaliam o sistema segundo uma lista de princípios de usabilidade. Essa forma de avaliação pode ser utilizada em Visualização de Informações para encontrar problemas graves, tais como omissão de dados importantes, mapea- mento visual não intutivo ou sobrecarregado e dificuldades de se interagir com a imagem. Já os experimentos controlados seguem a mesma regra adotada em estu- dos com seres humanos na área de Psicologia. Esses estudos envolvem as seguin- tes atividades: (1) definição de uma hipótese a ser testada; (2) planejamento de um experimento cujas variáveis de configuração possam ser bem controladas, (3) realização do experimento planejado com uma quantidade significativa de pessoas

XXIV JAI

1303

e registro simultâneo das atividades e dos resultados obtidos pelos participantes;

e (4) análise estatística das atividades e dos resultados obtidos visando comprovar ou refutar a hipótese. Experimentos controlados podem ser utilizados para verifi- car se usuários percebem mais informações importantes em uma visualização do que em outra, ou se essa percepção é mais rápida ou lenta. Uma outra abordagem para avaliar visualizações de informação que está se tornando cada vez mais co- mum é a definição e a utilização de métricas para quantificar aspectos relacionados com a expressividade e a efetividade de imagens interativas. Brath [Brath, 1997], por exemplo, compara visualizações em 3D com base em um sistema de pontu- ação que considera a quantidade e a densidade dos dados mostrados na tela, o número de dimensões dos dados e a percentagem de oclusão dos mesmos, entre outras métricas. Independente da abordagem utilizada, a fase de avaliação deve comprovar se as visualizações propostas ajudam ou não a responder as perguntas levantadas no primeiro passo. Deve-se ter o cuidado, no entanto, para garantir que a avaliação seja das visualizações e não do protótipo em si. Note que um protótipo lento e com falhas pode influenciar negativamente na avaliação de uma visualização.

A metodologia descrita acima é orientada a um problema real. Seu objetivo maior é ajudar na construção de visualizações que auxiliem um usuário a encontrar soluções para um problema (respostas para perguntas) e não aperfeiçoar uma técnica de visualização já existente; muito embora isso possa ocorrer durante a execução do processo.

Além do conhecimento dessa metodologia, os profissionais que desejem atuar na área de Visualização de Informações precisam ter domínio de uma linguagem de progra- mação com suporte à construção de interfaces gráficas (como Java ou C/C++ com alguma GUI), ótimos conhecimentos de estruturas de dados avançadas e de algoritmos, conhe- cimento de OpenGL e de XML e de conceitos e técnicas de avaliação de usabilidade da área de Interação Homem-Computador.

Habilidades subjetivas como criatividade, curiosidade e receptividade são também fatores que podem contribuir para uma boa atuação na área.

Os recursos de hardware necessários para se desenvolver uma grande maioria das visualizações de informação estão ao alcance dos centros de pesquisa mais modestos, sendo recomendado ter um equipamento com, pelo menos, as seguintes configurações:

computador Pentium III-IV,

memória RAM igual ou superior a 512MB e disco rígido de pelo menos 40GB,

placa de vídeo com 128Mb de memória e com suporte a OpenGL e dois monitores,

monitor de 17"ou maior, sendo o ideal utilizar dois monitores grandes simultane-

amente,

scanner e impressora colorida,

gravador de CD ou de DVD,

câmera filmadora, vídeo cassete e TV (para filmar experimentos com usuários), e

óculos para visualização de imagens em 3D.

Vários pacotes de software podem ajudar os iniciantes a obterem suas primeiras visualizações, como por exemplo:

Graphviz – programa de código aberto para desenho de grafos desenvolvido na AT&T (http://www.graphviz.org/ ).

XXIV JAI

1304

JGraph – biblioteca livre de classes em Java para representação e desenho de gra- fos (http://www.jgraph.com/, sourceforge.net/projects/jgraph/ ).

JGraphT – outra biblioteca livre de classes em Java para desenho de grafos (http://jgrapht.sourceforge.net/ ).

Hypergraph – pacote para visualização de grafos em um browser hiperbólico (http://sourceforge.net/projects/hypergraph/ ).

WilmaScope – programa aberto para visualização de grafos em 3D (http://www.wilmascope.org/ ).

XmdvTool – programa aberto para visualizar dados multidimensionais (http://davis.wpi.edu/ xmdv/ ).

OpenDX - ambiente aberto para visualização científica desenvolvido pela IBM (http://www.research.ibm.com/dx/ ).

Tom Sawyer Software – biblioteca comercial de rotinas para desenho de grafos (www.tomsawyer.com/ ).

Por fim, alguns sites na Internet trazem idéias interessantes de visualização que podem motivar o desenvolvimento de outras formas não tradicionais de se perceber e de integir com dados. Entre eles, citamos:

O TouchGraph (http://www.touchgraph.com) contém um sistema interativo para visualização de estruturas de páginas Web que utiliza desenho de grafos.

O site da Sofake sobre Web Design (http://www.sofake.com/ ) é um bom exemplo de interação em uma página web. A página explora zoom de uma forma contínua, além de técnicas de visualização e de interação em múltiplos níveis.

O site da LivePlasmaMusic (http://www.musicplasma.com) permite consultar mú- sicas, filmes e artistas. O resultado é mostrado através de um desenho de grafo interativo.

O KartOO (http://www.kartoo.com/ é um site de pesquisa de informações na Web que apresenta seus resultados na forma de mapas interativos, utilizando a técnica de Landscape.

O News Map (http://www.marumushi.com/apps/newsmap/newsmap.cfm) é um site para visualização de notícia que utiliza a técnica de TreeMap. O sistema permite filtrar notícias por data, assunto e país de publicação.

2.10 Tópicos adicionais e problemas em aberto

Esta seção discute diversos tópicos adicionais de interesse para a área de Visualização de Informações.

As técnicas de visualização que apresentamos até agora estão voltadas para uso em um computador convencional. Contudo, com a popularização dos celulares e dos As- sistentes Pessoais de Dados (como os Palms e os Pocket PCs), há um interesse cada vez maior de se disponibilizar para esses dispositivos as mesmas aplicações que hoje rodam em um PC. Apesar do ganho em mobilidade, tais equipamentos infelizmente apresentam dois fortes obstáculos à visualização de informações. O primeiro é que a resolução de sua tela é em geral inferior a de um monitor moderno, o que implica em uma menor quan- tidade de dados que podem ser mostrados e, portanto, em uma baixa expressividade das

XXIV JAI

1305

visualizações. O outro fator diz respeito ao tamanho reduzido da tela, que dificulta a per- cepção de detalhes de uma imagem, mesmo se apresentada em um equipamento com alta resolução. Esse dois obstáculos exigem “quebrar” a visualização de dados em pequenos pedaços e implementar formas de interação para navegar na mesma. Com isso, o esforço cognitivo para compreensão da base de dados é aumentado e a efetividade fica compro- metida. Uma sugestão visando compensar tais limitações consiste em utilizar técnicas de visualização que integram, em uma mesma imagem, uma visão global e uma região ampliada dos dados, como é o caso das técnicas Overview+Detail e Foco+Contexto. Ani- mações também devem ser empregadas para garantir uma transição suave da imagem e, desta forma, a preservação do mapa mental, quando o usuário navega na visualização.

No outro extremo dos ambientes de visualização, se encontram os auditórios e as salas de reuniões equipados com dois ou mais projetores para gerar visualizações em telas grandes. Tais espaços de projeção possuem várias vantagens em relação aos monitores de vídeo convencionais. Entre elas, destacamos:

Geralmente, eles conseguem uma resolução combinada maior e, consequente- mente, permitem visualizações mais expressivas ;

Eles ocupam uma grande porção do campo de visão do observador; isso re- duz as chances do observador distrair-se com eventos alheios à tarefa de vi- sualização, que normalmente acontecem na periferia do seu campo de visão [do Nascimento, 2003].

Tais ambientes são mais caros, possuem pouca ou nenhuma mobilidade e têm baixa disponibilidade. Mesmo assim, eles estão se tornando padrões para atividades co- laborativas em centros de pesquisas, empresas e organizações governamentais, o que jus- tifica o desenvolvimento de novas formas de visualização que explorem características peculiares dos mesmos.

Um outro ponto interessante de pesquisa consiste em se explorar, paralelamente à visualização, canais alternativos de transmissão de dados que são perceptíveis aos seres humanos. Entre todas as formas de perceber o que acontece ao nosso redor, depois da visão, o tato e a audição são os sentidos que mais se sobressaem. Alguns estudos pre- liminares já vêm sendo realizados com o intuito de atribuir sons e sensações de tato a dados.

O processo “sonorificação” de dados basicamente consiste em associar a ampli- tude e a freqüência de notas sonoras a um conjunto de atributos dos dados. Em seguida, define-se um caminho de varredura através do qual os dados são consultados em seqüên- cia e as suas notas correspondentes são tocadas. Uma possibilidade é fazer uma varredura percorrendo vários caminhos simultaneamente, o que permite a criação de sons com- plexos. Essa abordagem, quando combinada com uma imagem dos dados e com uma indicação de qual parte está sendo tocada, ajuda a perceber atributos e relações que não estão explicitadas na visualização.

Já a sensação de tato é comumente implementada por meio de luvas sensoriais ou através de um dispositivo denominado Haptic [Massie and Salisburg, 1994]. O Haptic consiste em um objeto real móvel preso a um conjunto de engrenagens. O usuário pode segurar e mover esse objeto em vários graus de liberdade, sendo que o movimento é sin- cronizado com o deslocamento de um objeto virtual em um ambiente 3D mostrado em

XXIV JAI

1306

uma tela de computador. Forças que facilitam ou dificultam o movimento do objeto real são exercidas pelas engrenagens de acordo com as características do espaço tridimensio- nal em que o objeto virtual se encontra. É possível, assim, explorar uma base de dados, mapeando-a visualmente para um ambiente virtual e permitindo ao usuário navegar por esse espaço “sentindo” as suas irregularidades.

Um estudo abrangente sobre visualização multi-sensorial pode ser encontrado em [Nesbitt, 2003]. Congressos internacionais sobre visualização auditiva e sobre inovações na área de Interação Homem-Computador acontecem anualmente (Veja, por exemplo, http://www.idc.ul.ie/icad2005/ ).

Por fim, vários problemas em Visualização de Informações se mantém em aberto. Entre eles, destacamos:

A comprovação de que visualizações em 3D são mais efetivas do que em 2D. Certamente, a construção de uma imagem tridimensional é intutiva e ajuda na vi- sualização de dados quando os mesmos já possuem uma representação geométrica intrínseca em três dimensões; isso vale mesmo se a imagem 3D for projetada em um plano. No entanto, para outros tipos de dados como, por exemplo, desenho de grafos ainda não se pode afirmar que 3D é melhor do que 2D.

Em Visualização de Software, a existência de uma forma geral e efetiva para de- monstrar graficamente como programas grandes e/ou complexos funcionam ou como eles manipulam grandes volumes de dados.

A utilização efetiva das diversas mídias para visualização de dados. Atualmente, apesar do significativo avanço dos computadores e de ficarmos horas em frente a um monitor de vídeo escrevendo ou navegando na Internet, ainda recorremos ao antigo papel quando precisamos ler um documento longo. A melhor forma de utilizarmos as diferentes mídias de visualização, tais como o papel, o monitor de vídeo, a tela do Assistente Pessoal de Dados, a tela grande de um ambiente de projeção ou, até mesmo, alguns dispositivos modernos para visualização em 3D ainda é uma questão que precisa ser respondida.

Agradecimentos

Somos imensamente gratos aos alunos Thiago Vaz Viera e Tiago Naves Melo do Curso de Graduação em Ciências da Computação do Instituto de Informática (INF) da UFG pela ajuda na elaboração das figuras deste trabalho e aos professores Dr. Humberto José Longo, do INF-UFG, e William D. Ferreira, M.Sc., da Universidade Salgado de Oliveira, pela revisão do texto.

Referências

Aarts, E. and Korst, J. (1989). Simulated Annealing and Boltzmann Machines. John Wiley & Sons Ltd.

Ahlberg, C. and Shneiderman, B. (1994). Visual information seeking: Tight coupling of dynamic query filters with starfield displays. In Human Factors in Computing Systems. Conference Proceedings CHI’94, pages 313–317.

XXIV JAI

1307

Artero, A. O., de Oliveira, M. C. F., and Levkowitz, H. (2004). Uncovering clusters in crowded parallel coordinates visualizations. In INFOVIS ’04: Proceedings of the IEEE Symposium on Information Visualization (INFOVIS’04), pages 81–88, Washington, DC, USA. IEEE Computer Society.

Balzer, M., Noack, A., Deussen, O., and Lewerentz, C. (2004).

Software landscapes:

Visualizing the structure of large software systems. In VisSym, pages 261–266.

Bollobás, B. (1978). Extremal Graph Theory. Academic Press, New York.

Borg, I. and Groenen, P. (1997). New York.

Branke, J., Bucher, F., and Schmeck, H. (1997). A genetic algorithm for drawing undi- rected graphs. In Proc. 3rd Nordic Work. Genetic Algorithms and Their Applications, 3NWGA, pages 193–206. Finnish Artificial Intelligence Society. Paper 15.

Brath, R. (1997). Metrics for effective information visualization. In INFOVIS ’97: Proce- edings of the 1997 IEEE Symposium on Information Visualization (InfoVis ’97), page 108, Washington, DC, USA. IEEE Computer Society.

Card, S. K., MacKinlay, J. D., Shneiderman, B., and Card, M. (1999). Readings in Infor- mation Visualization: Using Vision to Think. Morgan Kaufmann Series in Interactive Technologies, Academic Press.

Chernoff, H. (1973). The use of faces to represent points in k-dimensional space graphi- cally. Journal of the American Statistical Association68, pages 361–368.

Cleveland, W. S. and McGill, R. (1984). Graphical perception: Theory, experimenta- tion and application to the development of graphical methods. J. American Statistical Association, 79(387):531–554.

Modern Multidimensional Scaling . Springer-Verlag,

Davidson, R. and Harel, D. (1989). Drawing graphs nicely using simulated annealing. Technical report, Department of Applied Mathematics and Computer Science, The Weizmann Institute of Science, Rehovot.

Davidson, R. and Harel, D. (1996). Drawing graphics nicely using simulated annealing. ACM Trans. Graph., 15(4):301–331.

de

Holanda Ferreira, A. B. (2004). Novo Dicionário Aurélio da Língua Portuguesa. Edi- tora Positivo.

Di

Battista, G., Eades, P., Tamassia, R., and Tollis, I. G. (1994). Algorithms for drawing graphs: an annotated bibliography. Comput. Geom. Theory Appl., 4:235–282.

Di

Battista, G., Eades, P., Tamassia, R., and Tollis, I. G. (1999). Graph Drawing. Prentice Hall, Upper Saddle River, NJ.

do

Nascimento, H. A. D. (2003). University of Sydney, Australia.

User Hints for Optimization Processes.

PhD thesis,

do

Nascimento, H. A. D. and Eades, P. (2002). A focus and constraint-based genetic algorithm for interactive directed graph drawing. In Abraham, A., Ruiz-del-Solar, J., and Köppen, M., editors, Soft Computing Systems - Design, Management and Appli- cations, Frontiers in Artificial Intelligence and Applications Vol. 87, pages 634–643. IOS Press Amsterdam, Berlin, Oxford, Tokyo, Washington D.C.

XXIV JAI

1308

Dwyer, T. and Eades, P. (2002). Visualising a fund manager flow graph with columns and worms. In Proceedings of the 6th International Conference on Information Visualisa- tion, IV02, pages 147–158. IEEE Computer Society.

Eades, P. (1984). A heuristic for graph drawing. Congr. Numer. , 42:149–160.

Eades, P. (1989). Complexity issues in drawing directed graphs. In Proceedings of the International Workshop on Discrete Algorithms and Complexity, pages 9–15, Fukuoka, Japan. Institute of Electronics, Information and Communication Engineers (IEICE), Tokyo. November.

Edge crossings in drawings of bipartite graphs.

Eades, P. and Wormald, N. C. (1994). Algorithmica, 11:379–403.

Eades, P. D. (1992). Drawing free trees. Bulletin of the Institute for Combinatorics and its Applications, 5:10–36.

Fary, I. (1948). On straight lines representation of planar graphs. Acta Sci. Math. Szeged.,

11:229–233.

Furnas, G. W. (1981). The FISHEYE view: A new look at structured files. Technical Report #81-11221-9, Bell Laboratories, Murray Hill, New Jersey 07974, U.S.A.

Garey, M. R. and Johnson, D. S. (1979). Computers and Intractability: A Guide to the Theory of NP-Completeness. W. H. Freeman, New York, NY.

Garey, M. R. and Johnson, D. S. (1983).

Crossing number is NP-complete.

SIAM J.

Algebraic Discrete Methods, 4(3):312–316.

Garg, A. and Tamassia, R. (1995). On the computational complexity of upward and rectilinear planarity testing. In Tamassia, R. and Tollis, I. G., editors, Graph Drawing (Proc. GD ’94), volume 894 of Lecture Notes in Computer Science, pages 286–297. Springer-Verlag.

Goldberg, D. E. (1989). Genetic Algorithm in Search, Optimization, and Machine Lear- ning. Addison Wesley Publishing Company.

Hopcroft, J. and Tarjan, R. E. (1974). Efficient planarity testing. J. ACM, 21(4):549–568.

Inselberg, A. (1997). Multidimensional detective. In IEEE Symposium on Information Visualization (InfoVis ’97), pages 100–107, Washington - Brussels - Tokyo. IEEE. Oc- tober.

Inselberg, A. and Dimsdale, B. (1990). Parallel coordinates: a tool for visualizing multi- dimensional geometry. In VIS ’90: Proceedings of the 1st conference on Visualization ’90, pages 361–378, Los Alamitos, CA, USA. IEEE Computer Society Press.

Johnson, B. and Shneiderman, B. (1991).

Tree-maps: a space-filling approach to the

visualization of hierarchical information structures. In VIS ’91: Proceedings of the 2nd conference on Visualization ’91, pages 284–291. IEEE Computer Society Press.

Kamada, T. and Kawai, S. (1989). An algorithm for drawing general undirected graphs. Inform. Process. Lett., 31:7–15.

Kirkpatrick, S., Jr., C. D. G., and Vecchi, M. P. (1983). Optimization by simulated anne- aling. Science, 220(4598):671–680. May.

XXIV JAI

1309

Lamping, J. and Rao, R. (1996). The hyperbolic browser: A focus + context technique for visualizing large hierarchies. Journal of Visual Languages and Computing, 7(1):33–

35.

Lee, M. D., Reilly, R. E., and Butavicius, M. E. (2003).

An empirical evaluation of

chernoff faces, star glyphs, and spatial visualizations for binary data. In CRPITS ’24:

Proceedings of the Australian symposium on Information visualisation, pages 1–10, Darlinghurst, Australia, Australia. Australian Computer Society, Inc.

Lin, X. (1992). Analysis of Algorithms for Drawing Graphs. PhD thesis, Department of Computer Science, University of Queensland.

Mackinlay, J. (1986). Automating the design of graphical presentations of relational in- formation. ACM Transactions on Graphics, 5(2):110–141. April.

Mackinlay, J. D., Robertson, G. G., and Card, C. (1991). The perspective wall: Detail and context smoothly integrated. In Proceedings of ACM CHI’91 Conference on Human Factors in Computing Systems and Graphics Interface, ACM SIGCHI, pages 173–179. ACM-Press.

Manning, J. (1990). Geometric Symmetry in Graphs. Ph.D. Thesis, Department of Com- puter Sciences, Purdue University.

Manning, J. (1991).

Computational complexity of geometric symmetry detection in

graphs. Lecture Notes in Computer Science 507:1-7. Springer-Verlag. June.

Marcus, A., Feng, L., and Maletic, J. I. (2003). 3d representations for software visualiza- tion. In SoftVis ’03: Proceedings of the 2003 ACM symposium on Software visualiza- tion, pages 27–ff, New York, NY, USA. ACM Press.

Marr, D. (1982). Vision - A Computational Investigation into the Human Representation and Processing of Visual Information. W. H. Freeman and Company.

Massie, T. H. and Salisburg, J. K. (1994). The phantom haptic interface: A device for probing virtual objects. In Proceedings of the ASME International Mechanical Engi- neering Congress and Exhibition, volume DSC 55-1, pages 295–302, Chicago, IL.

Metropolis, N., Rosenbluth, A., Rosenbluth, M., Teller, A., and Teller, E. (1953). Equation of state calculations by fast computing machines. Journal Chem. Physics,

6(21):1087–1092.

Nesbitt, K. V. (2003).

Multi-sensory Display of Abstract Data.

PhD thesis, School of

Information Technologies, University of Sydney, Australia.

Nielsen, J. (1993). Usability Engineering. AP Professional, Cambridge.

Rao, R. and Card, S. K. (1994). The table lens: Merging graphical and symbolic represen- tation in an interactive focus + context visualization for tabular information. In Proc. ACM Conf. on Human Factors in Software, pages 318–322. ACM-Press.

Reingold, E. and Tilford, J. (1981). Tidier drawing of trees. IEEE Trans. Softw. Eng.,

SE-7(2):223–228.

Shneiderman, B. (2004). Designing the User Interface: Strategies for Effective Human- Computer Interaction. Addison-Wesley Publishing, Reading, MA, fourth edition.

XXIV JAI

1310

Spence, R. (2000). Information Visualization. ACM Press.

Stein, S. K. (1951). Convex maps. Proc. Amer. Math. Soc., 2:464–466.

Sugiyama, K., Tagawa, S., and Toda, M. (1981).

Methods for visual understanding of

hierarchical systems. IEEE Trans. Syst. Man Cybern., SMC-11(2):109–125.

Supowit, K. J. and Reingold, E. M. (1983). The complexity of drawing trees nicely. Acta Inform., 18:377–392.

Swamy, M. N. S. and Thulasiraman, K. (1981). Graphs, Networks, and Algorithms. John Wiley & Sons, New York.

Tufte, E. R. (1983). The Visual Display of Quantitative Information. CT: Graphics Press.

Tufte, E. R. (1990). Envisioning Information. Graphics Press.

Tufte, E. R. (1997). Visual explanations: images and quantities, evidence and narrative. Graphics Press.

Tunkelang, D. (1993). A layout algorithm for undirected graphs. In Proc. of the ALCOM International Workshop on Graph Drawing, pages 14–16.

Utech, J., Branke, J., Schmeck, H., and Eades, P. (1998). An evolutionary algorithm for drawing directed graphs. In In Proceedings of the 1998 International Conference on Imaging Science, Systems, and Technology (CISST’98), pages 154–160.

Wagner, K. (1936). Bemerkungen zum vierfarbenproblem. Jahresbericht der Deutschen Mathematiker-Vereinigung, 46:26–32.

Ware, C. (2000). Information Visualization: Perception for Design. Morgan Kaufmann Interactive Technologies Series.

Ware, C. (2004). Information Visualization: Perception for Design. Morgan Kaufmann Interactive Technologies Series, 4th edition.

Wetherell, C. and Shannon, A. (1979). Tidy drawing of trees. IEEE Trans. Softw. Eng.,

SE-5(5):514–520.

Williamson, C. and Shneiderman, B. (1992). The dynamic homefinder: evaluating dyna- mic queries in a real-estate information exploration system. In SIGIR ’92: Proceedings of the 15th annual international ACM SIGIR conference on Research and development in information retrieval, pages 338–346, New York, NY, USA. ACM Press.

Xavier, S. S. A. (2004). Visualizações de informação para suporte a EAD – ferramenta VisED. Monografia de Projeto Final de Curso, Instituto de Informática, Universidade Federal de Goiás.

XXIV JAI

1311

Hugo Alexandre Dantas do Nascimento é Bacharel em Ciências da Computacão pelo DIMAp-UFRN (1994), Mestre em Ciência da Computacão pelo IC-Unicamp (1997) e Doutor em Ciência pela Universidade de Sidney-Austrália (2003). Ele é professor do Instituto de Informática da Universidade Federal de Goiás (UFG) desde 1997, onde realiza pesquisas nas áreas de Desenho de Grafos, Otimização Combinatória e Visualização de Informações. Suas publicações incluem artigos sobre novos algoritmos para desenho de grafos, uso de visualizações em processos semi-automáticos de otimização combinatória e construção de interfaces homem-máquina para atividades interativas e de visualização. Já ministrou em 2002 e 2003 um minicurso local e uma disciplina na graduação sobre Visualização de Informações. Atualmente, Hugo é colaborador do Grupo de Pesquisa de Visualização de Informações do School of Information Technology da Universidade de Sidney (http://www.it.usyd.edu.au/~visual), sendo responsável pela implementação na UFG de uma plataforma de hardware para visualização e interação remota com o grupo na Austrália.Cristiane Bastos Rocha Ferreira é Bacharel em Ciências da Computação pela Universidade Federal de Goiás

Cristiane Bastos Rocha Ferreira é Bacharel em Ciências da Computação pela Universidade Federal de Goiás (1999) e Mestre em Informática Aplicada pela Pontifícia Universidade Católica do Paraná (2002). Desde de 2002, Cristiane é professora do Instituto de Informática da Universidade Federal de Goiás e vem trabalhando nas áreas de Análise Multirresolução, Percepção, Reconhecimento de Padrões, Visão Computacional e Processamento de Imagens. Já trabalhou como Assistente de Pesquisa no Programa de Pós-Graduação em Informática Aplicada da Pontifícia Universidade Católica do Paraná na área de Visão Computacional. Suas publicações estão relacionadas com classificação automática de mamogramas, transformações Wavelets, extração e seleção de características de imagens.na UFG de uma plataforma de hardware para visualização e interação remota com o grupo na

XXIV JAI

1312