Está en la página 1de 54

2.

CAPITULO 2: AGENTES INTELIGENTES

2.1. Introducción
Un agente es una persona o cosa que hace lo que quiera en
determinado momento, siguiendo sus propias instrucciones,
ya sea de forma explícita o implícita. Las instrucciones
dependerán del ambiente en que se encuentre y de las
percepciones que se tengan.

Los agentes humanos tienen ojos, oídos y otros órganos que


les sirven de sensores, así como manos, piernas, boca y otras
partes de su cuerpo que les sirven de efectores.
En el caso de un agente de software, sus percepciones y
acciones vienen a ser las cadenas de bits codificadas.

Sensores

Percepciones
Ambiente ?
Acciones
Agente

Efectores
2. 2

Un agente inteligente podría ser un cliente de correo


electrónico que muestra algún tipo de comportamiento
inteligente para determinar la importancia de un pedazo
particular de un mensaje de correo.
Sin embargo, los agentes no tienen porque ser inteligentes.

Agente racional
Un agente racional es aquel que hace lo correcto.
Lo correcto es aquello que permite al agente obtener el mejor
desempeño.
El término medición del desempeño se aplica al cómo: Este
es el criterio que sirve para definir qué tan exitoso ha sido
un agente. No existe una medida fija que se pueda aplicar
por igual a todos los agentes.
Un ejemplo sería el caso de un agente al que se le
encomienda limpiar con una aspiradora un piso sucio.
• La cantidad de mugre eliminada en un turno de 8 horas.
• Correlación entre la cantidad de electricidad consumida y
la cantidad de ruido generado.
• Que no sólo limpiase silenciosa y eficientemente el piso,
sino que también se diera tiempo para hacer otras cosas.
2. 3

El cuándo evaluar el desempeño es importante también. Si


sólo midiésemos cuánta mugre eliminó un agente durante la
primera hora del día, aquellos agentes que empiezan a
trabajar rápidamente (no obstante que posteriormente
realicen poco o ningún trabajo) resultarían premiados, en
tanto que aquellos que laboran todo el turno de manera
consistente resultarían castigados.
Es decir, lo importante es medir el desempeño a largo plazo.

Un agente omnisciente es aquel que sabe el resultado real


que producirán sus acciones, y su conducta es congruente
con ello. ¡¡AMIGO!!
Espérame,
Ejemplo: Puerta del
avión
voy a cruzar
la calle

10.000 mt
Latorre

(1) (2)
La racionalidad tiene más bien que ver con el éxito esperado,
tomando como base lo que se ha percibido.
2. 4

No se puede culpar a un agente por no haber tomado en


cuenta algo que no podía percibir, o por no emprender una
acción de la que es incapaz.
El carácter de racionalidad de lo que se hace en un momento
dado dependerá de cuatro factores:
• De la medida con la que se evalúa el grado de éxito
logrado.
• De todo lo que hasta ese momento haya percibido el
agente. A esta historia perceptual completa se le denomina
la secuencia de percepciones.
• Del conocimiento que posea el agente acerca del medio.
• De las acciones que el agente puede emprender.

Agente racional ideal


En todos los casos de posibles secuencias de percepciones,
un agente racional deberá emprender todas aquellas acciones
que favorezcan obtener el máximo de su medida de
rendimiento, basándose en las evidencias aportadas por la
secuencia de percepciones y en todo conocimiento
incorporado en tal agente.
2. 5
Antes de atravesar,
debo verificar el
tráfico
Ejemplo:

El concepto de agente permite pensar en él como


herramienta para el análisis de sistemas, no como una
caracterización absoluta que tajantemente divida al mundo
en agentes y no agentes.

Sería ideal que mi


Ejemplo: agente inanimado reloj tuviera un
mecanismo de
• La secuencia de ó percepción para
percepciones del
reloj está vacía.
agente sencillo darse cuenta que
debe adelantarse en
4 horas
• Independiente de
lo que suceda en ESPAÑA
el exterior, las
acciones del reloj
no se ven
afectadas.
Esto no es
necesariamente
cierto

Agentes de software inteligentes


En el más alto nivel, se pueden distinguir 3 categorías
principales de agentes: agentes humanos, agentes de
hardware y agentes de software.
2. 6
Agentes
Inteligentes

Agentes Agentes de Agentes de


Humanos Hardware Software
(agente viajero) (robot)

Agentes de Agentes de Agentes de


información cooperación transacción

Un agente siempre requiere una cierta cantidad de


inteligencia para realizar sus tareas.
Un agente no inteligente puede ser considerado como
cualquier programa de software tradicional, debido a que
realiza una tarea específica y le proporciona a sus usuarios
un ahorro de tiempo.
Solamente la inteligencia permite a un agente realizar su
tarea en parte autónomamente, requiriendo intervención
desde el usuario sólo para decisiones importantes.
Por lo tanto, los agentes de software inteligentes son
definidos como un programa de software que puede realizar
tareas específicas para un usuario y posee un grado de
inteligencia que permite realizar partes de sus tareas
autónomamente e interactuar con su ambiente en una manera
útil.
2. 7

Categorías de agentes de software inteligentes


• agentes de información
• agentes de cooperación
• agentes de transacción

La tarea principal de un agente de información se relaciona


con el apoyo de su usuario en la búsqueda de información en
sistemas distribuidos y redes. Debe ser capaz de:
• Ubicar las fuentes de información
• Extraer la información desde las fuentes
• Filtrar la información relevante para el usuario
• Preparar y presentar los resultados en una forma
apropiada.

Los agentes de información normalmente tienen sólo una


