Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Medidas de rendimiento
Tema Descripción
Racionalidad
Tema Descripción
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.
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
Ejemplos:
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.
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
Entorno Propiedades
Tema Descripción
Percepción Acción
A, B, C Acción 1
A, B, D Acción 2
E, F, G Acción 3
... ...
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
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
Estado Acción
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.
Tema Descripción/Definición
Ejemplos
Ejemplo Descripción
Ejemplo:
Tema
principal Descripción/definición del concepto
Ejemplos
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.
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.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.