Está en la página 1de 24

Agentes y su entorno

Tema Descripción del concepto

Un agente es cualquier cosa que puede percibir su entorno mediante


sensores y actuar en ese entorno mediante actuadores. Puede ser un
Agente
humano, un robot o cualquier otra cosa que pueda percibir y actuar en el
mundo.

La percepción se utiliza para indicar que un agente puede recibir


entradas sensoriales en cualquier momento, lo que refleja el historial
Percepción
completo de lo que el agente ha recibido. La secuencia de percepciones
de un agente determina las decisiones que toma.

La función del agente describe el comportamiento de un agente en


respuesta a una percepción dada, lo que se puede representar en una
Función del
tabla muy grande. Esta tabla es una caracterización externa del agente,
agente
mientras que el programa del agente es una implementación completa de
la función del agente en una arquitectura específica.

Un ejemplo simple de un agente es el mundo de la aspiradora, que tiene


dos localizaciones (cuadrícula A y B) y puede detectar si hay suciedad en
cada cuadrícula. La función del agente es simple: si la cuadrícula en la
Ejemplo: que se encuentra está sucia, aspirar; de lo contrario, moverse a la otra
mundo de la cuadrícula. Una tabla parcial que muestra la función del agente se
aspiradora presenta en la figura 2.3. Varios agentes diferentes se pueden definir
simplemente llenando la columna de la derecha de formas distintas. La
pregunta clave es qué hace que un agente sea bueno o malo, inteligente
o estúpido, lo que se aborda en la siguiente sección.

Medidas de rendimiento

Tema Descripción

Un agente racional es aquel que hace lo correcto. El correcto se


refiere a las acciones que permiten al agente obtener un resultado
Racionalidad de
mejor. Para determinar el correcto, se necesita medir el éxito del
un agente
comportamiento del agente, lo cual incluye criterios objetivos de
rendimiento.
Las medidas de rendimiento son los criterios que determinan el éxito
del comportamiento del agente. La medida de rendimiento debe ser
Medidas de objetiva y normalmente la determina el diseñador encargado de la
rendimiento construcción del agente. Para la aspiradora de la sección anterior,
una medida de rendimiento adecuada podría ser la cantidad de
suciedad limpia en un período de tiempo.

La selección de la medida de rendimiento no siempre es fácil y puede


Selección de la tener implicaciones filosóficas profundas. La forma más adecuada de
medida de seleccionar una medida de rendimiento puede venir dada por la
rendimiento opinión de un experto o puede ser dejada a los lectores como
ejercicio.

Racionalidad

Tema Descripción

Un agente racional debe emprender aquella acción que supuestamente


Racionalidad maximice su medida de rendimiento basándose en la secuencia de
percepciones y en el conocimiento almacenado sobre el entorno.

Si se considera que la medida de rendimiento premia con un punto por


cada cuadrícula limpia en un período de tiempo concreto, el agente
aspiradora puede ser considerado racional si percibe correctamente su
localización y si esta contiene suciedad, y si sólo realiza las acciones
Ejemplo de
permitidas: Izquierda, Derecha, Aspirar y NoOp. Sin embargo, puede ser
aspiradora
considerado irracional si no se conoce la geografía del entorno, si toda la
suciedad ya ha sido eliminada o si hay una penalización por cada
movimiento innecesario. Se pueden diseñar diferentes agentes para
estos casos.

Omnisciencia, aprendizaje y autonomía

Tema Descripción
La racionalidad busca maximizar el rendimiento esperado, mientras que
la omnisciencia busca maximizar el resultado real, que es imposible de
conocer en su totalidad. La recopilación de información es una parte
Racionalidad y
importante de la racionalidad y la exploración es necesaria en medios
omnisciencia
inicialmente desconocidos. El agente racional no sólo recopila
información, sino que aprende lo máximo posible de lo que está
percibiendo.

Un agente racional debe ser autónomo, es decir, debe saber aprender y


determinar cómo compensar el conocimiento incompleto o parcial
Autonomía del
inicial. La autonomía completa no es necesaria al principio, pero
agente racional
después de suficientes experiencias, el comportamiento del agente será
independiente del conocimiento inicial.

Un agente aspiradora que limpia una cuadrícula si está sucia y se


mueve a la otra si no lo está es racional si la medida de rendimiento
premia al agente por cada recuadro limpio en un período de tiempo
concreto a lo largo de una "vida" de 1.000 períodos, se conoce la
Ejemplo de
"geografía" del medio a priori, y el agente percibe correctamente su
racionalidad
localización y si esta localización contiene suciedad. El agente puede
resultar irracional en circunstancias diferentes, como cuando toda la
suciedad se ha eliminado y el agente oscila innecesariamente hacia
delante y atrás.

La naturaleza del entorno

Tema Descripción del concepto

La especificación del entorno de trabajo es esencial para el diseño de


Especificación agentes racionales. El entorno de trabajo se compone de las medidas
del entorno de de rendimiento, el entorno, los actuadores y los sensores del agente.
trabajo Es necesario definir el entorno de trabajo lo más completa y
detalladamente posible.
El entorno de trabajo de un taxi automático se compone de múltiples
elementos, como llegar al destino correcto, minimizar el consumo de
combustible, minimizar el tiempo de viaje y/o coste, minimizar el
número de infracciones de tráfico y de molestias a otros conductores,
maximizar la seguridad, la comodidad del pasajero y el beneficio. El
entorno en el que se mueve el taxi puede ser muy variado, con
Ejemplo del
diferentes tipos de carreteras, tráfico, peatones, animales, obras, y
entorno de
elecciones opcionales, como operar en diferentes lugares del mundo
trabajo de un taxi
con diferentes normas de circulación. Los actuadores y sensores del
automático
taxi automático incluyen los mismos elementos que los de un
conductor humano, como el control del motor a través del acelerador,
control sobre la dirección y los frenos, y una pantalla de visualización
o un sintetizador de voz para responder a los pasajeros, además de
sensores y sistemas adicionales para controlar el estado mecánico del
vehículo y la posición del taxi en el entorno.

