Los diferentes campos de estudio de la Inteligencia Artificial se ven reflejados en los Agentes. Aunque no existe una definición Universal aceptada sobre lo que es un agente puede hablarse de una característica común: realiza tareas a favor del "dueño" o usuario del agente, poseyendo un cierto grado de inteligencia que le permite interactuar con su entorno de un modo útil y autónomo, y requiriendo la intervención del usuario en contadas ocasiones.
Un agente se considera autónomo si el tipo de acciones que lleva a cabo dependen de su experiencia en la interacción con le entorno y no del conocimiento previo inroducido por el diseñador, aunque la primera base de concoimiento siempre es necesaria.
1.3.1 Estructura
1.La Arquitectura
2.El programa de agente
La arquitectura está formada por los sensores y los actuadores, que permiten al agente adaptarse a los cambios que se van produciendo en el entorno. El modo de funcionamiento de los actuadores viene marcado por el programa de agente, en base a la información proporcionada por los sensores.
Por tanto para realizar bien su tarea requiere:
1.Metas: que posibilitan en todo momento lo que se quiere conseguir y en qué situación de progreso se encuentran con respecto al objetivo final.
2.Sensores: que le permitan captar datos del contorno en el cual debe actuar.
3.Inteligencia: para interpretar las percepciones de modo que le orienten hacia las metas; siempre requiere un mínimo de inteligencia puede hablarse de “agente inteligente”.
4.Actuadores: Para llevar a cabo la acción decidida y acercarse un poco más hacia la resolución del objetivo final.
El trabajo de la IA es diseñar el programa del agente que implemente una función que proyecta las percepciones en las acciones.
Agente = arquitectura + programa
La arquitectura puede ser un PC común, o puede ser un coche robotizado con varios computadores, cámaras, y otros sensores a bordo, así como actuadores. 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 que se describen 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. Si las acciones del agente dependen de la secuencia completa de percepciones, el agente tendría que recordar las percepciones.
Se muestra un programa de agente que almacena la secuencia de percepciones y después las compara con las secuencias almacenadas en la tabla de acciones para decidir qué hacer. La tabla representa explícitamente la función que define el programa del agente. Para construir un agente racional de esta forma, los diseñadores deben realizar una tabla que contenga las acciones apropiadas para cada secuencia posible de percepciones.
función Agente-Dirigido-Mediante tabla (percepción) devuelve una acción
variables estáticas: percepciones, una secuencia, vacía inicialmente
tabla, una tabla de acciones, indexada por las secuencias de percepciones, totalmente definida inicialmente
Añadir la percepción al final de las percepciones
Acción consulta (percepciones, tabla)
Devolver acción
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. Por lo que este tipo de agente son poco frecuentes.
1.3.2 Medio ambiente de trabajo
El término percepción se utiliza para indicar que el agente puede recibir entradas en cualquier instante. La secuencia de percepciones de un agente refleja el historial completo de lo que el agente ha recibido. En general, un agente tomará una decisión en un momento dado dependiendo de la secuencia completa de percepciones hasta ese instante. Si se puede especificar qué decisión tomará un agente para cada una de las posibles secuencias de percepciones, entonces se habrá́ explicado más o menos todo lo que se puede decir de un agente. En términos matemáticos se puede decir que el comportamiento del agente viene dado por la función del agente que proyecta una percepción dada en una acción.
La función del agente para un agente artificial se implementará mediante el programa del agente.
La naturaleza del entorno y sus especificaciones
El entorno de trabajo ofrece diferentes posibilidades, de forma que cada una de las posibilidades influyen directamente en el diseño del programa del agente. En el diseño de un agente, el primer paso debe ser siempre especificar el entorno de trabajo de la forma más completa posible.
Considérese ahora el problema de un taxista automático. Primero, ¿cuál es el entorno de trabajo en el que el taxista automático aspira a conducir?
Siguiente, ¿cuál es el entorno en el que se encontrará el taxi? Cualquier taxista debe estar preparado para circular por distintas carreteras, desde caminos rurales y calles urbanas hasta autopistas de 12 carriles. En las carreteras se pueden encontrar con tráfico, peatones, animales, obras, coches de policía, charcos y baches. El taxista también tiene que comunicarse tanto con pasajeros reales como potenciales. Hay también elecciones opcionales. El taxi puede operar en Durango, donde la nieve es raramente un problema, o en Creel (Chihuahua), donde no lo es. Obviamente, cuanto más restringido esté el entorno, más fácil será́ el problema del diseño.
¿Qué sensores o actuadores incluiría ?
Existen algunos agentes software (o robots software o softbots) en entornos ricos y prácticamente ilimitados. El simulador constituye un medio muy detallado y complejo con varios casos basados en la experiencia, y el agente software debe elegir, en tiempo real, una de entre un amplio abanico de posibilidades.
Propiedades de los entornos de trabajo
El rango de los entornos de trabajo en los que se utilizan técnicas de IA es obviamente muy grande. Sin embargo, se puede identificar un pequeño numero de dimensiones en las que categorizar estos entornos.
Totalmente observable vs. parcialmente observable.
Si los sensores del agente le proporcionan acceso al estado completo del medio en cada momento, entonces se dice que el entorno de trabajo es totalmente observable. Un entorno puede ser parcialmente observable debido al ruido y a la existencia de sensores poco exactos o porque los sensores no reciben información de parte del sistema
Determinista vs. Estocástico.
Si el siguiente estado del medio está totalmente determinado por el estado actual y la acción ejecutada por el agente, entonces se dice que el entorno es determinista; de otra forma es estocástico.
Episódico vs. secuencial
En un entorno de trabajo episódico, la experiencia del agente se divide en episodios atómicos. Cada episodio consiste en la percepción del agente y la realización de una única acción posterior. Tomar en cuenta que el siguiente episodio no depende de las acciones que se realizaron en episodios previos.
Estático vs. dinámico.
Si el entorno puede cambiar cuando el agente está deliberando, entonces se dice que el entorno es dinámico para el agente; de otra forma se dice que es estático. Los medios dinámicos están preguntando continuamente al agente qué quiere hacer; si no se ha decidido, entonces se entiende que no hace nada. Si el entorno no cambia con el paso del tiempo, pero el rendimiento del agente cambia, entonces se dice que el medio es semi-dinámico.
Discreto vs. Continuo.
La distinción entre discreto y continuo se puede aplicar al estado del medio, a la forma en la que se maneja el tiempo y a las percepciones y acciones del agente.
Agente individual vs. Multiagente.
La distinción entre el entorno de un agente individual y el de un sistema multiagente puede parecer suficientemente simple pero en realidad no lo es, ya que no esta claro que entidades deben considerase agentes. Así puede haber agentes competitivos o cooperativos donde la comunicación es importante.
1.3.3 Clasificación
Agentes reactivos simples
Estos agentes seleccionan
las acciones sobre la base de las percepciones actuales, ignorando el resto de las percepciones históricas.
regla de condición-acción
Una aproximación general y flexible es la de construir primero de un intérprete de propósito general para reglas de condición-acción y después crear conjuntos de reglas para entornos de trabajo específicos.
La función INTERPRETAR-ENTRADA genera una descripción abstracta del estado actual a partir de la percepción, y la función REGLA-COINCIDENCIA devuelve la primera regla del conjunto de reglas que coincide con la descripción del estado dada
función AGENTE-REACTIVO-SIMPLE(percepción) devuelve una acción
estático: reglas, un conjunto de reglas condición-acción
estado;INTERPRETAR-ENTRADA(percepción)
regla;REGLA-COINCIDENCIA(estado, reglas)
acción; REGLA-ACCIÓN[regla]
devolver acción
El agente simple funcionará sólo si se puede tomar la decisión correcta sobre la base de la percepción actual, lo cual es posible sólo si el entorno es totalmente observable. Incluso el que haya una pequeña
parte que no se pueda observar puede causar serios problemas.
Los bucles infinitos son a menudo inevitables para los agentes reactivos simples y en ocasiones deseables. Un agente con capacidad para elegir acciones de manera aleatoria puede mejorar los resultado.
Agentes reactivos basados en modelos
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, a esto se le conoce como modelo del mundo.
La parte interesante es la correspondiente a la función Actualizar-Estado, que es la responsable de la creación de la nueva descripción del estado interno. Además de interpretar la nueva percepción a partir del conocimiento existente sobre el estado, utiliza información relativa a la forma en la que evoluciona el mundo para conocer más sobre las partes del mundo que no están visibles; para ello debe conocer cuál es el efecto de las acciones del agente sobre el estado del mundo.
función AGENTE-REACTIVO-CON-ESTADO(percepción) devuelve una acción
estático: estado, una descripción actual del estado del mundo
reglas, un conjunto de reglas condición-acción
acción, la acción más reciente, inicialmente ninguna
estado;ACTUALIZAR-ESTADO(estado, acción, percepción)
regla; REGLA-COINCIDENCIA(estado, reglas)
acción; REGLA-ACCIÓN[regla]
devolver acción
Agentes basados en objetivos
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 para elegir las acciones que permitan alcanzar el objetivo.
Búsqueda y planificación son los subcampos de la IA centrados en encontrar secuencias de acciones que permitan a los agentes alcanzar sus metas.
El agente basado en objetivos 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.
Agentes basados en utilidad
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.
La 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, 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.
Agentes que aprenden
Se propone es construir máquinas que aprendan. El aprendizaje 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 el elemento de aprendizaje y el 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.
La crítica indica al elemento de aprendizaje qué tal lo está haciendo el agente con respecto a un nivel de actuación fijo, pero necesita tener un nivel de actuación que le indique que ello es bueno; la percepción por sí misma no lo indica. La crítica observa el mundo y proporciona información al elemento de aprendizaje.
El generador de problemas debe identificar ciertas áreas de comportamiento que deban mejorarse y sugerir experimentos.
El elemento de aprendizaje puede hacer cambios en cualquiera de los componentes de «conocimiento» que se muestran en los diagramas de agente.
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 «qué hacen sus acciones».