relativamente limitada cantidad de inteligencia y pertenecen
al área de agentes simples.
Casi siempre operan individualmente, debido a que no
necesitan cooperación extensiva de varios agentes para
realizar su búsqueda de información.
2. 8

La mayoría de los agentes de información, que comunmente


existen, tienen una naturaleza estacionaria.

La tarea principal de los agentes de cooperación es resolver


problemas complejos usando mecanismos de comunicación
y cooperación con otros objetos, tales como agentes,
personas, o recursos externos.
Los agentes de cooperación son usados cuando un problema
excede las capacidades de un agente individual o agentes que
ya existen y tienen una solución y cuyo conocimiento puede
ser usado por otros agentes.
Las demandas de inteligencia de un agente de cooperación
son más altas que de una agente de información puro, ya que
el desarrollo de las estrategias de solución del problema y la
cooperación entre varios agentes es una tarea
significativamente más compleja y menos predecible.

La tercera gran área de aplicación de los agentes de software


inteligentes está en los ambientes de aplicaciones orientados
a la transacción.
2. 9

Tanto en los ambientes de bases de datos clásicas como en


las áreas de administración de redes y comercio electrónico,
la tarea principal de los agentes inteligentes es el
procesamiento y monitoreo de transacciones.
Seguridad, protección de datos, robustez, y veracidad son
aspectos que juegan un rol importante en el diseño de
agentes de transacciones.
Verifica si un
Ejemplo: usuario es el
correcto para
Si ingresar al
Agente sistema

No
Otras acciones

Los agentes de transacción pueden ser usados tanto como


agentes únicos y como sistemas multi agentes.

Las tres categorías vistas no son totalmente excluyentes.


Es posible que un agente, debido a sus tareas, pueda estar en
2 o más de estas categorías.
La capacidad de transacción, en particular, puede ser
combinada con los otros 2 grupos.
2. 10

Ambiente de un agente
• Accesibles y no accesibles
Si el aparato sensorial de un agente le permite tener acceso
al estado total de un ambiente, se dice que éste es
accesible a tal agente.
• Determinista y no determinista
Si el estado siguiente de un ambiente se determina
completamente mediante el estado actual y las acciones
escogidas por los agentes, se dice que el ambiente es
determinista.
• Episódicos y no episódicos
En un ambiente episódico, la experiencia del agente se
divide en “episodios”.
Cada episodio consta de un agente que percibe y actúa.
• Estáticos y dinámicos
Si existe la posibilidad de que el ambiente sufra
modificaciones mientras el agente se encuentra
deliberando, se dice que tal ambiente se comporta en
forma dinámica en relación con el agente; de lo contrario,
se dice que es estático.
2. 11

• Discretos y continuos
Si existe una cantidad limitada de percepciones y acciones
distintas y claramente discernibles, se dice que el
ambiente es discreto.

Para los distintos tipos de ambientes se necesitan programas


de agente relativamente diferentes para así poder trabajar con
ellos de manera eficiente.
El caso más difícil se caracteriza por ser inaccesible, no
episódico, dinámico y continuo.

2.2. El mapeo ideal de las secuencias de


percepciones en acciones

Una vez que nos hemos dado cuenta de que el


comportamiento de un agente depende exclusivamente de la
secuencia de sus percepciones en un momento dado,
sabemos que es posible caracterizar cualquier agente en
particular elaborando una tabla de acciones que desprenda
como respuesta a cualquier secuencia de percepciones
posible.
2. 12

Mapeo de secuencias de percepciones en acciones


En principio, es posible determinar qué mapeo describe
acertadamente a un agente, ensayando todas las secuencias
de percepciones posibles y llevando un registro de las
acciones que en respuesta emprende el agente.
El especificar qué tipo de acción deberá emprender un
agente como respuesta a una determinada secuencia de
percepciones constituye el diseño de un agente ideal.

Ejemplo de un agente muy sencillo:


La función raiz cuadrada
Percepción x Acción z
1.0 1.000000000000000
1.1 1.048808848170152 Función raíz cuadrada(x)
1.2 1.095445115010332 z 1.0/*Suposición
1.3 1.140175425099138 inicial*/
1.4 1.183215956619923 repetir hasta z − x <10-15
2

1.5 1.224744871391589 z z - (z2 - x) / (2z)


1.6 1.264911064067352 fín
1.7 1.303840481040530 regresar a z
1.8 1.341640786499874
1.9 1.378404857520902
2. 13

2.3. Características de los agentes de software inteligentes

Un agente es un sistema de computación, situado en algún


entorno, que es capaz de efectuar una acción autónoma
y flexiblemente para encontrar sus objetivos de diseño.

Las características de los agentes inteligentes pueden ser


agrupadas en 2 grandes categorías: propiedades internas y
externas.

Ambiente

Agente
Comunicación
Autonomía

Aprendizaje Cooperación
Movilidad
Coordinación
Proactividad Carácter
Reactividad
Orientado-al-objetivo
2. 14

Las propiedades internas (implementación interna) son


aquellas que forman el “ser interno” del agente, es decir, las
propiedades que determinan las acciones dentro del agente.
Las propiedades internas incluyen la habilidad para aprender,
reactivar, autonomía y orientado al objetivo.

Las propiedades externas (interfaz) incluyen todas aquellas


características que afectan la interacción de varios agentes o
la comunicación agente – persona.
Por ejemplo, estas son capacidades tales como comunicación
o cooperación.

a. Reactividad
Un agente debe ser capaz de reaccionar apropiadamente a
influencias o información desde su ambiente.
Este ambiente puede consistir de otros agentes, usuarios
humanos, fuentes de información externa u objetos físicos.
El agente debe tener adecuados sensores o poseer su
propio modelo interno de su ambiente, de manera de ser
capaz de reaccionar a cambios en el ambiente.
2. 15

