You are on page 1of 10

INTELLIGENT AGENTS FOR SEARCHING OF INFORMATION ON WEB SYSTEMS

INTELLIGENT AGENTS FOR SEARCHING OF INFORMATION ON WEB SYSTEMS


Alexander Ortega, Anglica Snchez, Jorge Rodrguez.*
ABSTRACT In this paper we show a review about of intelligent agents designed to search, information filtering, interface agents and mobile. It also presents theory of mobile applications, which seek to facilitate access to users at different computer platforms from a mobile device. Furthermore, search algorithms that provide a mechanism for the Web System so that the user can search more meaningful and accurate. Keywords Intelligent Agents, Information Algorithms, Web Systems. 1. INTRODUCCIN El tiempo es un factor determinante en la vida de las personas, y la posibilidad de acceso a la informacin es cada vez ms amplia, los usuarios de Internet y diferentes medios de informacin deben desarrollar habilidades y buscar herramientas para acceder oportuna y acertadamente a los datos que requieren para su desempeo personal. Los avances de las tecnologas de la informacin y las comunicaciones (TICs), y el auge actual de las comunicaciones inalmbricas ha dado lugar a la utilizacin de dispositivos mviles con acceso a redes tales como: PDA (Asistente Digital Personal), computadores porttiles, telfonos mviles, etc. Estos dispositivos proporcionan al usuario la posibilidad de acceder a la intranet de su empresa, realizar pedidos o navegar por Internet haciendo uso de una red inalmbrica como puede ser GSM (Sistema Global para las comunicaciones mviles), mediante una comunicacin GPRS (Servicio general de paquetes va radio). Los usuarios de estos sistemas, suelen recibir ms informacin de la deseada mientras realizan el proceso de consulta debido a que los procesos de consulta o navegacin por Internet incluyen informacin prescindible (por ejemplo, banners, enlaces a documentos que ya no existen, consultas de clientes demasiado genricas, etc.), esto le implica a un usuario dedicar una considerable cantidad de tiempo y esfuerzo en revisar o navegar a travs de listas de documentos, donde normalmente varios de ellos no son de su inters, antes de encontrar informacin verdaderamente relevante.
*

Filtering,

Search

La gran cantidad de informacin disponible en lnea a travs de Internet puso de manifiesto la necesidad de proveer a los usuarios herramientas que faciliten la navegacin y bsqueda en este vasto espacio de informacin, herramientas que pueden ser usadas en ambientes normales como en una biblioteca, o en algn catlogo de productos. Una alternativa a este problema la constituye el desarrollo de aplicaciones web basadas en agentes inteligentes que asisten activamente al usuario proporcionndole informacin personalizada mientras navega o realiza sus actividades normales en la Web, o a travs de un dispositivo mvil. Para lograr esto, los agentes deben contar con un perfil de usuario que deber construirse necesariamente a partir del anlisis de las interacciones del usuario con el sistema. Un componente de aprendizaje permitir que este modelo evolucione ante cambios en las preferencias del usuario. En este artculo se plasma teora sobre aplicaciones mviles para la bsqueda de informacin a travs de la implementacin de agentes inteligentes. En el apartado 2 se describe la forma como los agentes inteligentes pueden gestionar varias tareas de una forma racional, destacando los agentes de bsqueda, filtrado de informacin, interfaz y mviles. La seccin 3 introduce las caractersticas de las aplicaciones mviles. Posteriormente, se aborda el tema de algoritmos de bsqueda tales como: de bsqueda no informada, heurstica y bsqueda local, entre otros. Por ltimo, se exponen algunos proyectos relacionados con el tema del artculo. Por ltimo, se proponen algunas conclusiones y trabajos futuros. 2. AGENTES INTELIGENTES La Inteligencia Artificial (IA) puede ser enfocada desde la perspectiva del desarrollo de agentes inteligentes. Esta idea, es considerada como un nuevo reto a corto plazo, siendo avalada y respaldada por numerosos investigadores en la materia. Si se dispone de una entidad inteligente intermedia entre el ser humano y la red que realice labores como consultar, o eliminar informacin que no le interese al usuario y que fuese aprendiendo de sus peticiones, de tal forma que, llegado un momento el usuario pudiera encontrar un resumen de prensa generado

Manuscript received December 2009. This work was supported in part by the Universidad Distrital Francisco Jos de Caldas. Ortega Alexander (e-mail: alex2der05@hotmail.com). Snchez Anglica (e-mai: akmotta@hotmail.com). Rodriguez Jorge is director of Artificial Intelligence Reseach Group, Universidad Distrital Francisco Jos de Caldas Colombia (e-mail: jrodri@udistrital.edu.co).

INTELLIGENT AGENTS FOR SEARCHING OF INFORMATION ON WEB SYSTEMS

automticamente con las noticias ms interesantes recogidas y filtradas de los ms importantes peridicos electrnicos existentes [1,2]. Esta entidad sera capaz de aprender los gustos y la forma de actuar, tal y como lo hara una persona, pero adelantndose y realizando tareas que se podran ejecutar por el ser humano si se dispusiera de ms tiempo. Dicha entidad se podra considerar como un agente; este agente, conocido como agente de informacin, realizara toda la gestin, de una forma racional, de la informacin proveniente de Internet para un usuario concreto (ver Figura 1).
Sensores

