lunes, 30 de abril de 2012

Agentes moviles

La programación orientada a objetos representó en su tiempo un gran salto adelante con respecto a la programación estructurada. La teoría de agentes establece una serie de mecanismos que pretenden dar un paso más allá en el tratamiento informático distribuido, añadiendo características como la localización o la situación, y permitiendo la interacción dinámica de componentes autónomos y heterogéneos. La teoría de los agentes, y por extensión la asociada a los agentes móviles, va un paso más allá en el procesamiento entre módulos funcionales cooperantes y espacialmente separados, al permitir la programación de entidades computacionales móviles con capacidad de representación para ejecutar determinadas tareas en el ambiente citado y asociado con los sistemas distribuidos y las redes de computadoras.

Según los editores Imielinski y Korth, en el libro publicado el año 1996 titulado “Computación móvil”, un agente software es un módulo software que se ejecuta en un cierto lugar o contexto de ejecución. Un lugar es creado utilizando un sistema de agentes, el cual es una plataforma que puede crear, interpretar, ejecutar, transferir y liberar agentes. Un agente posee las siguientes propiedades principales, aclarando que en algunos contextos específicos no tienen porque concurrir todas las propiedades: (1) Autonomía, posee el control sobre sus propias acciones; (2) Finalidad, gestiona una agenda de objetivos; (3) Cooperación, un agente es capaz de comunicarse con otros agentes; (4) Aprendizaje, cambia su comportamiento de acuerdo a su experiencia previa; (5) Movilidad, puede viajar de una computadora a otra, en realidad de un lugar a otro; (6) Reactividad, siente los cambios de su entorno y reacciona ante ellos; (7) Persistencia, para interrumpir su ejecución y continuarla más adelante. Sin embargo, en el contexto de los sistemas de información distribuidos la movilidad se convierte en una de las características más interesantes. Algunos de los sistemas de agentes móviles más relevantes son Aglets y Voyager. Aglets es una biblioteca de clases Java empleada para el desarrollo de agentes móviles. Fue creada por el Laboratorio de Investigación IBM de Tokyo, por los investigadores Lange y Oshima, reportado en el libro escrito el año 1998 titulado “Programación y desarrollo de agentes móviles Java con Aglets”. Un aglet es un objeto Java transportable y persistente que se ejecuta de manera asíncrona en un nodo que posee un contexto de ejecución. El contexto de ejecución proporciona un ambiente seguro, protegiendo tanto al nodo como al aglet de aglets maliciosos. Un aglet refleja el modelo de applet en Java pero brindándole la propiedad de movilidad. Aglet es una palabra que resulta de la combinación de los términos agente y applet y representa el siguiente paso en la evolución de contenido ejecutable en Internet. Por su parte Voyager es una plataforma escrita en Java para el desarrollo de cómputo distribuido basada en agentes y fue creado por la empresa ObjectSpace el año 1999. Esta plataforma proporciona un extenso conjunto de objetos con capacidades de mensajería, así como objetos que se mueven como agentes en una red. De esta forma se puede decir que Voyager permite crear aplicaciones de red utilizando alguna técnica de programación convencional o bien fundada en agentes, mayores detalles pueden ser consultados en el sitio: http://www.objectspace.com.

Según Lange y Oshima, en la obra citada anteriormente, los agentes móviles se caracterizan por su capacidad para desplazarse entre los nodos de una red de aplicaciones distribuidas. En palabras de los investigadores Huhns y Singh, en las lecturas sobre agentes reportadas el año 1998, en el caso de agentes no móviles, todo el proceso que se desea o necesita realizar se completa en el propio nodo que inició su ejecución, en el que se mantendrá durante todo su tiempo de vida. La solicitud de información a otros nodos se realizará mediante los mecanismos habituales de comunicación como son las llamadas a procedimientos remotos. Los agentes móviles, con su capacidad para desplazarse, permitirán aprovechar las capacidades de los distintos nodos por los que se pueden desplazar para mejorar el rendimiento en la obtención del objetivo perseguido. Diversos autores, propugnan que los agentes móviles son una de las últimas etapas en la evolución de los sistemas distribuidos que en un futuro, podrían estar formados únicamente por una red compleja de agentes inteligentes móviles, lo que se considera un multiagente.

Según el investigador Karnik, en su tesis de doctorado escrita el año 1998 titulada “Seguridad en sistemas de agentes móviles”, el paradigma del agente móvil ha sido estudiado por muchos especialistas en diferentes campos. Por esta razón este concepto se encuentra en un abanico muy amplio de sistemas y aplicaciones aunque no siempre tratado del mismo modo. Algunas de las aplicaciones más características de este paradigma son el comercio electrónico y los sistemas que implican algún tipo de negociación. En general, se puede decir que desde el punto de vista de la transmisión de datos, el concepto del agente siempre resulta conveniente en los casos en los que se procesan datos remotos, el programa es mucho menor que los mismos, o las características del almacenamiento de esos datos hacen inconveniente su transmisión. Evidentemente en aplicaciones tales como las de comercio electrónico en las que se gestiona dinero, la confianza de los usuarios es un prerrequisito para su uso. Los agentes móviles son procesos software capaces de desplazarse dentro de redes de área amplia, como Internet, interactuando con hosts remotos, recogiendo información para el usuario y retornando al lugar de origen habiendo llevado a cabo las tareas solicitadas por el usuario.