b. Proactividad / orientación al objetivo


Un agente inteligente no sólo reacciona a cambios a su
ambiente, sino que también toma la iniciativa bajo
circunstancias específicas.
Esto se llama conducta proactiva.
La capacidad para que un agente tome la iniciativa
requiere que el agente tenga objetivos bien definidos o
incluso un sistema de objetivos complejo.

c. Razonamiento / aprendizaje
La inteligencia de un agente está formada:
• Su base de conocimiento interna
• Las capacidades de razonamiento basada en los
contenidos de la base de conocimiento
• La habilidad para aprender o adaptarse a cambios del
ambiente (conducta adaptativa).

La capacidad de razonamiento coloca a un agente en la


posición de ser capaz de observar su ambiente y tomar
decisiones específicas cuando ocurran cambios en este
ambiente.
2. 16

Sin embargo, la habilidad para aprender desde


experiencias previas y exitosamente adaptar su propia
conducta al ambiente es absolutamente importante para la
conducta inteligente de un agente.

d. Autonomía
La autonomía es un concepto precisamente difícil de
soportar, pero significa simplemente que el sistema
deberia poder actuar sin la intervención directa de
humanos (u otros agentes), y que deberia tener control
sobre sus propias acciones y estado interno.
Otros lo utilizan en un sentido más fuerte, y significa
sistemas que son capaces de aprender de la experiencia.

Hay ejemplos de sistemas autónomos:


• Cualquier sistema de control de proceso, que tenga
que monitorear el entorno del mundo real y realizar
acciones para modificar el ambiente en condiciones
de cambio (típicamente en tiempo real).
2. 17

• Los demonios de software, que monitorean un


entorno de software y realizan acciones para
modificar el ambiente en condiciones de cambio.
Ejemplo: UNIX xbiff

No se pueden considerar agentes, ya que no son flexibles


para encontrar sus objetivos de diseño.
Supongamos, ahora, que el programa xbiff decidiera
desechar algunos email, debido a que no son considerados
importantes, entonces sí podría ser tomado como un
agente.

Si las acciones que emprende el agente se basan


exclusivamente en un conocimiento integrado, con lo que
se hace caso omiso de sus percepciones, se dice que el
agente no tiene autonomía.
Por ejemplo, si el fabricante de relojes tuviera la
capacidad de saber con antelación que el dueño del reloj
viajará a España en una fecha determinada, incorporaría
un mecanismo para ajustar automáticamente las
manecillas cuatro horas en el momento preciso.
2. 18

Un sistema será autónomo en la medida que su conducta


está definida por su propia experiencia.
Es razonable dotar a un agente de inteligencia artificial
con ciertos conocimientos iniciales y de capacidad para
aprender.

Cuando un agente opera basándose en suposiciones en él


integradas, su actuación será satisfactoria sólo en la
medida en que tales suposiciones sean vigentes y, por ello,
carecerá de flexibilidad.
Ejemplo: El caso del humilde escarabajo de estiércol, que
luego de cavar su nido y depositar en él sus huevecillos,
toma una bola de estiércol de una pila cercana para con
ella tapar la entrada; si durante el trayecto se le quita la
bola, el escarabajo continuará su recorrido y hará como si
estuviera tapando la entrada del nido, no obstante que ya
no tenga consigo la bola y sin que se dé cuenta de ello.
El auténtico agente inteligente autónomo debe ser capaz
de funcionar satisfactoriamente en una amplia gama de
ambientes, considerando que se le da tiempo suficiente
para adaptarse.
2. 19

Una de las diferencias importantes entre agentes y


programas de software tradicional es la capacidad de que
un agente siga sus objetivos autónomamente, es decir, sin
interacciones o comandos desde el ambiente.

La inteligencia de un agente afecta al usuario en que él le


puede dar comandos, ideas y áreas de interés que el agente
puede usar para resolver independientemente el problema.
Para permitir conducta autónoma, un agente debe tener
tanto control sobre sus acciones y estados internos y tener
aquellos recursos y capacidades requeridas para realizar
sus tareas.
El usuario frecuentemente especifica el grado de
autonomía del agente.

e. Movilidad
Describe la habilidad de un agente para navegar dentro de
redes de comunicación electrónicas. En contraste, los
agentes estacionarios están limitados a un computador
específico.
2. 20

f. Comunicación / cooperación
Un agente a menudo requiere una interacción con su
ambiente para completar sus tareas.
Pertenecen al ambiente usuarios humanos, otros agentes y
fuentes de información arbitraria.
Dos propiedades complementarias:
• Comunicación
• Cooperación
Un agente puede usar las capacidades de comunicación
para tomar contacto con su ambiente.
Un lenguaje de comunicación de agente que proporciona
un protocolo estandarizado para el intercambio de
información permite a los agentes comunicarse entre sí.
El mecanismo de comunicación descrito es normalmente
adecuado sólo para sistemas de agente simple y para la
comunicación entre agentes y los recursos externos.
No es adecuado un diálogo entre varios agentes con el
objetivo de proporcionar una solución común para una
tarea.
Aquí, una propiedad más extensiva, la cooperación, debe
aumentar las capacidades de comunicación.
2. 21

La cooperación de varios agentes permite soluciones más


rápidas y mejores para tareas complejas que exceden las
capacidades de un único agente.
Estos agentes, que cooperan con cada uno de los otros,
deben usar un lenguaje de comunicación de agentes
extendido, porque no sólo requieren comunicación pura,
sino que deben ser capaces de intercambiar sus objetivos,
preferencias y conocimiento.

g. Carácter
Es a menudo deseable que un agente demuestre una
conducta externa con características humanas tanto como
sea posible.

