Está en la página 1de 4

Lecturas De apoyo: Programación de sistemas Inteligentes

Agentes basados en el estará orientada


conocimiento: Los agentes hacia algún tipo
inteligentes pueden presentarse de algoritmo que
en muchos niveles de permita resolver
complejidad y en formas muy estos problemas,
diversas. Atendiendo a su como pueden ser los
complejidad, hemos visto algoritmos
varios paradigmas que pueden para búsqueda
ser usados para representar sistemática. Pero hay
su programación. Algunos otros problemas que
agentes inteligentes deben no se ajustan bien a
enfrentarse a problemas que las técnicas de
pueden solucionarse usando búsqueda de
técnicas de búsqueda de soluciones y es posible que necesitemos ir mucho más allá para
soluciones y, en estos casos, la resolverlos. En esta línea, vamos a introducir el concepto de agente
programación de estos agentes basado en conocimiento.

Razonamiento y conocimiento: Los humanos somos capaces de resolver, o al menos de intentarlo, cualquier problema
que sepamos plantear. Pero los humanos no resolvemos problemas usando técnicas de búsqueda de soluciones ni otras
técnicas que funcionan bien en forma de agentes inteligentes para determinadas situaciones.
Usamos una combinación de conocimiento y razonamiento para poder deducir nuevo conocimiento que nos permita saber
cómo puede evolucionar determinada situación y poder anticiparnos al entorno. Básicamente, la inteligencia humana opera
en base a unos pocos componentes, fáciles de identificar desde el punto de vista abstracto, pero que no conocemos
realmente cómo están implementados a nivel neurológico:

 Mecanismo de representación del conocimiento


 Almacén de conocimiento
 Sentidos para obtener nuevo conocimiento a partir del estado del entorno
 Mecanismos de razonamiento que nos permiten obtener nuevo conocimiento a
partir del ya adquirido usando construcciones lógicas

Naturalmente, sería un gran avance poder dotar a una máquina de algo parecido a estos componentes y
hacer que funcionen como lo hacen en un humano. Se trataría del agente inteligente por excelencia. Pero no sabemos
cómo operan estos componentes en el cerebro humano y no podemos copiarlos a una máquina.

Agentes basados en situaciones con entornos previstas por su forma especial


conocimiento: Es posible diseñar difíciles el tipo de agente de enfrentarse a los problemas,
agentes inteligentes bastante inteligente que incorpora usando esa combinación de
complejos usando múltiples un arsenal de recetas va a tener conocimiento y razonamiento.
técnicas del tipo de búsqueda de problemas si el entorno se vuelve En esta línea, podemos tratar de
soluciones, redes neuronales caprichoso y debe enfrentarse crear agentes inteligentes que se
artificiales o cualquier otra técnica a situaciones no previstas. Por funcionen en base a una
en el arsenal de la Inteligencia ejemplo, podemos enseñar a combinación de conocimiento y
Artificial moderna. Pero estos un automóvil autónomo a razonamiento, con la esperanza de
agentes estarán limitados siempre reconocer todas las señales de que sean capaces de enfrentarse a
en el sentido de que no entienden tráfico existentes, pero siempre entornos difíciles mejor que los
lo que sucede ni lo que ellos puede aparecer un artista que se agentes basados en algoritmos. Un
mismos hacen. Se limitan a dedique a modificar señales de agente basado en conocimiento va
ejecutar acciones en base a tráfico y en estas condiciones de a ser un agente inteligente que
algoritmos o mecanismos que se entorno errático nuestro pobre fundamenta toda su operación en
han creado para tratar de responder automóvil autónomo no va a saber una combinación de
lo mejor posible (con mínimo qué sucede ni qué debe hacer. conocimiento y razonamiento.
coste) al tipo de situaciones a las Naturalmente, un humano siempre

1
que se enfrentará el agente. En puede adaptarse a situaciones no
Lecturas De apoyo: Programación de sistemas Inteligentes

Estructura de los agentes basados en conocimiento: No sabemos cómo se representa el conocimiento ni cómo
se desarrollan los procesos de razonamiento en el cerebro humano. Pero sí que tenemos ideas de índole
abstracta cómo debe funcionar una combinación de conocimiento y razonamiento, las Matemáticas son un
ejemplo de ello. En estas condiciones, un agente basado en conocimiento va a tener los siguientes componentes:

 Lenguaje que nos permita representar el sentencias a partir de las ya conocidas usando
conocimiento lógica de proposiciones
 Almacén de conocimiento compuesto por un  Un mecanismo estándar para añadir sentencias