Los agentes móviles también se denominan agentes transportables, agentes itinerantes, agentes de red, agentes ágiles y objetos móviles. Una definición de agente móvil es propuesta por Lange y Oshima, en la obra citada del año 1998, como: Un objeto de software que es capaz de migrar entre los nodos o dominios de una red en un sistema distribuido. Creado en un entorno de ejecución, el agente puede transportar su estado, valores de sus atributos que le sirven para determinar qué hacer cuando se reanuda la ejecución del mismo en el entorno destino, y su código, referido como instrucciones que forman lo que el agente debe ejecutar, a otro contexto en donde reanudará la ejecución. Estos agentes aprovechan los recursos del nodo destino en beneficio del nodo que los inició. También se considera por otros autores que un agente móvil puede entenderse como la unión del código del agente, los estados de ejecución, los datos y el itinerario. Todos estos elementos deben ser portables para migrar y ser ejecutados en distintos nodos. Las características de un agente móvil reseñadas en los distintos trabajos sobre estos, son las mismas que ya se vieron para los agentes en general pero extendidas y con matices respecto a la movilidad de la que disponen: (1) Autonomía de movimiento, ya que será un proceso autónomo o semiautónomo, capaz de decidir cuándo, cómo y en qué condiciones migrar desde el nodo de residencia actual a otro. (2) Persistencia en la movilidad, ya que el objeto agente se envía manteniendo su estado, código y datos al nodo destino. (3) Capaz de suspender su ejecución ante una migración y capaz de reanudarla tras la migración en el mismo punto donde se quedó. (4) Comunicativo con el medio, con otros agentes y con el usuario con el que trabaja, a pesar de los cambios. Es decir, es capaz de interactuar con los agentes de un nuevo nodo, con el propio nuevo nodo y con el usuario que ahora puede estar en otro nodo distinto, más alejado. (5) Enfocado a la realización de tareas, bien delegadas por su usuario o bien obtenidas a través del estado del entorno en el que se encuentra. (6) Independiente de la conexión, si esta cae por algún motivo, el agente podrá migrar a otro nodo con conexión si es necesario o esperar a que la conexión se reanude bien permaneciendo activo, bien desactivándose. (7) Ejecutable asíncronamente, mediante su propio hilo de ejecución, independiente del resto de procesos y agentes ejecutados en el mismo nodo. (8) Duplicable, o mejor autoduplicable mediante la creación de un clon de sí mismo, para que le ayude en la tarea ocupando así más recursos del nodo para completar una tarea que puede ser prioritaria.

Los agentes móviles deben: (1) Permitir el cómputo asíncrono y autónomo. Asíncrono por poseer su propio hilo de ejecución que les permite ejecutarse independientemente del resto de procesos del nodo y autónomo por su capacidad para decidir cuándo y cómo actuar según el estado de su entorno. (2) Ser heterogéneos. (3) Propiciar entornos robustos y a prueba de fallos, dada su habilidad para responder a los cambios en su entorno y realizar cambios en su forma de trabajar migrando, esperando o, permaneciendo activos, trabajando aun cuando no hay conexión. (4) Favorecer el procesamiento paralelo. Ya que una tarea compleja, podría ser descompuesta en varias por un agente y encargadas cada una de ellas a otro agente que la realiza, o bien utiliza su hijo para completarla o bien migra a otro nodo donde aprovecha la capacidad del mismo para realizar su tarea. Al final, todas las tareas parciales son reunidas por el agente principal para componer la solución al trabajo. (5) Reducir el tráfico de red. Ya que el uso de agentes permite la solicitud de un cierto servicio y la delegación en el agente de la solicitud que considere oportuna en el nodo de residencia. Sin el uso de agentes, cada servicio del nodo destino requiere una llamada a procedimientos remotos. (6) Mantener comunicación punto a punto. En el paradigma cliente-servidor, el más utilizado en Internet en la actualidad, los servidores no se caracterizan por la comunicación horizontal entre servidores del mismo tipo, que podría resultar muy beneficiosa. En cambio, los agentes son entidades que pueden servir como cliente servidor o bien comunicarse en su mismo nivel con otros agentes.

Referencias Bibliográficas
  • Imielinski T. and Korth H.F. (editors) (1996) Mobile Computing. Kluwer Academic Publishers.
  • Karnik N. (1998) Security in Mobile Agents systems. PhD thesis, Department of Computer Science, University of Minnesota., 1998.
  • Lange D. and Oshima M. (1999) Programming and Deploying Java Mobile Agents with Aglets. Addison Wesley.
  • Object Space (1999) Voyager. http://www.objectspace.com/
Guillermo Choque Aspiazu
Artículo no publicado por El Diario

lunes, 23 de abril de 2012

Sistemas de recomendación

Antes de la llegada de Internet un consumidor de cualquier tipo de producto tenía un acceso limitado a la información relacionada tanto con el producto en si como con otras posibles opciones. La publicidad se convertía así en prácticamente la única forma de dar a conocer un producto, y el problema del usuario era como conseguir una información veraz. En el caso de productos culturales como la música, la radio o las revistas especializadas actuaban como únicos difusores de lo nuevo. Ahora la situación se ha invertido totalmente. De la escasez de información se ha pasado a la saturación. De disponer de algunas estanterías con discos compactos y videos en el centro comercial más cercano se ha pasado a tener acceso a una cantidad inagotable de creaciones culturales en tiendas online o en redes persona a persona. Ahora el problema se ha tornado en como separar lo que se quiere de lo que no se quiere encontrar. Una aproximación para intentar ofrecer a cada persona lo que busca es mediante el análisis del contenido. Para ello se hace una representación del contenido de cada elemento del conjunto y se compara con una representación del contenido que el usuario está buscando. Este filtrado basado en contenido es efectivo principalmente para encontrar documentos textuales en función de unos criterios de búsqueda. Sin embargo es más difícil parametrizar de forma automática contenidos multimedia. Aquí es donde están comenzando a jugar un papel importante los sistemas de recomendación. La idea que subyace tras ellos es encontrar usuarios con gustos similares a los de otro determinado y recomendar a éste cosas que desconoce pero que gustan a aquellos con los que se tiene similitud. Es decir, un sistema de recomendación es un amigo virtual cuyos gustos son una mezcla de los gustos de miembros de la comunidad de usuarios con gustos similares a los de uno mismo.

Según el investigador P. Resnick y sus colegas, en el artículo escrito el año 1995 relacionado con “GroupLens: Una arquitectura abierta para el filtrado colaborativo de noticias en la red”, a principios de la década de los años 1990 empezaron a surgir dentro de los servicios de grupos de noticias, los servicios de filtrado de noticias que permitían a su comunidad de usuarios acceder exclusivamente a aquellas noticias que potencialmente podían ser de su interés. No obstante, el primer sistema de recomendación que apareció fue el llamado “Tapestry”, desarrollado por XeroX PARC. Tapestry es un sistema que permite almacenar el conocimiento de los usuarios sobre los artículos o noticias que éstos han leído y posteriormente es utilizado por otros usuarios que aún no han leído el artículo o noticia, para establecer si la información del documento es relevante o no. En un principio este tipo de sistemas fue adoptado con el nombre de filtro colaborativo dado que permite que los usuarios creen filtros a través de sus ítems de interés, en el caso de Tapestry artículos o noticias, y colaborativo pues los usuarios añaden las anotaciones con las opiniones sobre los documentos. Las opiniones añadidas pueden ser utilizadas para las búsquedas de otros usuarios. Los investigadores Resnick y Varian, en el artículo publicado el año 1997 sobre “sistemas de recomendación”, proponen llamar a este tipo de sistemas con el nombre de “sistemas de recomendación”, dado que por esa fecha estos sistemas no sólo se limitaban al filtro de información y habían aparecido nuevos sistemas en el que no se utilizaban las opiniones de otros usuarios.