Algunos agentes tendrán características adicionales, y para


cierto tipo de aplicaciones, algunos atributos serán más
importante que otros.

Los agentes y sistemas de agentes pueden ser diferenciados


sobre la base de 3 criterios de clasificación: número de
agentes, grado de inteligencia y movilidad.
2. 22

2.4. Estructura de los agentes inteligentes

Programa de agente: una función que permita implantar el


mapeo del agente para pasar de percepciones a acciones.

En general, la arquitectura pone al alcance del programa las


percepciones obtenidas mediante los sensores, lo ejecuta y
alimenta al efector con las acciones elegidas por el programa
conforme éstas se van generando.
agente = arquitectura + programa

Programas de agentes

Function ESQUELETO-AGENTE (percepción)


responde con una acción
estática : memoria, la memoria del mundo del agente
memoria ACTUALIZACIÓN-MEMORIA(memoria,percepción)
acción ESCOGER-LA MEJOR-ACCIÓN (memoria)
memoria ACTUALIZAR-MEMORIA (memoria,acción)
Responde con una acción
2. 23

• Si bien se definió el mapeo de un agente como una


función para pasar de secuencias de percepciones a
acciones, el programa de agente recibe como entrada una
sola percepción.
Es decisión del agente construir la secuencia de
percepciones en la memoria.
• La meta o la medición del desempeño no forma parte del
programa esqueleto.
La razón es que la medición del desempeño se efectúa
desde afuera, a fin de evaluar la conducta del agente.

Forma más sencilla de hacerlo: una tabla de consulta.


Consiste en guardar en la memoria la totalidad de la
secuencia de percepciones y utilizarlas para hacer
localizaciones en la tabla, en la que están todas las acciones
que corresponden a todas las posibles secuencias de
percepciones. Esta propuesta está destinada al fracaso:
• Para elaborar la tabla de algo sencillo se necesitan
“infinitas” entradas.
• La elaboración de la tabla tomaría demasiado tiempo al
diseñador.
2. 24

• El agente carece totalmente de autonomía, puesto que el


cálculo de lo que se considera como mejor acción está ya
integrado.
Si el ambiente se modificara en algún aspecto no previsto,
el agente se vería completamente perdido.
• Incluso si se dotara al agente de un mecanismo de
aprendizaje, con el fin de que tuviera cierto grado de
autonomía, necesitaría una eternidad para aprender el
valor correcto de todas las entradas de la tabla.

2.5. Tipos de Agentes


a. Agentes de reflejo simple

Ambiente

Sensores Efectores

Cómo es el mundo en Qué acción debo


este momento emprender en este
momento

Agente Reglas condición-acción


2. 25

Se puede observar cómo las reglas condición-acción


permiten al agente establecer la conexión entre percepciones
y acciones.
Los rectángulos se usan para indicar el estado interno en un
momento dado del proceso de decisión del agente; los óvalos
representan la información de base utilizada en el proceso.
El programa agente:

Function AGENTE-REFLEJO-SIMPLE (percepción)


responde con una acción
Estático : reglas, un conjunto de reglas de condición-acción

estado INTERPRETAR-ENTRADA(percepción)
regla REGLA-COINCIDENCIA(estado,reglas)
Acción REGLA-ACCION (regla) ¡¡ xbiff no lo tiene !!
Responde con una acción

• La función INTERPRETAR-ENTRADA genera una


descripción abstracta del estado prevaleciente de la
percepción;
2. 26

• La función REGLA-COINCIDENCIA produce la primera


regla en el conjunto de reglas que hace juego con la
descripción del estado ofrecida.
Area de Aplicación: Sistemas Expertos
b. Agentes bien informados de todo lo que pasa.
El agente reflejo simple explicado anteriormente funcionará
sólo si se toma la decisión adecuada con base en la
percepción de un momento dado.
El problema surge debido a que los sensores no informan
acerca del estado total del mundo.
En casos así, el agente necesita actualizar algo de
información en el estado interno que le permita discernir
entre estados del mundo que generan las mismas entradas de
percepciones pero que, sin embargo, son totalmente
distintos. Ambiente
E
S
Sensores Efectores
T
R
Cómo es el mundo en
Qué acción debo U
emprender en este
este momento
momento C
T
Estado
Cómo
evoluciona Qué
producen
U
el mundo
mis
acciones
Reglas
Condición- acción R
A
Agente
2. 27

Function AGENTE-REFLEJO-CON-ESTADO (percepción)


responde con una acción
estático : estado, una descripción prevaleciente del estado del mundo
reglas, conjunto de reglas condición-acción
estado ACTUALIZAR-ESTADO(estado, percepción)
regla REGLA-COINCIDENCIA(estado,reglas)
Acción REGLA-ACCION (regla)
Estado ACTUALIZAR-ESTADO(estado, acción)
Responder con una acción

• La función ACTUALIZAR-ESTADO, que es la


responsable de crear la nueva descripción del estado
interno.

La lógica de primer orden se puede utilizar para construir


agentes que se basan en el conocimiento.
Este tipo de agentes también sirve para la toma de decisiones
compleja.
2. 28

c. Agentes basados en metas


Para decidir qué hay que hacer, no siempre basta con tener
información acerca del estado que prevalece en el ambiente.
El programa de agente puede combinar lo anterior con la
información relativa al resultado que producirán las posibles
acciones que se emprendan (esta misma información se
utiliza para actualizar el estado interno en el caso del agente
reflejo) y de esta manera elegir aquellas acciones que
permitan alcanzar la meta.

La búsqueda y la planificación son los subcampos de la


inteligencia artificial que se ocupan de encontrar las
secuencias de acciones que permiten alcanzar las metas de
un agente.

