INTRODUCCIÓN
La clase expuesta por la Docente de la
materia Hiraida Santana del silabo este tema es sobre estructura y fases de los
agentes, lo cual entendí que la estructura de un agente inteligente está
compuesta por la arquitectura más su software o programa.
Esta clase realizamos un resumen de todo el capítulo
dejando así tarea de refuerzo para la casa.
MARCO
TEÓRICO
ESTRUCTURA DE LOS AGENTES
El
trabajo de la IA es diseñar el programa agente implemente la función del agente
que proyecta las percepciones en las acciones. Se asume que este programa se
ejecutará en algún tipo de computador con sensores físicos y actuadores, lo
cual se conoce como arquitectura:
Agente
= arquitectura + programa
Obviamente,
el programa que se elija tiene que ser apropiado para la arquitectura. Si el
programa tiene que recomendar acciones como Caminar, la arquitectura tiene que
tener piernas. En general, la arquitectura hace que las percepciones de los
sensores estén disponibles para el programa, ejecuta los programas, y se
encarga de que los actuadores pongan en marcha las acciones generadas.
PROGRAMAS
DE LOS AGENTES
Los
programas de los agentes tienen la misma estructura: reciben las percepciones
actuales como entradas de los sensores y devuelven una acción a los actuadores. Hay que tener en cuenta la
diferencia entre los programas de los agentes, que toman la percepción actual
como entrada, y la función del agente, que recibe la percepción histórica
completa. Los programas de los agentes reciben sólo la percepción actual como
entrada porque no hay nada más disponible en el entorno; si las acciones del
agente dependen de la secuencia completa de percepciones, el agente tendría que
recordar las percepciones.
El
Agente-Dirigido-Mediante tabla hace lo que nosotros queremos: implementa la
función deseada para el agente. El desafío clave de la IA es encontrar la forma
de escribir programas, que en la medida de lo posible, reproduzcan un
comportamiento racional a partir de una pequeña cantidad de código en vez de a
partir de una tabla con un gran número de entradas.
Los
cuatro tipos básicos de programas para agentes que encarnan los principios que
subyacen en casi todos los sistemas inteligentes.
Agentes
reactivos simples.
Agentes
reactivos basados en modelos.
Agentes
basados en objetivos.
Agentes
basados en utilidad. Después se explica, en términos generales, cómo convertir
todos ellos en agentes que aprendan.
Agentes
reactivos simples
El
tipo de agente más sencillo es el agente reactivo simple. Estos agentes
seleccionan las acciones sobre la base de las percepciones actuales, ignorando
el resto de las percepciones históricas
Los
agentes reactivos simples tienen la admirable propiedad de ser simples, pero
poseen una inteligencia muy limitada.
Los
bucles infinitos son a menudo inevitables para los agentes reactivos simples
que operan en algunos entornos parcialmente observables.
Salir
de los bucles infinitos es posible si los agentes pueden seleccionar sus
acciones aleatoriamente. Por tanto, un agente reactivo simple con capacidad
para elegir acciones de manera aleatoria puede mejorar los resultados que
proporciona un agente reactivo simple determinista.
Agentes
reactivos basados en modelos
La
forma más efectiva que tienen los agentes de manejar la visibilidad parcial es
almacenar información de las partes del mundo que no pueden ver. O lo que es lo
mismo, el agente debe mantener algún tipo de estado interno que dependa de la
historia percibida y que de ese modo refleje por lo menos alguno de los aspectos
no observables del estado actual.
La
actualización de la información de estado interno según pasa el tiempo requiere
codificar dos tipos de conocimiento en el programa del agente. Primero, se
necesita alguna información acerca de cómo evoluciona el mundo
independientemente del agente. Segundo, se necesita más información sobre cómo
afectan al mundo las acciones del agente. Este conocimiento acerca de «cómo
funciona el mundo», tanto si está implementado con un circuito booleano simple
o con teorías científicas completas, se denomina modelo del mundo. Un agente
que utilice este modelo es un agente basado en modelos.
Agentes
basados en objetivos
El
conocimiento sobre el estado actual del mundo no es siempre suficiente para
decidir qué hacer. En otras palabras, además de la descripción del estado
actual, el agente necesita algún tipo de información sobre su meta que describa
las situaciones que son deseables. El programa del agente se puede combinar con
información sobre los resultados de las acciones posibles (la misma información
que se utilizó para actualizar el estado interno en el caso del agente
reflexivo) para elegir las acciones que permitan alcanzar el objetivo.
En
algunas ocasiones, la selección de acciones basadas en objetivos es directa,
cuando alcanzar los objetivos es el resultado inmediato de una acción
individual. En otras ocasiones, puede ser más complicado, cuando el agente
tiene que considerar secuencias complejas para encontrar el camino que le
permita alcanzar el objetivo.
Hay
que tener en cuenta que la toma de decisiones de este tipo es fundamentalmente
diferente de las reglas de condición-acción descritas anteriormente, en las que
hay que tener en cuenta consideraciones sobre el futuro. En los diseños de
agentes reactivos, esta información no está representada explícitamente, porque
las reglas que maneja el agente proyectan directamente las percepciones en las
acciones.
Aunque
el agente basado en objetivos pueda parecer menos eficiente, es más flexible ya
que el conocimiento que soporta su decisión está representado explícitamente y
puede modificarse.
El
comportamiento del agente basado en objetivos puede cambiarse fácilmente para
que se dirija a una localización diferente.
Agentes
basados en utilidad
Las
metas por si solas no son realmente suficientes para generar comportamiento de
gran calidad en la mayoría de los entornos. Las metas sólo proporcionan una
cruda distinción binaria entre los estados de «felicidad» y «tristeza»,
mientras que una medida de eficiencia más general debería permitir una
comparación entre estados del mundo diferentes de acuerdo al nivel exacto de
felicidad que el agente alcance cuando se llegue a un estado u otro. Como el
término «felicidad» no suena muy científico, la terminología tradicional
utilizada en estos casos para indicar que se prefiere un estado del mundo a otro
es que un estado tiene más utilidad que otro para el agente.
Una función
de utilidad proyecta un estado (o una secuencia de estados) en un número real,
que representa un nivel de felicidad. La definición completa de una función de
utilidad permite tomar decisiones racionales en dos tipos de casos en los que
las metas son inadecuadas. Primero, cuando haya objetivos conflictivos, y sólo
se puedan alcanzar algunos de ellos (por ejemplo, velocidad y seguridad), la
función de utilidad determina el equilibrio adecuado. Segundo, cuando haya
varios objetivos por los que se pueda guiar el agente, y ninguno de ellos se
pueda alcanzar con certeza, la utilidad proporciona un mecanismo para ponderar
la probabilidad de éxito en función de la importancia de los objetivos.
Por
tanto, un agente que posea una función de utilidad explícita puede tomar
decisiones racionales, y lo puede hacer con la ayuda de un algoritmo de
propósito general que no dependa de la función específica de utilidad a
maximizar. De esta forma, la definición «global» de racionalidad (identificando
como racionales aquellas funciones de los agentes que proporcionan el mayor
rendimiento) se transforma en una restricción «local» en el diseño de agentes
racionales que se puede expresar con un simple programa.
Agentes
que aprenden
Se
han descrito programas para agentes que poseen varios métodos para seleccionar
acciones. Hasta ahora no se ha explicado cómo poner en marcha estos programas
de agentes. Turing (1950), en su temprano y famoso artículo, consideró la idea
de programar sus máquinas inteligentes a mano. Estimó cuánto tiempo podía
llevar y concluyó que «Sería deseable utilizar algún método más rápido». El
método que propone es construir máquinas que aprendan y después enseñarlas. En
muchas áreas de IA, éste es ahora el método más adecuado para crear sistemas
novedosos. El aprendizaje tiene otras ventajas, como se ha explicado
anteriormente: permite que el agente opere en medios inicialmente desconocidos
y que sea más competente que si sólo utilizase un conocimiento inicial.
Un
agente que aprende se puede dividir en cuatro componentes conceptuales. La
distinción más importante entre elemento de aprendizaje y elemento de actuación es que el primero está
responsabilizado de hacer mejoras y el segundo se responsabiliza de la selección
de acciones externas. El elemento de actuación es lo que anteriormente se había
considerado como el agente completo: recibe estímulos y determina las acciones
a realizar. El elemento de aprendizaje se realimenta con las críticas sobre la
actuación del agente y determina cómo se debe modificar el elemento de
actuación para proporcionar mejores resultados en el futuro.
El
diseño del elemento de aprendizaje depende mucho del diseño del elemento de
actuación. La crítica indica al elemento de aprendizaje qué tal lo está
haciendo el agente con respecto a un nivel de actuación fijo. La crítica es
necesaria porque las percepciones por sí mismas no prevén una indicación del
éxito del agente. Es por tanto muy importante fijar el nivel de actuación.
Conceptualmente, se debe tratar con el como si estuviese fuera del agente, ya
que este no debe modificarlo para satisfacer su propio interés. El último
componente del agente con capacidad de aprendizaje es el generador de
problemas. Es responsable de sugerir acciones que lo guiaran hacia experiencias
nuevas e informativas. Lo interesante es que si el elemento de actuación sigue
su camino, puede continuar llevando a cabo las acciones que sean mejores, dado
su conocimiento.
Pero
si el agente está dispuesto a explorar un poco, y llevar a cabo algunas
acciones que no sean totalmente optimas a corto plazo, puede descubrir acciones
mejores a largo plazo. El trabajo del generador de problemas es sugerir estas
acciones exploratorias. Esto es lo que los científicos hacen cuando llevan a
cabo experimentos.
Los
casos más simples incluyen el aprendizaje directo a partir de la secuencia
percibida. La observación de pares de estados sucesivos del entorno puede
permitir que el agente aprenda cómo evoluciona el mundo, y la observación de
los resultados de sus acciones puede permitir que el agente aprenda que hacen
sus acciones.
En
resumen, los agentes tienen una gran variedad de componentes, y estos
componentes se pueden representar de muchas formas en los programas de agentes,
por lo que, parece haber una gran variedad de métodos de aprendizaje. Existe,
sin embargo, una visión unificada sobre
un tema fundamental. El aprendizaje en el campo de los agentes
inteligentes puede definirse como el proceso de modificación de cada componente
del agente, lo cual permite a cada componente comportarse más en consonancia
con la información que se recibe.
CONCLUSIÓN
A pesar de que la materia es muy teórica enriquece
de conocimientos nuevos a los alumnos sobre toda este paradigma de los agentes
inteligente saber cómo funciona todo esta tecnología en nuestro medio es
impresionante.
BIBLIOGRAFÍA
Russell,
S, y Norving P. 2004. Inteligencia Artificial Un Enfoque Moderno. 2da ed. Cap. 2. Pág. 37-62.
Pavón,
J. 2007. Agentes inteligentes modelos y arquitecturas. (En línea). Formato PDF.
Disponible en: http://www.fdi.ucm.es/profesor/jpavon/doctorado/arquitecturas.pdf
No hay comentarios:
Publicar un comentario