En un comienzo los sistemas de recomendación eran conocidos tan sólo como filtros colaborativos y los primeros trabajos datan de principios de los años 1990. El termino fue acuñado el año 1992 para un sistema de filtrado de correo electrónico no automatizado. En 1994 se desarrollo el primer taller en Berkeley donde se vio la utilidad en diversas áreas de los primeros algoritmos simples de este tipo. También se identificaron algunas cuestiones importantes para el desarrollo de estos algoritmos: Escalabilidad, viabilidad económica, puntuaciones implícitas y explicitas. Uno de los grupos de investigación pioneros en el desarrollo del filtrado colaborativo fue el proyecto GroupLens de la universidad de Minnesota que aún permanece muy activo y que ha proporcionado una gran parte de la base algorítmica de muchos sistemas de recomendación. Fueron los primeros en introducir el filtro colaborativo automático usando un algoritmo de búsqueda de vecinos para proporcionar predicciones en los grupos de noticias de USENET. De este grupo de investigación partió también la iniciativa empresarial NetPerceptions, despejando gran parte de las dudas acerca de la viabilidad económica de estos proyectos. En la actualidad es un campo que se encuentra muy activo y genera un gran número de publicaciones y congresos todos los años. Y es que el filtrado colaborativo es un aspecto de gran importancia dentro de las redes sociales y la pequeña revolución que ha supuesto la llamada “Web 2.0”.

A lo largo de los años la definición de los sistemas de recomendación ha ido evolucionando y siempre ha ido ligada con el avance de las nuevas técnicas o ideas que iban surgiendo en la literatura de los sistemas de recomendación. Así pues, como se ha mencionado en párrafos precedentes, a partir del año 1997 empieza a aparecer un cambio significativo en la forma de denominar estos sistemas, pasando de ser llamados “sistemas de filtrado colaborativo” a “sistemas de recomendación”. Ya en el año 2004 las definiciones contemplan los sistemas de recomendación mixtos. Por otro lado, cabe destacar que en los últimos años, los sistemas de recomendación han sido ampliamente utilizados en el ámbito del comercio electrónico, aspecto que queda plasmado en la definición dada por Kim y sus colegas, en el artículo escrito el año 2005 titulado “desarrollo de un sistema de recomendación basado en patrones navegacionales y de conducta en sitios de comercio electrónico”, que menciona: “Un sistema de recomendación es una solución típica de software utilizada en el comercio electrónico para servicios personalizados. Ayuda a los consumidores a encontrar los productos que ellos quisieran comprar a través de recomendaciones basadas en sus preferencias, y es utilizado de manera parcial en sitios de comercio electrónico que ofrecen millones de productos a la venta.”

Según afirma Burke, en el artículo publicado el año 2002 sobre “Sistemas de recomendación híbridos: Estudios y experimentos”, los sistemas de recomendación se distinguen por dos criterios fundamentales: Por un lado se encuentran aquellos que producen recomendaciones individualizadas en forma de salida y, por otro, aquellos que tienen el efecto de guiar al usuario de forma personalizada para los intereses de éste dentro de un dominio con grandes cantidades de ítems posibles a elegir. Teniendo esto en cuenta, se puede afirmar que los sistemas de recomendación son un tipo específico de filtro de información cuyo objetivo es mostrar ítems al usuario que le sean relevantes o de interés. Se entiende por filtro de información un sistema que elimina información inadecuada o no deseada de un flujo de información de forma automática o semiautomática para ser presentada a los usuarios.

Según los investigadores Belkin y Croft, en el artículo publicado el año 1992 titulado “filtrado de información y recuperación de información ¿dos lados de una misma moneda?, un aspecto relacionado con los sistemas de recomendación es la “recuperación de información” o “búsqueda de información”. Ambos conceptos se asemejan en el hecho de que intentan proporcionar información relevante al usuario pero se distinguen por las siguientes singularidades: (1) Frecuencia de uso. Los sistemas de búsqueda son enfocados por uso concreto y puntual del usuario mientras que los sistemas de recomendación están diseñados para un uso prolongado y de forma repetitiva. (2) Representación de las necesidades de información. En sistemas de búsqueda la información requerida se expresa en forma de pregunta o consulta, mientras que en los sistemas de recomendación la información es descrita en los perfiles del usuario. (3) Objetivo. Los sistemas de búsqueda seleccionan los ítems de la base de datos que coinciden con la consulta, mientras que los sistemas de recomendación eliminan la información irrelevante de flujos de entrada de información o reúnen información relevante de diferentes repositorios de acuerdo al perfil del usuario. (4) Base de datos. Los sistemas de búsqueda trabajan con bases de datos relativamente estáticas mientras que los sistemas de recomendación trabajan con información dinámica. (5) Tipo de usuarios. En los sistemas de búsqueda no se tiene porque tener información sobre los usuarios que lo utilizan mientras que en los sistemas de recomendación se necesita saber o tener información sobre los usuarios. (6) Ámbito social. Los sistemas de recomendación están interesados en aspectos sociales de modelado y privacidad del usuario mientras que los sistemas de búsqueda no. (7) Acción: El proceso de filtrado o recomendación se relaciona con la acción de “eliminar” información, mientras que el proceso de búsqueda se relaciona con la acción de “encontrar” información.

