Agentes Inteligentes

Agentes inteligentes

0

Los agentes que interactúan en un entorno de software son los llamados softbots (software robots), o knowbots y se definen como agentes inteligentes o asistentes personales electrónicos, también son considerados como robots que habitan en el ciberespacio.

Y es en Internet donde los agentes parecen tener mayor oportunidad de éxito al permitir automatizar la búsqueda de un producto en las mejores condiciones de venta a través de múltiples vendedores simultáneamente. Lo cual permitiría reducir la búsqueda por parte de los compradores a través de numerosas tiendas en línea y ofrecerle un conjunto de variadas ofertas que sean eficientes económicamente.

Por otra parte los agentes realizan comparaciones en línea de forma mas eficiente que las efectuadas convencionalmente, y favorecen la competencia entre empresas productoras.

Otra aplicación es sugerirle al cliente productos basados en la preferencia de otros clientes con gustos similares. También tenemos los agentes intermediarios, los cuales debido a la fragmentación del mercado y la diversidad de proveedores, es posible dividirlos en una serie de componentes para que los intermediarios se ocupen de uno de esos componentes e insertares entre los compradores y vendedores.

Sistemas de comercio electrónico: comprenden desde simples servicios de compra en línea a infraestructura más complejas que proporcionan una amplia gama de servicios.

Estos sistemas implementan un o varias de las etapas siguientes:
1. Identificación de las necesidades del comprador.
2. Elección del producto a comprar.
3. Elección del vendedor donde se realizara la compra.
4. Negociación
5. Compra y envío.
6. Uso y evaluación del producto adquirido.

Para su mejor comprensión los agentes se clasifican en:
1. Agentes de recomendación.
2. Agentes de compra comparativa
3. Agentes notificadores
4. Agentes observadores
5. Agentes de negociación

Agentes de recomendación: tienen como misión realizar recomendaciones a los usuarios de productos que podrían interesarles, basándose en su perfil y en el conocimiento del contexto del negocio. Ejemplo: FireFly.

Agentes de compra comparativa: su objetivo es encontrar al comerciante que ofrece las mejores condiciones de compra de un producto deseado por el usuario. Ejemplo: Bargain Finder.

Agentes notificadores: son los encargados de notificar a sus usuarios la aparición o detección de productos acordes a sus preferencias o necesidades. Ejemplo: Jango.

Agentes observadores: son los que se dedican a observar la información relevante a un usuario para luego notificársela. Ejemplo FishWrap.

Agentes de negociación: pretenden trasladar al mercado electrónico los procesos de negociación que se producen normalmente a la hora de realizar una transacción comercial. Para la cual existen agentes compradores y vendedores que colaboran para llegar a algún acuerdo en a las condiciones de adquisición de un producto. Ejemplo: Kasbah.

0

Sistemas multiagentes

Son entornos poblados con mas de un agente inteligente donde cada uno de ellos es capaz de tomar sus propias decisiones para alcanzar sus objetivos. Lo que implica tener en cuenta el nivel de cooperación y coordinación entre los distintos agentes y las vías de comunicación.

Descomposición de tareas.

Uno de los problemas de la IAD es como representar los problemas ya que la descomposición de los mismos depende en gran medida de su formulación. La descripción debe incluir la información sobre las características y atributos del problema así como del dominio y del entorno del problema. Una vez dada la descripción de una tarea, la descomposición de una tarea y asignación de subtareas a múltiples agentes se debe tener en cuenta que los agentes tengan capacidad para llevarla a cabo y disponibilidad de recursos.

Las técnicas más empleadas para realizar una descomposición automática de las tareas por parte de los agentes son:
• Tareas inherentes descomponibles: la propia descripción de la tarea incluye su descomposición.
• Descomposición por el programador: esto es muy común en los SCPD
• Planificación jerárquica: es uno de los sistemas más empleados para descomponer de forma automática. Las tareas se definen en forma de planes que satisfacen unos objetivos y da lugar a arboles Y/O. Un plan contiene subplanes.
• Agregación de subtareas: enfoque ascendente en vez del enfoque descendente en la descomposición.