Los agentes pueden operar en entornos de diferente complejidad,


desde entornos simples como una cinta transportadora hasta entornos
Agentes complejos como Internet o simuladores de vuelo. La complejidad de la
adicionales y sus relación entre el comportamiento del agente, la secuencia de
elementos REAS percepción generada por el medio y la medida de rendimiento es lo
que determina la complejidad del entorno. La figura 2.5 muestra los
elementos REAS básicos para diferentes tipos de agentes.

Tema principal Definición/descripción

REAS REAS (Rendimiento, Entorno, Actuadores, Sensores)

REAS = entorno de trabajo


Ejemplo Descripción del entorno de trabajo

El entorno incluye una habitación con muebles y obstáculos, y la


Aspiradora tarea del agente es limpiar toda la habitación mientras minimiza el
consumo de energía y maximiza la cantidad de polvo recogido.

El entorno incluye una carretera con múltiples vehículos,


peatones, animales, obstáculos y señales de tráfico, y la tarea del
agente es llevar al pasajero al destino correcto mientras minimiza
Taxista automático el consumo de combustible, el tiempo de viaje y/o coste, el
número de infracciones de tráfico y de molestias a otros
conductores, y maximiza la seguridad, la comodidad del pasajero
y el beneficio.
El entorno incluye una cinta transportadora con componentes que
pasan por ella, y la tarea del agente es inspeccionar cada
Robot de inspección
componente para determinar si es aceptable o rechazarlo. El
en una cinta
agente hace uso de suposiciones simples, como que la cinta
transportadora
siempre estará iluminada y que conocerá todos los componentes
que circulan por la cinta.

El entorno es un simulador de vuelo de un avión comercial, que


Softbot para pilotar
incluye otros aviones y operaciones de tierra, y la tarea del agente
un simulador de
es pilotar el avión en tiempo real, seleccionando de entre un
vuelo
amplio abanico de posibilidades.

El entorno es Internet, que es un medio muy detallado y complejo


Softbot para revisar
con muchas fuentes de información, y la tarea del agente es
fuentes de
revisar y mostrar información interesante a los clientes,
información en
aprendiendo qué es lo que le interesa a cada uno y siendo capaz
Internet
de cambiar sus planes dinámicamente.

Propiedades de los entornos de trabajo

Tema Descripción del concepto

Totalmente
Si los sensores del agente tienen acceso completo al medio,
observable vs.
entonces se dice que es totalmente observable, de lo contrario, es
parcialmente
parcialmente observable debido al ruido o la falta de información.
observable

Un entorno determinista tiene su próximo estado completamente


Determinista vs. determinado por el estado actual y la acción del agente, mientras
estocástico que un entorno estocástico tiene cierta incertidumbre en su
próximo estado.

Un entorno episódico divide la experiencia del agente en


Episódico vs.
episodios atómicos, mientras que un entorno secuencial implica
secuencial
que la decisión presente puede afectar a decisiones futuras.

Si el entorno puede cambiar durante la deliberación del agente,


Estático vs. dinámico
entonces es dinámico, de lo contrario es estático.
La distinción entre discreto y continuo se aplica al estado del
Discreto vs. continuo medio, a la forma en que se maneja el tiempo y a las
percepciones y acciones del agente.

La distinción entre el entorno de un agente individual y un sistema


multiagente implica que la entidad debe percibirse como un
Agente individual vs.
agente si su comportamiento está mejor descrito por la
multiagente
maximización de una medida de rendimiento que depende del
comportamiento del otro agente.

Ejemplos:

Totalmente observable Parcialmente observable

Un robot que tiene sensores en todas Un robot que tiene una cámara de baja
las partes del cuerpo para detectar su resolución que solo detecta la presencia de
entorno. objetos cercanos.

Determinista Estocástico

Un robot que se mueve en un entorno Un robot que se mueve en un entorno donde los
controlado y tiene un plan detallado obstáculos cambian aleatoriamente, como en un
para cada movimiento. juego de obstáculos en línea.

Episódico Secuencial

Un robot que selecciona partes defectuosas Un robot que juega al ajedrez, donde las
en una cadena de montaje, sin tener en acciones a corto plazo pueden tener
cuenta decisiones previas. consecuencias a largo plazo.

Estático Dinámico

Un robot que hace un seguimiento del Un robot que navega en el agua y tiene que
nivel de agua en un tanque. reaccionar a las olas y la corriente.

Discreto Continuo
Un robot que juega al ajedrez, donde las Un robot que vuela en el aire y tiene que
piezas están en posiciones discretas. ajustar continuamente su dirección y altura.

Agente individual Multiagente

Un robot que resuelve un Un robot que navega en un río con otros barcos y tiene
crucigrama por sí mismo. que evitar colisiones y encontrar el camino más eficiente.

Tema Descripción

Si los sensores del agente le proporcionan acceso al estado


Totalmente completo del medio en cada momento, entonces se dice que el
observable vs. entorno de trabajo es totalmente observable. Un entorno de trabajo
parcialmente es parcialmente observable si los sensores no detectan todos los
observable aspectos relevantes en la toma de decisiones debido al ruido o la
falta de información.

Si el siguiente estado del medio está determinado por el estado


Determinista vs.
actual y la acción ejecutada por el agente, entonces se dice que el
estocástico
entorno es determinista; de otra forma es estocástico.

En un entorno episódico, cada episodio consiste en la percepción


del agente y la realización de una única acción posterior, y la
Episódico vs.
elección de la acción en cada episodio depende solo del episodio
secuencial
en sí mismo. En un entorno secuencial, la decisión presente puede
afectar a decisiones futuras.

Si el entorno puede cambiar cuando el agente está deliberando,


Estático vs.
entonces se dice que el entorno es dinámico para el agente; de
dinámico
otra forma se dice que es estático.

La distinción entre discreto y continuo se puede aplicar al estado