Algunos ejemplos actuales de uso, de los sistemas de recomendación, son: (1) Recomendaciones en tiendas on-line. Partiendo de un producto se recomiendan otros productos que han interesado a los usuarios que compraron dicho producto. La web pionera en este tipo de recomendaciones fue Amazon.com. (2) Filtrado de noticias. Se construye un perfil que almacena las noticias que un usuario consulta. (3) Recomendaciones musicales, de libros, de películas. En los últimos años han surgido decenas de aplicaciones Web de este tipo entre las que destacan “last.fm” y “MyStrands”, esta ´ultima de origen español. En estos servicios, cada vez que un usuario escucha una canción se envía su información a la base de datos del sistema, el cual las utiliza para generar recomendaciones, pero las funcionalidades que ofrecen crecen constantemente. Por ejemplo last.fm ofrece radios personalizadas para cada usuario en función de las recomendaciones que reciba y MyStrands organiza fiestas en las que la música se elije automáticamente de forma colaborativa en función de los gustos de los asistentes. El modelo de negocio de estas empresas, es además de la publicidad, el de acuerdos con tiendas on-line para enlazar directamente las recomendaciones con su servicio de venta. También el de proporcionar a las compañías discográficas, en este caso, análisis de tendencias musicales, de nuevos artistas, y otras funcionalidades. (4) Búsqueda de personas afines en comunidades. En aplicaciones Web como “meneame.net” se tienen en cuenta las noticias que cada usuario ha votado para generar una lista de vecinos con similares intereses.

Referencias Bibliográficas
  • Allen, R.B. (1990) User models: theory, method, and practice, International Journal of Man-Machine Studies, vol. 32, 1990, págs. 511-543.
  • Belkin, N.J. y Croft, W.B. (1992) Information filtering and information retrieval: two sides of the same coin?, 1992.
  • Burke, R. (2002) Hybrid recommender systems: Survey and experiments, User Modeling and User-Adapted Interaction, vol. 12, 2002, págs. 331-370.
  • Goldberg, D.; Nichols, D.; Oki, B.M. y Terry D. (1992) Using collaborative filtering to weave an information tapestry, 1992.
  • Housman, E.M. y Kaskela, E.D. (1970) State of the art in selective dissemination of information, IEEE Transactions on Engineering Writing and Speech, vol. 13, 1970, págs. 78-83.
  • Kim, Y.S.; Yum, B.J.; Song, J. y Kim S.M. (2005) Development of a recommender system based on navigational and behavioral patterns of customers in e-commerce sites, Expert Systems with Applications, vol. 28, 2005, págs. 381-393.
  • Resnick, P. y Varian H.R. (1997) Recommender systems, Communications of the ACM, vol. 40, 1997, pág. 57.
  • Resnick, P.; Iacovou, N.; Suchak, M.; Bergstrom, P. y Riedl, J. (1995) GroupLens: An open architecture for collaborative filtering of netnews.
Guillermo Choque Aspiazu
http://www.eldiario.net
Abril 23 de 2012 - Primera parte
Abril 30 de 2012 - Segunda parte

lunes, 16 de abril de 2012

Inteligencia artificial emergente

De manera inicial y para entender el concepto de inteligencia artificial, y de cómo fue surgiendo esta ciencia, Steven Johnson señala, en el libro escrito el año 2004 titulado “Sistemas Emergentes: O qué tienen en común hormigas, neuronas, ciudades y software”, cómo diferentes sistemas, las colonias de hormigas, las ciudades y hasta el cerebro humano, tienen un comportamiento complejo que surge a partir del comportamiento individual de los componentes del sistema, siguiendo reglas simples, y la interacción existente entre ellos. Es decir, se observa un comportamiento ascendente. El descubrimiento de la inteligencia colectiva y la conducta ascendente ha sido fundamental para el desarrollo de las nuevas tecnologías de la información y el surgimiento de la inteligencia artificial. Pasada la primera década del siglo veintiuno, las investigaciones sobre inteligencia artificial van tomando mayor relevancia, y muchas de sus aplicaciones forman parte de la vida cotidiana de las personas. Las fábricas están llenas de robots que reemplazan el trabajo humano, los nuevos dispositivos electrónicos tienen inmersa una especie de inteligencia que hace que se adapten a las preferencias de las personas, entre tantas otras. Principalmente en Europa y Norte América, son numerosos los prototipos y experimentos que se realizan frecuentemente con el objetivo que este comportamiento emergente e inteligente asista al ser humano en sus actividades diarias, mejorando su calidad de vida.

La inteligencia artificial surgió en el año 1956 y se puede definir de muchas formas, una como otra cualquiera es que la inteligencia artificial es la rama de la computación y de la robótica que permite que las máquinas realicen tareas, de manera que si fueran realizadas por humanos, serían calificadas de operaciones o decisiones inteligentes. Según Víctor Méndez, en la tesis de grado escrita el año 2007 de titulo “técnicas de inteligencia artificial emergente aplicadas al servicio de replicación de datos de arquitecturas grid”, una de las dificultades de la inteligencia artificial clásica en los estudios cognitivos, es que aportan más conocimiento de los mecanismos del cerebro, que de los principios subyacentes al problema concreto. Enfrentando esta limitación y a partir de la inteligencia artificial, nace la “computación evolutiva”, basada en la mutación genética al azar y la reproducción, de un conjunto de seres virtuales. La computación evolutiva es parte de lo que se viene a denominar como “vida artificial”, mientras que la inteligencia artificial estudia la inteligencia para solucionar problemas, la vida artificial estudia el comportamiento de seres, también para solucionar problemas. En el caso de la computación evolutiva, el modelo se basa en las leyes de la evolución de las especies. Posteriormente apareció la inteligencia artificial emergente, como otra rama de la vida artificial. En este caso se prescinde de la información genética de los seres, centrándose en alguna faceta social concreta, que pudiera tener similitud con los problemas, como por ejemplo la búsqueda de comida. La principal ventaja de la inteligencia artificial emergente frente a la computación evolutiva, es que permite una mejor adaptación al problema específico, ya que no es necesaria la traducción entre el código genético y el dominio del problema. Dicho de otra forma la computación evolutiva permite definir las operaciones emergentes en términos directos de las especificaciones del problema.

En las distintas aproximaciones al problema de la localización y selección de réplicas se puede observar una tendencia a simplificar el uso de las arquitecturas utilizadas. Era el caso de los árboles planos en estructura de anillo o del mecanismo entre-pares del servicio de localización de réplicas basado en tablas hash distribuidas entre pares. El límite teórico a esta tendencia es la necesidad de mantener un servicio de localización y selección determinístico, con una interfaz explicita, más o menos consistente, de acceso al espacio de localización de nombres global. La inteligencia emergente puede cubrir estas necesidades heurísticas. Ello hace plantear un mecanismo que aporte una información local del espacio de localización y un modelo de selección no determinístico, es decir que no necesite una interfaz explícita de acceso al espacio de localización; que por contra funcione a partir de estadísticas de acceso genéricas y catálogos de ficheros locales que mediante cierta heurística pueda llegar a conformar una interfaz implícita del espacio de localización de archivos.