por su forma de interactuar, es decir, si se relacionan libremente todos los agentes para resolver las consultas, o slo son unos pocos agentes los que se relacionan entre s (mediadores o principales). Este tipo de agente permite al usuario la bsqueda de informacin en servidores de la red (el agente en s es independiente de si se est ubicado en Internet o en una Intranet) [3]. Actualmente, existen en la red infinidad de robots de bsqueda con los que el usuario interacta directamente con mayor o menor fortuna (ver Figura 2).
Servidor de Noticias Web Browser

Percepciones

Artculos Indizados

Entorno
Acciones
Motor de Indizacin Web

Actuadores

Figura 2. Esquema de un agente de bsqueda [4]

Agente
Figura 1. Visin esquemtica de un agente inteligente [3] Para lograr esto un agente debe contar con un perfil de usuario que se deber construir necesariamente a partir del anlisis de las interacciones del usuario con el sistema [3]. 2.1. Agentes Inteligentes de Bsqueda Los agentes de bsqueda recuperan y proporcionan la informacin como si fueran autnticos gestores de informacin y documentacin [4]. La aparicin de Internet ha propiciado el surgimiento de miles de bases de datos almacenadas en diferentes direcciones. Obviamente, no tiene ningn sentido recopilar todas las bases de datos existentes en la red y almacenarlas en una nica direccin, con los problemas de espacio y coste que esto significara cada vez que un usuario decidiese realizar una consulta, pero no tiene sentido que un usuario vaya de pgina web en pgina web buscando en cada una de las bases de datos. Hoy da los agentes de bsqueda han evolucionado y se utilizan para realizar bsquedas de informacin textual en artculos de revistas electrnicas o en las pginas web, y no solamente son tiles para la recuperacin de informacin en bases de datos. Independientemente del tipo de informacin que se quiera localizar, los agentes de bsqueda pueden diferenciarse por la entidad o persona para la que trabajan: usuarios y/o consultas y/o bases de datos. Del mismo modo, se pueden distinguir

La calidad de la respuesta a una consulta determinada se basa en dos parmetros: Precisin: mide la relacin existente entre los documentos relevantes para la consulta y el total de documentos devueltos por la misma. Revisin: mide la relacin entre el total de documentos relevantes devueltos y el total de documentos. Los dos parmetros son inversamente proporcionales, por tanto si se intenta mejorar uno se afecta al otro. Se debe conseguir un equilibrio entre los dos, lo cual es bastante complejo en los actuales motores de bsqueda. Los agentes de bsqueda proporcionan un punto de inicio en la exploracin en Internet para los usuarios. Las ventajas que se pueden encontrar o que deben proporcionar son: - Facilidad de uso, - Incremento de la productividad si el usuario sabe lo que quiere, Incremento de la precisin en la bsqueda sin aumentar notablemente el nmero de documentos devueltos, y Reduccin de la sobrecarga que generan los procesos de bsqueda en la Web y en el propio sistema. 2.2. Agentes Inteligentes de filtrado Un sistema de agentes orientados al filtrado de informacin es originado por uno o ms agentes en respuesta a la pregunta formulada por un usuario. Estos agentes trabajan en representacin del individuo mientras dura la consulta, recogiendo informacin de todas las bases de datos disponibles.

INTELLIGENT AGENTS FOR SEARCHING OF INFORMATION ON WEB SYSTEMS

Para que un agente de informacin pueda servir eficientemente a sus distintos usuarios, necesita almacenar, aprender y manipular las preferencias y gustos de cada uno de ellos, as como contemplar cualquier cambio que se produzca. Este perfil de usuario puede servir como un indicador mucho ms fiable de la informacin a recuperar que las palabras clave proporcionadas por el usuario, mtodo utilizado por los distintos buscadores de informacin que existen en la actualidad. Existen diferentes tcnicas de aprendizaje que los agentes utilizan para aprender el perfil de usuario. Entre ellas se pueden destacar los clasificadores Bayesianos, el vecino ms cercano, los rboles de decisin, TF-IDF, redes neuronales y algoritmos genticos [4]. Despus de haber logrado aprender el perfil, ste puede ser utilizado para el filtrado de informacin, pudiendo adems anticiparse a la obtencin de la informacin solicitada por el usuario. La arquitectura de un agente de filtrado de informacin es la que muestra la Figura 3.
Web Browser Servidor de Noticias