Discreto vs.
del medio, a la forma en la que se maneja el tiempo y a las
continuo
percepciones y acciones del agente.
La distinción entre el entorno de un agente individual y el de un
Agente individual
sistema multiagente depende de si el comportamiento de otra
vs. multiagente
entidad afecta la medida de rendimiento del agente en cuestión.

Ejemplos de entornos de trabajo y sus propiedades

Entorno Propiedades

Totalmente observable, determinista, secuencial, estático, discreto,


Agente aspiradora
agente individual

Totalmente observable (con excepciones), determinista, secuencial,


Ajedrez
estático, discreto, multiagente

Taxista Parcialmente observable, estocástico, secuencial, dinámico,


automatizado continuo, multiagente

Parcialmente observable, estocástico (posiblemente), episódico o


Sistema de secuencial (dependiendo de la situación), dinámico, continuo o
diagnóstico médico discreto, agente individual o multiagente dependiendo de la
complejidad del diagnóstico.

Estructura de los agentes

Tema Descripción

La arquitectura de los agentes es el componente físico que contiene


Arquitectura de
los sensores, actuadores y la capacidad de ejecutar programas de los
los Agentes
agentes. El programa debe ser compatible con la arquitectura.

Los programas de los agentes se diseñan para transformar las


Programas de los percepciones en acciones. En este libro, los programas de los
Agentes agentes están diseñados para recibir sólo la percepción actual como
entrada, y están descritos con un lenguaje de pseudocódigo.
El agente dirigido por tabla es una forma de construir un agente
racional utilizando una tabla que contenga las acciones apropiadas
Agentes dirigidos
para cada secuencia posible de percepciones. Este enfoque es poco
por tabla
práctico debido al tamaño exagerado de la tabla, y se buscan
alternativas más eficientes.

Los cuatro tipos básicos de programas de agentes son: agentes


Tipos de reactivos simples, agentes reactivos basados en modelos, agentes
programas de basados en objetivos y agentes basados en utilidad. Todos estos tipos
agentes de programas de agentes se pueden convertir en agentes que
aprendan.

Ejemplo de tabla de Agentes dirigidos por tabla:

Percepción Acción

A, B, C Acción 1

A, B, D Acción 2

E, F, G Acción 3

... ...

Incluye como respuesta en una tabla el ejemplo del taxi

Ejemplo del taxi automatizado

La entrada visual de una cámara individual es de 27 megabytes por segundo (30


fotografías por segundo, 640 x 480 pixels con 24 bits de información de colores).

Genera una tabla de búsqueda con más de 10^250.000.000.000 entradas por hora de
conducción.

El tamaño exageradamente grande de estas tablas significa que (a) no hay agente físico
en este universo que tenga el espacio suficiente como para almacenar la tabla, (b) el
diseñador no tendrá tiempo para crear la tabla, (c) ningún agente podría aprender todas
las entradas de la tabla a partir de su experiencia, y (d) incluso si el entorno es lo
suficientemente simple para generar una tabla de un tamaño razonable, el diseñador no
tiene quien le asesore en la forma en la que rellenar la tabla.
Tema Descripción

Encontrar la forma de escribir programas que reproduzcan un


comportamiento racional a partir de una pequeña cantidad de
El desafío clave de la IA
código en vez de a partir de una tabla con un gran número de
entradas

Las grandes tablas de raíces cuadradas utilizadas por


Ejemplo de éxito en ingenieros y estudiantes antes de 1970 se han reemplazado
otras áreas por un programa de cinco líneas que implementa el método de
Newton en las calculadoras electrónicas

Agentes reactivos simples, agentes reactivos basados en


Tipos básicos de
modelos, agentes basados en objetivos y agentes basados en
programas para agentes
utilidad

Cómo convertir los tipos


Se explica en términos generales después de presentar los
de programas en
cuatro tipos básicos de programas para agentes
agentes que aprenden

Agentes reactivos simples

Tema Descripción

Agentes Son los agentes más sencillos que seleccionan acciones basándose
Reactivos únicamente en las percepciones actuales. Su funcionamiento es limitado
Simples y se ven afectados por entornos parcialmente observables.

Reglas de
Las conexiones entre una condición y una acción, que permiten a los
Condición-Acci
agentes generar la conexión desde las percepciones a las acciones.
ón

Específico para un entorno concreto, como el de la aspiradora, pero se


Programa del puede construir una estructura más general y flexible utilizando un
Agente intérprete de reglas de condición-acción para entornos de trabajo
específicos.

El desafío clave de la IA es encontrar la forma de escribir programas que


Inteligencia
reproduzcan un comportamiento racional con una pequeña cantidad de
Artificial
código en vez de una tabla con un gran número de entradas.
Las grandes tablas de las raíces cuadradas utilizadas antes de 1970 se
han reemplazado por un programa que implementa el método de
Newton en las calculadoras electrónicas. El programa del agente
Ejemplos de
aspiradora es mucho más pequeño en comparación con su tabla
Reducción
correspondiente al reducir las posibilidades al ignorar la historia de
percepción y al reconocer que cuando la cuadrícula actual está sucia, la
acción no depende de la localización.

Ejemplo del Agente Aspiradora

Estado Acción

Sucio, Izquierda Derecha

Sucio, Derecha Izquierda

Sucio, Arriba Abajo

Sucio, Abajo Arriba

Limpio, Izquierda Derecha

Limpio, Derecha Izquierda

Limpio, Arriba Abajo

Limpio, Abajo Arriba

Tema Descripción

Los agentes reactivos simples son el tipo más sencillo de agentes de IA.
Toman decisiones basadas únicamente en la percepción actual del
Agente
entorno, sin tener en cuenta la historia de percepciones. La función de
reactivo simple
agente del agente aspiradora presentado en la Figura 2.3 es un ejemplo
de agente reactivo simple.
Las reglas de condición-acción son conexiones establecidas en el
programa de un agente que vinculan las percepciones del entorno a las
Reglas de
acciones que el agente debe tomar. Por ejemplo, en el caso del
condición-acci
conductor de un taxi automático, si el coche que circula delante frena,
ón
las luces de freno se encienden y se activa la regla de condición-acción
que establece que el agente debe iniciar el frenado.