Siguiendo el enfoque de Méndez, en una revisión del estado del arte hasta el año 2007 las dos técnicas más relevantes del campo de la inteligencia artificial emergente constituyen: (1) Optimización por enjambre de partículas, con investigaciones relevantes realizadas por Shi y Eberhart, en el artículo publicado el año 1998 relacionado con “un optimizador de enjambre de partículas modificado”, además del mini tutorial publicado el año 2002 por los investigadores Eberhart y Kennedy. (2) Optimización por colonias de hormigas, con el trabajo destacado realizado por los investigadores Dorigo, Maniezzo y Colorni, en el reporte técnico titulado “Sistema de hormigas: Un proceso de optimización auto catalítico”. Ambas técnicas con probada eficacia en numerosos campos de la ciencia de la computación.

La optimización por enjambre de partículas es una técnica incluida en la computación evolutiva y fue desarrollada por los investigadores Eberhart y Kennedy el año 1995. Es una herramienta de optimización basada en poblaciones, similar a los algoritmos genéticos, y en concreto más parecida a modelos de poblaciones de hormigas que se comentaran en el siguiente punto. Está inspirada en el comportamiento social de las abejas, o en los movimientos de las bandadas de pájaros, para aplicarse en problemas de optimización. La optimización por enjambre de partículas presenta distintos parámetros a ajustar que le hacen más flexible que los algoritmos genéticos, con aplicaciones en optimización funcional, entrenamiento de redes neuronales, sistemas de control difusos u otras áreas donde los algoritmos genéticos pueden ser aplicados.

El algoritmo de la optimización por enjambre de partículas es bastante sencillo: Un enjambre de partículas realiza una búsqueda aleatoria de la solución en un espacio de muchas dimensiones. Sólo hay una solución en el espacio de búsqueda en cada momento. Cada partícula no sabe dónde está la solución, pero conoce a qué distancia se encuentra de ella en cada iteración. Las partículas conocen a qué distancia están el resto de partículas. La estrategia es seguir a la partícula que se encuentre más cerca de la solución. Una vez inicializado el enjambre de partículas, busca el óptimo mediante actualizaciones de las iteraciones. La diferencia principal con los algoritmos genéticos, donde las iteraciones tomaban la forma de generaciones, es que no existen operadores evolutivos como la mutación o el apareamiento. En la optimización por enjambre de partículas las soluciones potenciales, llamadas partículas, se mueven a lo largo del espacio del problema guiadas por su propia trayectoria y por la posición de las partículas óptimas actuales.

Respecto a la optimización por colonias de hormigas, los sistemas basados en el comportamiento de las hormigas fueron propuestos por el grupo de los investigadores Dorigo, Maniezzo y Colorni a principios de los años 1990 y algo después ampliamente formalizados como algoritmos de optimización. Suponen una aproximación multi-agente a complejos problemas de optimización combinatoria como son el problema del agente viajero y el problema de asignación cuadrática. Los algoritmos de hormigas están inspirados en la observación de hormigueros. Las hormigas son insectos sociales, esto es, insectos que viven en colonias y cuyo comportamiento está destinado a la supervivencia de la colonia como un todo, más que aquel comportamiento que atañe sólo a una hormiga. Como se veía con la optimización por enjambre de partículas y las abejas, los insectos sociales han captado la atención de muchos científicos debido al alto grado de estructuración que pueden alcanzar sus colonias, con base en unas sencillas pautas de comportamiento individual. En concreto y al igual que ocurría con las abejas, resulta especialmente interesante cómo encuentran las rutas más cortas entre la comida y el hormiguero.

Mientras buscan o regresan con comida, las hormigas depositan en el suelo una sustancia llamada feromona, formando vías de feromonas que otras siguen. Las hormigas pueden oler estas feromonas y cuando eligen su camino tienden a elegir en términos probabilísticos las rutas marcadas con concentraciones de feromonas más altas. Estas vías permiten a las hormigas encontrar fácilmente el camino de vuelta al hormiguero. Así mismo permite a otras hormigas encontrar las fuentes de comida más cercanas. Por otro lado la concentración de feromonas va perdiendo intensidad conforme discurre el tiempo. Además, cuando la concentración alcanza un umbral de saturación produce el efecto contrario a la hora de la elección probabilística en la búsqueda de comida. Las hormigas que retornan con comida no se ven afectadas por el umbral de saturación, pero las que van en búsqueda sí que lo hacen, esto es una respuesta al hecho probable de que ya no se encuentre m´as comida en una vía de feromonas sobre-explotada.

Referencias Bibliográficas
  • Dorigo M., V. Maniezzo, and A. Colorni (1991) The ant system: An autocatalytic optimizing process. Technical report no. 91-016 revised. Technical report, Politecnico di Milano, 1991.
  • Eberhart and Kennedy (2002) Particle swarm optimization: mini tutorial, 2002.
  • Johnson Steven (2004) Sistemas Emergentes: O qué tienen en común hormigas, neuronas, ciudades y software. Ediciones Turner/Fondo de Cultura Económica. Madrid, 2004.
  • Méndez Muñoz Víctor (2007) Técnicas de inteligencia artificial emergente aplicadas al servicio de replicación de datos de arquitecturas grid. Tesis de doctorado de la Escuela politécnica superior de la Universidad Carlos III de Madrid.
  • Shi R.C., Y. Eberhart. (1998) A modified particle swarm optimizer. In Proceedings of the IEEE International Conference on Evolutionary Computation, pages 69–73. IEEE Press. Piscataway, NY.
Guillermo Choque Aspiazu
Artículo no publicado por El Diario

lunes, 9 de abril de 2012

Inteligencia de negocios

Todas las empresas de cualquier giro prestan atención especial al proceso de toma de decisiones que realizan a lo largo de las etapas de administración ejercidas en los niveles jerárquicos. Puesto que el éxito que alcancen, depende en buena medida de la oportuna y certera elección realizada de acuerdo al objetivo, problema o curso de acción que se pretende abordar. Las organizaciones hacen una gran inversión al contratar personal capacitado para ejercer labores específicas que incluyen la toma de decisiones en la conducción, operación y evaluación de la función de la cual son responsables. Por tal motivo, las empresas han otorgado un valor especial al uso de sistemas de información proveedores de los elementos para la toma de decisiones que corresponda al problema detectado, así como al logro de la meta planteada. Se puede reconocer, que el objetivo final de esta clase de aplicaciones es apoyar al personal responsable de la administración de una función, área o de toda la organización en el mejor desempeño de su tarea, especialmente en la toma de decisiones.