El motor de indizacin asigna una palabra clave a cada artculo. La mayora de sistemas de recuperacin de informacin tambin generan diccionarios de sinnimos con la intencin de indizar palabras por su raz. Dentro de los agentes para el filtrado se tienen: Agente de Envo y Recepcin. Cumple con las mismas funciones del Agente de Envo y Recepcin del usuario. Agente de Artculos. Este agente es encargado de almacenar y distribuir los artculos que los distintos usuarios han querido compartir. Agente de Intereses. La funcin de este agente es almacenar y distribuir los intereses de los distintos usuarios. 2.3. Agente de Interfaz Los agentes de interfaz se enfatizan en la autonoma y la adaptabilidad para realizar tareas a sus usuarios. Este tipo de agentes bsicamente presta soporte y asistencia a un usuario que est aprendiendo una nueva aplicacin o nuevos conceptos [5]. El agente puede aprender mediante alguna de las siguientes cuatro tcnicas, observando y monitoreando la interfaz: - Por observacin e imitacin del usuario, - A travs de una retroalimentacin positiva o negativa del usuario, Recibiendo instrucciones explicitas del usuario y Asesorndose de otros agentes. De esta manera el agente puede actuar como un asistente personal y autnomo del usuario, cooperando con l para terminar una tarea. Este agente cuando recibe una peticin de ejecucin de alguna accin que requiere de la colaboracin con otros agentes aade a su lista de comportamientos el adecuado para dar respuesta a la peticin. Estos comportamientos gestionan las comunicaciones con el agente encargado de hacer el trabajo solicitndole que ejecute la accin adecuada y procesando finalmente la respuesta obtenida. Estas comunicaciones se ajustan al estndar FIPA (Foundation for Intelligent Physical Agents) [6]. 2.4. Agentes mviles Los agentes mviles aaden la posibilidad de trasladarse de una mquina a otra. Por lo tanto un agente mvil es aqul que no est limitado al sistema donde se inici su ejecucin, siendo capaz de transportarse de una mquina a otra a travs de la red. Esta posibilidad de moverse le permite interactuar con el objeto deseado de forma directa sobre el sistema de agentes donde se halla dicho objeto. Para poder conseguir esta movilidad los agentes mviles son programas normalmente escritos en lenguajes interpretados, como Java, que pueden ser enviados desde una maquina cliente a una servidora para all completar la ejecucin. Esta movilidad de agentes se realiza gracias al proceso de serializacin. Este es el proceso tpico por el que se representa el estado completo de un agente mediante una serie de bytes que 3

Artculos Indizados

Perfil de Usuario Web

Motor de Indizacin

Otras Fuentes

Figura 3. Esquema de un agente de filtrado [4]. El funcionamiento de un agente de filtrado de informacin es el siguiente: a) Establece el perfil del usuario. Esto se puede llevar a cabo de dos formas diferentes: Directa: cuando el usuario determina su perfil a travs de una interfaz en el que especifica, por medio de palabras clave, los temas de inters. Indirecta: por el control efectuado por el propio agente de los enlaces seguidos por el usuario en una sesin concreta. b) Comienza la bsqueda en las diferentes fuentes de informacin, indizando, mediante el motor de indizacin, todos los artculos que encuentre de acuerdo con el perfil de usuario establecido previamente. c) Una vez filtrados aquellos artculos que se ajustan a la especificacin del usuario, elabora el informe que presenta los resultados obtenidos los cuales sern enviados a la direccin correspondiente.

INTELLIGENT AGENTS FOR SEARCHING OF INFORMATION ON WEB SYSTEMS

pueden ser fcilmente enviados por la red. El proceso de descodificacin de dicha serie en el agente se denomina deserializacin. Dada la importancia de Internet, las tareas de bsqueda y tratamiento de la informacin, as como el creciente comercio electrnico, tienen ltimamente una gran relacin con el desarrollo de sistemas basados en agentes mviles [7,8]. Debido al rpido crecimiento de la red, el proceso de localizar los datos que ms interesan a un usuario resulta excesivamente complejo y lleva un largo periodo de tiempo. Con esta tecnologa puede enviarse un agente a los destinos ms interesantes para el usuario, localizar y filtrar la informacin deseada siguiendo unas normas dictadas por ste y traer los resultados consigo al ordenador de origen, permitiendo ahorrar tiempo de conexin y ancho de banda ya que todas las operaciones se realizan directamente en el servidor sin utilizar las comunicaciones nada ms que para mandar y recibir el agente. 3. APLICACIONES MVILES La comunicacin es el medio ms predominante del lenguaje del ser humano, de esta manera se cumplen objetivos como los de comunicar ciudades, familias, promover negocios y conocer que ocurre alrededor del mundo. Todo esto es posible gracias al uso de la telefona celular la cual permite, transmisin de datos por mensajera, conexin a Internet, entre otros. Estos servicios hacen que cada vez ms las personas adquieran celulares y de esta manera incrementar el avance de la tecnologa. Las aplicaciones mviles se han convertido en soluciones a las necesidades que surgen de las personas para dar una mejora a su dispositivo mvil y obtener informacin precisa en tiempo real, de esta forma estar actualizado con lo que pasa en el mundo [9]. Gracias al uso de dispositivos mviles se han desarrollado nuevas aplicaciones los cuales permiten aprovechar al mximo el uso de stos y ofrecer al usuario novedosas maneras de entretenimiento. Para esto, se han creado distintos lenguajes de programacin los cuales permiten el desarrollo de dichas aplicaciones mviles, a continuacin se enuncian los ms destacados: J2ME. La plataforma J2ME es una familia de especificaciones que definen varias versiones minimizadas de la plataforma Java 2; estas versiones minimizadas pueden ser usadas para programar en dispositivos electrnicos; desde telfonos celulares y PDAs, hasta en tarjetas inteligentes, entre otros. Con el objetivo de conocer las necesidades de los experimentados desarrolladores en Windows para crear aplicaciones para usuarios finales sofisticados acostumbrados a usar interfaces ricas, Sun Microsystems rpidamente expandi el alcance y tamao de la plataforma Java. Esta plataforma