Nótese que la toma de decisiones de este tipo difiere,


radicalmente, de las reglas condición-acción.

Tomar en cuenta el futuro implica tanto el “¿qué sucedería si


hago tal o cual cosa?” como “¿y eso me hará feliz?”.
2. 29

Ambiente

Sensores Efectores

¿ Qué sucedería Qué acción debo


Cómo es el mundo en si emprendo la emprender en este
este momento
acción A ? momento

Cómo
Estado evoluciona Qué efectos
el mundo producen mis Metas
acciones

Agente

d. Agentes basados en utilidad


Las metas no bastan por sí mismas para generar una
conducta de alta calidad. Las metas permiten establecer una
tajante distinción entre estados “felices” e “infelices”, en
tanto que mediante una medida de desempeño más general
sería posible establecer una comparación entre los diversos
estados del mundo (o secuencias de estados) de acuerdo a
cómo exactamente harían feliz al agente en caso de poder
lograrlos.
Si se prefiere un estado del mundo por otro, entonces ese
estado ofrece mayor utilidad al agente.
2. 30

La utilidad es una función que correlaciona un estado y un


número real, mediante el cual caracteriza el correspondiente
grado de satisfacción.
La completa especificación de la función de utilidad permite
la toma de decisiones racionales en dos tipos de casos en los
que las metas se encuentran con problemas:
• Cuando el logro de algunas metas implica un conflicto, y
sólo algunas de ellas se pueden obtener, la función de
utilidad definirá cuál es el compromiso adecuado por el
que hay que optar.
• Cuando son varias las metas que el agente podría desear
obtener, pero no existe la certeza de poder lograr ninguna
de ellas, la utilidad es una vía para ponderar la posibilidad
de tener éxito considerando la importancia de las
diferentes metas.

Un agente que tiene una función de utilidad explícita está en


posibilidad de tomar decisiones racionales, aunque quizás
tenga que comparar las utilidades obtenidas mediante
diversas acciones.
2. 31

Las metas permiten al agente optar de inmediato por una


acción cuando ésta permita alcanzarlas.

Ambiente

Sensores Efectores

¿ Qué sucedería ¿ Qué tan a gusto Qué acción debo


Cómo es el mundo en
si emprendo la me encontraré emprender en este
este momento
acción A ? en tal estado ? momento

Cómo Qué efectos


Estado evoluciona producen mis
el mundo acciones Utilidad

Agente

Su aplicación está en los juegos y en la toma de decisiones


tanto sencilla como compleja.

Cabe destacar que para la construcción de Agentes


Inteligentes se pueden utilizar muchos paradigmas: redes
neuronales, algoritmos genéticos, sistemas expertos, etc.
2. 32

Ejemplo: La tarea de un conductor de taxis automatizado


Tipo de Percepciones Acciones Metas Ambiente
Agente
Conductor Cámaras, Manejo del Un viaje Caminos,
de taxi velocímetros, volante, seguro, tráfico,
sistema satélite acelerar, rápido, sin peatones,
global de frenar, hablar infracciones, clientes.
ubicación, con el cómodo,
micrófono pasajero. obtención
máxima de
ganancias.

El taxi necesita saber:


• donde se encuentra,
• quien más circula por su vía percepciones
• y a que velocidad corre.
ofrecen una o más cámaras
de televisión controlables,
el velocímetro y
el contador de kilómetros.
2. 33

Necesita también:
• Acelerómetro.
• Sensores para los sistemas mecánico y eléctrico.
• Un sistema satélite global para determinar la ubicación
(GPS), mediante el que se generará información precisa
sobre su ubicación en relación con un mapa electrónico, o
sensores infrarrojos o de sonar para detectar las distancias
que lo separan de otros autos y obstáculos.
• Un micrófono o de un teclado para que los pasajeros le
puedan informar cuál es el destino deseado.

Las acciones que pueden producir este conductor de taxi


son más o menos las mismas que las de un conductor
humano:
Control de la maquina mediante pedal para combustible
(optimización del gasto de combustible).
Control del volante y de los frenos.
Además necesitará una salida en pantalla o sintetizador de
voz que le permita contestar a los pasajeros y, quizás, de
algún medio para comunicarse con otros vehículos.
2. 34

¿Cuál sería la medida de desempeño que el conductor


automatizado desearía satisfacer?
• Llegar al destino correcto.
• Reducir al mínimo el consumo de combustible, desgaste
del vehículo, tiempo de recorrido, su costo, violaciones al
reglamento de tránsito y las molestias ocasionadas a otros
conductores.
• Ofrecer el máximo de seguridad y comodidad al pasajero
y producir el máximo de ganancias.

Ambiente
• ¿Operaría en calles comunes o en vías de alta velocidad?
• ¿Estaría en el sur de California, donde muy rara vez existe
el problema de la nieve, o en Alaska, en donde rara vez la
nieve no es problema?
• ¿Se conducirá siempre a la derecha, o se tendrá la
flexibilidad de permitirle también conducir a la izquierda,
en caso de que se quieran operar taxis en Japón?
2. 35

a. Como un agente de reflejo simple, el recurso de utilizar


una tabla de consulta explícita está fuera de toda
consideración. La tabla de consulta correspondiente a una
hora tendría 260 X 50 X 50M entradas.
No obstante, es posible resumir fragmentos de la tabla.
Regla de condición-acción (o reglas de situación-acción,
producciones)
si el auto de adelante está frenando entonces empiece a frenar

b. Como un agente bien informado de todo lo que pasa.