0

Sistemas basados en la cooperación

La cooperación se basa en que ningún agente tiene la información (experticia, recursos, etc.) para resolver completamente el problema. Donde el concepto de agente es demasiado amplio y por él puede entenderse lo mismo un grupo sistemas de expertos, un grupo de nodos de procesos, un grupo de actores o como fuentes de conocimientos.

En el sentido mas general, son sistemas que participan activamente en la coordinación de actividades. Y se persigue la interacción de hombres y máquinas como agentes inteligentes dentro de un sistema para conformar una entidad inteligente que permita enfrentar los problemas. Se sustituye la estructura jerárquica por una heterarquica donde el más capaz recibe el control.

Estos sistemas se utilizan conectados en red y su objetivo no es solo compartir recursos o base de datos (modo pasivo), sino también compartir conocimientos (modo activo).

Trabajo en RED
Pasivos: comparten recursos (textos, datos, periféricos)
Activos: comparten conocimientos (decisiones)

Modo activo: Los conocimientos no son la BC de un experto sino la modulación conceptual de los procedimientos de cooperación hombre máquina para que el sistema monitoree la actuación de los agentes (humanos o máquinas) y pueda resolver cierto tipos de problemas.

Desde que se implanta una red se está desarrollando un sistema de trabajo cooperativo pasivo cuyo objeto es compartir recursos y la interacción hombre máquina consiste en compartir el software por varios usuarios a la vez, lo cual permite una interacción directa de forma remota, varias personas pueden trabajar sobre un mismo documento o BD, pero el sistema como tal no actúa en el proceso, no facilita el trabajo de las personas que intervienen.

El diseño de un entorno para trabajo cooperativo se ha de basar en el conjunto de “procedimientos” que la organización acepta como válidos para lograr sus objetivos.

Procedimientos de cooperación: “conjunto de reglas del juego”, que integran el aporte de cada uno de los integrantes y refleja los puntos de cooperación hombre-máquina. Se formulan los criterios con los que el grupo está dispuesto a colaborar. En el modo activo es el sistema quien facilita la comunicación de datos y textos (red pasiva), toma “conciencia” de la estructura del problema a resolver y participa en su resolución, por ejemplo, evaluando el estado de resolución en curso, analizando las diferencias entre el plan de actuación previsto y el real o decidiendo que las aportaciones o respuestas de los agentes humanos son admisibles o no.

La solución cooperativa para problemas distribuidos (SCPD): se basa en el estudio de como un grupo de solucionadores de problemas (agentes o nodos) desacoplados y descentralizados pueden trabajar conjuntamente para resolver problemas, con capacidades superiores a aquellas que puede enfrentar cualquier agente (o nodo de una red) conforme a sus capacidades individuales. Los agentes o nodos son capaces de solucionar problemas sofisticados y pueden trabajar independientes, sin embargo no pueden formar una solución global del problema, si no existe una cooperación entre ellos.

En este caso los agentes son nodos de un proceso o de una red. Los mismos tendrán una posición definida dentro de ese proceso (su participación) y estarán conectados, interactuando, con los demás agentes. Cada agente es capaz de resolver tareas locales propias de su experticia

Los SCPD tienen la ventaja que los agentes pueden trabajar en paralelo
Incrementar la variedad de soluciones. Cada agente puede proponer varias soluciones independientes, las cuales podrían ser analizadas (combinadas) por otros agentes.

Los agentes pueden servir de críticos a las propuestas de otros agentes, o tener otro punto de vista a la hora de compatibilizar los criterios basados en su pericia sobre el tema donde converge la pericia del otro (temas que se solapan).

Agentes:
Segmentos de programas
Computadoras en RED
Expertos