extendida incluy un conjunto ms complejo de libreras de interfaces de usuario que aquellos que usaran para construir applets1, adems con un conjunto de caractersticas de computacin distribuida y seguridad mejorada [9]. BREW. Es una solucin que proporciona las herramientas necesarias y los servicios a los desarrolladores, a los fabricantes del dispositivo, y a los operadores para el desarrollo, la distribucin y configuracin del dispositivo mvil. Se considera como pionera y lder mundial en tecnologa inalmbrica digital (CDMA), su entorno de ejecucin es una capa de interfaz que reside en un dispositivo mvil entre el ASIC (Application Specific Integrated Circuit) y las aplicaciones, permitiendo a los usuarios finales bajar y ejecutar programas en dispositivos BREW-enabled. .NET. Microsoft.NET es el conjunto de nuevas tecnologas en las que Microsoft ha estado trabajando durante los ltimos aos con los objetivos de: mejorar sus sistemas operativos y su modelo de componentes. La plataforma.NET, busca obtener un entorno especficamente diseado para el desarrollo y ejecucin del software en forma de servicios que puedan ser tanto publicados como accedidos a travs de Internet de forma independiente del lenguaje de programacin, modelo de objetos, sistema operativo y hardware utilizados tanto para desarrollarlos como para publicarlos [9]. Con el creciente desarrollo de dispositivos mviles y tecnologas de redes inalmbricas como Wireless LAN, GSM, GPRS y Bluetooth, ha sido perfeccionada la movilidad de los usuarios, de manera que ya no estn obligados a realizar su trabajo en un lugar fijo. Existen dos tipos de aplicaciones mviles segn la funcionalidad de dentro del sistema: Aplicacin mvil Web Necesita de un navegador Web o browser como iExplorer Mobile, Mnimo u Opera para ejecutarse. Aplicacin y datos pueden residir remotamente en un servidor u obtenerse del mismo dispositivo mvil. Aplicacin mvil nativa Es aquella que se instala en el propio dispositivo como cualquier otra aplicacin y se desarrolla utilizando un lenguaje de programacin compatible con el sistema operativo del dispositivo (Symbian) o de un framework de desarrollo (Java ME, .Net Compact Framework). Las aplicaciones nativas requieren un mayor esfuerzo de desarrollo, tanto en horas como en especializacin del equipo. El dispositivo y los lenguajes utilizados son
1

Componente de software escrito en un lenguaje de programacin, que se ejecuta bajo el control de una aplicacin ms grande que lo contiene.

INTELLIGENT AGENTS FOR SEARCHING OF INFORMATION ON WEB SYSTEMS

ms limitados y complejos que el entorno servidor o desktop. Siempre que sea posible un desarrollo por terceros, ya que algunos sistemas operativos mviles no lo permiten. La Web es ms sencilla de programar, permite que las actualizaciones sean transparentes al usuario y el desarrollador tiene todo el control de la misma al residir en servidor [10]. 4. ALGORITMOS DE BSQUEDA Una caracterstica principal de la inteligencia humana es su capacidad para resolver problemas. La habilidad para analizar los elementos esenciales de cada problema, abstrayndolos, el identificar las acciones que son necesarias para resolverlos y el determinar cul es la estrategia ms acertada para atacarlos, son rasgos fundamentales que debe tener cualquier entidad inteligente. Es por eso que la resolucin de problemas es uno de los temas bsicos en Inteligencia Artificial [11]. Evidentemente, existen diferentes tipos de problemas, pero todos ellos tienen elementos comunes que permiten clasificarlos y estructurarlos. Por lo tanto, es viable resolverlos de manera automtica, si se pueden expresar de la manera adecuada. Los algoritmos de bsqueda pueden clasificarse en grupos como: algoritmos de bsqueda no informada, de bsqueda heurstica y de bsqueda local [11]. A continuacin se dar una descripcin de cada uno de estos. 4.1 Algoritmos de Bsqueda no Informada Estos algoritmos no tienen en cuenta el coste de la solucin durante la bsqueda. Su funcionamiento es sistemtico, siguen un orden de visitas de nodos fijo, establecido por la estructura del espacio de bsqueda. Estos algoritmos se basan en la estructura del espacio de estados y determinan estrategias sistemticas para su exploracin. Es decir, siguen una estrategia fija a la hora de visitar los nodos que representan los estados del problema. Se trata tambin de algoritmos exhaustivos, de manera que pueden acabar recorriendo todos los nodos del problema para hallar la solucin [12]. Existen bsicamente dos polticas de recorrido de un espacio de bsqueda, en anchura y en profundidad. Los principales ejemplos de estos algoritmos son: a) Anchura prioritaria: intenta explorar el espacio de bsqueda haciendo un recorrido por niveles, de manera que un nodo se visita solamente cuando todos sus predecesores y sus hermanos anteriores en orden de generacin ya se han visitado [13]. b) Profundidad prioritaria: intenta seguir un camino hasta la mayor profundidad posible, retrocediendo cuando acaba el camino y retomando la ltima posibilidad de eleccin disponible. Para obtener este algoritmo solo se debe instanciar la estructura que guarda los nodos abiertos a una pila. Esta estructura consigue que el algoritmo general visite los nodos en el