Si el auto que va adelante es un modelo reciente, y tiene
instalada la luz central de freno, bastará con una imagen
para darse cuenta que está frenando.
Aún en el caso de la regla de freno más sencilla, el
conductor tiene que mantener cierto tipo de estado interno,
con el fin de estar en condiciones de optar por una acción,
es decir, considera el estado anterior.
El estado interno no es demasiado extenso: la imagen
anterior de la cámara para detectar cuándo se enciende o
se apagan simultáneamente dos luces rojas ubicadas en los
extremos del auto.
2. 36

Considérese ahora: de vez en cuando el conductor mira el


espejo retrovisor para percibir la ubicación de los
vehículos cercanos.
Cuando el conductor no ve en el espejo, los vehículos de
la pista contigua resultan invisibles (es decir, los estados
cuando están presentes y ausentes son indistinguibles);
pero si el conductor quiere decidir una maniobra de
cambio de pista será necesario que sepa si hay vehículos
en la pista contigua.
Para la actualización de la información sobre el estado
interno conforme va pasando el tiempo se necesita cierta
información sobre:
cómo está evolucionando el mundo,
independientemente del agente.
cómo las acciones del agente mismo afectan al mundo.

c. Como un agente basado en metas. Por ejemplo, al llegar


a un cruce, el taxi puede optar por doblar a la derecha, a la
izquierda o seguir derecho.
La decisión adecuada dependerá de adónde desee llegar el
taxi.
2. 37

Es decir, además de una descripción del estado


prevaleciente, el taxi también requiere de cierto tipo de
información sobre su meta, información que detalle las
situaciones deseables.

El agente reflejo frena en cuanto ve que se encienden las


luces de frenado. Un agente basado en metas, en
principio, razonaría que si en el auto de adelante se han
encendido las luces de freno, se debe disminuir la
velocidad.
Conociendo la forma como normalmente evolucionarían
las cosas en el mundo, la única acción que permitiría
alcanzar la meta de no chocar con otro auto es la de frenar.

Si bien el agente basado en metas es menos eficiente,


también es cierto que es más flexible:
Si empieza a llover, el agente tendrá la posibilidad de
actualizar su conocimiento de qué tan eficientemente
podrán funcionar sus frenos; esto la alteración
automática de todas las conductas anteriores con el fin
de adaptarse a las nuevas condiciones.
2. 38

Por el contrario, en el caso del agente reflejo habría que


reelaborar una gran cantidad de reglas condición-
acción.
Tan sólo con especificar un nuevo destino, se produce
en el agente basado en metas una nueva conducta.
Las reglas de un agente de reflejo acerca de cuándo dar
vuelta y cuándo seguir derecho funcionarán tan sólo en
el caso de un destino; siempre que surja uno nuevo
habrá que sustituirlas.

d. Como un agente basado en utilidad.


Serían muchas las secuencias de acciones que permitirían
al taxi llegar a su destino, con lo que se habría logrado la
meta, pero de todas ellas, algunas son más rápidas, seguras
y confiables, o baratas que las demás.
2. 39

2.6. Sistemas Multi-Agentes


El término sistema multi-agente se refiere a todo tipo de
sistemas compuestos de semicomponentes autónomos.
El resolver problemas distribuidos (DPS) se considera
como un problema particular, que puede ser resuelto por un
número de módulos (nodos), que coopera al dividir y
compartir conocimiento acerca de los problema y sus
soluciones evolucionables.
En un puro sistema DPS, todas las estrategias de
interacción están incorporadas como una parte integral del
sistema.

En contraste, la investigación en MAS (sistemas multi-


agentes) está involucrada con el comportamiento de
una colección de agentes autónomos pre-existentes,
posiblemente resolviendo un problema dado.
Un MAS puede ser definido como una red débilmente
acoplada de resolución de problemas que trabajan juntos
para resolver problemas y que están más allá de las
capacidades o conocimiento individual de cada problema
a resolver.
2. 40

Estos problema a resolver, agentes, son autónomos y


pueden ser heterogéneos en la naturaleza.

Las características de MAS son:


• Cada agente tiene información incompleta, o
capacidades para resolver un problema, así cada
agente tiene un punto de vista limitado;
• No hay control del sistema global;
• La información está descentralizada;
• El cálculo es asincrónico.

Problemas en el diseño e implementación de MAS:

a. ¿Cómo formular, describir, descomponer, y asignar


problemas y sintetizar resultados entre un grupo de
agentes inteligentes?
b. ¿Cómo permitir que los agentes se comuniquen e
interactuen? ¿Qué lenguajes y protocolos de
comunicación se deben utilizar?, ¿Qué comunicar y
cuándo?
2. 41

c. ¿Cómo garantizar que los actos de los agentes


sean coherentes al tomar decisiones o al realizar una
acción, acomodando los efectos no locales en
decisiones locales y evitar interacciones dañinas?
d. ¿Cómo permitir a los agentes individuales que
representen y razonen acerca de las acciones, planes, y
el conocimiento de otros agentes para coordinarse con
ellos?, ¿Como razonar acerca del estado coordinado de
sus procesos (por ejemplo, iniciación y terminación)?
e. ¿Cómo reconocer y reconciliar puntos de vista
desiguales e intenciones contradictorias entre una
colección de agentes que intentan coordinar sus acciones?
f. ¿Cómo balancear efectivamente el cálculo y la
comunicación local? y más general, ¿Cómo lograr una
asignación de recursos limitados?
g. ¿Cómo evitar o mitigar comportamientos del sistema
global dañinos, como comportamientos caóticos u
oscilatorios?
h. ¿Cómo manejar y restringir prácticos MAS? ¿Cómo
diseñar plataformas y desarrollo de tecnologías
metodologicas para MAS?
2. 42

Ejemplo:
Agente 4
Agente Reflejo Agente Agente basado
Simple en metas
Agente 1 Coordinador
Agente 2
Sistema Experto Búsqueda