En general la IAD. Se basa en la distribución de datos y conocimientos para llegar a una solución de problemas de forma que los distintos agentes sean identificados como resolvedores locales de problemas. Lo cual tiene las siguientes ventajas:

1) Como resolver iteraciones entre los problemas a ser resueltos por los diferentes agentes.
2) Como controlar las actividades entre los agentes para explotar el paralelismo.
3) Como integrar los resultados parciales para obtener un resultado global final.

Muchos problemas son esencialmente distribuidos. El conocimiento necesario para resolver un problema puede estar distribuido en varios sitios, por lo que tendríamos que un agente individual podría resolver el problema pero requeriría demasiado tiempo y se asumirían demasiados riesgos en cuanto a fiabilidad al concentrar toda la responsabilidad en ese agente. Por lo que la resolución distribuida de problemas puede ser la solución a estos casos.

La resolución distribuida de problemas requiere de tres fases:

1) División del problema en subproblemas.
– Requiere además la asignación de subproblemas a agentes específicos.

2) Resolución de los subproblemas.
– Los agentes pueden funcionar independientemente o bien compartir tareas o resultados.

3) Combinación de las soluciones.
– Al igual que en la fase de división, es necesario establecer de quien es la responsabilidad en esta fase y si se requiere un agente de coordinación.

La resolución distribuida de problemas en sistemas multiagentes solo es apropiada cuando los agentes tienen capacidades de comunicación sobre las que pueden establecerse estrategias de cooperación y negociación.

0

La Inteligencia artificial distribuida es un campo de la IA dedicado al estudio de las técnicas y el conocimiento necesario para la coordinación y distribución del conocimiento y las acciones en un entorno con múltiples agentes.

Podemos distinguir dos áreas principales de desarrollo:
1. Solución cooperativa de problemas distribuidos (SCPD): Estudia como unos conjuntos de módulos (o nodos) cooperan para dividir y compartir el conocimiento de un problema y en el desarrollo de la solución.
2. Sistemas multiagentes (SMA): Estudia la coordinación de la conducta inteligente entre un conjunto de agentes inteligentes autónomos.

La principal diferencia entre ambas áreas estriba en la flexibilidad de la coordinación entre los agentes. En la SCPD, las interacciones y tareas que cada agente realiza, están prefijadas de antemano: hay un plan centralizado de resolución de problemas. Suele haber un miembro que ejerce un control global que centraliza los resultados parciales y datos entre el resto de los componentes del sistema. En contraposición en los SMA, los agentes tienen un grado de autonomía mayor y pueden decidir dinámicamente que interacciones son adecuadas, que tareas deben realizar, quien realiza cada tarea y, además, es posible mantener conocimiento que no es globalmente consistente, incluso los agentes pueden mantener objetivos globales diferentes. Esta definición permite distinguir entre sistemas que se centran en el comportamiento global, con una conducta fija de los agentes (SCPD) y sistemas que se centran en la conducta de los individuos que como resultado, obtenían una conducta del sistema (SMA). Vista como una sociedad, seria escoger entre un estado que planifica y regula las conductas de los individuos (que serán predecibles) o dejar que el sistema se resuelva por la libre iniciativa de los individuos.

Los problemas básicos que estudia la IAD y que son comunes a todos los sistemas son:
1. Como formular, describir, descomponer y asignar problemas y sintentetizar los resultados entre un grupo de agentes inteligentes.
2. Como capacitar a los agentes para que se comuniquen e interactuen: que lenguajes de comunicación o protocolos deben utilizarse, que y cuando deben comunicarse, etc.
3. Como asegurar que los agentes actúen coherentemente al tomar decisiones o realizar acciones, como acomodar los efectos globales de las decisiones locales y prevenir interacciones no deseadas.
4. Como capacitar a los agentes para representar y razonar sobre acciones, planes y conocimientos de otros agentes para coordinarse; como razonar sobre el estado de su proceso de coordinación (inicio o terminación).
5. Como reconocer y reconciliar puntos de vista e intenciones conflictivas entre un conjunto de agentes para coordinar sus acciones; como sintetizar los puntos de vista y los resultados.
6. Como utilizar técnicas ingenieriles y desarrollar sistemas con IAD. Como desarrollar plataformas de SMA y metodologias de desarrollo con tenias de IAD.