orden que se ha establecido [11]. El principal problema de este algoritmo es que no acaba si existe la posibilidad de que hayan caminos infinitos. Una variante de este algoritmo que evita este problema es el algoritmo de profundidad limitada, ste impone un lmite mximo de profundidad que impone la longitud mxima de los caminos recorridos. Esta limitacin garantiza que el algoritmo acaba, pero no garantiza la solucin ya que esta puede estar a mayor profundidad que el lmite impuesto [13]. c) Profundidad iterativa: intenta obtener las propiedades ventajosas de la bsqueda en profundidad y en anchura combinadas, es decir, un coste espacial lineal y asegurar que la solucin ser ptima respecto a la longitud del camino. Para obtener este algoritmo se repite sucesivamente el algoritmo de profundidad limitada, aumentando a cada iteracin la profundidad mxima a la que se puede llegar. Este algoritmo obtendra el mismo efecto que el recorrido en anchura en cada iteracin, ya que cada paso recorre un nivel ms del espacio de bsqueda [11]. 4.2 Algoritmos de bsqueda heurstica Actualmente, existen dos clases de algoritmos de bsqueda heurstica: los incrementales y los algoritmos de bsqueda heurstica en tiempo real. Los algoritmos incrementales utilizan informacin de bsquedas previas para encontrar soluciones a problemas similares posiblemente ms rpido que realizando cada bsqueda partiendo de cero. Por otra parte, los algoritmos de bsqueda en tiempo real alternan planificacin y ejecucin del plan y restringen la planificacin a la parte del dominio inmediata al estado actual del agente [14]. El fundamento de los algoritmos de bsqueda heurstica est en cmo elegir que nodo explorar primero, para ello se usan diferentes estrategias basadas en diferentes propiedades. Una primera estrategia es utilizar la estimacin del coste futuro para decidir qu nodos explorar primero. De esta manera se supone que los nodos que aparentemente estn ms cerca de la solucin formarn parte del camino hasta la solucin ptima y por lo tanto se encontrara antes si se exploran en primer lugar. Esta estrategia se traduce en el algoritmo de primero el ms avaricioso (greedy best First). La nica diferencia respecto a los anteriores algoritmos es el utilizar como estructura para almacenar los nodos abiertos una cola con prioridad. La prioridad de los nodos la marca la estimacin del coste del camino del nodo hasta el nodo solucin [11]. Existen algoritmos de este tipo con funcionamiento muy diferente, no siempre garantizan el encontrar la solucin ptima, ni por lo menos hallar una solucin. Los principales ejemplos de estos algoritmos son: a) A*: dado que el objetivo no es slo llegar lo ms rpidamente a la solucin, sino encontrar la de 5

INTELLIGENT AGENTS FOR SEARCHING OF INFORMATION ON WEB SYSTEMS

menor coste se debe tener en cuenta el coste de todo el camino y no solo el camino por recorrer. El algoritmo A* trabaja como greedy best First, solo que el proceso de ordenar los nodos se realiza utilizando el valor de una Funcin Heurstica2. El algoritmo slo acaba cuando se extrae una solucin de la cola. Es posible que en cierto momento ya haya nodos solucin, pero hasta que no se hayan explorado los nodos por delante de ellos, no se puede asegurar que realmente esas sean buenas soluciones. Siempre hay que tener en cuenta que los nodos estn ordenados por el coste estimado del camino total, si la estimacin es menor, podran pertenecer a un camino con una solucin mejor [15]. b) IDA*: se realiza la bsqueda imponiendo un lmite al coste del camino a hallar, explorando en profundidad todos los nodos reiniciando la bsqueda con un coste mayor si no se encuentra la solucin en esa iteracin. Este algoritmo, al necesitar solamente una cantidad de espacio lineal, permite hallar soluciones ms profundas. La desventaja son las reexpansiones de nodos ya visitados. Esto depende de la conectividad del grafo, del espacio de estados y si existen muchos ciclos [3,16]. 4.3 Algoritmos de bsqueda local Es evidente que los algoritmos de bsqueda no informada sern incapaces de encontrar soluciones en problemas en los que el tamao del espacio de bsqueda sea grande. Todos estos algoritmos tiene un coste temporal3 que es una funcin exponencial del tamao de la entrada, por lo tanto el tiempo para encontrar la mejor solucin a un problema no es asumible en problemas reales. Algunos de ellos tampoco son exhaustivos y basan su menor complejidad computacional en ignorar parte del espacio de bsqueda [11,12]. En ocasiones no importa cul es el camino a la solucin, sino la solucin misma, los algoritmos de bsqueda local utilizan un estado en lugar de mltiples caminos. Los algoritmos de bsqueda local parten de una solucin inicial, y, aplicndole operadores de variacin, se modifica; si la solucin alterada es mejor que la original, se acepta, si no lo es, se vuelve a la inicial. El procedimiento se repite hasta que no se consigue mejora en la solucin. Los procedimientos de bsqueda local ms usados son los basados en el gradiente: en este caso, el operador de variacin selecciona una nueva solucin teniendo en cuenta la derivada de la funcin que se quiere optimizar en el punto, tratando de ascender o descender usando el gradiente hasta llegar a un punto de inflexin donde no