Un agente reactivo simple con capacidad para seleccionar acciones


aleatorias puede mejorar su desempeño en situaciones en las que su
entorno es parcialmente observable o en las que puede quedar atrapado
Agente en un bucle infinito. Por ejemplo, en el caso de un agente aspiradora
reactivo simple que tiene solo dos percepciones posibles (sucio y limpio), si se
con acciones encuentra con la percepción de limpio, puede lanzar una moneda para
aleatorias decidir si ir a la izquierda o a la derecha y así evitar quedar atrapado en
un bucle infinito. Esta estrategia no es normalmente racional en
entornos de un solo agente, pero puede resultar útil en entornos
multiagente.

Agentes reactivos basados en modelos

Tema Descripción/Definición

Un agente que mantiene un estado interno que depende de la historia


Agentes
percibida, con el objetivo de reflejar algunos aspectos no observables del
reactivos
estado actual del mundo. Utiliza un modelo del mundo que incluye
basados en
información sobre cómo evoluciona el mundo independientemente del
modelos
agente y cómo afectan las acciones del agente al mundo.

Conocimiento acerca de "cómo funciona el mundo", que se utiliza para


actualizar el estado interno de un agente basado en modelos. Puede ser
Modelo del implementado con un circuito booleano simple o con teorías científicas
mundo completas, y proporciona información sobre la forma en que evoluciona
el mundo independientemente del agente y cómo afectan las acciones
del agente al mundo.

Tema Descripción de ejemplos


Los agentes que utilizan un modelo del mundo incluyen un sistema de
control de tráfico aéreo, que utiliza información sobre la posición de los
Ejemplos de aviones y su velocidad para prevenir colisiones, y un agente de
agentes planificación de rutas, que utiliza información sobre la topografía del
basados en terreno y la ubicación de los obstáculos para planificar la mejor ruta para
modelos un vehículo autónomo. El modelo del mundo también se utiliza en
sistemas de predicción de riesgos, como la predicción del riesgo de
enfermedades en la atención médica.

Agentes basados en objetivos

Tema principal Descripción/Definición

Tipo de agente que, además de conocer el estado actual del mundo,


Agentes basados tiene información explícita sobre una meta que desea alcanzar. Utiliza
en objetivos esta información para seleccionar las acciones que permiten alcanzar
la meta.

Subcampo de la IA centrado en encontrar secuencias de acciones


Búsqueda
que permitan a los agentes alcanzar sus metas.

Subcampo de la IA centrado en encontrar secuencias de acciones


Planificación que permitan a los agentes alcanzar sus metas, teniendo en cuenta
restricciones y condiciones previas.

Tipo de reglas utilizadas por los agentes reactivos que proyectan


Reglas de
directamente las percepciones en las acciones sin tener en cuenta
condición-acción
consideraciones sobre el futuro.

Ejemplos

Si un agente basado en objetivos desea llegar a un destino específico, utilizará la


información sobre los resultados de las acciones posibles para seleccionar las que lo
lleven más cerca de la meta.

El subcampo de la IA llamado planificación se enfoca en encontrar secuencias de


acciones que permitan a los agentes alcanzar sus metas, teniendo en cuenta
restricciones y condiciones previas.
Los agentes reactivos utilizan reglas de condición-acción que no tienen en cuenta
consideraciones sobre el futuro, lo que los hace menos flexibles que los agentes basados
en objetivos.

Ejemplo Descripción

Si comienza a llover, el agente basado en objetivos puede actualizar su


conocimiento sobre cómo se comportan los frenos; lo cual implicará que
Lluvia todas las formas de actuar relevantes se alteren automáticamente para
adaptarse a las nuevas circunstancias. Para el agente reactivo, por otro lado,
se tendrán que rescribir muchas reglas de condición-acción.

Tema Principal Definición/Descripción

Una función de utilidad es una función que asigna un valor numérico a


un estado o secuencia de estados de un agente, que representa la
felicidad del agente en ese estado o secuencia de estados. La función
Función de
de utilidad permite al agente comparar estados o secuencias de
Utilidad
estados en términos de su nivel de felicidad, lo que permite tomar
decisiones racionales en situaciones donde las metas por sí solas no
son adecuadas.

Un agente basado en utilidad utiliza una función de utilidad para tomar


decisiones racionales en un entorno dado. La estructura de un agente
Agente Basado basado en utilidad incluye un programa de toma de decisiones que
en Utilidad utiliza la función de utilidad para evaluar los posibles estados y
secuencias de estados y determinar el curso de acción que maximiza
la felicidad del agente.

La restricción local de racionalidad se refiere a la necesidad de que los


agentes tomen decisiones racionales basándose en una función de
Restricción
utilidad, que maximiza el rendimiento del agente en el entorno dado.
Local de
Esta restricción se puede expresar mediante un programa de propósito
Racionalidad
general que no depende de la función de utilidad específica a
maximizar.

Ejemplo:

Tema Principal Ejemplo


Un ejemplo de función de utilidad sería una que se utiliza para
determinar el camino más eficiente para llegar a un destino. La función
Función de de utilidad puede asignar valores numéricos a diferentes caminos
Utilidad basados en su duración, costo, seguridad, etc., lo que permite al
agente evaluar y comparar diferentes opciones para determinar la
mejor ruta.

Un ejemplo de un agente basado en utilidad sería un robot de limpieza


que utiliza sensores para evaluar el desorden en una habitación y una
Agente Basado
función de utilidad para determinar el mejor camino de limpieza. El
en Utilidad
robot utiliza la función de utilidad para evaluar diferentes rutas y
determinar la ruta más eficiente para limpiar la habitación.

Un ejemplo de la restricción local de racionalidad sería un agente de