0

Veamos algunas de las definiciones de agente inteligente:
Agente inteligente: entidad capaz de percibir el entorno y de actuar sobre él. / Es una entidad de software persistente con un propósito específico. / Un agente autónomo es un sistema que habita en un entorno dinámico y complejo, en el que percibe y actúa de manera autónoma, alcanzando el conjunto de objetivos para el que fue diseñado. / Un programa autocontenido que es capaz de controlar sus acciones y decisiones para alcanzar unos objetivos, basándose en su percepción del entorno. / Es un sistema que está situado y que forma parte de un determinado entorno, que percibe este entorno y que actúa en él continuamente y con su propia planificación, persiguiendo el objetivo de cambiar su propia percepción

Características de los agentes inteligentes:
Los agentes tienen un punto de vista incompleto, pero esto no limita que se halle una solución (aproximada). Lo que se pretende en que la solución sea completa y consistente.
Los agentes se mueven dentro de un entorno “virtual” operando a través de un sistema.
Los agentes inteligentes dentro del entorno de software tendrán una función análoga a la que realizan los robots en el mundo real, de ahí el nombre de softbots (software robot).

Hoy en día se ha puesto de moda el nombre agente software. Al que se le aplican las definiciones dadas anteriormente, resaltando la condición de autonomía: Debe actuar autónomamente sin la intervención de seres humanos u otros sistemas y debe tener control sobre su estado interno y sobre su propio comportamiento.

Control del entorno

• En la mayor parte de los dominios el agente sólo tendrá control parcial del entorno.
• Una misma acción realizada por el agente en diferentes ocasiones puede tener efectos distintos.
• Un agente debe estar preparado para fallar.
• Un agente dispone de un repertorio de acciones con sus correspondientes precondiciones.
• Un agente debe estar preparado para decidir que acción realizar para alcanzar sus objetivos de diseño.

Las arquitecturas de agentes son sistemas de toma de decisiones empotradas en un entorno.

Tipos de entorno:

• Accesible / inaccesible.
• Determinista / indeterminista.
• Episódico / no episódico.
• Estático / dinámico.
• Discreto / continuo

De acuerdo con su accionar sobre el entorno una agente inteligente se puede definir como: un sistema que está situado en un cierto entorno y que tiene capacidad de actuar autónomamente de forma flexible en ese entorno para satisfacer sus objetivos de diseño.

Flexibilidad:

• Reactividad: capacidad de responder oportunamente a los cambios percibidos en el entorno.
• Pro-actividad: comportamiento dirigido por el objetivo.
• Habilidad social: capacidad de interacción con otros agentes para satisfacer sus propios objetivos (negociación y cooperación con agentes que persiguen otros objetivos).

Otras características de los agentes es la capacidad de razonamiento, la capacidad de aprendizaje, la movilidad, la honestidad, etc.

Diferencias entre agentes y sistemas expertos (SE).