Como resultado de su experiencia a lo largo de su existencia, las organizaciones acumulan gran cantidad de información, la que es considerada como un activo fundamental, pero ¿están dando un uso inteligente a esta información?. Según Chun Wei Choo, en el libro escrito el año 1998 sobre “la organización inteligente”: “La información es un componente intrínseco de casi todo lo que hace una organización, tanto que su función se ha vuelto transparente. Sin una cabal comprensión de los procesos humanos y de la organización a través de cuales la información se transforma en discernimiento, conocimiento y acción, una organización es incapaz de aprovechar el verdadero valor de sus recursos informativos y tecnologías de información”. La explotación inteligente de la información, su conversión en conocimiento es posiblemente la única fuente de competitividad sostenible, las organizaciones así lo están entendiendo, por esto buscan medio para hacer de la información disponible un medio para incrementar su eficiencia, para estimular la innovación, para fundamentar la toma de decisiones y para elevar la eficacia y posición competitiva. Es aquí donde se hace indispensable contar con instrumentos tecnológicos y organizacionales que apoyen la toma de decisiones, posibilitando que ésta se efectúe más sobre análisis que sean objetivos y estén suficientemente sustentados. Como respuesta a estas nuevas condiciones del mercado, ahora con alcance mundial por la globalización de las economías, se ha desatado la inteligencia de negocios con una enorme avalancha de teorías, metodologías, técnicas y modelos, que se unen al gran desarrollo y evolución permanente de la teleinformática. Las posibilidades que ofrecen las tecnologías permiten acceder casi al instante a una cantidad ilimitada de información, ahora se debe definir como incorporar esta información a los procesos de dirección que le permita utilizar información procesada y refinada que sirva como base para la toma de mejores decisiones.

Según la empresa consultora Bitam, en el artículo en línea escrito el año 2002 sobre “inteligencia de negocios”, la inteligencia de negocios es un concepto que se asocia en un cien por ciento con los niveles directivos, surge de la necesidad de contar con información para dirigir el rumbo de la empresa por los altos mandos, sin embargo, con el tiempo se ha ido ampliando el alcance de este término hasta llegar prácticamente a toda la empresa. A pesar de relacionar completamente el término con conceptos cien por ciento computacionales, sobre todo las herramientas utilizadas para lograr implementar un desarrollo de este tipo, la verdad es que el concepto no se construye basándose en herramientas computacionales, sino de la formulación de estrategias efectivas de negocios que respondieran a los nuevos tiempos y sus demandas. El énfasis es en los requerimientos y de ahí se desprenden las aplicaciones, es decir, los hombres de negocio dictan las necesidades y la gente técnica investiga y adapta la tecnología para resolver favorablemente esos requerimientos con todos los medios a su alcance. La inteligencia de negocios plantea una sinergia entre los tomadores de decisiones y las herramientas que emplean, la tecnología está claramente vinculada a la gestión de las empresas, teniendo como resultado obtener ventajas competitivas, producto de decisiones mejor informadas. En función de esta se puede entender a la inteligencia de negocios como una combinación de tecnología y desarrollo de negocios.

Como muchos otros conceptos o términos, el de inteligencia de negocios no escapa a la diversidad de interpretaciones. Se justifica su uso y se entiende el que sea considerado como una tecnología de información, pero no existe un acuerdo en cuanto a su definición. "Es el conjunto de tecnologías que permiten a las empresas utilizar la información disponible en cualquier parte de la organización para hacer mejores análisis, descubrir nuevas oportunidades y tomar decisiones más informadas." Analizando las definiciones, queda primeramente claro que la inteligencia de negocios no es una metodología, software, sistema o herramienta específica, es más bien un conjunto de tecnologías que van desde arquitecturas para almacenar datos, metodologías, técnicas para analizar información y software entre otros, con un fin común para el apoyo a la toma de decisiones. A partir de elementos comunes es que se puede obtener una definición que abarca la inteligencia de negocios en cuanto a su utilidad y funcionalidad en las empresas. El objetivo básico de la inteligencia de negocios es apoyar de forma sostenible y continuada a las organizaciones para mejorar su competitividad, facilitando la información necesaria para la toma de decisiones. El primero que acuñó el término fue Howard Dresner que popularizó la inteligencia de negocios como un término paraguas para describir un conjunto de conceptos y métodos que mejoran la toma de decisiones, utilizando información sobre aquello que había sucedido, hechos. Mediante el uso de tecnologías y las metodologías de inteligencia de negocios se pretende convertir datos en información y a partir de la información ser capaces de descubrir conocimiento.

Para definir inteligencia de negocios se parte de la definición del glosario de términos de Gartner, que menciona: “Inteligencia de negocios es un proceso interactivo para explorar y analizar información estructurada sobre un área, normalmente almacenada en un almacén de datos, para descubrir tendencias o patrones, a partir de los cuales derivar ideas y extraer conclusiones. El proceso de inteligencia de negocios incluye la comunicación de los descubrimientos y la realización de los cambios. Las áreas incluyen clientes, proveedores, productos, servicios y competidores.” Descomponiendo de manera detallada esta definición se tiene: (1) Proceso interactivo. Al hablar de inteligencia de negocios se supone que se trata de un análisis de información continuado en el tiempo, no sólo en un momento puntual. Aunque evidentemente este último tipo de análisis puede aportar valor, es incomparable con lo que puede aportar un proceso continuado de análisis de información, en el que por ejemplo se puede ver tendencias, cambios, variabilidades, etc. (2) Explorar. En todo proyecto de inteligencia de negocios hay un momento inicial en el que por primera vez se accede a información que facilita su interpretación. En esta primera fase, lo que se hace es “explorar” para comprender qué sucede en el negocio; es posible incluso que se descubran nuevas relaciones que hasta el momento se desconocían. (3) Analizar. Se pretende descubrir relaciones entre variables, tendencias, es decir, cuál puede ser la evolución de la variable, o patrones. Si un cliente tiene una serie de características, cuál es la probabilidad que otro con similares características actué igual que el anterior. (4) Información estructurada y almacén de datos. La información que se utiliza en inteligencia de negocios está almacenada en tablas relacionadas entre ellas. Las tablas tienen registros y cada uno de los registros tiene distintos valores para cada uno de los atributos. Estas tablas están almacenadas en lo que se conoce como datawarehouse o almacén de datos. (5) Área de análisis. Todo proyecto de inteligencia de negocios debe tener un objeto de análisis concreto. No se puedes centrar en los clientes, los productos, los resultados de una localización, etc. que se pretenda analizar con detalle y con un objetivo concreto, por ejemplo, la reducción de costos, el incremento de ventas, el aumento de la participación de mercado, el ajuste de previsiones de venta, el cumplimiento los objetivos de venta presupuestados, etc. (6) Comunicar los resultados y efectuar los cambios. Un objetivo fundamental de la inteligencia de negocios es que, una vez descubierto algo, sea comunicado a aquellas personas que tengan que realizar los cambios pertinentes en la organización para mejorar la competitividad.

