Una introducción a la Inteligenca Artificial (IA)



Descargar 2.01 Mb.
Página26/29
Fecha de conversión20.03.2018
Tamaño2.01 Mb.
Vistas536
Descargas0
1   ...   21   22   23   24   25   26   27   28   29

Como se mueve un agente

El proceso para transferir un agente de un sistema a otro se realiza en tres fases [1]:

Iniciación de la transferencia.

El agente identifica el destino deseado, realiza una petición de viaje al sistema y –si es aceptada– recibe el permiso para ejecutar la transferencia.

El sistema suspende la ejecución del agente e identifica el estado y las partes del agente que serán enviadas.

Se realiza la conversión en serie del código y del estado del agente (seriación) y se codifica según el protocolo establecido.

El sistema hace la autenticación del agente.

Se realiza la transferencia.

Recepción del agente.

El sistema destinatario acredita al cliente.

Se realiza la descodificación del agente y la conversión de serie a código y estado del agente (diseriación).

El sistema crea la instancia del agente, restaura su estado y continúa la ejecución.

Transferencia de otras clases (sólo en sistemas orientados a objetos).

Este proceso es necesario cuando el agente se mueve de un sistema a otro, cuando el agente se crea remotamente o cuando necesita otros objetos. La trasnferencia de las clases puede realizarse completamente junto con el viaje del agente o hacer peticiones de carga cuando sea preciso.

 

8.2. Interoperación entre sistemas multiagentes.

La normalización en el proceso de interconexión de agentes móviles se aplica a dos niveles:

Interoperación entre lenguajes de programación.

Interoperación entre sistemas escritos en el mismo lenguaje.

La primera de ellas resulta muy compleja de alcanzar y continúa aún en proceso de estudio, mientras que el segundo caso está siendo normalizado por CORBA.

Para alcanzar el grado de interconexión deseado las MASIF de CORBA definen los siguientes conceptos:



Lugar: contexto dentro de un sistema donde puede ejecutarse un agente; por lo tanto, un agente viaja de un lugar a otro, ya sea en el mismo sistema o en otro distinto.

Localización: va asociada con un lugar, indicando el nombre y la dirección que ocupa en la agencia.

Localidad: propiedad de cercanía al destino, ya sea en el mismo ordenador o en la misma red.

Infraestructura de comunicación: provee servicios de transporte al sistema.

Autoridad: persona o entidad en nombre de la cual actúa un agente o un sistema de agentes.

Región o dominio: conjunto de sistemas de agentes que tienen la misma autoridad y que no tienen que ser del mismo tipo.

Pueden ocurrir tres circunstancias distintas en el proceso de comunicación entre dos agentes que se encuentran en distintos sistemas.



Los sistemas comparten el mismo perfil (la misma norma) para la gestión de agentes (fig. 2.1): no existen problemas de interoperación y el agente puede viajar de un sistema a otro para hacer una comunicación local con el otro agente.



Los sistemas no siguen la misma norma, pero puede realizarse una comunicación local (fig. 2.2): en el ordenador destino existe otro sistema de agentes (C) compatible con el sistema origen (A), el agente se desplaza al sistema compatible y realiza la comunicación –RPC por ejemplo– con el otro agente.



Los sistemas no son compatibles y no puede alcanzarse la propiedad de localidad (fig. 2.3): debe realizarse una comunicación normal entre los agentes.



 

8.3. Seguridad.

El control de la seguridad es un grave problema, ya que un agente es un programa que viaja de un ordenador a otro, al igual que un virus. Los sistemas deben hacer hincapié en la seguridad de los ordenadores y de la propia agencia. Los aspectos de seguridad típicos que deben ser controlados son [4]:

Protección de la máquina contra los agentes.

Protección contra otros agentes.

Protección de los agentes contra la máquina

Protección de la red.

Los ataques más comunes que pueden realizarse a un sistema de agentes móviles son:

Inundar el sistema con peticiones, tanto legales como ilegales.

Escuchar la red para obtener información privada.

Modificar, borrar o sustituir cualquier elemento transferido por la red.

Grabar y retransmitir ilegalmente una comunicación.

Falsificar la identidad –enmascaramiento– de un agente o sistema de agentes para tener acceso a la información o a ciertos servicios.

Utilización abusiva de algún recurso para que no pueda ser utilizado por otro usuario.

Colocar un Caballo de Troya –agente o sistema de agentes– para recibir información confidencial o denegar acceso a los recursos.

 

8.4. Estrategias de seguridad.