conjunto de afirmaciones o sentencias, al almacén de conocimiento
expresadas en el lenguaje usado para  Otro mecanismo estándar para interrogar al
representar el conocimiento almacén de conocimiento
 Un sistema de inferencia, compuesto por
mecanismos que nos permitan deducir nuevas

El componente fundamental de un agente basado en sistema de inferencia. Cuando se añaden sentencias


conocimiento es su almacén de conocimiento, que al almacén de conocimiento, puede tratarse de
puede serle dado inicialmente con un conjunto información completamente nueva o puede tratarse
sencillo de sentencias y que el agente deberá hacer de sentencias que se hayan deducido a partir de
crecer en base a lo que percibe del entorno y a su las ya existentes usando el sistema de inferencia.

Funcionamiento básico de los agentes basados en conocimiento: Los modelos vistos para programación de
agentes inteligentes son compatibles con la idea de agente basado en conocimiento. La diferencia de un agente
basado en conocimiento con otros agentes basados en algoritmos está en la forma en la que deciden qué acción
deben tomar en cada estado percibido del entorno.

En un agente basado en conocimiento, el proceso de elegir una acción se desarrolla en varias etapas:
 El agente obtiene el estado del entorno y lo codifica en forma de una o varias sentencias
 El conocimiento sobre el estado del entorno se añade al almacén de conocimiento
 Se interroga al almacén de conocimiento sobre la mejor acción posible, dado el estado del entorno que se
acaba de añadir al almacén de conocimiento
 El agente toma una decisión sobre la acción a tomar y la incorpora al almacén de conocimiento en forma
de sentencia

Un agente basado en con la que queremos puede completar su los que se pudiera
conocimiento va a estar limpiar un piso y resulta objetivo. De otra quedar enredada,
en condiciones que para entrar a la forma, con un algoritmo una simple
de justificar de forma cocina sólo hay una de búsqueda, terminaría sentencia evitaría que
lógica sus acciones, puerta, cuando la entrando por la cocina, se acercara a los cables,
cosa que no sucede con aspiradora entre en la pero sin saber por qué. mientras que modificar
agentes basados en cocina puede justificar Siguiendo con el un algoritmo genérico
algoritmos. Por esa acción en el sentido ejemplo de la para conseguir algo de
ejemplo, si tenemos una de que es la única forma aspiradora, en el caso eso no es nada sencillo.
aspiradora autónoma de llegar a la cocina y de que hubiera algún
basada en conocimiento sin limpiar la cocina no sitio lleno de cables con

Aprendizaje en agentes basados en conocimiento: En general, la momento dado y sea capaz de


capacidad de aprendizaje se puede incorporar a cualquier agente observar las consecuencias
inteligente. En el caso de los agentes basados en conocimiento también sobre el entorno de su acción,
es posible y además resulta más sencillo por la naturaleza del almacén debería poder inferir que su
de conocimiento. Por un lado, tiene capacidad innata para adquirir acción ha sido la causante de
nuevos conocimientos pero además es capaz de adquirir la situación actual del entorno y
conocimientos por sí solo, usando su sistema de inferencia. De esta añadir ese conocimiento a su
forma, por ejemplo, un agente que tome una decisión equivocada en un base de conocimiento para no
2
Lecturas De apoyo: Programación de sistemas Inteligentes

volver a repetir el error. Realmente, la forma natural de construir un tratando de emular, en lo


agente que tenga gran capacidad de aprendizaje consiste en basarlo en posible, el funcionamiento del
conocimiento. Un agente basado en conocimiento que tenga la cerebro humano y abriendo
suficiente capacidad de aprendizaje podría constituirse fácilmente en muchas posibilidades para el
un agente completamente autónomo. agente.
En vez de algoritmos, podemos tratar de basar el funcionamiento
interno de un agente inteligente en conocimiento y razonamiento,

Un agente es cualquier dispositivo que puede ser observado como percibiendo su ambiente a través de sensores y
actuando sobre el ambiente a través de actuadores. El programa del agente es una función que implementa la
relación que establece el agente entre percepciones y acciones. Se asumirá que este programa será ejecutado
sobre algún tipo de dispositivo computacional, al cual llamaremos la arquitectura del agente, de manera que:
Agente = arquitectura + programa

R ussell incluye entre sus