compras en línea que utiliza una función de utilidad para determinar
qué productos presentar al usuario en primer lugar. La función de
Restricción
utilidad puede considerar factores como la popularidad del producto, el
Local de
interés del usuario en el producto, y la rentabilidad para el sitio web de
Racionalidad
compras en línea. El agente utiliza esta función de utilidad para tomar
decisiones racionales en tiempo real y maximizar el rendimiento del
sitio web.

Agentes que aprenden

Tema
principal Descripción/definición del concepto

Los agentes que aprenden se basan en el proceso de modificación de


cada componente del agente, lo que permite que cada componente se
comporte de manera más adecuada a la información que recibe,
mejorando así el nivel medio de actuación del agente. Un agente que
aprende se divide en cuatro componentes: el elemento de actuación, el
elemento de aprendizaje, la crítica y el generador de problemas. El
Agentes que
elemento de actuación es el responsable de seleccionar las acciones
aprenden
externas, mientras que el elemento de aprendizaje es responsable de
hacer mejoras y se realimenta con las críticas sobre la actuación del
agente. La crítica indica al elemento de aprendizaje qué tal lo está
haciendo el agente con respecto a un nivel de actuación fijo. El generador
de problemas es responsable de sugerir acciones que lo guiarán hacia
experiencias nuevas e informativas.
El aprendizaje es el método más adecuado para crear sistemas
novedosos en IA y permite que el agente opere en medios inicialmente
desconocidos y que sea más competente que si solo utilizase un
conocimiento inicial. El proceso de aprendizaje se divide en dos tipos:
aprendizaje directo a partir de la secuencia percibida y observación de
Aprendizaje
pares de estados sucesivos del entorno y aprendizaje de los resultados
en agentes
de las acciones del agente. El nivel de actuación externo es necesario
para proporcionar información sobre si una acción es buena o mala. En
un agente basado en utilidad, el nivel de actuación externo debe informar
al agente de que la pérdida de propinas tiene una contribución negativa
en su nivel de actuación medio.

Ejemplos Ver tabla siguiente.

Ejemplos

Un programa de ajedrez que necesita un nivel de actuación para determinar si su jugada


ha sido buena o no.

Un agente conductor de un taxi que aprende que "maniobras violentas no contribuyen a


su propia utilidad".

El generador de problemas que sugiere al agente explorar algunas acciones que no sean
totalmente óptimas a corto plazo, con el fin de descubrir acciones mejores a largo plazo.

El científico que lleva a cabo experimentos para adaptar su propia mente, para identificar
una teoría que defina mejor el movimiento de los objetos.

En este capítulo se ha realizado un recorrido rápido por el campo de la IA, que se ha


presentado como la ciencia del diseño de los agentes. Los puntos más importantes a tener
en cuenta son:
• Un agente es algo que percibe y actúa en un medio. La función del agente para un agente
especifica la acción que debe realizar un agente como respuesta a cualquier secuencia
percibida.
• La medida de rendimiento evalúa el comportamiento del agente en un medio. Un agente
racional actúa con la intención de maximizar el valor esperado de la medida de rendimiento,
dada la secuencia de percepciones que ha observado hasta el momento.
• Las especificaciones del entorno de trabajo incluyen la medida de rendimiento, el medio
externo, los actuadores y los sensores. El primer paso en el diseño de un agente debe ser
siempre la especificación, tan completa como sea posible, del entorno de trabajo.
• El entorno de trabajo varía según distintos parámetros. Pueden ser total o parcialmente
visibles, deterministas o estocásticos, episódicos o secuenciales, estáticos o dinámicos,
discretos o continuos, y formados por un único agente o por varios agentes.
• El programa del agente implementa la función del agente. Existe una gran variedad de
diseños de programas de agentes, y reflejan el tipo de información que se hace explícita y
se utiliza en el proceso de decisión. Los diseños varían en eficiencia, solidez y flexibilidad.
El diseño apropiado del programa del agente depende en gran medida de la naturaleza del
medio.
• Los gentes reactivos simples responden directamente a las percepciones, mientras que los
agentes reactivos basados en modelos mantienen un estado interno

Ejercicios:
2.1 Defina con sus propias palabras los siguientes términos: agente, función de agente,
programa de agente, racionalidad, autonomía, agente reactivo, agente basado en modelo,
agente basado en objetivos, agente basado en utilidad, agente que aprende.

2.2 Tanto la medida de rendimiento como la función de utilidad miden la eficiencia del
agente. Explique la diferencia entre los dos conceptos.

2.3 Este ejercicio explora las diferencias entre las funciones de los agentes y los programas
de los agentes. a) ¿Puede haber más de un programa de agente que implemente una
función de agente dada? Proponga un ejemplo, o muestre por qué una no es posible. b)
¿Hay funciones de agente que no se pueden implementar con algún programa de agente?
c) Dada una arquitectura máquina, ¿implementa cada programa de agente exactamente
una función de agente? d) Dada una arquitectura con n bits de almacenamiento, ¿cuántos
posibles programas de agente diferentes puede almacenar?

2.4 Examínese ahora la racionalidad de varias funciones de agentes aspiradora. a) Muestre


que la función de agente aspiradora descrita en la Figura 2.3 es realmente racional bajo la
hipótesis presentada en la página 36. b) Describa una función para un agente racional cuya
medida de rendimiento modificada deduzca un punto por cada movimiento. ¿Requiere el
correspondiente programa de agente estado interno? c) Discuta posibles diseños de
agentes para los casos en los que las cuadrículas limpias puedan ensuciarse y la geografía
del medio sea desconocida. ¿Tiene sentido que el agente aprenda de su experiencia en
estos casos? ¿Si es así, qué debe aprender?

2.5 Identifique la descripción REAS que define el entorno de trabajo para cada uno de los
siguientes agentes: a) Robot que juega al fútbol; b) Agente para comprar libros en Internet;
c) Explorador autónomo de Marte; d) Asistente matemático para la demostración de
teoremas.