Según la consultora Information Builders, en el reporte en línea publicado el año 2005 sobre “inteligencia de negocios”, la tecnología de inteligencia de negocios ha encontrado lugar en dos niveles primarios: entre los altos ejecutivos quienes necesitan obtener información estratégica y entre los administradores de la línea de negocios que son responsables del análisis táctico. Estas tradicionales actividades de soporte a la decisión son importantes, pero ellos solamente muestran superficialmente el potencial de la inteligencia de negocios dentro de la empresa, involucrando quizá el cinco por ciento de los usuarios y el diez por ciento de los datos disponibles. Desde principios de los años 1990, las aplicaciones de inteligencia de negocios han evolucionado dramáticamente en muchas direcciones, debido al crecimiento exponencial de la información. Desde reportes operacionales generados por mainframes, modelación estadística de campañas publicitarias, ambientes OLAP multidimensionales para analistas así como dashboards y scorecards para ejecutivos. Las compañías empiezan a demandar mas formas de analizar y realizar reportes de datos. Las inversiones en aplicaciones empresariales, tales como la planeación de recursos y la administración de la relación con el cliente, han resultado en una enorme cantidad de datos dentro de las organizaciones.

Referencias Bibliográficas
  • Choo Chun Wei (1998). La organización inteligente. Editorial Ester Alizeri Fernández.
  • Bitam (2002) “Business Intelligence”. Disponible en línea: http://www.bitam.com/spanish/AcercaDeBI.htm [Consulta: Febrero de 2002].
  • Information Builders (2004), Business Intelligence Goes Operational: On the Front Lines Making a Bottom-Line Difference, http://www.informationbuilders.com/solutions/operational_bi.html [Consulta: Mayo de 2005]
  • Glosario de Gartner, www.gartner.com, enero 2006. Gartner es una consultora internacional especializada en Tecnologías de Información y Comunicación.
Guillermo Choque Aspiazu
http://www.eldiario.net
Abril 9 de 2012 - Primera parte
Abril 16 de 2012 - Segunda parte

lunes, 2 de abril de 2012

Teoría del caos

La palabra caos ha estado tradicionalmente asociada a los conceptos de confusión y desorden. De hecho el Diccionario de la Real Academia Española lo define como aquel estado amorfo e indefinido que se supone anterior a la ordenación del cosmos. Esta misma acepción es la tiene en el Génesis, el primero de los libros bíblicos, que en su segundo versículo dice: “La tierra era un caos total, las tinieblas cubrían el abismo, y el Espíritu de Dios iba y venía sobre la superficie de las aguas”. La “teoría del caos” es un elemento de manejo referencial cultural amplio. Su gran número de publicaciones tiene denominador común: la complejidad, la co-incidencia y simultaneidad de múltiples elementos en la dinámica de fenómenos y procesos, no lineales ni predecibles sino azarosos o aleatorios. Sus patrones de "orden desordenado" son sistemas abiertos y multilineales, y exigen modelos lógicos alternativos para su comprensión e interpretación distintos de los aplicados a fenómenos lineales predecibles dentro de la polaridad dinámica de causa-efecto. En estos fenómenos o sistemas abiertos, mínimas alteraciones a su condición original devienen cambios exponenciales imprevisibles. Las incidencias en la comprensión del mundo y su trama epistémica, dentro de los marcos levantados por la modernidad, son significativas.

Las dinámicas sistémicas del Caos han generado necesidad de nuevos conceptos y técnicas de experimentación, con gran incidencia en la elaboración de sistemas de representación de la realidad y sus bases filosóficas, metafísicas y metodológicas acerca del significado de la impredecibilidad e inestabilidad compleja en los procesos naturales, culturales y sociales, así como de sus comportamientos posibles a largo plazo. Su extrapolación a otros dominios del conocimiento humano es aplicada en economía, sociología, teoría cultural, neurociencia y planificación urbana, música, entre otras. El descubrimiento y formalización del caos se ha dado en considerar como una nueva revolución en la ciencia física del siglo veinte, comparable a la que en su día provocaron la relatividad y la teoría cuántica. Según Rañada, en el libro publicado el año 2007 titulado “dinámica clásica”, un sistema dinámico se considera caótico si presenta un comportamiento aperiódico resultado de un modelo totalmente determinista y que presenta gran sensibilidad a las condiciones iníciales. La sensibilidad a las condiciones iníciales implica que existe una divergencia exponencial de trayectorias inicialmente muy próximas en el espacio de fases, fenómeno que se conoce como estirado. Otra propiedad existente sobre el espacio de fases y opuesta al estirado es el plegamiento que conlleva que dos trayectorias muy lejanas pueden eventualmente acercarse. Si se representa el retrato fase de un sistema dinámico, se observa que las dos fuerzas anteriores entran en acción de forma que se genera una estructura confinada en una región del espacio de fases que se conoce como atractor extraño. Como la región en la que está ubicado el atractor es finita, se tiene, al seguir una trayectoria cualquiera, una curva de longitud infinita encerrada en un área finita o, dicho de otra forma, un atractor extraño posee estructura fractal. La computadora facilita el proceso iterativo de los sistemas dinámicos y es un arma imprescindible para aproximarse a la geometría de los atractores extraños.