Tanto los sistemas como los propios agentes móviles deben reforzar las tareas de seguridad para evitar, de un modo fiable, los ataques descritos anteriormente. Pueden tener varias políticas de seguridad que permitan:

Comprobar las credenciales de los participantes en cualquier comunicación.

Restringir o garantizar las operaciones que puede ejecutar un agente.

Gestionar privilegios de acceso a los recursos y establecer límites de consumo.

Los requisitos que deben garantizarse en cualquier comunicación son:



Confidencialidad: evitar la escucha del canal.

Integridad: comprobar que los datos no han sido modificados durante la transferencia.

Autenticación: tanto el agente –o sistema– emisor como el receptor deben ser identificados para evitar accesos a información o a recursos reservados.

Detección de reproducción: evitar la duplicación de un agente durante una comunicación.

Es importante resaltar que los agentes no deben incluir en su viaje ninguna clave criptográfica, sino que ha de utilizarse un algoritmo –denominado autenticador en las MASIF– que verifique la validez del agente y del sistema origen, las autoridades de los sistemas y agentes involucrados en la comunicación y cuáles son las autoridades consideradas como seguras [1].

Aunque hay una gran variedad de políticas de seguridad que pueden utilizarse para evitar los ataques, un proceso de comprobación típico antes de iniciarse el viaje de un agente incluye los siguientes aspectos [4]:

El sistema debe verificar la autoridad propietaria del agente.

Durante la creación de la petición, el propietario define las preferencias de seguridad para el agente.

Al crearse la instancia del agente, se incluye información sobre su autoridad y la de su sistema.

El sistema origen codifica la información.

Los sistemas origen y destino crean un canal de comunicaciones seguro.

El sistema destino descodifica la información y realiza las comprobaciones necesarias.

Por último recordaremos que –al contrario que un objeto normal– un agente tiene la potestad de restringir o permitir a otros agentes el acceso a sus métodos, a sus datos o a los recursos que controla, según su comportamiento o sus objetivos.


9. Algunas Arquitecturas de Agentes Inteligentes

Basadas en lógica


La aproximacion tradicional para construir agentes inteligentes sugiere que el comportamiento inteligente puede ser generado en un sistema dando una representacion simbolica del entorno y un comportamiendo deseado.

La idea es que el programador codifique las reglas deductivas y la base de conocimiento de forma que al derivar se seleccione la mejor acción posible.



Arquitecturas reactivas


La arquitectura reactiva mas conocida es sin lugar a duda la arquitectura de subsumpción desarrollada por Rodney Brooks (MIT).

La arquitectura de Subsumpción tiene como visión el aproximarse a conductas de alto nivel (inteligentes) adoptando como modelos, organismos vivientes de bajo nivel (por ejemplo insectos), y desarrollando así, entidades (robots) que evolucionarán en su comportamiento, emulando patrones de conducta presentados por diversos organismos vivientes. Brooks resalta algunos de los atributos de estos organismos vivientes; una conexión cercana entre sus mecanismos de percepción y actuación y así mismo, la

posesión de ciertos patrones de conducta. La arquitectura de Subsumpción proporciona estas capacidades a través de la implementación de entidades simples con controles descentralizados, representaciones no compartidas, y algunas otras características más.

Brooks concibe que la aproximación hacia la Inteligencia Humana en las máquinas, puede ser guiada por los mecanismos y fenómenos que se presentan en la evolución de las especies. Afirma que se deben concebir primero inteligencias simples y gradualmente intentar la concepción de conductas más complejas.

Esta arquitectura defiende la posibilidad de que un comportamiento inteligente emerja al combinarse muchos comportamientos reactivos. Es decir, el agente se construye con un determinado numero de funciones que responden de forma reactiva a circunstancias del entorno de forma que la conjunción de estas funciones dotan al agente de un comportamiento inteligente desde el punto de vista del observador.
BDI (Conocimiento-deseo-intención)

En una arquitectura BDI, el estado del agente se representa mediante tres estructuras: su conocimiento, sus deseos y sus intenciones. El conocimiento de un agente son su modelo del entorno, sus deseos proporcionan cierto orden entre los estados y las intenciones son las cosas que decide hacer.

Las intenciones de uno de estos agentes pueden ser definidas desde varios niveles de abstraccion; por ejemplo, un agente puede intentar comprar un libro en particular, pero no ha decidido todavia en que libreria lo comprará.

Un agente BDI redefine gradualmente sus intenciones para poder ejecutar acciones primitivas. Segun [RAO92] un agente BDI realiza las siguientes funciones:

General una lista de opciones. Estas opciones son formas de satisfacer las intenciones actuales y nuevas opciones generadas partiendo del conocimiento y deseos del agente.

Seleccionar un conjunto de estas opciones para adoptarlas. La seleccion se realiza generalmente basandose en el conocimiento, deseos e intenciones actuales del agente. Estas opciones se convierten pues en nuevas intenciones.

Si existe una acción atómica que puede ser realizada dentro de la nueva estructura de intenciones se ejecuta.

Entonces, si el agente ha satisfecho una intención o decide que una intención no va a poder seguir siendo satisfecha, esta intención se descarta.

Se actualiza el conocimiento del agente y se repite desde el paso 1.

10.- Aplicaciones de Multiagentes
10.1 Agentes para Comercio Electrónico

Con el boom de Internet a partir de finales de los 90s creció el interés en el comercio electrónico. El problema reside en que la Web tiene orígenes académicos, siendo diseñada para un libre acceso. Esto la hace en un principio poco eficiente para ser usada como "mercado" debido a temas de: Privacidad, seguridad, confianza, pago...

Para mejorar los sistemas de venta empezaron a crearse sistemas multiagente que simulaban el comportamiento de los consumidores a la hora de comprar. [GUT98]

postulo que los consumidores tendían a realizar en el mayor numero de casos los siguientes seis pasos:

Identificación

Búsqueda del mejor producto

Búsqueda del mejor proveedor

Negociación

Negociación

Recepción del producto y evaluación

Los agentes son capaces de automatizar (o al menos automatizar parcialmente) algunas de estas etapas, ayudando al comprador a alcanzar el mejor trato posible.
10.2. Simulación Social

Una de las visiones detrás de los sistemas multiagente es la de utilizarlos como herramientas experimentales en las ciencias sociales [GIL95]. Es decir, se pueden utilizar agentes para simular el comportamiento de las sociedades humanas.

El proyecto EOS, llevado a cabo por la Universidad de Essex en el Reino Unido, es un buen ejemplo de simulador de la sociedad. El objetivo del proyecto era investigar las causas de la aparición de una compleja sociedad en Francia durante el Paleolitico Superior. Entre 15000 y 3000 años atrás hubo un rápido crecimiento en la complejidad de las sociedades de aquel tiempo.

Es una pregunta clave para los arqueólogos que fue exactamente la causa de este crecimiento en complejidad. En 1985, el arqueólogo Paul Mellars propuso un modelo para intentar explicar esta complejidad. Los principales puntos del modelo de Mellars eran una excepcional salud y gran diversidad de recursos, así como una fuerte, estable y predecible concentración de los mismos.

Para investigar este modelo se desarrollo EOS. Programado en Prolog permitía a los agentes basarse en reglas. En cada experimento los usuarios podían especificar varios parámetros:

Numero de localizaciones de recursos de cada tipo y su distribución

Numero de unidades de recurso para cada localización

Tipo de energia que cada recurso puede suministrar

Cantidad de energia que una unidad de un recurso en particular puede suministrar

Las habilidades necesarias que deben tener los agentes para poder explotar un recurso

El tiempo de renovación, el que tarda un recurso consumido en ser

reemplazado


10.3 Workflow y Gestion de Procesos de Negocio

El Workflow y los Procesos de Negocio son un área de creciente importancia en las ciencias informáticas. Estos sistemas ayudan a automatizar los procesos de negocio, asegurando que diferentes tareas son ejecutadas por las personas idóneas en el momento adecuado, ademas de asegurar que el flujo de documentos se gestiona correctamente dentro de la organización.


El sistema ADEPT es un ejemplo de sistema gestor de procesos de negocio basado en agentes [JEE96]

.

En este sistema cada departamento y cada persona perteneciente a un departamento se convierten en agentes. Para conseguir sus objetivos individuales necesitan interaccionar entre ellos. En este caso esas interacciones se llevan a cabo en forma de negociaciones sobre que servicios proporcionaran unos agentes a otros y bajo que términos y condiciones. La naturaleza de estas negociaciones varia dependiendo del contexto y las circunstancias.



Interacciones entre agentes de la organización son mas cooperativas que aquellas que implican organizaciones externas.

LECTURAS COMPLEMENTARIAS




Compartir con tus amigos:
1   ...   21   22   23   24   25   26   27   28   29


La base de datos está protegida por derechos de autor ©psicolog.org 2019
enviar mensaje

enter | registro
    Página principal


subir archivos