2.6 Para cada uno de los tipos de agente enumerados en el Ejercicio 2.5, caracterice el
medio de acuerdo con las propiedades dadas en la Sección 2.3, y seleccione un diseño de
agente adecuado. Los siguientes ejercicios están relacionados con la implementación de
entornos y agentes para el mundo de la aspiradora.

2.7 Implemente un simulador que determine la medida de rendimiento para el entorno del
mundo de la aspiradora descrito en la Figura 2.2 y especificado en la página 36. La
implementación debe ser modular, de forma que los sensores, actuadores, y las
características del entorno (tamaño, forma, localización de la suciedad, etc.) puedan
modificar se fácilmente. (Nota: hay implementaciones disponibles en el repositorio de
Internet que pueden ayudar a decidir qué lenguaje de programación y sistema operativo
seleccionar).

2.8 Implemente un agente reactivo simple para el entorno de la aspiradora del Ejercicio 2.7.
Ejecute el simulador del entorno con este agente para todas las configuraciones iniciales
posibles de suciedad y posiciones del agente. Almacene la puntuación de la actuación del
agente para cada configuración y la puntuación media global.

2.9 Considere una versión modificada del entorno de la aspiradora del Ejercicio 2.7, en el
que se penalice al agente con un punto en cada movimiento. a) ¿Puede un agente reactivo
simple ser perfectamente racional en este medio? Explíquese. b) ¿Qué sucedería con un
agente reactivo con estado? Diseñe este agente. c) ¿Cómo se responderían las preguntas a
y b si las percepciones proporcionan al agente información sobre el nivel de
suciedad/limpieza de todas las cuadrículas del entorno?

2.10 Considere una versión modificada del entorno de la aspiradora del Ejercicio 2.7, en el
que la geografía del entorno (su extensión, límites, y obstáculos) sea desconocida, así
como, la disposición inicial de la suciedad. (El agente puede ir hacia arriba, abajo, así como,
hacia la derecha y a la izquierda.) a) ¿Puede un agente reactivo simple ser perfectamente
racional en este medio? Explíquese. b) ¿Puede un agente reactivo simple con una función
de agente aleatoria superar a un agente reactivo simple? Diseñe un agente de este tipo y
medir su rendimiento en varios medios. c) ¿Se puede diseñar un entorno en el que el
agente con la función aleatoria obtenga una actuación muy pobre? Muestre los resultados.
d) ¿Puede un agente reactivo con estado mejorar los resultados de un agente reactivo
simple? Diseñe un agente de este tipo y medir su eficiencia en distintos medios. ¿Se puede
diseñar un agente racional de este tipo?

2.11 Repítase el Ejercicio 2.10 para el caso en el que el sensor de localización sea
reemplazado por un sensor «de golpes» que detecte si el agente golpea un obstáculo o si
se sale fuera de los límites del entorno. Supóngase que el sensor de golpes deja de
funcionar. ¿Cómo debe comportarse el agente?

2.12 Los entornos de la aspiradora en los ejercicios anteriores han sido todos deterministas.
Discuta posibles programas de agentes para cada una de las siguientes versiones
estocásticas: a) Ley de Murphy: el 25 por ciento del tiempo, la acción de Aspirar falla en la
limpieza del suelo si está sucio y deposita suciedad en el suelo si el suelo está limpio.
¿Cómo se ve afectado el agente si el sensor de suciedad da una respuesta incorrecta el
diez por ciento de las veces? b) Niño pequeño: en cada lapso de tiempo, cada recuadro
limpio tiene un diez por ciento de posibilidad de ensuciarse. ¿Puede identificar un diseño
para un agente racional en este caso?

2.1.
● Agente: un sistema o entidad que percibe su entorno y actúa en él para alcanzar un
objetivo.
● Función de agente: la forma en que el agente mapea las percepciones del entorno a
las acciones para alcanzar su objetivo.
● Programa de agente: la implementación concreta de una función de agente en
código informático.
● Racionalidad: la propiedad de un agente de seleccionar acciones que maximicen su
medida de rendimiento en un entorno dado.
● Autonomía: la capacidad de un agente para actuar independientemente, sin
intervención humana directa.
● Agente reactivo: un tipo de agente que selecciona acciones basándose únicamente
en la percepción inmediata del entorno.
● Agente basado en modelo: un tipo de agente que mantiene una representación
interna del mundo y utiliza esta información para tomar decisiones.
● Agente basado en objetivos: un tipo de agente que selecciona acciones que se
acercan a la consecución de un objetivo o conjunto de objetivos.
● Agente basado en utilidad: un tipo de agente que selecciona acciones que
maximizan una función de utilidad dada.
● Agente que aprende: un tipo de agente que utiliza datos de su entorno para mejorar
su función de agente con el tiempo.
2.2.
La medida de rendimiento se refiere a cómo se evalúa la actuación global del agente en el
entorno, mientras que la función de utilidad mide la utilidad específica de un estado o acción
para el objetivo del agente. La medida de rendimiento es a menudo más abstracta y
general, mientras que la función de utilidad es más específica y detallada.
2.3.
a) Sí, puede haber más de un programa de agente que implemente una función de agente
dada. Por ejemplo, diferentes programas de ajedrez pueden implementar la misma
estrategia.
b) Sí, hay funciones de agente que no se pueden implementar con algún programa de
agente. Por ejemplo, una función que requiere capacidad de aprendizaje en un programa
que no tiene esa capacidad.
c) No necesariamente. Puede haber varios programas de agente que implementen la misma
función de agente.
d) Una arquitectura con n bits de almacenamiento puede almacenar hasta 2^n programas
de agente diferentes.

