sábado, 9 de agosto de 2014

2.4 ESTRUCTURA Y FASES DE LOS AGENTES





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