229
. Proceedings of the 6th Peruvian Computer Week JPC-2007 Proceedings of the 2nd Peruvian Congress on Scientific Computing Initiation Libro de Actas de las 6tas Jornadas Peruanas de Computaci´ on JPC-2007 Libro de Actas del 2do Congreso en Iniciaci´ on Cient´ ıfica en Computaci´ on . http://eventos.spc.org.pe/jpc2007/ Trujillo - 2007 . Editores: Ernesto Cuadros-Vargas Jos´ e Pe˜ narrieta Patricio Morriber´ on

Proceedings of the 6th Peruvian Computer Week JPC-2007 ...Luiza Pagliari, Daltro Nunes 52 Fuzzy Queries. Un framework para realizar consultas difusas en Postgres desde aplicaciones

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

  • .

    Proceedings of the 6th Peruvian Computer Week JPC-2007

    Proceedings of the 2nd Peruvian Congress on Scientific ComputingInitiation

    Libro de Actas de las 6tas Jornadas Peruanas de ComputaciónJPC-2007

    Libro de Actas del 2do Congreso en Iniciación Cient́ıfica enComputación

    .

    http://eventos.spc.org.pe/jpc2007/Trujillo - 2007

    .

    Editores:Ernesto Cuadros-Vargas

    José PeñarrietaPatricio Morriberón

    http://eventos.spc.org.pe/jpc2007/

  • Prólogo

    Esta edición corresponde a los trabajos aceptados para su presentación en las VI Jornadas Peruanas de Computación,evento que se realizará en la ciudad de Trujillo (Perú) de 5 al 10 de Noviembre de 2007.

    La importancia de la investigación en el desarrollo de los páıses y de las culturas es innegable, por lo quecultivarla y motivarla debe ser una tarea constante. Bajo esta concepción, las Jornadas Peruanas de Computaciónse llevan a cabo año a año buscando ser una vitrina para los avances en el área a nivel nacional e internacional.

    Los art́ıculos editados en este volumen son el resultado del esfuerzo y dedicación de muchas personas. Serecibieron más de 60 art́ıculos de los cuales, luego de un estricto proceso de calificación, fueron aceptados para supresentación sólo 25 de los cuales 21 enviaron su versión corregida para presentación pública. Todos los trabajosfueron sometidos a la evaluación de 3 a 5 árbitros. El comité de programa estuvo conformado por más de 50miembros, de variada procedencia, incluyendo Alemania ,Argentina, Brasil, Chile, Colombia, Costa Rica, Ecuador,España, Estados Unidos de Norteamérica, Japón, México, Paraguay, Uruguay, Venezuela, Perú, entre otros. Unsincero reconocimiento a todos los miembros del Comité de Programa por su esmerado trabajo y dedicación en sutarea.

    Dentro de las instituciones que destacan por el número de trabajos aceptados cabe mencionar a la UniversidadNacional de San Agust́ın y a la Universidad Católica San Pablo que fueron los mayores aportes.

    Las áreas de investigación con mayor interés por parte de los autores fueron Bases de Datos (Estructuras deacceso métrico, mejoras a los sistemas gestores de bases de datos, estructuras de datos aplicadas a la biometŕıa),Inteligencia Artificial (redes neuronales, reconocimiento de caracteŕısticas, scheduling), algoritmos genéticos, Edu-cación (elearning), entre otros.

    Por último, reconocer el trabajo realizado y tiempo invertido por todo el Comité Organizador de JPC 2007,gracias a su esfuerzo es posible la realización de este evento.

    A todos los participantes, les agradecemos la honra de poder recibirlos en esta su casa y les damos la más cordialbienvenida a la ciudad de Trujillo deseándoles una semana muy productiva.

    Dr. Ernesto Cuadros-Vargas.Pdte del Comité Organizador.Pdte de la Sociedad Peruana de Computación

    III

  • Índice

    Prólogo III

    Comité de Programa VII

    Comité Organizador IX

    Segmentação Sobreposta em Tree-Structured Self Labeled SOM,Raquel Esperanza Patiño Escarcina, Jose Alfredo Ferreira Costa 1

    Renderizado de Mallas Tetraedrales Segmentadas,Erick Rodŕıguez-Ordóñez, Alex Cuadros-Vargas 11

    Learning to Collaborate from Delayed Rewards in Foraging Like Environments,Dennis Barrios Aranibar, Luiz Marcos Garcia Gonçalves 21

    Applying adaptive technology in data security,Éder Pelegrini, João Neto 31

    Aplicación del Estándar ISO 9001:2000 a la Metodoloǵıa de Programación Extrema (XP): Unaexperiencia de Pregrado,Nathali Chacabana, Juan Gutiérrez, Lenin Orihuela 41

    Um Processo Para Avaliação Quantitativa de Refatorações de Software,Luiza Pagliari, Daltro Nunes 52

    Fuzzy Queries. Un framework para realizar consultas difusas en Postgres desde aplicaciones Java,Christian J. Wong Cruz, Miluska Yamile Flores Velarde 62

    Interpolación aplicada a la determinación del Crecimiento Microbiano,Nils Murrugarra-Llerena, Ivan Vaca-Poquioma 72

    Extracción de Caracteŕısticas en el Procesamiento Digital de una Señal para el Mejoramiento delReconocimiento Automático de Habla usando Wavelets,Jorge Luis Guevara Diaz, Juan Orlando Salazar Campos 80

    Estado del Arte de Incubadora de Empresas de Tecnoloǵıas de la Información en Universidades,Karla Vanessa Barreto Stein, David Mauricio 92

    Modelos Blended Learning en la Educación Superior,Santiago Gonzales Sánchez 102

    V

  • Including the Composition Relationship among Classes to Improve Function Points Analysis,José Antonio Pow-Sang, Ricardo Imbert 112

    Una Revisión de e-Justicia: perspectiva de desarrollo y buenas prácticas,Oscar Cárdenas, David Mauricio 122

    Participación de las empresas peruanas en el mercado electrónico minero,Omar Rodolfo Calixto Mej́ıa 142

    Interferencia y control de potencia en redes Ad Hoc,Raul Peralta, Felix Kanazawa 152

    TCP HolyWood: A New Approach to Improve Throughput and Reduce Jitter,Oscar Núñez Mori, Jürgen Rochol 162

    TCP Santa Maŕıa: A New On-going Proposal of TCP Over Wireless Networks,Oscar Núñez Mori, Liane M. Rockenbach Tarouco, Jürgen Rochol 172

    Segmentación Variacional de Imágenes Digitales,Anaĺı Jesús Alfaro Alfaro, Iván Anselmo Sipirán Mendoza 182

    Método Esteganográfico usando Recorrido de Grafos en Imágenes,Nils Murrugarra-Llerena, Fredy Carranza-Athó, Iván Vaca-Poquioma 192

    Detección de la enfermedad ”Fish Eye” en aceitunas utilizando Procesamiento Gráfico,Fredy Carranza-Athó, Nils Murrugarra-Llerena 202

    Tutorial - Las Mejores Prácticas de Software y la Utilización de los Estándares de Calidadad ,Sof́ıa Álvarez, Manuel Álvarez 211

    Charla Plenaria - Grandes desaf́ıos de investigación en computación - Propuesta de la SociedadBrasileña de Comptuación para la década 2006 -2016 ,Claudia Bauzer Medeiros 212

    Charla Plenaria - Reconocimiento y Análisis Computacional de Formas ,César Beltrán 213

    Charla Plenaria - Modelamiento de tráfico Vehicular ,Ernesto Cuadros-Vargas 214

    Charla Plenaria - Perfiles Internacionales en Computación ,Ernesto Cuadros-Vargas 215

    Charla Plenaria - Ciencia de la Computación Aplicada: una pequeña muestra ,Markus Mock 216

    Charla Plenaria - Mis Experiencias con VoIP ,Andrew Pletch 217

    Índice de Autores 219

  • Comité de Programa

    Abraham Dávila, PUCP, PeruErnesto Cuadros-Vargas, (SPC,UCSP)(Presidente)Giovani Rubert Librelotto, UNIFRA, BrasilJavier Alexander Montoya-Zegarra, Unicamp, BrazilJoão José Neto, EPUSP, BrasilCésar A. Beltrán Castañón, UCSP, PerúJosé Carlos Maldonado, ICMC-USP, BrasilAgust́ın Francisco Gutiérrez Tornés, ITESM-CCM,MéxicoYván Jesús Túpac, PUC-RIO, BrasilOscar Pastor, UPV, EspañaMarco A. Alvarez, Utah State U, USAAlex J. Cuadros-Vargas, ICMC, BrasilRoseli A. Francelin Romero, ICMC-USP, BrasilChristian Paz-Trillo, USP, BrasilSof́ıa Álvarez Cárdenas, USIL, PerúDaltro José Nunes, UFRGS, BrasilAndre Santanche, UNIFACS, BrasilMarcello Visconti, UTFSM, ChileJosé Antonio Pow-Sang, PUCP, PerúMarkus Mock, Google, USAWaldo Cancino, ICMC-USP, BrasilMaria Rosa Galli, CONICET, UTN-FRSF, ArgentinaCarlos Raymundo, UPAO, PerúLuis Rivera, UIGV, PerúMauricio Solar, USACH, ChileArturo Torres-Zenteno, U. de Sevilla, España

    Ricardo da Silva Torres, Unicamp, BrasilJuan Manuel Gutiérrez Cárdenas, UCSP, PerúEduardo Tejada, Universität Stuttgart, AlemaniaRenzo Angles, Universidad de Chile, ChilePercy A. Pari Salas, Bond University, AustraliaJesús Mena, IME-USP, BrasilLuca Cernuzzi, DEI-UC, ParaguayLeoncio Jiménez, UCM, ChileAndrew Pletch, State U of New York, USADavid Fernández-Baca, Iowa State University, EE.UU.Guillermo Cámara, DCC-UFMG, BrasilAngélica Urrutia, UCM, ChileJohannes Textor, U of Luebeck, AlemaniaAdenilso Simao, SSC-ICMC-USP, BrasilRegina Motz, U de la Republica, UruguayAlberto Pardo, U de la Republica, UruguayAngel Coca, UENF - BrasilPhilip Sallis, AUT University, NZKathy Garden, AUT University, NZPaul Pauca, WFU, USALuis Alfaro, UNSA, PerúChristian Delgado, UCSP, PerúJaelson Castro, UFPE, BrasilWalfredo Cirne, GoogleJuan Carlos Gutierrez, UCSP, PerúIvette Luna, UNICAMP, Brasil

    VII

  • Comité Organizador

    COMISIÓN ORGANIZADORAIng. Enrique Cárdenas Rengifo (Responsable)

    COMISIÓN DE ADMINISTRACIÓNIng. Enrique Cárdenas Rengifo (Responsable)

    COMISIÓN TÉCNICA Y ADMINISTRACIÓN DE ARTÍCULOSJosé Peñarrieta Escobedo, (Responasble)Patricio Morriberón Cornejo

    SUB-COMISIÓN DE ADMISIÓN Y ASISTENCIAJorge Jara ArenasWilfredo Valverde QuispeMaria Landeras Pilco

    SUB-COMISIÓN DE LOGÍSTICA DE ESCENARIOSJose Rodŕıguez MantillaCarlos Jara GarćıaNelson Carranza MedinaCarlos Gaytán Toledo

    SUB-COMISIÓN DE MATERIALES, CREDENCIALES Y CERTIFICADOSAgust́ın UllonFernando CastilloPercy Carranza MedinaSegundo Ramı́rez Córdova

    SUB-COMISIÓN LEGAL Y CUENTASJorge PiminchumoRuben Otiniano

    COMISIÓN DE MARKETINGIng. Raúl Alvarado Rodŕıguez (Responsable)

    SUB-COMISIÓN DE PROTOCOLOKarla Meléndez RevillaVladimir UrreloLuis Carranza ObesoEduardo Herrera Gutiérrez

    IX

  • SUB-COMISIÓN DE WEB Y APLICACIONES DE GESTIONJosé Calderón SedanoArmando Caballero Alvarado

    SUB-COMISIÓN DE PUBLICIDAD Y PUBLICACIONESVı́ctor Lujan CabreraJose Vásquez PereyraJuan C. Ruiz SaavedraRoger Huapaya ChamochumbiWilder Ramos Contreras

    COMISIÓN DE PRODUCCIONIng. Jaime Dı́az Sánchez

    SUB-COMISIÓN DE MARATÓN DE PROGRAMACIONWilder Namay Zevallos

    SUB-COMISIÓN DE MARATÓN DE PROGRAMACIONJhonny Segura YdiaquezLuis Canaval SanchezVictor Ŕıos Contreras

    SUB-COMISIÓN DE FERIA DE PROYECTOS Y TECNOLOGÍASMarco Trujillo SilvaReiner Guerra SalasHeber Abanto CabreraWalter Moncada Carcamo

    SUB-COMISIÓN DE TUTORIALESJavier Poma PinillosHenry MendozaFreddy InfantesWalter Cueva

  • Segmentação Sobreposta em Tree-Structured Self Labeled SOM *

    Raquel E. Patiño-Escarcina Jose Alfredo Ferreira Costa1 Adaptive System Laboratory

    Universidade Federal do Rio Grande do Norte

    [email protected], [email protected]

    ResumenMapas auto-organizados de Kohonen (SOM) tem sido utilizados em diversas áreas para análise de agrupamento

    ou classificação automática de dados. Dado que o SOM é um algoritmo não supervisionado, existem na literaturaprocedimentos para interpretar os agrupamentos encontrados nos dados. No caso da classificação automáticade dados, o mapa é segmentado em subgrupos de forma que cada neurônio é rotulado como pertencente a umaclasse especifica. Para esta segmentação são usados algoritmos que usam a distância entre os dados como umcritério de separação. O TS-SL-SOM é uma arquitetura de mapas SOM que em cada nı́vel são segmentados ecada segmento gera um novo mapa no seguinte nı́vel na hierarquia. Devido a que cada mapa filho é treinado comos dados que ativaram os neurônios do segmento que o gerou é necessário que a segmentação do mapa pai sejasem perda de dados, assim, neste trabalho é apresentado um método de análise de bordas dos segmentos de ummapa clusterizado para diminuir a perda de dados que existe ao segmentar um mapa com os métodos tradicionais.O método proposto tem como base a análise da atividade dos neurônios que está relacionada à probabilidade quediferentes segmentos compartilharem dados similares. Pelos testes feitos, o método proposto obtém um ı́ndicemelhor na classificação dos dados.

    1. Introdução

    Devido ao crescimento exponencial dos bancos de dados, existe uma busca por encontrarmétodos eficientes para poder ordenar, classificar e analisar estes dados. O analise de agru-pamentos ou chamada também classificação automática tem como objetivo a identificação degrupos (clusters) homogêneos de dados representados em um espaço n−dimensional onde oselementos de cada cluster estão relacionados por critérios de distancia.

    Os Mapas auto-organizados de Kohonen (SOM) tem sido utilizados em diversas áreas paraanálise de agrupamento ou classificação automática de dados obtendo resultados satisfatórios.Porém para poder fazer mais eficientes estes algoritmos na literatura são encontrados diversosmapas hierárquicos tais como GHSOM [Dittenbach et al., 2000] (Growing Hierarchical Self-Organizing Map), onde cada neurônio no nı́vel k pode criar um novo mapa no nı́vel k+1 acordocritérios de aprendizado, GHTSOM (Growing Hierarchical Tree SOM) [Forti and Foresti, 2006]que combina aprendizado não supervisionado com uma topologia dinâmica para classificaçãohierárquica de dados; HSOM (Hierarchical SOM) [Lampinen and Oja, 1992] onde vários ma-pas são criados formando uma pirâmide na qual a informação esta organizada por detalhe (nı́veismais baixos representa informação mais detalhada e nı́veis mais altos representam informaçãomais genérica); entre outras TreeSOM [Samsonova et al., 2006], ESOM [Hashemi et al., 2005].

    Dentre as diferentes propostas de mapas hierárquicos para análise de dados, o TS-SL-SOM(Tree-Structured Self-Labelled SOM) [Costa and de Andrade Netto, 1999] é uma árvore onde

    *Este trabalho é soportado pelo Conselho Nacional de Desenvolvimento Cientı́fico e Tecnológico CNPq/Brasil.

    1 JPC2007

  • cada nı́vel contem k mapas SL-SOM. Estes SL-SOM (Self-Labelled SOM) são mapas auto-organizados, automaticamente segmentados e rotulados usando a U-matrix [Ultsch, 1993].

    A segmentação de um mapa auto-organizado treinado tem por objetivo a analise e reconhec-imento de clusters de neurônios para poder reconhecer grupos nos dados com menor complex-idade devido a que ao clusterizar os neurônios automaticamente se esta clusterizando os dadosassociados a cada neurônio. Neste sentido, em diversos trabalhos este processo é visto comoum algoritmo de duas fases, onde na primeira fase os dados são clusterizados usando o SOM(treinamento do SOM) e na segunda fase o SOM é clusterizado [Vesanto and Alhoniemi, 2000][Morchen and Ultsch, 2005] [Kato et al., 2007].

    Para a clusterização do SOM treinado, vários métodos de visualização foram propostos,tais como U-matrix [Ultsch, 1993] que encontra clusters de neurônios baseada na distanciaentre seus pesos, desta forma calcula a distancia de cada neurônio a seus vizinhos. Se a matrizde distancias é vista como uma imagem, grandes distancias poderiam ser consideradas comomontanhas e distancias pequenas como vales. Estas montanhas marcam a separação entre osclusters.

    A P-matrix [Ultsch, 2003a] tem o mesmo objetivo da U-matrix que é reconhecer clusters deneurônios. É baseada nas ativações de cada neurônio, assim, no espaço de dados, os neurôniosde muita ativação estão localizados em regiões onde existe aglomeração de dados enquanto queneurônios pouco ativos estão em áreas de não concentração de dados que podem ser consider-adas como bordes de clusters. A U∗-matrix [Ultsch, 2003b] combina a U-matrix e a P-matrixpara obter melhores resultados na visualização de clusters.

    Cada mapa do TS-SL-SOM no nı́vel k é segmentado e rotulado. O segmento i do mapa kgera um novo mapa no nı́vel k +1 o qual será treinado com os dados que ativaram os neurôniosdo segmento i e novamente este mapa filho será treinado, segmentado e rotulado tendo a pos-sibilidade de encontrar novos subgrupos nos dados. O TS-SL-SOM pode ser vista como umrefinamento de clusters a cada nı́vel.

    Devido a que no TS-SL-SOM os mapas filhos são treinados com dados do segmento i domapa pai k, é importante que a segmentação do mapa k seja o melhor possı́vel sem perdade dados, porém foi visto que pelo critério de similaridade e vizinhança inerentes ao mapade kohonen ao fazer a segmentação existe essa perda de dados devido a que neurônios nasbordas de cada segmento são similares a seus vizinhos e por conseguinte dados que ativamesses neurônios são similares porém foram separados ao segmentar o mapa e criar sub-gruposno seguinte nı́vel do TS-SL-SOM.

    O trabalho apresentado neste artigo tenta propor uma solução a este problema fazendo queos limites de cada segmento no nı́vel k do TS-SL-SOM sejam definidos por uma função gaus-siana positiva de tal forma que suavize as bordas com a menor perda possı́vel de dados parao seguinte nı́vel. Esta suavização das bordas esta baseada na idéia da P-matrix (ativação dosneurônios).

    2. Tree Structured Self Labelled SOM

    SOM [Kohonen, 1995] é uma rede neural auto-organizada que consiste de uma grade deneurônios de baixa dimensão (usualmente 1D ou 2D). A cada neurônio k da grade esta associa-do um vetor n−dimensional chamado de vetor de pesos ou codebook mk = [w1, w2, ..., wn],onde n é a dimensão do espaço de entrada. Depois de que o SOM é treinado, a grade deneurônios se expande no espaço de dados conservando as caracterı́sticas topológicas do con-

    JPC2007 2

  • −0.6 −0.4 −0.20 0.2 0.4

    0.6 0.8−0.5

    0

    0.5

    1−0.3

    −0.2

    −0.1

    0

    0.1

    0.2

    Figura 1: Banco de Dados Iris com o Mapa SOM Treinado

    junto de treinamento, assim, em regiões de maior concentração de dados (regiões de maiordensidade) existe maior concentração de neurônios e vice-versa. A figura 1 mostra um exem-plo de um banco de dados junto com o mapa SOM treinado. Pode se observar que existe umatendência de aglomeração de neurônios onde existe aglomeração de dados.

    A idéia geral do algoritmo SL-SOM é agrupar os neurônios que estão próximos no espaçode entrada por critérios de distancia e vizinhança. Para este objetivo, é calculada a U-matrixpara analisar os clusters formados pelos neurônios. A figura 2 apresenta a U-Matrix do mapaapresentado na figura 1 onde se observa 2 regiões bem separadas por montanhas que repre-sentam a maiores distancias. Embora o conjunto do Iris tem 3 classes, como é visto na figu-ra 1 duas classes estão muito próximas no espaço de entrada pelo que foram só encontradasduas classes. Para solucionar este problema, Costa et.all. [Costa and de Andrade Netto, 2001,Costa and de Andrade Netto, 2003, Costa, 2005] propus o TS-SL-SOM, onde os mapas em ca-da nı́vel são treinados e logo segmentados para que no seguinte nı́vel cada segmento crie mapasfilhos que serão treinado com os dados que ativaram neurônios do respectivo segmento. Damesma forma, os mapas filhos são treinados e segmentados encontrando novos subgrupos nosdados e o ciclo continua até alcançar o nı́vel máximo ou até não conseguir encontrar novossubgrupos nos mapas filhos. A figura apresenta um exemplo de uma arquitetura de um mapaTS-SL-SOM

    Quando um mapa no TS-SL-SOM é segmentado, idealmente cada segmento precisa contertodos os dados de uma ou mais classes que esteja englobando devido que aqueles dados quesejam deixados de fora serão perdidos no seguinte nı́vel ocasionando uma perda de exatidãono análise de agrupamentos. A figura 4(a) apresenta um conjunto de dados de 2 classes juntocom o mapa SOM treinado. Depois que o mapa é treinado, todos os neurônios são rotuladoscom o padrão mais parecido a seu codebook, logo o mapa é segmentado usando a U-Matrix, oresultado deste processo é mostrado na figura 4(b).

    Observando o resultado da segmentação do mapa da figura 4 pode-se observar que ao seg-mentar o mapa, alguns neurônios rotulados da classe 2 são considerados da classe 1 o que

    3 JPC2007

  • 0

    5

    10

    15

    051015

    20250

    0.5

    1

    1.5

    0.2

    0.4

    0.6

    0.8

    1

    1.2

    Figura 2: U-Matrix do Iris, mostrando 2 regiões

    ������ ������������������ ������

    ������ �������������� �

    ������������ �

    �������

    �� ���� ��

    �� ���� ������ �

    ��� ��

    �� ���� ��

    !!"" ## $$ %

    %&&'' ((

    )) **++,, -

    -..// 0

    011

    22 3344 5566 77

    88 99:: ;;

    ?? @@

    AA BBCC DD

    EE FFGG

    H I J KL M N O PQ R S TU V W XY Z [ \] ^ _ `a b c d ef g h ij k l mn o p q r s t uv w x y z{ | } ~

      ¡ ¢ £ ¤¥ ¦ § ¨© ª « ¬ ® ¯ °

    ± ² ³ ´µ ¶ · ¸ ¹º » ¼ ½¾ ¿ À ÁÂ Ã Ä ÅÆ Ç ÈÉ ÊË Ì ÍÎ Ï ÐÑ Ò Ó

    Baixa Resolução

    Alta Resolução

    Figura 3: Arquitetura de um TS-SL-SOM de 3 nı́veis

    −4 −2 0 2 4 6 8−4

    −2

    0

    2

    4

    6

    8

    1111

    1111

    11

    1111

    1111

    11

    2212111111

    22222

    11

    111

    22222

    21111

    222222

    111

    1

    22222

    2111

    1

    22222

    221

    11

    222

    22

    221

    11

    222

    22

    22

    2

    11

    (a) Dados mais SOM treinado (b) SOM segmentado e Rotulado

    Figura 4: SOM treinado com o conjunto de Dados EngyTime

    JPC2007 4

  • Figura 5: Função de Borde dos Segmentos

    ocasionara uma perda dos dados para o mapa que gerará a classe 2 no seguinte nı́vel do TS-SL-SOM. Por este motivo, o trabalho apresentado neste artigo propor fazer um pos-processamentona segmentação dos mapas fazendo uma análise nas bordas de cada segmento de tal forma quea perda de dados seja a menor possı́vel. Este análise é chamado de segmentos sobrepostos queserá explicado na seguinte seção.

    3. Segmentos Sobrepostos no TS-SL-SOM

    Quando o mapa SOM é treinado, os neurônios vão se espalhando seguindo a topologia doespaço de dados, onde exista aglomerado de dados serão concentrados mais neurônios enquantoque em regiões de pouca concentração poderão ou não existirem neurônios. Baseado neste fato,vemos que a ativação de cada neurônio é uma informação relacionada com a concentração dedados que pode ajudar à descoberta de existência de grupos nos dados.

    Idealmente se pode pensar que nas bordas dos segmentos os neurônios tem pouca ativação,enquanto que nos centros dos segmentos os neurônios são muito ativados. Assim, é definidauma função em cada neurônio pertencente à borda de cada segmento que analisa a ativaçãodos neurônios vizinhos observando sua ativação para saber se esta em um aglomerado de dadosou em uma região esparsa. Se o neurônio esta em uma área muito aglomerada a probabilidadede que na segmentação exista perda de dados é maior pelo que na hora de segmentar o mapa,precisa-se analisar os dados que ativaram os neurônios vizinhos pertencentes a outros segmentosrecuperando os dados mais similares ao codebook do neurônio de tal forma que ao segmentar omapa exista a menor perda possı́vel de dados.

    Assim, para todo neurônio fronteira k do segmento i é definida uma função dada pelaequação 1 onde x ∈ N e pela equação 2 onde P (x) (para x = 0) denota a ativação do neurôniok e P (y) (para x ∈ {1, 2, 3, ...}) denota a ativação dos neurônios vizinhos mais próximo aoneurônio k. A função 1 tem seu maior valor quando x = 0 então f(0) = 1 o que representaraque 100 % dos dados que ativaram k pertencem ao segmento i como é de fato. Seguindo esteraciocı́nio, se f(1) = z, então por um cálculo simples r = (z ∗ 100/P (x)) % dos dados queativaram o vizinho imediato de k serão considerados pertencentes ao segmento i. Para escolherestes de dados que farão parte do segmento i, é estabelecida uma relação do vizinho mais próxi-mo entre o codebook do neurônio k e todos os dados que ativaram seu vizinho que esta sendoavaliado, logo são escolhidos os r % melhor colocados segundo a relação de distancia.

    5 JPC2007

  • f(y) = �−

    x2

    2σ(y)2 (1)

    σ(y) = k ∗1

    1 + |P (x)− P (y)|(2)

    A função definida pela equação 1 segue o comportamento mostrada na figura 5, assim,enquanto maior seja a diferencia de ativação entre os neurônios, a abertura da gaussiana positivaserá mais fechada, isto é acorde com a teoria da ativação dos neurônios nos mapas SOM. Oparâmetro k na equação 2 suaviza ou não a abertura da gaussiana positiva, para os testes feitosfoi estabelecido em 2.5 mais para casos gerais pode ser calculado pela distancia intercluster[Wu, 2006] dos dados.

    Para resumir a proposta, o algoritmo 1 descreve o processo para a segmentação do mapaSOM chamada de Segmentos sobrepostos.

    Algoritmo 1 Segmentos SobrepostosRequiere: (sm é o mapa SOM segmentado)

    1: para i = 1 to número de segmentos no mapa sm hacer2: F = encontra a ativação dos neurônios na borda de i3: para j = 1 to número de neurônios borda de i hacer4: Encontre o valor da equação 1 para F (j)5: Calcular a distancia entre o peso de i e os dados que ativaram o neurônio vizinho i6: Ordenar pelas distancias7: Escolher os y % primeiros colocados do conjunto8: fin para9: fin para

    4. Experimentos y Resultados

    Para testar a proposta, foram escolhidos dois banco de dados conhecidos onde se pode ob-servar claramente o problema da separação dos dados: o banco de dados iris e o banco de dadosEngyTime.

    O primeiro banco de dados descreve 3 tipos diferentes de um tipo de flor chamado de Iris(Setosa, Versicolor e Virgı́nica). Cada classe contém 50 exemplos. Cada padrão de entradaé formado por quatro atributos. A classe 1 (Setosa) é linearmente separável das outras duas.A segunda e terceira classe são muito próximas uma da outra pelo que pode levar a erros naclassificação. Este banco de dados é usado para mostrar os diferentes tipos de ativação: quandose tem grupos bem definidos e quando se tem aglomerados de dados.

    A figura 6 apresenta o SOM segmentado junto com as ativações dos neurônios. Observandoa figura 6(a) vemos como a classe SE é bem segmentada dado que todos seus dados estão nomesmo segmento pelo que se avaliamos a equação 1 os resultados serão nulos o que indica quenenhum padrão será compartilhado com os segmentos vizinhos.

    O segundo banco de dados escolhido para testes é o EngyTime que contem 4096 padrõesdivididos por igual em duas classes. Cada padrão tem 2 descrições. Neste conjunto de dados,é visto que existem aglomerados de dados. Um mapa SOM treinado com este conjunto dedados foi mostrado na figura 4(a). Ao fazer a segmentação destes dados pelo SL-SOM, são

    JPC2007 6

  • (a) SOM segmentado e Rotulado (b) Ativação dos neurônios em cada segmento

    Figura 6: Ativação dos neurônios para o IRIS

    Cuadro 1: Matriz de Confusão para o Banco de dados EngyTimeclasse 1 classe2

    classe1 2033 15classe2 209 1839

    reconhecidas as duas classes, os resultados da matriz de confusão é mostrado na tabela 1. Assim,é visto que para a classe 1 existe uma perda de 15 padrões e para a classe 2 existe uma perda de209 padrões.

    Para aplicar o algoritmo proposto no conjunto de dados Engytime, são calculadas as ativaçõespara cada neurônio e são mostradas na figura 7. Como exemplo, são analisados dois casos naborda do segmento 2. Observando a figura 7, a ativação do neurônio (6,6) pertencente ao cluster2, é de 29 e a ativação de sua vizinhança a esquerda é [31 26 28 37 36]. Nestes valores são cal-culadas as equações 1 e 2. Dado que o neurônio (6,6) tem uma atividade similar a seus vizinhos,então podemos inferir que existe aglomerado de dados pelo que a função gaussiana que defineas bordas dos segmentos deve ser suave como é mostrado na figura 8(a).

    Um caso contrario é mostrado para o neurônio (6,8) e sua vizinhança inferior. Neste caso aativação do neurônio (6,8) é 38 e a ativação do neurônio mais próximo na vizinhança inferior(neurônio 7,8) é de 24, então a função gaussiana definida para esta borda é mais fechada comoé mostrado na figura 8(b).

    Analisando as figuras 8(a) e 8(b) vemos que de fato quando a ativação das vizinhanças sãosimilares ao neurônio na borda do segmento, maior quantidade de padrões serão compartilhadospelos segmentos. Depois da aplicação do método proposto, a tabela 2 apresenta a matriz deconfusão para o banco de dados EngyTime onde podemos observar que para a classe 2 foram

    Cuadro 2: Matriz de Confusão para o Banco de dados EngyTime depois da aplicação do métodoproposto

    classe 1 classe2classe1 2035 13classe2 103 1943

    7 JPC2007

  • (a) SOM segmentado e Rotulado (b) Ativação dos neurônios

    Figura 7: Mapa segmentado para o conjunto de dados EngyTime junto com a Ativação dosneurônios

    10

    5

    10

    15

    20

    25

    30

    35

    40ezquerda (6, 6)

    100%87 %

    60%

    55%

    25%

    13%

    (a) Ativação da vizinhança a esquerda do neurônio(6,6)

    10

    10

    20

    30

    40

    50

    60

    70abaixo (6, 8)

    87 %

    100%

    27 %

    0 %

    (b) Ativação da vizinhança a esquerda do neurônio(6,8)

    Figura 8: Analisando ativações dos neurônios para o banco de dados Engytime

    JPC2007 8

  • recuperados 50 % dos padrões perdidos pelo método tradicional.

    5. Conclusões

    O análise de clusters é uma técnica que tem por objetivo agrupar observações em um númeroespecı́fico de grupos (clusters) considerando critérios de vizinhança e distancia. O TS-SL-SOMé uma estrutura que tem em cada nı́vel um SL-SOM. Cada SL-SOM é um mapa SOM treinadoe logo segmentado usando critérios de distancia. Dado que a base da estrutura TS-SL-SOM é asegmentação de cada um dos mapas é necessário que esta segmentação seja o melhor possı́veldevido a que os dados de cada segmento são enviados aos mapas filhos para seu treinamento.Neste trabalho foi apresentado um método de análise nos neurônios localizados nas bordas decada segmento em um mapa SOM treinado para melhorar o resultado da clusterização do mapaobtendo melhorias nos resultados para o TS-SL-SOM.

    O método proposto é baseado no critério de aglomeração de dados calculando a ativaçãode cada neurônio na borda dos segmentos e estabelecendo a similaridade do codebook desteneurônio k com os dados do seu vizinho, escolhendo assim, os dados mais parecidos que serãoconsiderados como pertencentes ao cluster de k. Pelos testes obtidos é visto que com o métodoproposto a segmentação dos dados obtém melhores resultados que com os métodos tradicionais.

    Os resultados obtidos são animadores para continuar com esta pesquisa. Como trabalhosfuturos vemos que é necessário fazer um estudo detalhado do parâmetro k que define a aberturada gaussiana que é definitiva na recuperação.

    Referencias

    [Costa, 2005] Costa, J. (2005). Segmentação do som por métodos de agrupamentos hi-erárquicos com conectividade restrita. In Brazilian Conference on Neural Networks, pages14–20.

    [Costa and de Andrade Netto, 1999] Costa, J. and de Andrade Netto, M. (1999). Estimatingthe number of clusters in multivariate data by self-organizing maps. International Journal ofNeural Systems, 9(3):195–202.

    [Costa and de Andrade Netto, 2003] Costa, J. and de Andrade Netto, M. (2003). Segmentaçãodo som baseada em particionamento de grafos. In Brazilian Conference on Neural Networks,pages 451–456.

    [Costa and de Andrade Netto, 2001] Costa, J. A. F. and de Andrade Netto, M. L. (2001). Anew tree-structured self-organizing map for data analysis. In International Joint Conferenceon Neural Networks IJCNN’01, volume 3, pages 1931–1936.

    [Dittenbach et al., 2000] Dittenbach, M., Merkl, D., and Rauber, A. (2000). The growing hi-erarchical self-organizing map. In Amari, S., Giles, C. L., Gori, M., and Puri, V., editors,International Joint Conference on Neural Networks, pages 15–19, Como, Italy. IEEE Com-puter Society.

    [Forti and Foresti, 2006] Forti, A. and Foresti, G. L. (2006). Growing hierarchical tree som:An unsupervised neural network with dynamic topology. Neural Networks, 19(10):1568 –1580.

    [Hashemi et al., 2005] Hashemi, R., Bahar, M., and De Agostino, S. (2005). An extended self-organizing map (esom) for hierarchical clustering. In IEEE International Conference onSystems, Man and Cybernetics, volume 3, pages 2856–2860.

    9 JPC2007

  • [Kato et al., 2007] Kato, S., Koike, K., and Horiuchi, T. (2007). A study on two-stage self-organizing map and its application to clustering problems. Electrical Engineering in Japan,159(1):46–53.

    [Kohonen, 1995] Kohonen, T. (1995). Self-Organizing Maps. Springer-Verlag, Berlin.[Lampinen and Oja, 1992] Lampinen, J. and Oja, E. (1992). Clustering properties of hierarchi-

    cal self-organizing maps. Journal of Mathematical Imaging and Vision, 2(3):261–272.[Morchen and Ultsch, 2005] Morchen, F. and Ultsch, A. (2005). Discovering temporal knowl-

    edge in multivariate time series. In C., C. W. and Gaul, W., editors, Proceedings 28th AnnualConference of the German Classification Society (GfKl 2004), pages 272–279.

    [Samsonova et al., 2006] Samsonova, E., Kok, J., and IJzerman, A. (2006). Treesom: Clusteranalysis in the self-organizing map. Neural Networks, 19(6-7):935 – 949.

    [Ultsch, 1993] Ultsch, A. (1993). Self-organizing neural network for visualization and classifi-cation. In Opitz, O., Lausen, B., and Klar, R., editors, Information and Classification, pages307–313. Springer-Verlag, Berlin.

    [Ultsch, 2003a] Ultsch, A. (2003a). Maps for the visualization of high-dimensional data spaces.In Workshop on Self Organizing Maps, pages 225–230.

    [Ultsch, 2003b] Ultsch, A. (2003b). U*-matrix: a tool to visualize clusters in high dimensionaldata,. Technical Report 36, Dept. of Mathematics and Computer Science, University ofMarburg, Germany.

    [Vesanto and Alhoniemi, 2000] Vesanto, J. and Alhoniemi, E. (2000). Clustering of the self-organizing map. IEEE Transactions on Neural Networks, 11(3):586–600.

    [Wu, 2006] Wu, B. Y. (2006). On the intercluster distance of a tree metric. Theoretical Com-puter Science, 369(1-3):136–141.

    JPC2007 10

  • Renderizado de Mallas Tetraedrales Segmentadas

    Erick Rodrı́guez Ordóñez 1 Alex J. Cuadros-Vargas 2

    1 Universidad Católica San Pablo - Perú

    2ICMC - Universidade de São Paulo - Brasil

    [email protected], [email protected]

    ResumenMallas tetraedrales usualmente son generadas a partir de información geométrica y visualizadas mediante al-

    goritmos de renderizado tradicionales. Hoy en dı́a, algoritmos como Imesh, son capaces de generar mallas inclu-yendo también un proceso de segmentación de mallas. Esta nueva caracterı́stica permite producir visualizacionesmás elaboradas que ayudan a una mejor comprensión de los datos. Aprovechando esta caracterı́stica, este trabajopropone la adaptación del algoritmo Projected Tetrahedra, de renderizado tradicional, para visualizar mallas detetraedros segmentadas como las generadas por el algoritmo Imesh.

    1. Introducción

    Años atrás no era usual encontrar mallas de tetraedros con información de segmentación,sin embargo en la actualidad existe una tendencia creciente de crear algoritmos que producenmallas con estas caracterı́sticas. La misma es alimentada por la necesidad de crear modelos apartir de datos volumétricos en los cuales sea posible realizar simulaciones numéricas, talescomo simulaciones de fluı́dos y simulaciones de mallas elásticas.

    La literatura presenta varios algoritmos que crean mallas tetraedrales a partir de datos vo-lumétricos, entre ellos los algoritmos creados por [Berti, 2004, Zhang et al., 2003, Hale, 2001].Como parte de esta tendencia fue creado el algoritmo Imesh [Cuadros-Vargas, 2006]. Este al-goritmo descompone un volumen de datos, o imagen 3D, en un conjunto de tetraedros dondecada uno de éstos encapsula un espacio homogéneo del volumen. Aprovechando la informaciónvolumétrica contenida dentro de cada tetraedro el algoritmo divide la malla generada en sub-mallas. Una malla tetraedral con información volumétrica puede ser renderizada mediante algo-ritmos tradicionales tales como el algoritmo Projected Tetrahedra [Shirley and Tuchman, 1990]o el algoritmo Ray Casting [Bunyk et al., 1997], sin embargo, estos algoritmos pueden ser mo-dificados para aprovechar la información de segmentación que provee el algoritmo Imesh.

    En este trabajo se presenta un proceso de renderizado que, mediante una adaptación delalgoritmo Projected Tetrahedra, toma ventaja de la información de segmentación que propor-ciona el algoritmo Imesh para tratar de manera independiente cada sub-malla. Esta informaciónadicional puede dar lugar a visualizaciones más elaboradas, lo cual contribuye a una mejorcomprensión de los datos. Por ejemplo, se puede seleccionar una sub-malla especı́fica para serrepresentada, resaltar las fronteras entre las sub-mallas o visualizar cada sub-malla con criteriosdiferentes para evitar la superposición entre sus elementos. Para probar la idea de este artı́culose realizó una implementación que fue inicialmente desarrollada en software, la cual no tuvocomo objetivo lograr mejoras en los tiempos de renderizado.

    En la Sección 2 serán descritos algunos trabajos relacionados al tema, seguidamente en laSección 3 se describe brevemente el algoritmo Imesh. La Sección 4 detalla el algoritmo Pro-jected Tetrahedra que tomaremos como base para la adaptación. Luego, la Sección 5 detalla

    11 JPC2007

  • la adaptación realizada en este trabajo, la Sección 6 muestra algunos resultados obtenidos me-diante la implementación desarrollada. Finalmente, la Sección 7 muestra las conclusiones y lostrabajos futuros de este proyecto.

    2. Trabajos Previos

    En 1990, el algoritmo Projected Tetrahedra se presentó en el artı́culo “A Polygonal Ap-proximation to Direct Scalar Volume Rendering” [Shirley and Tuchman, 1990], demostrando elpotencial de usar tarjetas gráficas para acelerar el proceso de renderizado directo de mallas tetra-edrales. Este algoritmo descompone cada celda en triángulos que luego son ordenados según suprofundidad, para ser proyectados en la imagen por medio de hardware gráfico. Stein, Beckery Max en 1994 [Stein et al., 1994] presentaron una modificación del algoritmo, la cual orde-naba las celdas antes de ser descompuestas y añadieron texturas bidimensionales para evitarartefactos1. Luego Engel, Kraus y Erlt [Engel et al., 2001] expandieron el modelo óptico usan-do caracterı́sticas programables en tarjetas gráficas Nvidia GeForce3 [NVIDIA, 2005]. En unproceso previo integraron funciones de transferencia mejorando la calidad de las imágenes, sinembargo esto fue realizado para mallas regulares.

    Ya que las tarjetas gráficas se habı́an tornado más avanzadas al soportar instrucciones pro-gramables, hubo una mayor tendencia a implementar el algoritmo en hardware. Wylie, More-land, Fisk y Crossno [Wylie et al., 2002] presentaron una técnica para implementar el ProjectedTetrahedra por medio de Vertex Shaders [NVIDIA, 2005] que son instrucciones programablesenviadas a la tarjeta de video. Pese a estas mejoras algunos artefactos aún eran obtenidos. Unasolución era mejorar la interpolación en las coordenadas de imagen y mejorar las proyeccio-nes de perspectiva, al realizar esto, se obtiene imágenes de mayor calidad. Esta solución fuepropuesta por Kraus, Qiau y Ebert [Kraus et al., 2004]. Para la aceleración del proceso Son-dershaus y Straßer [Sondershaus and Straßer, 2006] presentaron técnicas que permiten dividirla malla en varias partes para luego ser simplificadas y renderizadas de manera independiente.

    Además de mejorar el algoritmo en su desempeño y su calidad de imágenes se han reali-zado trabajos para orientarlo a áreas especı́ficas como la medicina. Sadowsky, Cohen y Tay-lor [Sadowsky et al., 2005] presentaron una técnica que mediante funciones de atenuación ycálculos sobre los baricentros de los tetraedros lograron que el algoritmo genere imágenes quesimulan a las obtenidas mediante rayos X.

    Las mallas generadas por el algoritmo Imesh [Cuadros-Vargas, 2006] pueden ser renderiza-das mediante los trabajos nombrados anteriormente pero ellos no aprovecharı́an la informaciónde segmentación de estas mallas. El artı́culo [Cuadros-Vargas et al., 2006] presenta una adap-tación para visualizar mallas tetraedrales segmentadas basado en un proceso de Ray Castingdesarrollado por [Tejada and Ertl, 2005]. Este proceso hace uso de funciones de transferenciapara los valores de color y τ (densidad) para todo el volumen y el cálculo de color fue adaptadodebido a que el tetraedro en estas mallas tiene un valor escalar constante en todo su volumen,además es capaz de aprovechar la segmentación de la malla para enfocar mejores visualiza-ciones. Esto se logra resaltando los bordes de los segmentos mediante superficies translúcidasdurante la emisión de los rayos. Un escalar adicional en cada lado de un tetraedro ayuda a iden-tificar si un lado esta o no en un borde, si un rayo pasa por un lado que pertenece a un borde serealizan cálculos para destacarlo.

    1Artefactos: errores o deformaciones en la imagen generada.

    JPC2007 12

  • 3. Algoritmo Imesh

    El algoritmo Imesh [Cuadros-Vargas, 2006] busca generar mallas tetraedrales segmentadascon criterios de calidad directamente a partir de imágenes. Una de las caracterı́sticas es que losconceptos en los que está basado son válidos para mallas de dos o tres dimensiones. De estaforma, se puede explicar el algoritmo utilizando términos que no dependen de la dimensión.Esta técnica está dividida en tres etapas principales: Construcción de malla, Segmentación demalla y Mejoramiento de calidad de la malla. A continuación se describen brevemente.

    Construcción de Malla: El objetivo de esta etapa es crear una malla que represente la ima-gen de entrada a partir de patrones de color calculados del contenino de cada célula. El algoritmoitera hasta lograr una malla tetraedral que cumpla con cierto margen de error. Segmentación deMalla: Esta segunda etapa del algoritmo realiza el particionamiento de la malla que representala imagen. Para esto se utiliza información de texturas obtenidas de la imagen original asi comotambién información geométrica contenida en la malla que ayudan a realizar segmentacionesmás elaboradas. Mejoramiento de calidad de la Malla: La idea de este último paso es incluircriterios de calidad en los elementos de una malla generada respetando las fronteras definidasdurante el proceso de segmentación.

    Para más detalles recomendamos ver la siguiente referencia: [Cuadros-Vargas, 2006].

    4. Visualización de Mallas Tetraedrales Segmentadas

    Los criterios de visualización se aplican a un volumen mediante funciones de transferen-cia. En el proceso de renderizado generalmente se aplica una función de transferencia a todo elvolumen [Kniss et al., 2005]. En el caso de una malla segmentada podemos aprovechar la in-formación de segmentación aplicando funciones de transferencia individuales a cada sub-malla.A continuación veremos como el algoritmo Projected Tetrahedra utiliza las funciones de trans-ferencia y luego como éste es adaptado para visualizar las mallas producidas por el algoritmoImesh.

    4.1. Funciones de Transferencia en el algoritmo Projected Tetrahedra

    El algoritmo Projected Tetrahedra [Shirley and Tuchman, 1990] renderiza una malla tetra-edral proyectando cada tetraedro hacia la pantalla, descomponiendo la proyección de cada te-traedro en triángulos. El color de cada vértice de los triángulos se obtiene a partir de los coloresde los vértices del tetraedro. Estos son obtenidos mediante la función de transferencia asignada.En una malla tetraedral cada vértice tiene asignado un valor escalar. Por lo tanto, el algoritmoen cada tetraedro debe obtener los valores de color y transparencia de cada vértice mediante lafunción de transferencia.

    4.2. Problemas al renderizar Mallas Tetraedrales Segmentadas

    En una malla generada por el algoritmo Imesh [Cuadros-Vargas, 2006], los valores escalaresestán asignados a los tetraedros y no a los vértices, por lo que se deberá indicar al algoritmo quedebe obtener el valor escalar de los vértices a partir del valor del tetraedro.

    El algoritmo ignora la información de segmentación, por lo tanto la malla es renderiza-da como una malla convencional. La Figura 1(a) representa una sola función de transferencia

    13 JPC2007

  • (a) Función de Transferenciaasignada a una malla segmentada.

    (b) Malla segmentada ren-derizada de forma conven-cional.

    (c) Sub-mallas m1 y m2 se superponena la sub-malla m3.

    Figura 1: Representaciones de Funciones de Transferencia en el algoritmo Projected Tetrahedra

    Figura 2: Asignación de funciones de transferencia a cada sub-malla.

    aplicada a toda una malla, ignorando la segmentación y la Figura 1(b) representa esta malla alrenderizarla de forma convencional. Esto último puede traer como consecuencia el problemade la superposición, que se da cuando los valores escalares de una sub-malla de tetraedros sonsimilares a los de otra sub-malla, al enviar estos valores a la función de transferencia se obtienenlos mismos colores, luego al ser visualizados es posible que los tetraedros de una sub-malla sesuperpongan a los de otra obstruyéndolos en la imagen final. En la Figura 1(c) representa lassub-mallas m1 y m2 superponiéndose a la sub-malla m3 obstruyendo su visualización.

    5. Adaptación para Mallas Segmentadas

    En una malla tetraedral segmentada cada tetraedro tendrá asignado un valor escalar a todo suvolumen, a partir de este valor se deberá obtener el color y transparencia del tetraedro mediantela función de transferencia. Para aprovechar la información de segmentación, debemos asignara cada sub-malla una función de transferencia, esta función será independiente de las funcionesasignadas a las demás sub-mallas. Ver la Figura 2.

    Sea M una malla segmentada en n sub-mallas, tal que M= m1 ∪ m2 ∪ m3 ∪ ... ∪ mn; i.e.,mi ⊆M, i = 1 ... n; ∧ mi ∩ mj = ∅ para i6=j ∧ i,j = 1 ... n, y sea el conjunto de las funcionesde transferencia F={f1,f2,f3,...,fn}, el cardinal de M y F es el mismo. Entonces establecemosuna relación biunı́voca entre ellos, por lo tanto a cada sub-malla mi le corresponde una y sólouna función fi. Sea T un tetraedro: T∈M ∧ T∈mi⇒ fi es la función de transferencia, mediantela cual obtenemos el color y transparencia de sus vértices a partir de su valor escalar. Durantela ejecución del algoritmo, para obtener los valores de color y transparencia de un tetraedro

    JPC2007 14

  • debemos identificar a que sub-malla pertenece para luego utilizar la función de transferenciacorrespondiente. A continuación se exponen algunas ventajas de esta adaptación

    5.1. Visualización de sub-mallas especı́ficas.

    Esta adaptación permite escoger que sub-mallas se desea visualizar; esto se realiza modi-ficando las funciones de transferencia de las sub-mallas que no se desean visualizar, a estasfunciones se les configurará de tal manera que para cualquier valor escalar se devuelva el colorcorrespondiente pero con transparencia al máximo. Ver Figura 3(a). Esto causa que estas sub-mallas sean transparentes por lo tanto no aparecen en la imagen final apareciendo solamente lassub-mallas de interés.

    (a) Visualizar una sub-mallaespecı́fica.

    (b) Resaltar fronteras.

    (c) Visualizar sin superposición. (d) Visualizar con criteriosdistintos para cada sub-malla.

    Figura 3: Representaciones de Ventajas de la adaptación.

    5.2. Resaltar fronteras entre sub-mallas.

    Resaltar fronteras entre sub-mallas resulta difı́cil mediante una función de transferencia.Si modificamos las funciones de transferencia de dos sub-mallas de tal manera que devuelvancolores distintos se tendrá como resultado una clara diferenciación del espacio que ocupa cadauna y la frontera existente entre ellas. Ver Figura 3(b).

    5.3. Visualizar sin superposición.

    La superposición entre sub-mallas se puede solucionar mediante esta adaptación, esto selogra configurando las funciones de transferencia de tal manera que ambas devuelvan un colordistinto al mismo valor escalar. Quizás sea necesario además indicar a una de ellas que devuelva

    15 JPC2007

  • Malla Tetraedral Puntos Tetraedros Sub-mallasTórax 44952 296214 4

    Cabeza 48602 321268 3Alcancı́a 36357 237280 25

    Cuadro 1: Mallas tetraedrales segmentadas utilizadas en las pruebas.

    (a) Imagen base. (b) Visualización de lospulmones.

    (c) Superposición de lasub-malla de la piel ymúsculos.

    Figura 4: Imágenes de la malla del tórax (1).

    los colores con semi-transparencia para poder visualizar mejor la sub-malla que era obstruı́da.Ver Figura 3(c).

    5.4. Visualizar con criterios distintos.

    Esta adaptación permite aplicar criterios distintos a cada sub-malla. Por ejemplo en unamalla que represente una cabeza humana, una visualización adecuada puede ser resultado deaplicar a los músculos colores cercanos al rojo, a los huesos colores cercanos al blanco y alcerebro colores cercanos al plomo. Esto se logra aplicando funciones de transferencia adecuadasal contenido de cada sub-malla. Ver Figura 3(d).

    6. Resultados

    En este trabajo se ha implementado la propuesta descrita en la sección anterior; esta imple-mentación maneja mallas tetraedrales segmentadas y es capaz de realizar el proceso de rende-rizado sobre estas mallas de forma convencional (Ver Sección 4) y de la forma propuesta (VerSección 5). Esta implementación fue desarrollada con el objetivo de demostrar las ventajas de lapropuesta de renderizado descrita y no con el de lograr un alto desempeño en tiempos. Fueronutilizadas 3 mallas tetraedrales segmentadas generadas por el algoritmo Imesh. En el Cuadro 1se muestran algunas caracterı́sticas de estas mallas.

    6.1. Malla del Tórax

    Esta malla tetraedral segmentada consta de 4 sub-mallas. Las cuales están conformadas porlos tetraedros del exterior del volumen, de la piel y músculos, de la parte ósea y de los pulmonesrespectivamente. Apreciamos en la Figura 4(a) que el color de los pulmones y del exterior son

    JPC2007 16

  • muy parecidos, esto trae como consecuencia que las sub-mallas de los pulmones y la del espacioexterior tengan valores escalares muy cercanos, de la misma manera se puede apreciar que enalgunas zonas los huesos y los tejidos también tienen colores semejantes por lo que estas sub-mallas tendrán en algunas partes valores escalares similares. Esto causa que los tetraedros queforman la piel se superpongan a los tetraedros que conforman los huesos y que los pulmonestengan el mismo color del fondo.

    (a) Diferentes funcionesde transferencia.

    (b) Frontera entre sub-malla la parte ósea con elresto de sub-mallas.

    (c) Sólo parte ósea y pul-mones.

    (d) Sólo parte ósea.

    Figura 5: Imágenes de la malla del tórax (2).

    Las Figuras 4(b) y (c) muestra imágenes obtenidas a partir de esta malla mediante rende-rizado convencional, es decir, aplicando una misma función de transferencia a toda la malla.Como se puede observar en la Figura 4(b) resulta muy difı́cil visualizar los pulmones porquetoman el mismo color del fondo y en la Figura 4(c) se puede observar que la piel se superponeal interior de volumen obstruyendo su visualización. La Figura 5(a) es obtenida al aplicar dife-rentes criterios a cada sub-malla. En esta imagen la visualización mejora considerablemente alsolucionar el problema de la superposición. En la Figura 5(b) se puede diferenciar claramentela frontera entre los huesos y los pulmones. Para visualizar sólo las sub-mallas de la parte óseay la de los pulmones tendrı́amos que volver totalmente transparente la sub-malla de la piel, laFigura 5(c) muestra el resultado de esto. Finalmente, la Figura 5(d) visualiza solamente la parteósea.

    6.2. Malla de la Cabeza

    Esta malla representa una cabeza humana y consta de 3 sub-mallas, conformadas por lostetraedros del exterior del volumen, de los tejidos y del cráneo respectivamente. La Figura 6(a)muestra una de las imágenes de las cuales se obtuvo esta malla, se distingue que el color delos huesos y de los tejidos es distinto por lo que los valores escalares en las sub-mallas serándistintos. La Figura 6(b) resalta claramente las fronteras entre el cráneo y los tejidos. Aplicartransparencia total a la sub-malla de los tejidos nos permite visualizar solamente el cráneo comolo muestra la Figura 6(c). La Figura 6(d) es el resultado de aplicar alta opacidad a la sub-mallade los tejidos.

    17 JPC2007

  • (a) Imagen base. (b) Fronteras: cráneo ytejidos.

    (c) Solamente el cráneo. (d) Aplicando opacidada los tejidos.

    Figura 6: Imágenes de la malla de la cabeza.

    6.3. Malla de la Alcancı́a

    Esta malla tetraedral representa una tı́pica alcancı́a conteniendo monedas. Compuesta por25 sub-mallas, la primera está conformada por los tetraedros del espacio exterior del volumen,la segunda por los tetraedros de la alcancı́a y las 23 restantes están conformadas por los tetrae-dros de cada una de las monedas en el interior. Los valores escalares de los tetraedros de laalcancı́a y de los tetraedros en las monedas tienen valores cercanos como se puede ver en laFigura 7(a). Por lo tanto es muy difı́cil visualizar claramente las monedas en el interior de laalcancı́a mediante renderizado convencional. La Figura 7(b) muestra una imagen obtenida porrenderizado convencional aplicando transparencia a toda la sub-malla, en ella se puede obser-var de manera difusa el interior. Si aplicamos funciones de transferencia a cada moneda y a laalcancı́a podremos visualizar claramente el contenido. Esto lo logramos aplicando un alto valorde transparencia en la sub-malla de la alcancı́a, lo cual permitirá observar las monedas lo quese muestra en la Figura 7(c).

    (a) Imagen base. (b) Renderizado convencio-nal.

    (c) Funciones de transferen-cia en cada sub-malla.

    Figura 7: Imágenes de la malla de la alcancı́a.

    7. Conclusiones y Trabajos Futuros

    Actualmente, existe una tendencia de crear algoritmos que generen mallas tetraedrales apartir de una serie de imágenes. La visualización de este tipo de mallas es llevada a cabo me-diante algoritmos de renderizado tradicionales tales como los algoritmos Projected Tetrahe-

    JPC2007 18

  • dra [Shirley and Tuchman, 1990] y Ray Casting [Bunyk et al., 1997]. Parte de esta tendenciafue el surgimiento del algoritmo Imesh [Cuadros-Vargas, 2006] capaz de generar mallas a partirde imágenes, además de esto, el algoritmo realiza un proceso de segmentación en la malla lo queorigina información adicional de segmentación. En este trabajo se ha realizado una adaptacióndel algoritmo Projected Tetrahedra en la cual se aprovecha la información de segmentación dela mallas producidas por el algoritmo Imesh. A partir de la información adicional que está dispo-nible en mallas tetraedrales segmentadas es posible generar visualizaciones más elaboradas. Unejemplo de esto es el hecho de que se puedan aplicar funciones de transferencia separadamentea cada sub-malla del conjunto.

    Aplicando esta idea es posible que en el caso de tener dos sub-mallas con los mismos valoresescalares, las cuales no podrı́an ser visualizadas adecuadamente mediante un algoritmo tradi-cional, se pueda resaltar u opacar las sub-mallas que son de interés o aplicar distintos criteriosde renderizado que permitan resaltar las fronteras entre ellas; ejemplos de estas visualizacionesson las mostradas en la Sección 6.

    Con la información de segmentación también es posible tener noción de lo que es o no esfrontera entre sub-mallas. A partir de esto, es posible resaltar únicamente los bordes y ayu-dar a la visualización dando otro aspecto. Adicionalmente, se pudo visualizar solamente losbordes de una sub-malla pero esto no fue posible debido a que se trata de un caso de visua-lización de superficies que implica otras técnicas de renderizado. Sin embargo, la posibilidadde visualizar los bordes no es descartada y puede ser tratada en trabajos futuros. Al visualizarmallas tetraedrales segmentadas mediante esta adaptación, resulta tediosa la tarea de configurarla visualización cuando se trata con un gran número de sub-mallas. Sin embargo, es posibleamenizar esto al generar una configuración inicial con valores aleatorios en cada función locual no quita la dificultad de configurar manualmente la visualización. En este trabajo se explo-raron algunas posibilidades de visualización que ofrece la información de segmentación. Estohace pensar que otros algoritmos tradicionales de renderizado directo de volúmenes puedan sertambién extendidos a este nuevo contexto.

    La adaptación propuesta del algoritmo Projected Tetrahedra y la extensión de esta ideaa otros algoritmos es posible que sean implementados en hardware. La implementación enhardware lleva consigo una aceleración considerable de la velocidad obtenida en las pruebasrealizadas en este trabajo. El desarrollo de una interfaz gráfica podrı́a amenizar más la tarea deconfiguración de la visualización.

    Entre otros trabajos futuros esta el desarrollo de aplicaciones de renderizado de mallas tetra-edrales segmentadas que puedan ser útiles para diferentes áreas como la medicina, la deforma-ción de mallas, visualización cientı́fica, desarrollo de algoritmos geométricos, realidad virtual,etc.

    8. Agradecimientos

    Nos gustarı́a agradecer al Dr(c). Eduardo Tejada y al Mg. Juan Carlos Gutiérrez por suapoyo y colaboración en el desarrollo de este trabajo.

    Referencias

    [Berti, 2004] Berti, G. (2004). Image-based unstructured 3d mesh generation for medical appli-cations. In ECCOMAS - European Congress On Computational Methods in Applied Sciences

    19 JPC2007

  • and Engeneering.[Bunyk et al., 1997] Bunyk, P., Kaufman, A., and Silva, C. (1997). Simple, fast, and robust

    ray casting of irregular grids. In Proceedings of the Dagstuhl’97 - Scientific VisualizationConference, pp. 30–36, 1997.

    [Cuadros-Vargas et al., 2006] Cuadros-Vargas, A., Nonato, L., Tejada, E., and Ertl, T. (2006).Generating segmented tetrahedral meshes from regular volume data for simulation and visua-lization applications. In Computational Modelling of Objects Represented in Images 2006.

    [Cuadros-Vargas, 2006] Cuadros-Vargas, A. J. (2006). Volumetric mesh generation from ima-ges. PhD thesis, Institute of Mathematical Sciences and Computing - University of Sao Paulo- Brazil.

    [Engel et al., 2001] Engel, K., Kraus, M., and Ertl, T. (2001). High-quality pre-integrated vo-lume rendering using hardware accelerated pixel shading.

    [Hale, 2001] Hale, D. (2001). Atomic images - a method for meshing digital images. In 10thInternational Meshing Roundtable, pages 185–196.

    [Kniss et al., 2005] Kniss, J., Kindlmann, G., and Hansen, C. D. (2005). MultidimensionalTransfer Functions for Volume Rendering - The Visualization HandBook, chapter 9, pages189–209. Academic Press.

    [Kraus et al., 2004] Kraus, M., Qiao, W., and Ebert, D. S. (2004). Projecting tetrahedra withoutrendering artifacts. In VIS ’04: Proceedings of the conference on Visualization ’04, pages27–34, Washington, DC, USA. IEEE Computer Society.

    [NVIDIA, 2005] NVIDIA (2005). Nvidia nfinitefx engines: Programmable vertex shaders.technical brief.

    [Sadowsky et al., 2005] Sadowsky, O., Cohen, J. D., and Taylor, R. H. (2005). Rendering tetra-hedral meshes with higher-order attenuation functions for digital radiograph reconstruction.vis2005 IEEE Computer Society, page 39.

    [Shirley and Tuchman, 1990] Shirley, P. and Tuchman, A. (1990). Polygonal approximation todirect scalar volume rendering. In Proceedings San Diego Workshop on Volume Visualiza-tion, Computer Graphics,1990, number 5, pages 63–70.

    [Sondershaus and Straßer, 2006] Sondershaus, R. and Straßer, W. (2006). View-dependent te-trahedral meshing , rendering using arbitrary segments. 14th International Conference inCentral Europe on Computer Graphics, Visualization and Computer Vision 2006.

    [Stein et al., 1994] Stein, C., Becker, B., and Max, N. (1994). Sorting and hardware assistedrendering for volume visualization. In Arie Kaufman, W. K., editor, 1994 Symposium onVolume Visualization, pages 83–90.

    [Tejada and Ertl, 2005] Tejada, E. and Ertl, T. (2005). Large Steps in GPU-based DeformableBodies Simulation. University of Stuttgart, Institute of Visualization and Interactive Systems,Germany.

    [Wylie et al., 2002] Wylie, B., Morel, K., Fisk, L. A., and Crossno, P. (2002). Tetrahedralprojection using vertex shaders. In VVS ’02: Proceedings of the 2002 IEEE symposium onVolume visualization and graphics, pages 7–12, Piscataway, NJ, USA. IEEE Press.

    [Zhang et al., 2003] Zhang, Y., Bajaj, C., and Sohn, B.-S. (2003). Adaptive , quality 3D mes-hing from imaging data. In SM ’03: Proceedings of the eighth ACM symposium on Solidmodeling and applications, pages 286–291.

    JPC2007 20

  • Learning to Collaborate from Delayed Rewards in Foraging LikeEnvironments ∗

    Dennis Barrios-Aranibar1 Luiz Marcos Garcia Gonçalves 11Department of Computing Engineering and Automation

    Federal University of Rio Grande do NorteLagoa Nova 59.072-970 - Natal - RN - Brazil

    {dennis,lmarcos}@dca.ufrn.br

    AbstractMachine learning techniques are usually used in coordination problems and in competitive games but not in

    collaborative ones. Collaboration and coordination are different. While in coordination the task can not beconcluded by a unique agent, in collaboration it can be solved by one agent or by a team. Also, the use of severalagents has to be re�ected in the performance of the system. In this work, authors propose the use of in�uence valuereinforcement learning - IVRL (created by them) in collaborative problems. The collaborative problem chosento test our approach was a foraging game. In early works, authors show experimentally that, in coordinationproblems, the IVRL paradigm performs better than the traditional paradigms (independent learning and jointaction learning). In this paper, authors compare their new paradigm (IVRL) with the traditional ones in order toestablish if reinforcement learning is well suited to be used in collaboration problems. Also the second goal of thiswork is to compare the performance of our approach with the traditional ones in collaborative problems. It wasobserved that the proposed paradigm performs better than the traditional ones in the selected problem.

    1. Introduction

    Foraging can be described as a search for provisions (food) (Hayat and Niazi, 2005). Severalcomputational problems can be viewed as a foraging problem, for example searching in the web,routing in a network, path planning and so on.

    There exist several biologically inspired algorithms for solving the foraging problem. Swarmintelligence are one such class of algorithms inspired by the collective foraging behavior of ants(He et al., 2006). In general, goal of algorithms for foraging in multi agent systems is to opti-mize this process (e.g. do it in the smaller possible time).

    Liu and Passino showed that Social foraging in large groups has advantages relative to for-aging alone. Since, they show that a noisy resource pro�le can be more accurately tracked by aswarm than an individual (Liu and Passino, 2004).

    Foraging inspired algorithms were applied to motion planning for articulated robots (Mo-hamad et al., 2006), to task assignment for multiple mobile robots (Zhang et al., 2007), todevelop search engines (Walker, 2007) and a lot more.

    For solving the foraging problem, agents have to collaborate one each other. Also, coor-dination, collaboration and cooperation are three terms indistinctly used when working withmulti-agent systems. In this paper, de�nitions proposed by Noreils (Noreils, 1993) were used.Here, cooperation occurs when several agents or robots are gathered together so as to performa global task. Coordination and collaboration are two forms of cooperation.

    ∗This work is supported by Conselho Nacional de Desenvolvimento Cient�́�co e Tecnológico CNPq/Brasil.

    21 JPC2007

  • Coordination occurs when an entity coordinates its activity with another - or it synchronizesits action with respect to the other entity- by exchanging information, signals, etc. And, Collab-oration occurs when agents decompose the task into subtasks and each subtask being performedby a speci�c agent.

    In this sense, because foraging can be performed by one, two, ten our thousands of agentsand because if one agent fails to commit its goal the task still can be �nished, it is consideredas a collaboration problem and not a coordination problem. In pure coordination problems theglobal task can not be �nished if one agent fails.

    Also, there exist mix problems where agents have to collaborate and coordinate to achievethe global task. An example of those problems could be a foraging problem where food can becarried only by two agents at the same time.

    Swarm intelligence and other biologically inspired algorithms like those inspired in theimmunological system are well suited for this kind of problems, but in general they considernon learning agents, thus the hole system self-organize but each agent does not learn from theenvironment in order to modify its behavior.

    In the other hand, reinforcement learning algorithms are well suited for problems whereagents have to learn from the environment. Then, imagine a problem where agents have toself organize (collaborate without any constraint guiding it) and at the same time they have tolearn individually how to commit their own goal. A solution for this kind of problem could beimplemented by using an hybrid system. This system have to mix two algorithms, the �rst onefor allocating task to each agent, and, the second one for learning to solve each individual task.In this paper we try to answer the question: it is possible to use only reinforcement learningalgorithms for this purpose?.

    In this paper authors evaluate, in collaborative problems, the two kinds of reinforcementlearning solutions traditionally used in multi-agent systems and a new one proposed by themin early work. Our approach outperforms traditional ones in repetitive coordination games fortwo agents (Barrios-Aranibar and Gonçalves, 2007a) and in stochastic coordination games fortwo agents (Barrios-Aranibar and Gonçalves, 2007b; Barrios-Aranibar and Gonçalves, 2007c).This evaluation is an intend to answer two questions: Can reinforcement learning algorithms beused for collaboration problems? and if the answer for last question is positive, then: Do IVRLoutperforms traditional ones in collaborative problems?.

    2. Learning from Delayed Rewards in Foraging like Environments

    As said before, reinforcement learning algorithms are well suited for problems on whichagents have to learn certain behavior individually, and they were widely applied in coordinationproblems (Barrios-Aranibar and Alsina, 2005; Noreils, 1993; Kononen, 2004; Kok and Vlassis,2004; Claus and Boutilier, 1998). The only work found in foraging like environments is the oneof Hayat and Niazi, which proposed a modi�ed version of Q-Learning algorithm with searchcapabilities that capitalizes on initial food discovery (Hayat and Niazi, 2005).

    Algorithms for multi agent reinforcement learning can be divided in two paradigms: Inde-pendent learning (IL) and joint action learning (JAL). Independent learners are those that learnindependently as if other agents are only a part of the environment. Thus, an agent only matterswith the reward obtained from the environment and not with the actions that may be performedby other agents, nor with the relation between its actions and other agents actions. In this sense,traditional reinforcement learning algorithms can be applied without any modi�cation.

    JPC2007 22

  • In the other hand, joint action learners are those that learn to perform actions in combinationwith actions of teammates. Thus, they calculate the values of their actions when combined withactions of other agents. Each combination is known as a joint action. Also, the agent decidewhat action to perform based on the actions that other agents will probably execute. In thissense, each agent has to construct a model of the behavior of teammates.

    This work focuses in multi agent problems where an agent has to learn to perform a taskwhile learns to collaborate with teammates. For example, imagine a foraging problem on whichagents do not know how they can exploit food sources. Then, they have to learn how to do itand at the same time they have to collaborate. Thus, it is not desirable that they compete eachother.

    In this sense, both paradigms are going to be applied without modi�cation for analyzing theybehavior in this kind of problems. Also, because Q-Learning is the best known reinforcementlearning algorithm, here, algorithms are going to be based on it.

    Q-Learning algorithm for IL (IQ-Learning) is de�ned by equation 1.

    Q(st, at) ← Q(st, at)+α(rt+1 + γ max

    aQ(st+1, a)−Q(st, at)) (1)

    where Q(st, at) is the value of the action at in the state st, α is the learning rate (0 ≤ α ≤ 1), γis the discount rate (0 ≤ γ ≤ 1), st+1 is the resulting state after executing the action at. And, ris the instantaneous reward obtained by executing the action at.

    A modi�ed version of Q-Learning for JAL, the so called JAQ-Learning algorithm, is de�nedby the equation 2

    Qi(st, a1t, ..., aNt) ← Qi(st, a1t, ..., aNt)+α(rt+1 + γ max

    a1,...,aNQi(st+1, a1, ..., aN)−Qi(st, a1t, ..., aNt)) (2)

    where ait is the action performed by the agent i at time t, N is number of agents, Qi(st, a1, ..., aN)is the value of the joint action (a1t, ..., aNt) for agent i in the state st, rt+1 is the reward obtainedby agent i as it executes action ait and as other agents execute actions a1t, ...,a(i−1)t,a(i+1)t,...,aNt respectively, α is the learning rate (0 ≤ α ≤ 1) and γ is the discount rate (0 ≤ γ ≤ 1).

    However, an agent has to decide between its actions and not between joint actions. Forthis decision, it uses the expected value of its actions. The expected value includes informationabout the joint actions and current beliefs about other agent (Equation 3).

    EV (st, ai) ←∑

    a−i∈A−iQ(st, a−i ∪ ai) ∗

    j 6=iPrt(a−ij) (3)

    where ai is and action of agent i, EV (st, ai) is the expected value of action ai in state st,a−i is a joint action formed by actions of other agents, A−i is the set of joint actions of otheragents excluding agent i, Q(st, a−i ∪ ai) is the value of joint action of all agents in state st andPrt(a−ij) is the probability of agent j performs action aj that is part of joint action a−i in statest.

    3. Opinion and In�uence in Multi Agent Learning

    In early work, authors propose a new paradigm for multi-agent reinforcement learning in-spired on social interaction of people (Barrios-Aranibar and Gonçalves, 2007a; Barrios-Aranibar

    23 JPC2007

  • and Gonçalves, 2007b; Barrios-Aranibar and Gonçalves, 2007c). Authors conjecture that whentwo persons interact, they communicate to each other what they think about their actions. Thus,if a person A does not like an action performed by another person B, then A may protest, gen-tly, against B. If the person B continues doing the same action, then A gets angry and angrilyprotest against B. Note that the protesting force is proportional to the number of times the actionis repeated. At some time, person A may eventually �ght against B.

    On the other hand, if a person A likes the action performed by another person B, then Apraises B. Also if the performed action is very good, then person A praises B a lot. Note thatif B continues to perform this action, then A will be accustomed and with time A will stopspraising B. This means that the praising force is inversely proportional to the number of timesthe action is repeated.

    Authors also note that protests and praises of other people can in�uence the behavior of aperson. When other people protests against someone, he tries to avoid actions that caused theseprotests and when the opposite occurs (people praises him), he tries to repeat the same actions.

    Inspired in the fact explained above, authors propose a new paradigm for machine learningcalled In�uence Valued Reinforcement Learning (IVRL). In this approach, agents calculatethe value of their individual actions based on a global reward (reward given by the environment)and on a value called in�uence value.

    The in�uence value for an agent is calculated by the product of an in�uence rate (0 ≤ β ≤ 1)and the opinion of other agents have about agent's action.

    The in�uence rate (β) tells if the agent is or not in�uenced by the opinion of other agents.Opinion is the value that other agents have about the action of an agent. If the instantaneousreward that the agent receives at a certain time plus the value of the new state that the agentreaches is greater than the value of its own action, the opinion about the actions performedby the other agents is positive and inversely proportional to the times that the other agentsperformed the actions. If the reward that the agent receives plus the value of the new state islesser than the value of its own action, the opinion about the actions performed by other agentsis negative and directly proportional to the times that the other agents performed the actions.

    4. Learning from Delayed Rewards using IVRL algorithms

    The best known algorithm that permits agents to learn from delayed rewards is the Q-Learning algorithm where agents learn values of state-action pairs. Thus, in this work a mod-i�ed version of this algorithm called IVQ-learning was developed using the In�uence ValuedReinforcement Learning paradigm. In this sense the action value for the delayed reward ismodi�ed using the Equation 4.

    Q(s(t), ai(t)) ← Q(s(t), ai(t)) + α(ri(t + 1)+γ max

    ai∈AiQ(s(t + 1), ai)−Q(s(t), ai(t)) + IVi) (4)

    where Q(s(t), ai(t)) is the value of action ai(t) executed by agent i, α is the learning rate(0 ≤ α ≤ 1), γ is the discount rate (0 ≤ γ ≤ 1), ri(t + 1) is the instantaneous reward obtainedby agent i and IVi is the in�uence value of agent i.

    The in�uence value for agent i in a group of N agents is de�ned by equation 5.

    IVi =i−1∑j=1

    βi(j) ∗OPj(i) +N∑

    j=i+1

    βi(j) ∗OPj(i) (5)

    JPC2007 24

  • 0

    1

    2

    3

    4

    5

    6

    Figure 1: Foraging game for testing collaboration between agents.

    where βi(j) is the in�uence rate of agent j over agent i, OPj(i) is the opinion of agent j inrelation to action executed by agent i.

    Opinion of agent j in relation to actions of agent i is de�ned by equation 6.

    OPj(i) =

    RVj ∗ Pe(s(t), ai(t)) Se RVj < 0RVj ∗ (1− Pe(s(t), ai(t))) Se RVj > 00 in other case

    (6)

    whereRVj = rj + max

    aj∈AjQ(s(t + 1), aj)−Q(s(t), aj(t))

    Pe(s(t), ai(t)) is the occurrence index (times action ai is executed by agent i in state s(t) overtimes agent i have been in state s(t)), Q(s(t), aj) is the value of the state-action pair of the agentj at time t and Aj is the set of all actions agent j can execute.

    5. Experimental Results

    In order to test collaboration and self organization (automatic task assignment) in a groupof reinforcement learning agents, authors create the foraging game showed in �gure 1. In thisgame, a team of agents have to �nd food in the environment and eat it. When food in theenvironment no more exists, then, the game �nishes. Initially, agents do not know that reachingfood they are going to win the game, then, they have to learn that eat food is good for them andalso they have to learn to �nd it in the environment in order to win the game.

    This game is composed by seven platforms joined by bridges. The start platform (platform0) is joined by bridges to two platforms (platform 1 and 2). Finally platforms 1 and 2 are alsojoined with another two platforms (platform 3 and 4 with platform 1 and 5 and 6 with platform2). Also food is located in platforms 3, 4, 5 and 6. Agents starts in platform 0 as showed in�gure 1 and they have three actions to perform in the game (go right, go left, and return). Whenan agent performs action go right, it enters into the bridged (if there exist) and walks untilreach the platform located at the right of the current platform. For example if an agent is inplatform 0 and it performs action go right he is going to walk until platform 1. In an analogway, action go left will lead the agent to platform located at the left of current platform. In theother hand, action return will permit that agents come back to previous platform. For exampleif an agent is in platform 2 and it performs action return then it is going to walk until platform0. If an action can not be performed because the link does not exist, then agent remains in itsplatform.

    25 JPC2007

  • 0

    1 2

    3 4 5 6

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    Figure 2: Strategy of one Reinforcement Learning Agent Solving the Foraging Game.

    In reinforcement learning algorithms it is important to model the state of the environmentand the way agents will receive rewards or not during the game. In this game, the state is formedby each agent position in the world and four �ags indicating if there exist or not food on each ofthe four feeding platforms. Note that the state does not include locations of feeding platforms,thus, agents have to �nd them during the game. Also, when agents reach food, they will receivea positive reward equal to 1. In other cases agents will not receive any reward. With this modelof immediate rewards, it is expected that agents learn the path to reach food from any locationin the game. It is important to observe that this model only assures that agent learns to �nd foodbut not the way it will be exploited.

    Another element that is necessary to be de�ned in a reinforcement learning algorithm isthe action selection policy. In this work we use the softmax action selection policy for allalgorithms. This policy is de�ned by Boltzman equation (equation 7)

    Pr(a) =eQ(a)/T∑a′ e

    Q(a′)/T (7)

    where T is a temperature parameter.For testing the model of the game, an agent using the traditional Q-Learning algorithm was

    implemented. Agent was trained in 2000 learning epochs, with parameters: α = 0.1, γ = 0.1and with a T = 0.3. After learning process, knowledge of the agent was tested, at this time theaction selection policy was a greedy one (The action with the greatest Q value was selected oneach state) and the resultant strategy is showed in �gure 2.

    Figure 2 shows the strategy of the agent as a directed graph where edges are platforms inthe game and vertices are the discrete time when the agent pass from one platform to another.As showed in this �gure, agent reach an optimal behavior in this game (complete the task in 10discrete times), this result shows that the model used for the game is appropriate for solving thisproblem using reinforcement learning algorithms.

    In order to test capabilities of reinforcement learning convergence to an optimal collabora-tive strategy, the same problem was implemented using two agents. In this game, when usingtwo collaborative agents, the optimal strategy will take only 4 discrete times for �nishing thegame. Because, in the optimal case, when both agents are in platform 0 one has to take theaction go right and the other the action go left. Thus each one will explode 2 food sources(�gure 3).

    IQ Learning, JAQ Learning and IVQ Learning were implemented in this problem with20000 learning epochs. Also each algorithm was trained 10 times, and 3 different values ofparameter α (0.05,0.1,0.15) were used. Because our approach (IVQ Learning) has an extra pa-rameter (β), it was trained with six different values: beta = 0.05, 0.1, 0.15, 0.2, 0.25, 0.3.

    JPC2007 26

  • 0

    1 2

    3 4 5 6

    1

    2

    3

    4

    (a) Agent 1

    0

    1 2

    3 4 5 6

    1

    2

    3

    4

    (b) Agent 2

    Figure 3: Optimal Strategy of two Agents Solving the Foraging Game

    IL JAL IVL 0.05 IVL 0.1 IVL 0.15 IVL 0.2 IVL 0.25 IVL 0.34

    5

    6

    7

    8

    9

    10

    11

    12

    13

    Algorithms

    Tim

    e to

    Sol

    ve th

    e F

    orag

    ing

    Pro

    blem

    alpha = 0.05alpha = 0.1alpha = 0.15

    Figure 4: Comparison of the Time Needed to Solve the Foraging Game for two Agents

    IL JAL IVL 0.05 IVL 0.1 IVL 0.15 IVL 0.2 IVL 0.25 IVL 0.30

    0.1

    0.2

    0.3

    0.4

    0.5

    0.6

    0.7

    0.8

    0.9

    Algorithms

    Per

    cent

    age

    of T

    imes

    the

    Pro

    blem

    was

    Sol

    ved

    in F

    our

    Ste

    ps

    alpha = 0.05alpha = 0.1alpha = 0.15

    Figure 5: Comparison of the Percentage of Times two Agents Found the Optimal Solution ofthe Foraging Game

    27 JPC2007

  • 0

    1 2

    3 4 5 6

    1

    2

    3

    4

    (a) Agent 1

    0

    1 2

    3 4 5 6

    3

    4

    1

    2

    (b) Agent 2

    0

    1 2

    3 4 5 6

    3

    4

    1

    2

    (c) Agent 3

    Figure 6: Strategy of Three Independent Learning Agents Solving the Foraging Game withα = 0.1, γ = 0.1 and T = 0.3

    0

    1 2

    3 4 5 6

    1

    2

    3

    45

    6

    (a) Agent 1

    0

    1 2

    3 4 5 6

    1

    23

    45

    6

    (b) Agent 2

    0

    1 2

    3 4 5 6

    1

    2

    3

    45

    6

    (c) Agent 3

    Figure 7: Strategy of Three Joint Action Learning Agents Solving the Foraging Game withα = 0.1, γ = 0.1 and T = 0.3

    Thus, we constructed 8 algorithms and trained it 10 times each one. For all algorithms, theparameter γ was chosen to be 0.05.

    In �gure 4, a comparison of these eight algorithms is showed. This comparison is based onthe number of steps needed by the two agents to solve the problem. This value is calculatedconsidering the mean of 100 tests for each algorithm and parameter α. As said before, in theoptimal strategy the number of steps must be four. In this context, it was observed that ourapproach with parameters β = 0.15 and α = 0.15 had the best performance.

    Figure 4 shows the mean of number of steps need for each algorithm to solve the problem.But, in certain tests, the algorithms could converge to the optimal strategy (four steps). Thenit is important to analyze the number of times each algorithm converge to this strategy. Thisanalysis is showed in �gure 5. In this �gure, the percentage of times each algorithm converge tothe optimal solution is showed. Again, it could be observed that our approach performs better.Also, the best IVQ Learning was the one with parameters β = 0.15 and α = 0.15.

    In order to analyze the performance of our approach with three agents in comparison with

    0

    1 2

    3 4 5 6

    1

    2 34

    (a) Agent 1

    0

    1 2

    3 4 5 6

    34

    1

    2

    (b) Agent 2

    0

    1 2

    3 4 5 6 34

    1

    2

    (c) Agent 3

    Figure 8: Strategy of Three In�uence Value Learning Agents Solving the Foraging Game withα = 0.1, γ = 0.1, β = 0.1 and T = 0.3

    JPC2007 28

  • traditional ones, they was trained with parameters: α = 0.1, γ = 0.1, β = 0.2 and with aT = 0.3. Figures 6,7 and 8 shows the greedy strategy obtained using the knowledge of agentsafter the 75000 training epochs.

    As showed in �gure 6, independent learning agents can not collaborate each other in order tocomplete the task. The use of three agents was unnecessary. It could be observed that agent twoand three made the same things. Thus, one of them is not necessary. On the other hand, agentsusing joint action learning paradigm converges to a non optimal strategy (�gure 7), Agents usingthis paradigm needed six steps to complete the task. Also, agent 3 was unnecessary because itsactions are redundant.

    Finally, the in�uence value paradigm proposed by authors, converge to the optimal collabo-rative strategy. As showed in �gure 8, Initially, agents automatically divide the problem into twosubproblems, the �rst one to be solved by the agent one and the second problem to be solvedby agents two and three. Next, agents 2 and 3 divide their subtask into two sub-subtasks. Thus,agents learning using our approach really collaborate and divide automatically the problem.

    In multi-agent and multi-robot systems, developers has to implement the problems of divid-ing task and learning how to solve individual task, by using two kind of algorithms (two stages).The �rst algorithm has to assure a good task allocation and the second one a good collaborationor cooperation. It could be observed that our experiments suggest that, by using our approach,we will not need to make this two stages because it could train agents that automatically allocatetasks and collaborate or coordinate each other.

    6. Conclusions and Future Works

    In this work, an important result for multi agent learning was obtained. When solving acollaborative problem, a group of agents has to �rst divide the global task, this process is calledtask allocation problem. After it, agents have to solve each individual task in order to achievethe global one. Nowadays, this two problems (task allocation and individual task solving) aresolved using hybrid systems, where one algorithm solves the task allocation problem and an-other solves the individual task resolution problem. In this paper, authors shows experimentallythat by using their new approach called In�uence Value Reinforcement learning a group ofagents can solve the two problems at the same time. This results were obtained for the simplescollaboration case, but they encourage authors to test it in more complex problems.

    After the experiments, authors can conclude that in comparison with the traditional ap-proaches, in�uence value reinforcement learning is the unique reinforcement learning algorithmthat could give to a multi-agent system the possibility of learning to collaborate. it can be con-cluded because, for two agents, our approach has the best probability of convergence to theoptimal solution. Also, when testing with three agents, it was observed that the unique algo-rithm that converges to a collaborative solution was our approach. It was observed that agentsdivide task into subtask ef�ciently.

    Also, because results in this paper were obtained using a simple game, it is important to testour approach in comparison with the others in other problems and with several agents. But, t