• Los SE no suelen interactuar directamente con el entorno (de ahí que algunos le llamaran sistema autistas.
• Los SE suele diseñarse para tareas más complejas donde ellos tienen todo el control de las decisiones para ese dominio.
• Los SE no suelen cooperar entre si.

Ventajas de los agentes inteligentes:
Facilitarle el trabajo a los usuarios
Actuar como consultantes
Servir de operadores en medios complejos

Dificultades:
– Cómo conocer la información relevante o irrelevante
– Cómo agilizar la búsqueda
– Cómo evitar repetir una tarea realizada.
– Cómo habérselas con diferentes protocolos, formatos y sistemas de acceso a la información.

0

Después de la crisis del paradigma simbolista dentro de la Inteligencia Artificial; un nuevo paradigma comenzó a establecerse: el conexionista, basado en pequeños programas no inteligentes (al menos no poseían todo el conocimiento) y que al integrarse a otros programas lograban alcanzar una inteligencia o un conocimiento mas acabado y darle solución a problemas complejos. Lo cual a dado lugar a diferentes campos de investigación como los agentes inteligentes, las redes neuronales, los algoritmos genéticos, por solo citar algunos de los más influyentes. Este nueva paradigma lleva a un nuevo concepto: la inteligencia colectiva donde muchas inteligencias conectadas o interactuando entre si, ya sean neuronas, personas, empresas o cualquier otro organismo, pueden alcanzar una superinteligencia, a la que muchos científicos le han llamado el cerebro global.

Algo de historia
Ya en el siglo XIX, Herbert Spencer escribió un libro “Los principios de la sociología”, en el cual proponía la idea de que la sociedad se asemeja a un organismo. El biólogo Vladimir Vernadsky creo la palabra noosfera para referirse a la red de pensamientos, información y comunicación que engloba el planeta y ya en 1995 el teólogo Pierre Tahilard de Chardin popularizo la palabra noosfera en su libro “El fenómeno humano”. Sin embargo no fue hasta 1983 que aprecio el termino cerebro global, utilizado por Peter Russell en su libro “Cerebro global”.

Porque la Web.
Si pensamos en el cerebro estamos haciendo referencia a un organismo o sistema (el cerebro) que va ha estar compuesto por muchos organismos más pequeños (las neuronas) que se conectan entre si para lograr una inteligencia. La idea consiste en extrapolar el cerebro a la Web (la Web vista como un organismo) que esta compuesta por muchos enlaces (link) entre paginas Web. Hoy la Web funciona como un sistema caótico, donde la información esta desordenada y encontrar información es una tarea nada fácil. Veamos los problemas actuales de la Web,

1. Todavía sigue siendo una enorme base de datos esencialmente plana y minimamente organizada.
2. La red es la misma para cada individuo, y no atiende a las necesidades particulares o a las propuestas individuales de los usuarios.
3. Tampoco es capaz de aprender de los recorridos seguidos por cada uno de ellos, los contenidos no están relacionados y las maquinas no entienden los datos que almacenan.
4. Todavía no se cuenta con un mecanismo que filtre la información y ofrezca pistas de cuando la información es verídica o falsa de cuando es útil o inútil para cada usuario.

Todos estos problemas podrían ser resuelto por una Web inteligentes (algunos le llaman así) o cerebro global. Proyecto en el que trabajan Francis Heylighen y John Bollen son dos de los científicos mas destacados en la creación del cerebro global ambos trabajan en el proyecto Web Principia Cibernética donde se simula el funcionamiento de un cerebro global en Internet

Los componentes:

Hipervínculos de acuerdo al peso que se le de a las paginas mas consultadas.
Este cerebro es capaz de crear nuevos hipervínculos que se activan cuando el usuario desarrolla un nuevo itinerario en su búsqueda de modo que los enlaces se actualizan o se destruyen de manera automática en función de su uso. El aprendizaje sigue la regla de Hebb: si dos neuronas se activan de manera sucesiva aumenta el poder de su conexión y esto mismo es lo que aplican a la web, si dos paginas son consultadas por el mismo usuario en un breve intervalo de tiempo, el hipervínculo existente entre ellas alcanzara un peso más importante o da origen a un nuevo enlace, a su vez los enlaces que no son consultados pueden ser eliminados. Al igual que el cerebro humano es capaz de crear conexiones nuevas en función de su uso.

Smart cookies: cookies inteligentes que permiten crear la ruta de navegación del usuario.
Las cookies inteligentes son pequeñas bases de datos que registran la información sobre el usuario y su computadora además de almacenar las rutas de dicho usuario por Internet. Cuando el usuario se conecta al servidor es capaz es capaz de reconocerlo y de recomendarle páginas que le pueden ser de interés, así como de ajustar los hipervínculos y de revisarlos automáticamente. En definitiva, busca atajos.

Agentes inteligentes: son lo que interactúan con la fuente de información.
Se necesita de un programa que acceda a las bases de datos creadas por las cookies para recoger la información y esta es tarea de los agentes inteligentes, que son los pequeños programas que interactúan no solo con la información contenido en las cookies sino también entre ellos creando un conocimiento distribuido que, a su vez, debe ser capaz de simular el funcionamiento de las neuronas en el cerebro y asociar los conceptos y entenderlos. En el caso de Internet debe ser capaz de entender el contenido de las páginas Web para saber cuales sirven y cuales no, de acuerdo a lo que el usuario precisa.

Web semántica: hacer comprender a los servidores Web el contenido de las páginas.
El cerebro global podemos decir que es la línea fuerte dentro de la investigación de una Web inteligente, donde se persigue que los servidores sean capaces de aprender el recorrido hacen los internautas en su navegación por Internet. Se busca simular al cerebro. Esta línea es liderada por Francis Heykighen, Johan Bollen y Cliff Hoslyn.

Otra vía, podemos decir la línea débil (en el sentido que es menos ambiciosa), busca desarrollar un sistema que permita que la búsqueda y recuperación de información sea mas intuitiva y precisa a partir de la aplicación de la semántica, de ontologías y de agentes inteligentes. Se busca hacer que la Web sea más inteligente sin imitar al cerebro. Esta última es liderada por Tim Berners-Lee, Hans Georg Stork y James Hendler.

La Web semántica sueña con lograr que la Web nos entienda, para ello trabaja en hacer comprender a los servidores Web el contenido de lo que almacenan o distribuyen por la red, mientras los agentes inteligentes son los encargados de acceder y manipular esos contenidos.

Cerebro global: ¿Cómo funciona?
El cerebro global además de tener como soporte la metáfora del cerebro, también parte la crecía de una inteligencia colectiva. Ahora Qué es inteligencia colectiva? Según Pierre Levy, es una forma de inteligencia universalmente distribuida, constantemente realzada, coordinada en tiempo real, y resultando en la movilización efectiva de habilidades. Esto ultimo la movilización de habilidades individuales que de forma cooperada pueden conformar una inteligencia, piensen en la sociedad de las hormigas.

La idea consiste en que la sociedad puede ser vista como un superorganismo basado en la inteligencia colectiva de todos sus miembros. Por lo que su funcionamiento consistiría en lograr estructurar y organizar la información dentro de Internet y para ello este superorganismo tiene que ser capaz de generar, multiplicar y mantener las conexiones neuronales correspondientes.

Tanto el cerebro global como la Web semántica persiguen reconstruir la ruta seguida por los usuarios en la red y actualizar y componer constantemente los enlaces según la demanda de los usuarios y desconectar los que vayan perdiendo actualidad. Para ello se necesitan algoritmos que se le asignaran a cada visitante con el objetivo de rastrear el camino que sigue dentro de la Web y memorizar la historia de su comportamiento y con ello; ser capaz de reconocer los gustos de cada usuario y mostrarle solo las paginas que le interesen y proponerle nuevos sitios de acuerdo al perfil que ha ido conformando sobre su comportamiento.

Tendremos una red que será cada vez más inteligente y que a través de los agentes inteligentes, los sistemas de conocimiento distribuidos y otras tecnologías, Internet se convertirá en una Web inteligente o semántica capaz de aprender de los gustos de los usuarios y facilitarle las búsquedas, y hasta de aconsejarlos. Aunque algunos van mas lejos y creen que ese cerebro global será capaz de evolucionar y llegar a adquirir una conciencia. O sea que, ya no, solo, estamos hablando de maquinas conscientes que aprenden, sino de una red que se auto-organiza y adquiera conciencia de sí.