ejemplos de agente
algunos programas y
aplicaciones; éstos podrían
considerarse agentes en un
agente basado en metas, a diferencia de los agentes basados en modelos,
además de tener un modelo del mundo y un estado actual del mundo, cuenta
con algún tipo de información sobre su meta, que describa las situaciones
que son deseables. La acción a emprender no deriva directamente de la
percepción actual, sino que el agente la elige (por medio de búsqueda o
ambiente particular, que sería la planificación, por ejemplo) de manera de obtener a través de ella un estado
arquitectura donde son deseable, es decir, que lo acerque a conseguir su meta, a partir del estado
ejecutados, y sus percepciones actual del mundo, determinado a través de la percepción o secuencia de
serían las entradas, y sus percepciones hasta el momento de la decisión. Si un agente basado en metas
acciones serían devolver la tiene capacidad de aprendizaje, ¿puede utilizar reglas de producción para
salida correspondiente. Un representar su conocimiento?

Sí, uno de los paradigmas de la representación del conocimiento es la representación basada en reglas de
producción. Si se entiende por capacidad de aprendizaje a la capacidad del agente de modificar cada uno de sus
componentes para que actúe en consonancia con la información que se recibe, y así mejorar su nivel de
actuación, entonces es posible realizar esto basándose en reglas de producción.

Meta y utilidad del agente: La meta es un estado deseable, un objetivo, que podría alcanzarse de varias formas.
La utilidad es una función de la forma de alcanzar la meta, que representa el nivel de felicidad que se alcanza
llegando a la meta de esa forma. Un agente basado en metas no puede calcular su utilidad, pero si tiene
capacidad de aprendizaje puede recibir críticas del medio que le indiquen el resultado en cuanto a utilidad de sus
acciones. Un agente sin autonomía, si se entiende autonomía como la capacidad de modificar el comportamiento
basándose en sus propias percepciones, un agente no podría tener autonomía en un ambiente inaccesible, y sólo
podría basarse en el conocimiento inicial que le proporcione su diseñador.

La estructura de un agente con manejo de objetivos - Los componentes de un agente basado en objetivos son:

 Un modelo del mundo que le permita determinar  Un objetivo al cual se pretenda llegar desde el
qué implican sus percepciones y qué efectos estado actual del mundo.
causarán sus acciones.

El agente:

 Percibe, y a partir de la nueva percepción determina o infiere el estado actual del mundo.
 Determina la secuencia de acciones a realizar (esto se puede realizar mediante búsqueda) de manera de
obtener a través un estado objetivo a partir del estado actual del mundo que determinó en el paso anterior.
De esa secuencia, toma la primera acción y la realiza por medio de los actuadores.

En la función de búsqueda genérica, debe verificar si es aplicable un operador antes de generar los
sucesores: La función sucesores de un nodo devuelve todos los pares <acción, sucesor> posibles, donde cada
3
Lecturas De apoyo: Programación de sistemas Inteligentes

acción es una de las acciones aplicables correspondientes al estado del nodo, y cada sucesor es un nodo cuyo
estado será el resultado de aplicar la acción correspondiente al estado del nodo. En conclusión, esa verificación -
para el caso en el cual las acciones estén descritas por extensión- es parte del proceso de generación de
sucesores.

¿Qué es y cómo se representa un nodo de un árbol de búsqueda? ¿Qué significa expandir un nodo y en
qué etapa de la búsqueda se realiza esta operación?

Un nodo de búsqueda es una estructura de datos que se utiliza en los algoritmos de búsqueda de soluciones, que
se puede representar con todos o algunos de los siguientes atributos:

Estado: el estado, del espacio de estados, que corresponde al nodo (este atributo es imprescindible).
Nodo padre: el nodo del árbol de búsqueda que ha generado ese nodo.
Acción: la acción que, aplicada al nodo padre, generó el nodo.
Costo del camino: el costo del camino desde el nodo inicial hasta el nodo.
Profundidad: el número de enlaces en el camino del árbol de búsqueda desde el nodo inicial hasta el nodo.

La búsqueda bidireccional puede ser aplicada a cualquier problema siempre que se seleccionen los
operadores y estrategia apropiados.

 El objetivo puede ser descrito como un estado o un conjunto finito de estados (si el conjunto es infinito o
demasiado grande, de todas maneras no habrá ninguna forma general de hacerla eficiente).
 Las acciones tienen inversa.
 Una de las estrategias (una de las dos direcciones) conserva en memoria el árbol de búsqueda, ya que los
nodos generados por la otra dirección deberán compararse con los de la frontera de la primera para
determinar si el estado correspondiente ya se encuentra allí.
BIBLIOGRAFÍA: AI: A modern Approach: Libro de Stuart Russell y Peter Norvig que trata todas las técnicas
de Inteligencia Artificial. No hace demasiado énfasis en cuestiones conectivistas (redes neuronales artificiales) y
contiene abundante material del resto de técnicas. El capítulo 7 contiene una discusión detallada sobre los
agentes basados en conocimiento.

www.revolucionia.com

También podría gustarte