2.5 Identifique la descripción REAS que define el entorno de trabajo para cada uno de los
siguientes agentes:
a) Robot que juega al fútbol:
REAS: Rendimiento: Gana partidos de fútbol; Entorno: Cancha de fútbol, pelota, otros
robots y jugadores; Actuadores: Ruedas, brazos, piernas; Sensores: Cámaras, sensores de
proximidad, sensores de presión.
b) Agente para comprar libros en Internet:
REAS: Rendimiento: Compra libros de acuerdo a las preferencias del usuario; Entorno:
Sitios web de venta de libros, base de datos de libros; Actuadores: Mouse, teclado;
Sensores: Pantalla, información del usuario.
c) Explorador autónomo de Marte:
REAS: Rendimiento: Realiza misiones de exploración de Marte; Entorno: Superficie de
Marte, terreno accidentado, clima extremo; Actuadores: Ruedas, brazos, herramientas de
exploración; Sensores: Cámaras, sensores de temperatura, sensores de presión.
d) Asistente matemático para la demostración de teoremas:
REAS: Rendimiento: Ayuda al usuario a demostrar teoremas de manera efectiva y eficiente;
Entorno: Software matemático, biblioteca de teoremas y pruebas, base de datos de
conocimientos matemáticos; Actuadores: Mouse, teclado; Sensores: Pantalla, información
del usuario.

2.6 Para cada uno de los tipos de agente enumerados en el Ejercicio 2.5, caracterice el
medio de acuerdo con las propiedades dadas en la Sección 2.3, y seleccione un diseño de
agente adecuado.
a) Robot que juega al fútbol:
● Propiedades del entorno: completamente observable, determinístico, estático,
discreto.
● Diseño de agente adecuado: agente reactivo basado en reglas o agente basado en
modelos.
b) Agente para comprar libros en Internet:
● Propiedades del entorno: parcialmente observable, estocástico, dinámico, continuo.
● Diseño de agente adecuado: agente basado en objetivos o agente basado en
utilidad.
c) Explorador autónomo de Marte:
● Propiedades del entorno: parcialmente observable, estocástico, dinámico, continuo.
● Diseño de agente adecuado: agente basado en modelo o agente basado en utilidad.
d) Asistente matemático para la demostración de teoremas:
● Propiedades del entorno: completamente observable, determinístico, estático,
discreto.
● Diseño de agente adecuado: agente basado en reglas o agente basado en objetivos.

2.7. Implementar un simulador que determine la medida de rendimiento para el entorno del
mundo de la aspiradora descrito en la Figura 2.2 y especificado en la página 36. La
implementación debe ser modular, de forma que los sensores, actuadores, y las
características del entorno (tamaño, forma, localización de la suciedad, etc.) puedan
modificarse fácilmente.
Para implementar este simulador, se puede utilizar un lenguaje de programación como
Python o Java y se pueden crear clases para el agente, el entorno y los sensores y
actuadores. El entorno debe ser creado para que tenga una cuadrícula con diferentes
posiciones de suciedad, y el agente debe estar diseñado para moverse por la cuadrícula y
limpiar la suciedad.

2.8. Implementar un agente reactivo simple para el entorno de la aspiradora del Ejercicio
2.7. Ejecutar el simulador del entorno con este agente para todas las configuraciones
iniciales posibles de suciedad y posiciones del agente. Almacenar la puntuación de la
actuación del agente para cada configuración y la puntuación media global.
El agente reactivo simple se puede diseñar para que siempre se mueva en la dirección en la
que haya suciedad. Para ello, se puede utilizar una regla condicional que verifique si hay
suciedad en la posición actual del agente y, en caso afirmativo, limpie la suciedad y luego
mueva el agente a la siguiente posición. Si no hay suciedad en la posición actual del
agente, se puede mover el agente a una posición aleatoria en la cuadrícula.
Para ejecutar el simulador del entorno con este agente, se pueden generar todas las
configuraciones posibles de suciedad y posiciones del agente utilizando un bucle, y luego
almacenar la puntuación de la actuación del agente para cada configuración. La puntuación
media global se puede calcular sumando las puntuaciones de actuación y dividiéndolas por
el número de configuraciones posibles.

2.9
a) No, un agente reactivo simple no puede ser perfectamente racional en este medio, ya
que siempre recibirá una penalización por cada movimiento que realice. Un agente reactivo
simple solo puede tomar decisiones basadas en las percepciones inmediatas del entorno, y
no puede predecir el efecto a largo plazo de sus acciones. Por lo tanto, aunque pueda evitar
moverse innecesariamente en un cuadrado ya limpio, no puede evitar ser penalizado por el
movimiento en sí mismo.
b) Un agente reactivo con estado podría ser más racional en este medio, ya que puede
recordar su posición actual y las cuadrículas que ya ha limpiado. De esta manera, el agente
puede evitar moverse innecesariamente y limitar sus movimientos solo a las cuadrículas
sucias. Un posible diseño sería que el agente tenga una tabla que registre las posiciones
que ya ha visitado y el estado de cada cuadrícula. En cada paso, el agente consultaría esta
tabla y tomaría la acción correspondiente en función de la información almacenada.
c) Si las percepciones proporcionan al agente información sobre el nivel de
suciedad/limpieza de todas las cuadrículas del entorno, entonces tanto un agente reactivo
simple como un agente reactivo con estado podrían ser perfectamente racionales. En este
caso, el agente puede tomar decisiones óptimas basadas en la información completa del
entorno y, por lo tanto, evitar movimientos innecesarios y minimizar la penalización por
movimiento.