se puede obtener ninguna mejora adicional [17]. A continuacin se describen algunos algoritmos de bsqueda local como Branch & Bound y Hill-Climbing: a) Branch & Bound o ramificacin y poda, limita el nmero de elementos a guardar como pendientes y olvida los que no parecen prometedores. Estos algoritmos permiten mantener una memoria limitada, desprecian parte del espacio de bsqueda, pero se arriesgan a no hallar la mejor solucin, ya que esta puede estar en el espacio de bsqueda que no se explora. Trabaja como best-first pero en cuanto se encuentra una solucin sigue expandiendo los nodos de costos menores al encontrado [11]. b) Hill-climbing Simplex: consiste en elegir siempre el primer operador que suponga una solucin respecto al nodo actual, de manera que no se exploran todos los nodos posibles, ahorrando el explorar cierto nmero de descendientes, su desventaja es la mayor probabilidad de no alcanzar la mejor solucin. c) Steepest ascent hill climbing: esta variante expande a todos los posibles descendientes de un nodo y elige el que suponga la mxima solucin respecto al nodo actual. Con esta estrategia se supone que la mejor solucin se encontrar a travs del sucesor que mayor diferencia tenga respecto a la solucin actual, siguiendo una poltica avara [17]. Existen algoritmos alternativos de bsqueda local que han mostrado ser efectivos en algunos dominios donde los algoritmos de bsqueda por ascenso no lo son, tales como Simulated Annealing y algoritmos genticos. El algoritmo de Simulated Annealing o de templado simulado, est inspirado en un fenmeno fsico que se observa en el templado de metales y en la cristalizacin de disoluciones. En este algoritmo el nodo siguiente a explorar no ser siempre el mejor descendiente, se elige aleatoriamente en funcin de los valores de unos parmetros entre todos los descendientes (los buenos y los malos). En este algoritmo no se exploran todos los sucesores de un nodo, basta con elegir un sucesor al azar y decidir si se contina por l o no. El algoritmo de templado simulado se puede ver como una versin estocstica del algoritmo de bsqueda por ascenso [11]. Otra analoga que ha dado lugar un conjunto de algoritmos de bsqueda local bastante efectivos es la seleccin natural como mecanismo de adaptacin de los seres vivos. Esta analoga se fija en que los seres vivos se adaptan al entorno gracias a las caractersticas heredadas de sus progenitores, donde las posibilidades de supervivencia y reproduccin son proporcionales a la bondad de esas caractersticas, adems la combinacin de buenos individuos puede dar lugar a individuos mejor adaptados, los algoritmos que utilizan esta analoga son los algoritmos genticos [11]. 5. PROYECTOS DE REFERENCIA

Funcin Heurstica: funcin que hace una aplicacin de descripciones de estados como qu aspectos del problema se consideran, cmo se evalan esos aspectos y sus pesos dados, representados en nmeros para cada nodo. Coste Temporal: es el tiempo que emplea un algoritmo en ejecutarse dados unos datos de entrada.

INTELLIGENT AGENTS FOR SEARCHING OF INFORMATION ON WEB SYSTEMS

A continuacin se describen algunos proyectos similares al tema del presente artculo, con el fin de tener una visin ms amplia de las ventajas, arquitecturas y resultados obtenidos por stos. 5.1. SAIPE (Sistema de Acceso a Informacin Personal desde Entornos con Conectividad Limitada) Es un sistema basado en agentes mviles que facilita al usuario el acceso a informacin personal cuando usa dispositivos mviles y una conexin de red inestable, como puede ser las redes inalmbricas basadas en GPRS [18]. SAIPE permite acceder a cuentas de correo electrnico para buscar mensajes de correo y leer slo los que interesen, sin que para ello se tengan que obtener todos los dems mensajes que puede haber en dicha cuenta. Adems, permite buscar documentos usando algunos sistemas de bsqueda registrados en el sistema y despus descargarlos si as se desea, desplazando los procesos ms pesados del Dispositivo de Usuario desde el que se ejecuta la aplicacin a un dispositivo distinto con mayor capacidad de clculo, denominado Dispositivo Servidor. Cuando se ordena a la aplicacin hacer una bsqueda de documentos o de mensajes de correo electrnico, leer mensajes de correo o descargar documentos, la interfaz le ordena a uno de los agentes que forman parte del sistema que realice dicha accin [19,20]. Este agente (agente mvil) cuando recibe la orden se desplaza al Dispositivo Servidor para que se realicen los clculos, en donde hace todas las operaciones necesarias para dar respuesta a la peticin. Una vez obtenida la informacin regresa al origen con la informacin obtenida. Esta informacin se muestra al usuario a travs de la interfaz del sistema. Para desarrollar el sistema se utiliz la plataforma de agentes mviles JADE-LEAP [20,21]. 5.2. FRA (Flora Retrieval Agent)