Agente basado
en utilidad
Agente 3
Juego

Ejemplo de un sistema multiagente


Objetivo: realizar búsquedas en Internet, no importando qué
ni dónde, y recuperar la información encontrada en forma de
punteros que el usuario pueda consultar.
El resultado se presentará mediante una página HTML con
punteros a la información encontrada, o bien mediante un
mensaje electrónico al usuario donde se le notifica el
resultado de la búsqueda.

Para el diseño: metáfora de una Agencia de servicios


Se ha organizado el sistema como una Agencia o despacho
de agentes, que ofrece servicios en Internet.
2. 43

La Agencia libera a su cliente de conocer particularmente y


en profundidad los diferentes recursos de Internet y sus
protocolos.
El usuario puede solicitar a la agencia:
• La dirección de correo electrónico de una persona.
• Un documento técnico de un autor concreto.
• Un programa de libre distribución que sabe que está en la red.

a. Organización y Arquitectura del Sistema


Los trabajadores de la Agencia son totalmente
independientes entre sí.
Cada agente tiene sus propias acciones, percepciones y
objetivos.
2. 44

El entorno es el mismo para todos: Internet y el despacho de


la Agencia.
Normalmente, no habrá comunicación entre agentes, ante
distintos objetivos, percepciones, problemas, sólo se
comunicarán con el jefe o coordinador.
b. Componentes
La interface de usuario es por donde la Agencia recibe las
solicitudes de servicios.
Para facilitar al usuario el acceso al despacho de la Agencia,
la interface podrá situarse en un web-browser.
De esta manera, el usuario no ha de tener grandes
conocimientos de informática, pues puede usar el sistema
simplemente ejecutando Netscape y accediendo a la URL de
la Agencia.
El usuario podrá indicar su petición mediante una o varias
palabras clave.
Además, podrá señalar matices y aspectos interesantes para
el tratamiento de estas palabras, tal como si hay que tomarlas
como una frase, como la descripción de un concepto, como
un conjunto de palabras donde todas o sólo algunas son
importantes, etc.
2. 45

Un aspecto interesante de la interface es que ofrece al


usuario la posibilidad de definir qué es lo que no le interesa,
mediante el parámetro not-for.

El agente principal es el director de la Agencia.


Este agente organiza y planifica las tareas a realizar por los
otros agentes.
Es el responsable de que el sistema funcione correctamente.
Se encarga de generar un plan cuando el cliente de la agencia
hace una petición, así como de la monitorización del plan, de
presentar los resultados al usuario, de generar explicaciones
sobre cómo ha realizado su trabajo, etc.

Los agentes buscadores son los trabajadores de la Agencia.


Su tarea es buscar diferentes tipos de información en
Internet.
Cada agente buscador está especializado en un tipo de
búsqueda. Así, podemos tener:
• Agentes que solicitan información a los buscadores
disponibles en la red, como AltaVista, Lycos, Infoseek,
Excite, etc.
2. 46

• Agentes que rastrean directorios del WWW, como Yahoo,


Yellow Pages…
• Agentes que realizan consultas a servidores Archie
• Agentes que acceden a grupos de noticias

Cada uno de estos agentes tiene dos tipos de conocimiento,


uno sobre sus propios objetivos y otro sobre los objetivos de
la Agencia.
Esto significa, por ejemplo, que si un agente tiene por
objetivo solicitar información a AltaVista, sabe:
• la dirección de AltaVista,
• qué formato de consulta debe utilizar,
• cómo recoger el resultado,
• cómo reaccionar ante las posibles respuestas anómalas de
AltaVista, etc
y al mismo tiempo tiene "conciencia" de que está trabajando
en una agencia donde hay otros agentes, y que el éxito de la
agencia depende, en parte, de que él realice bien su trabajo,
es decir, de que alcance con éxito, sus objetivos.
2. 47

De esta manera, los agentes filtradores trabajan sobre los


resultados obtenidos por los agentes buscadores.
Los agentes filtradores también trabajan:
• Agentes que unifican los resultados de las consultas a los
search engine.
• Agentes que acceden a lugares remotos para comprobar
que su dirección es correcta o que contienen la
información esperada.

Podemos tener agentes especializados en dominios


concretos de conocimiento.
Estos agentes son capaces de estudiar los resultados de los
agentes buscadores respecto a una ontología donde esta
definido el vocabulario del dominio.
Por ejemplo, el usuario puede solicitar una búsqueda con la
palabra clave "agente" e indicar que el dominio es
"Informática". El conocimiento sobre "Informática" está
estructurado de tal manera que "agente" está clasificado
como una subclase de "Inteligencia Artificial", que a su vez
es una subclase de "Informática".
2. 48

El resultado de la búsqueda puede consistir en ocurrencias de


la palabra "agente" en contextos como inteligencia artificial,
agentes de bolsa, agentes de seguros, agentes secretos, etc.
La tarea del agente filtrador especializado en "Informática"
consistirá en despreciar los documentos donde "agente" no
aparece como un término de inteligencia artificial o
informática, o bien en lanzar una nueva búsqueda con el
término "Inteligencia Artificial", que, aunque no es el interés
concreto del usuario, está dentro de su ámbito de utilidad.

2.7. Aplicaciones de agentes inteligentes


Tipo de Percepciones Acciones Metas Ambiente
Agente
Sistema para Síntomas, Preguntas, Paciente saludable, Paciente,
diagnósticos evidencias y pruebas, reducción al hospital
médicos respuestas del tratamientos mínimo de costos
paciente
Sistema para Pixels de Imprimir una Clasificación Imágenes
el análisis de intensidad y clasificación correcta enviadas desde
imágenes de colores diversos de escena un satélite en
satélite órbita
2. 49