2.10 Considere una versión modificada del entorno de la aspiradora del Ejercicio 2.7, en el
que la geografía del entorno (su extensión, límites, y obstáculos) sea desconocida, así como
la disposición inicial de la suciedad. (El agente puede ir hacia arriba, abajo, así como hacia
la derecha y a la izquierda.)
a) ¿Puede un agente reactivo simple ser perfectamente racional en este medio?
Explíquese.
No, un agente reactivo simple no puede ser perfectamente racional en este medio porque
no tiene suficiente información sobre el entorno. En un entorno desconocido, un agente
debe realizar acciones exploratorias para adquirir información sobre el entorno antes de
tomar decisiones. Un agente reactivo simple no puede hacer esto, ya que solo se basa en
las percepciones inmediatas del entorno para tomar decisiones.
b) ¿Puede un agente reactivo simple con una función de agente aleatoria superar a un
agente reactivo simple? Diseñe un agente de este tipo y medir su rendimiento en varios
medios.
En algunos casos, un agente reactivo simple con una función de agente aleatoria puede
superar a un agente reactivo simple, especialmente si el entorno es lo suficientemente
pequeño. El agente aleatorio simplemente toma acciones aleatorias, por lo que puede
encontrar una buena solución por casualidad. Sin embargo, este enfoque no es eficiente, ya
que el agente puede tardar mucho tiempo en encontrar una buena solución.
c) ¿Se puede diseñar un entorno en el que el agente con la función aleatoria obtenga una
actuación muy pobre? Muestre los resultados.
Sí, se puede diseñar un entorno en el que el agente con la función aleatoria obtenga una
actuación muy pobre. Por ejemplo, si el entorno es muy grande o tiene obstáculos que
bloquean el movimiento del agente, es menos probable que el agente encuentre una
solución efectiva al azar.
d) ¿Puede un agente reactivo con estado mejorar los resultados de un agente reactivo
simple? Diseñe un agente de este tipo y medir su eficiencia en distintos medios. ¿Se puede
diseñar un agente racional de este tipo?
Sí, un agente reactivo con estado puede mejorar los resultados de un agente reactivo
simple en un entorno desconocido. El agente reactivo con estado mantiene una
representación interna del entorno y utiliza esta información para tomar decisiones. El
agente puede explorar el entorno para actualizar su modelo interno y tomar decisiones más
informadas.
Un ejemplo de agente reactivo con estado para el entorno de la aspiradora podría ser un
agente que mantiene una representación de la posición actual de la aspiradora, así como de
la cantidad y ubicación de la suciedad que ha encontrado. El agente podría utilizar esta
información para planificar su movimiento y asegurarse de limpiar de manera efectiva el
entorno.
Sí, se puede diseñar un agente racional de este tipo. Un agente reactivo con estado racional
debería ser capaz de equilibrar la exploración del entorno con la maximización del
rendimiento, utilizando su representación interna del entorno para tomar decisiones óptimas.

2.11, se pide repetir el caso del Ejercicio 2.10, pero con un sensor "de golpes" en lugar del
sensor de localización. Este sensor detectará si el agente golpea un obstáculo o se sale de
los límites del entorno.
a) ¿Puede un agente reactivo simple ser perfectamente racional en este medio?
Explíquese.
No, un agente reactivo simple no puede ser perfectamente racional en este medio, ya que el
sensor de golpes no proporciona suficiente información para que el agente tome decisiones
completamente informadas. En lugar de eso, el agente necesitará aprender de su
experiencia para mejorar su rendimiento.
b) ¿Puede un agente reactivo simple con una función de agente aleatoria superar a un
agente reactivo simple? Diseñe un agente de este tipo y mida su rendimiento en varios
entornos.
Un agente reactivo simple con una función de agente aleatoria puede superar a un agente
reactivo simple en algunos entornos. Este agente podría moverse al azar y tener una
pequeña probabilidad de cambiar de dirección después de chocar con un obstáculo. El
rendimiento de este agente sería altamente dependiente del entorno específico.
c) ¿Se puede diseñar un entorno en el que el agente con la función aleatoria obtenga una
actuación muy pobre? Muestre los resultados.
Sí, se puede diseñar un entorno en el que un agente con una función aleatoria obtenga una
actuación muy pobre. Por ejemplo, si el entorno es muy pequeño y lleno de obstáculos, el
agente probablemente chocará repetidamente y no logrará limpiar la suciedad.
d) ¿Puede un agente reactivo con estado mejorar los resultados de un agente reactivo
simple? Diseñe un agente de este tipo y mida su eficiencia en distintos entornos. ¿Se puede
diseñar un agente racional de este tipo?
Sí, un agente reactivo con estado podría mejorar los resultados de un agente reactivo
simple en este entorno. El agente podría recordar los lugares donde ha encontrado
suciedad y priorizar la limpieza en esas áreas. También podría recordar la ubicación de los
obstáculos y evitar chocar con ellos en el futuro. Un agente racional de este tipo podría ser
diseñado para maximizar su medida de rendimiento en función de la información disponible
a través del sensor de golpes.

2.12 Los entornos de la aspiradora en los ejercicios anteriores han sido todos deterministas.
Discuta posibles programas de agentes para cada una de las siguientes versiones
estocásticas:
a) Ley de Murphy: el 25 por ciento del tiempo, la acción de Aspirar falla en la limpieza del
suelo si está sucio y deposita suciedad en el suelo si el suelo está limpio. ¿Cómo se ve
afectado el agente si el sensor de suciedad da una respuesta incorrecta el diez por ciento
de las veces?
En este caso, el agente debe ser diseñado para considerar la posibilidad de que la
aspiradora pueda fallar al limpiar el suelo y depositar suciedad en un suelo limpio. El agente
debe ser capaz de tener en cuenta la probabilidad de la falla y ajustar su comportamiento en
consecuencia. Además, si el sensor de suciedad proporciona información incorrecta, el
agente debe ser capaz de utilizar información adicional para tomar decisiones.
b) Niño pequeño: en cada lapso de tiempo, cada recuadro limpio tiene un diez por ciento de
posibilidad de ensuciarse. ¿Puede identificar un diseño para un agente racional en este
caso?
En este caso, el agente debe ser diseñado para ser reactivo y ser capaz de responder a los
cambios en el entorno. Si se sabe que cada recuadro limpio tiene un diez por ciento de
posibilidad de ensuciarse en cada lapso de tiempo, el agente puede ser programado para
limpiar los recuadros en función de la probabilidad de ensuciamiento y de la cantidad de
suciedad acumulada en el recuadro. También se puede utilizar un enfoque basado en
modelo, en el cual el agente aprende las probabilidades de ensuciamiento para cada
recuadro a medida que explora el entorno.

También podría gustarte