manejador de base de datos Illustra por medio del controlador mijdbc. FRA puede recuperar informacin botnica a partir de una biblioteca digital florstica mediante el modelo de espacios vectoriales. Este agente tiene la capacidad de presentarle al usuario los resultados de una forma clara y ordenada, adems de que le permite ver el documento completo al que se refiere un resultado en especial. FRA permite al usuario calificar a su modo de ver los resultados que el agente le presenta con el objetivo de ir refinando las bsquedas y acercarse lo ms posible a los gustos del usuario. Tiene la capacidad de usar un archivo de preferencias en el que el usuario puede definir las palabras claves que le interesan para darle orientacin a la recuperacin de la informacin [21]. 5.3. VIVSIMO Es un meta-buscador en lnea desarrollado por la Universidad de Carnegie Mellon que emplea un algoritmo de agrupamiento basado en la similitud textual y lingstica. El Algoritmo es propietario, el motor de bsqueda considera nicamente ttulos y resmenes de documentos en Web, no se analizan documentos completos u otros parmetros [22]. El agrupamiento coloca documentos en el mismo grupo dependiendo de la similitud entre ellos. El mtodo complementa su decisin de similitud con la ayuda de supervisin humana llevada a cabo por los programadores. No se utiliza una taxonoma predefinida o control de vocabulario, solo se usa la descripcin del documento. Este mtodo no es exclusivo, de manera que un documento puede pertenecer a varios grupos dentro de una jerarqua. La salida de este software es una lista ordenada de acuerdo con la similitud con la consulta. Vivsimo permite realizar bsquedas sobre toda la Web o sobre unos sitios especficos como noticias, buscadores y portales. 6 CONCLUSIONES

Es un agente que se incorpor a la iniciativa denominada Biblioteca Digital Florstica o FDL con el objetivo de mejorar la bsqueda y recuperacin de informacin relevante a los intereses y preferencias del usuario. FRA filtra y elimina aquella informacin botnica que no considera de inters para el usuario [21]. Este agente tiene la capacidad de trabajar de manera semi-autnoma porque el usuario en cualquier momento puede desactivarlo o suspenderlo, el usuario tiene la capacidad de calificar los documentos recuperados mejorando con esto prximas recuperaciones. El agente cuenta con el servicio de notificacin va correo electrnico cuando nuevos resultados hayan sido obtenidos. El esquema general del agente FRA est compuesto por 6 mdulos que se interrelacionan entre s envindose mensajes. Para implementar el agente se toma en consideracin el ambiente distribuido en el que va a estar inmerso y el acceso a una base de datos va remota. El agente es desarrollado en Java accesando el

Es necesario dotar de inteligencia a las mquinas, de tal forma que la mquinas puedan "entender" qu es exactamente lo que se est buscando y en qu forma se requiere (texto, audio, video). El disponer de una entidad capaz de aprender los gustos y la forma de actuar, tal y como lo hara una persona, pero adelantndose y realizando tareas que se podran ejecutar por el ser humano si dispusiera de ms tiempo, mejorara su calidad de vida. Al enviarse un agente a los destinos ms interesantes para el usuario, que pueda localizar y filtrar la informacin deseada siguiendo unas normas dictadas por ste, permitir ahorrar tiempo de bsqueda y ancho de banda. Teniendo en cuenta la descripcin de los proyectos de referencia, se puede decir que es viable el desarrollo de un software o aplicacin, capaz de realizar bsquedas 7

INTELLIGENT AGENTS FOR SEARCHING OF INFORMATION ON WEB SYSTEMS