Robot Pixels de Recoger Poner las partes en Banda


clasificador intensidad partes y el bote que les transportadora
de partes variable clasificarlas corresponda sobre la cual se
poniéndolas encuentran las
en botes partes
Controlador Lecturas de Abrir y Lograr pureza, Refinería
de una temperatura y cerrar rendimiento y
refinería presión válvulas; seguridad máximos
ajustar la
temperatura
Asesor Palabras escritas Ejercicios Que el estudiante Grupo de
interactivo de a máquina impresos, obtenga la máxima estudiantes
inglés sugerencias calificación en una
y prueba
correcciones
• Manufactura, • Comercio Electrónico,
• Control de Procesos, • Administración de Proceso de
• Sistemas de Telecomunicaciones, Negocios,
• Control de Tráfico Aéreo y • Entretenimiento y Cuidado
Administración de Transporte, Médico.
• Filtración y Recopilación de
Información,
2. 50

Area Descripción
Monitoreo Las Tareas de Monitoreo de un Vehículo Distribuido
Un conjunto de agentes están distribuidos geográficamente, y
cada uno es capaz de percibir alguna porción de un área global a ser
Agente de:
monitoreada.
información
Como el vehículo se mueve se sensea a través de su área, cada
y
agente detecta sonidos característicos de aquellos vehículos a
transacción intervalos de tiempo discretos.
Analizando la combinación de sonidos que se recibieron
desde una ubicación particular en un tiempo específico, un
agente puede desarrollar interpretaciones de qué vehículos podrían
haber creado estos sonidos.
Analizando secuencias temporales de interpretaciones de vehículos,
y utilizando conocimientos acerca de restricciones de movilidad
de diferentes vehículos, el agente puede generar mapas tentativos
de movimientos de vehículo en su área.
Transporte Manejo de un vehículo del futuro.
Aquí hay dos tipos de agente:
• Uno representa los clientes que requieran o quienes puedan
ofrecer el transporte,
• y otro representa las estaciones donde el cliente espera ser
recogido.
2. 51

Los agentes de cliente informan estaciones relevantes de sus


requisitos (cuando y donde quieren ir) y el agente de estación
acordará si sus solicitudes pueden ser acomodadas y, si es
asi, que vehículo debería estar reservado.
Juegos El juego Criaturas usa técnicas de agentes.
Las criaturas proveen un entorno simulado, conteniendo un
cierto número de agentes sintéticos con los que un usuario
puede interactuar en tiempo real.
Los agentes están pretendido ser mascotas sofisticadas, cuyo
desarrollo está conformado por sus experiencias durante su vida.
Manufactura Una empresa industrial es modelada como una jerarquía de celdas
de trabajo. Habrá, por ejemplo celdas de trabajo para:
• moler
• enlatar
• pintar, etc.
Una industria puede tener muchas fábricas diferentes, donde el
propósito de ellas es duplicar la funcionalidad y capacidades.
El objetivo de YAMS es lograr eficientemente el proceso de
producción de estas plantas.
Este proceso está definido para ir cambiando algunos
parámetros constantemente, como los productos que serán
fabricados, los recursos disponibles, restricciones de tiempo, y así
sucesivamente.
2. 52

Para realizar esta tarea sumamente compleja, YAMS adopta un


enfoque multi-agente, donde cada fábrica y los componentes de las
fábricas están representados como un agente.
Cada agente tiene una colección de planes, representando sus
capacidades.
El protocolo neto de contrato permite a las tareas (por ejemplo,
ordenes de producción) ser delegadas a fábricas individuales, y de
fábricas individuales bajar a celdas de trabajo individual.
Futuras aplicaciones
Impedimentos técnicos:
• La carencia de metodologías sistemáticas que
permitan a los diseñadores especificar y estructurar
claramente sus aplicaciones para los sistemas multi-
agentes.
• La carencia de una caja de herramientas
ampliamente disponibles en los sistemas multi-agentes.
Esto significa que muchas aplicaciones han sido
diseñadas de una manera bastante ad-hoc, ya sea
dependiendo de una metodología prestada e
intentando calzar en el contexto del multi-agente o
trabajando sin una metodología y diseñando el sistema
basada en la intuición y experiencias pasadas.
2. 53

Se requiere una forma sistemática de:


Analizar el problema.
Planificar como puede estar mejor estructurado un
sistema multi-agente
y entonces determinar como los agentes individuales
pueden ser estructurados.

Esté último impedimento significa que la mayoría de los


proyectos de sistemas multi-agente expanden esfuerzos
significativos en el desarrollo de una infraestructura
básica de agentes e inter-agentes antes de que su
desarrollo pueda comenzar.
La posición puede ser alivianada hasta cierto punto por
tecnologías existentes de explotación (como corba).
Sin embargo, creemos que aún se necesita un apoyo
mayor para el proceso de construir agentes con niveles
de caracteres distintivos.
Así, una caja de será requerida, ofreciendo facilidades:
Especificar un comportamiento del agente resolvedor
de problemas.
2. 54

Especificar como y cuando los agentes deberían


interactuar.
Visualizar y poner a punto el comportamiento de los
agentes resolvedores de problemas y el sistema
completo.

• Aspecto técnico y social


Para que las personas se sientan confortables con la idea
de delegar tareas a los agentes, primero que nada tienen
que tener confianza en ellos.
Tanto las personas como las organizaciones necesitan
acostumbrarse más y convivir con la noción de
componentes de software autónomos, si fueran a utilizarse
ampliamente.
Los usuarios tienen que ir teniendo confianza en los
agentes que trabajan en su favor, y este proceso puede
tomar tiempo.

También podría gustarte