De caos como espacio de ausencia de orden, de vida y sentido, se pasó al caos como espacio en el que se genera la vida, la estructura, el logos y el sentido de un otro orden. La dialéctica moderna de opuestos antagónicos orden-desorden suponía un sólo tipo de orden. Los descubrimientos realizados en la ciencia del caos permitieron la comprensión de la existencia de otros órdenes posibles, o más bien, un “ordenado desorden”. Katherine Hayles, en el libro escrito el año 1998 titulado “La evolución del caos: El orden dentro del desorden en las ciencias contemporáneas”, comenta que “el desorden ordenado de los sistemas caóticos no tenía un lugar reconocido dentro de la mecánica clásica. Al demostrar que tales sistemas no sólo existen sino que además son comunes, la teoría del caos abrió, o más precisamente reveló un tercer territorio, que se sitúa entre el orden y el desorden.” En esto coincide con William Demastes quien afirma, en el libro escrito el año 1998 titulado “Teatro del caos más allá de lo absurdo, en el desorden ordenado” no sin poesía, que “es en el vasto fondo mediador entre los dos extremos, de ese tercer territorio del orden y del desorden, donde la vida se manifiesta, y es lo que hace que valga la pena ser vivida.”

El caos como tal presenta una naturaleza intersticial; esta noción requiere ser entendida desde un pensamiento precisamente intersticial, difuso, a-lógico según la lógica clásica; y es en esto que se percibe la pertinencia de enfoques como los de la lógica difusa de Lotfi Zadeh y el pensamiento complejo desarrollado por Edgar Morin. En el cúmulo de consideraciones y estudios de sistemas dinámicos no lineales que conforman la “teoría del caos” confluyen diversas disciplinas de las ciencias: termodinámica, meteorología y epidemiología, reacciones químicas y movimiento de fluidos, ritmos cardíacos y tendencias económico-sociales, sin excluir las ciencias de la cultura o teoría cultural contemporánea. La teoría del caos estudia sistemas dinámicos complejos, en los que la aparición de problemas y “aberraciones” frecuentes intrigaban a los estudiosos y que ahora son vistas con carácter de existencia legítima.

La teoría del caos no es antirracionalista; busca ampliar los alcances de la razón, liberándola de sus limitaciones positivistas modernas. El estudio sistemático del Caos tuvo antecedentes en observaciones que sobre lo irregular desarrolló el matemático francés Henri Poincaré. Los planteamientos y fórmulas del astrónomo y matemático inglés Isaac Newton radicaban en ecuaciones lineales que representaban la dinámica de sistemas cerrados predecibles, considerando arbitrariamente que corporizaba la dinámica universal. Pero la aparición de algo conocido como “el problema de los tres cuerpos” introdujo nuevos elementos que escapaban de la linealidad predecible newtoniana. Poincaré demostró la incapacidad de la fórmula de Newton para resolver este tipo de problemas, cuya linealidad se veía alterada por la incorporación de elementos perturbadores. Esta perturbación implicó desarrollos no regularmente lineales en estos sistemas. Por ello, entendió la necesidad de nuevas formulaciones matemáticas para describir tales peculiaridades. Esas formulaciones y teorías dieron origen a las matemáticas de los sistemas dinámicos.

Una de las propiedades de estos sistemas es la del estiramiento, dado por la evolución de una serie ordenada de puntos con valores matemáticos que “estiran” su conformación sobre sí mismos. El estiramiento funciona con dinámicas aleatorias al ser activadas repetidas veces, en cifras muy altas. En este tipo de procesos puede ocurrir la llamada “recurrencia de Poincaré”, que es una transformación típicamente caótica aunque extremadamente rara, y consiste en que por azar o casualidad la compleja configuración inicial de puntos vuelve a su estado de origen. Las probabilidades temporales de que tales cosas ocurran son de una en más o menos quince o veinte mil millones de años, es decir, la edad estimada del universo. Una incidencia que de esto se desprende es que, dada la evolución actual del universo, la posibilidad de que la configuración que haya tenido en un cualquiera momento dado se repita en otro universo paralelo es de sólo una dentro de la edad que lleva acumulada desde el big bang. Existen otros antecedentes insoslayables que contribuyeron, junto con las propuestas de Poincaré desde las ciencias matemáticas, a alimentar la noción que contemporáneamente se tiene del universo y su comportamiento, con los cuales coinciden en la exigencia de una misma representación lógica diferente, como han sido los descubrimientos y desarrollos de la física cuántica y de la dinámica macrocósmica.

Los estudios en la búsqueda de orden a partir del caos, tienen como principal representante al físico belga Ylia Prigogine, Premio Nobel de Física en 1979 por su descubrimiento de las estructuras disipativas. Progogine presenta una fuerte formalización teórica con consecuencias filosóficas, ontológicas y metafísicas adicionales a sus resultados de experimentación. Incluso celebra la extrapolación de sus logros hacia ámbitos diferentes, como la explicación, comprensión y previsión de fenómenos como el tránsito automotor. Katherine Hayles, en la obra citada, observa la fuerte afinidad y relación que Prigogine sostiene con círculos intelectuales franceses. Los alcances filosóficos de esta tendencia tocan cuestiones de antiquísima data, como la noción de vacío referida por el pensamiento taoísta chino, la reconciliación de nociones del ser y devenir, tratadas ya por Heráclito y por el filósofo francés Henri Bergson. Resulta imprescindible referir al filósofo y poeta latino Lucrecio, quien en su obra “De rerum natura” comentaba la noción de clinamen, definida como la “inclinación” que caracterizaba a los átomos en su manifestación de devenir y evolución de la materia. El clinamen, doctrina original del griego Epicuro, expresaba las pequeñas desviaciones en que incurrían los átomos en su caída hacia abajo producida por su propio peso, que daban lugar a que se encontraran y mezclaran en una condición evolutiva; de aquí la libertad que átomos y naturaleza ejercen, en oposición a una visión mecanicista del mundo. El filósofo francés Michel Serres realizó un estudio sobre Lucrecio. Ylia Prigogine y el norteamericano William Demastes hacen referencia a Serres y a Lucrecio en su vigencia y actualidad, en las obras citadas. Todos coinciden en la producción de novedades posibles de organización a partir de la “nada” que surge de la descomposición o desordenamiento de la materia.

Referencias Bibliográficas
  • Demastes, William. (1998). Theatre of Chaos Beyond Absurdism, into Orderly Disorder. Cambridge University Press.
  • Hayles, N. Katherine. (1998). La evolución del caos El orden dentro del desorden en las ciencias contemporáneas. Gedisa, Barcelona.
  • Rañada Antonio (2007) Dinámica clásica. 2da. Edición. Alianza Editorial.
Guillermo Choque Aspiazu
http://www.eldiario.net
Abril 2 de 2012