significativas para el usuario, proporcionndole una identidad dentro del sistema, usando agentes inteligentes mviles. Con la informacin recopilada de los algoritmos de bsqueda y su estructura, se concluye que los algoritmos de bsqueda local son los apropiados para el desarrollo de un sistema o aplicacin donde se requiera encontrar una solucin adecuada a una consulta determinada. 7 TRABAJOS FUTUROS Como trabajo futuro se tiene previsto desarrollar una aplicacin web basada en agentes inteligentes para la bsqueda de informacin bibliogrfica, donde el usuario pueda realizar bsquedas ms significativas y precisas, siendo posible reconocer al usuario por medio de un perfil alimentado por su interaccin con el sistema, a travs de un dispositivo mvil. 8 REFERENCIAS [1] Julin Vicente, Botti Vicente. Agentes inteligentes: el siguiente paso en la Inteligencia Artificial. Universidad Politcnica de Valencia. Junio 2000. Consultado Junio 2009. http://www.ati.es/novatica/2000/145/vjulia-145.pdf [2] Nava Jose. Agentes inteligentes. Java Blog 2008. Consultado Junio 2009. http://javaoficial.blogspot.com/2008/04/agentesinteligentes.html [3]Russell Stuart J, Norvig Peter. Inteligencia Artificial: un enfoque moderno. Prentice Hall Mxico, 1996. p. 10-40. [4] Vicente Julin. Agentes de informacin. Universidad Politcnica de Valencia 2002. Consultado Mayo 2009. http://www.upv.es/sma/teoria/aplicaciones/Aginformaci on.pdf [5]Prez Ardila Yanis Stanley. Aplicacin de metodologas INGENIAS, ZEUS, MASINA al desarrollo de sistemas multi-agente, partiendo de SMA de subastas para la identificacin de mejores prcticas. Universidad de Pamplona. Colombia Abril 2007. Consultado Abril 2009. http://d.scribd.com/docs/2nio7ixepgf1tnpesqqn.pdf [6] FIPA, 2000. FIPA Specifications. Consultado Julio 2009. http://www.fipa.org/ [7]Martnez Barrera Crisman. Agentes de Software mviles. Revista Nmadas No 15. Colombia 1999. Consultado Mayo 2009. http://www.ucentral.edu.co/NOMADAS/nunmeante/11-15/Pdfs Nomadas 15/19c-Agentes.pdf

[8] Caramazana Crcamo Alberto. Agentes mviles. Comunicaciones World No. 138. Madrid 1999. Consultado Junio 2009. http://albertocc.tripod.com/pdf/AgentesMoviles.pdf [9] Quevedo Amaya Adriana Marcela. Implementacin de una gua turstica por medio de una aplicacin mvil. Tesis Universidad del Bosque. Colombia 2007. Consultado Julio 2009. http://www.unbosque.edu.co/files/Archivos/DocQueved o.pdf [10] Aplicaciones mviles. Consultado Junio 2009. http://ispamat.wordpress.com/page/3/ [11]Bjar Javier. Inteligencia Artificial (IA), Resolucin de problemas, Algoritmos de bsqueda. Universidad Politcnica de Catalua 2007. Consultado Mayo 2009. http://www.lsi.upc.edu/~bejar/ia/material/teoria/busque da06071q.pdf [12] Inteligencia Artificial. Bsqueda no informada. Consultado Julio 2009. http://velasquez-berru.blogspot.com/2008/05/ejecucionde-programa.html [13] Nilsson, Nils J. Principios de Inteligencia Artificial. Madrid, Editorial Daz de Santos 1987 Cap. 7.

[14] Fernndez, Martn Osvaldo. Algoritmos de bsqueda heurstica en tiempo real. Consultado Agosto 2009. http://www.exa.unicen.edu.ar/catedras/aydalgo2/docs/T Fca06aCompleto.pdf [15] Algoritmo A* en Java. Codificacin. Consultado Agosto 2009. http://www.edadfutura.com/2007/11/algoritmo-a-enjava.htm [16] Algoritmo IDA*. Consultado Agosto 2009. http://www.fleifel.net/ia/ida-estrella.php [17] Ceccaroni, Luigi. Inteligencia Artificial Bsqueda local. Presentacin 2009. Consultado Junio 2009. http://www.lsi.upc.edu/~luigi/II/IA-2009-spring/2cbusqueda-local-(es).ppt [18] Cai and D. Goodman. General packet radio service in GSM. IEEE Communications Magazine, Madrid. Editorial Daz de Santos Vol 35 p. 122-131, Octubre 1997. [19] Barcala Jose A, Cuesta Pedro, Gmez Alma, Gonzlez Juan C, Rodriguez Francisco J. Agentes mviles en SAIPE: Sistema de acceso a Informacin Personal desde Entornos con conectividad limitada. Universidad de Vigo 2004. Consultado Junio 2009. 8

INTELLIGENT AGENTS FOR SEARCHING OF INFORMATION ON WEB SYSTEMS

http://trevinca.ei.uvigo.es/~pcuesta/publicaciones/Desm a2004_Barcala.pdf [20] Bellifemine, F., et al, 2002. Jade Programmers Guide (JADE 3.1). Consultado Julio 2009. http://sharon.cselt.it/projects/jade/ [21] Cabrera Daz J. Integracin de servicios y agentes de usuario en la recuperacin de informacin en una biblioteca digital. Tesis de Licenciatura Departamento de Sistemas Computacionales, Universidad de las Amricas Puebla, Cholula Pue 1997. Consultado Junio 2009. http://catarina.udlap.mx/u_dl_a/tales/documentos/lis/ch evalier_d_ga/capitulo2.pdf [22]Ibez Rivera Metztli. Clasificacin automtica de documentos y recuperacin de informacin en colecciones personales. Universidad Tecnolgica de la Mixteca. 2005. Consultado Junio 2009. http://jupiter.utm.mx/~tesis_dig/9760.p

HYPERTEXT CLASSIFICATION TO FILTRATE INFORMATION ON THE WEB

10

You might also like