jueves, 24 de junio de 2010

Agentes Inteligentes

Hablar de la inteligencia artificial (IA), implica realizar una búsqueda exhaustiva y profunda acerca de sus orígenes y nos hemos de encontrar frente a una inmensa cantidad de información muy variada, sin embargo; lo mas rescatable de las definiciones, conceptos e historia que se encuentran en la red acerca de la IA, es que su aparición comienza con los inicios de las computadoras. A raíz de esto se desencadenan un sin fin de eventos que dan paso al desarrollo de lo que ahora es considerado como una ciencia.

A la fecha no existe una definición concreta de lo que es la IA, debido a lo complicado que resulta definir este termino, además de la aceptación que debe tener entre los distintos expertos de esta área. Tomando en cuenta lo anterior es preciso que a mi muy particular forma de pensar, la definición de IA dice: “La inteligencia artificial es considerada una rama de la computación y relaciona una entidad natural con una entidad artificial que la asemeje a través de programas de computadora. La inteligencia artificial puede ser tomada como ciencia si se enfoca hacia la elaboración de programas basados en comparaciones con la eficiencia del hombre, contribuyendo a un mayor entendimiento del conocimiento humano”.

Algunas de las áreas que se desprenden de la Inteligencia Artificial son:
· Sistemas Expertos.
· Aprendizaje y razonamiento automático.
· Robótica.
· Procesamiento de Lenguaje Natural.
· Visión por Computadora. (Reconocimiento de patrones).
· Redes Neuronales.
· Lógica Difusa.
· Algoritmos genéticos.
· Vehículos Autónomos.
· Realidad Virtual.
· Agentes Inteligentes.

Como los agentes inteligentes forman parte de lo que es la inteligencia artificial, y el tema de esta investigación es propiamente esto, solo resta por comenzar a definir ¿Qué es un agente inteligente?

Al igual que en la IA, se encuentran muchas definiciones acerca de lo que son los agentes Inteligentes, una de ellas y la más acertada creó es la dada por:
WOOLDRIDGE: “Un agente inteligente es un sistema de Hardware o software situado en un entorno determinado capaz de actuar de forma autónoma y razonada en dicho ambiente para llevar a cabo objetivos determinados”.

En otras palabras Wooldridge, define a los agentes inteligentes como sistemas de dos tipos: hardware (robots) y software (programas), los cuales se encuentran en un determinado ambiente, donde debe ser capaz a través de sensores de tomar decisiones sin ayuda (autónomo), además de tener la capacidad de comprender para resolver problemas, así como también percibir, recibir y almacenar información, para finalmente ejecutar la acción pertinente que logre alcanzar los objetivos que se determinaron.
Pero con esta definición se podría pensar que un agente puede ser cualquier cosa capaz de realizar lo arriba planteado, no obstante un agente debe ser flexible, y por esto se entiende que sea:

Reactivo: Se refiere a la capacidad con la que debe contar un agente para responder a los cambios en el entorno en el que se encuentra.
Pro activo: Este a su vez debe ser capaz de poder cumplir o intentar cumplir con sus propios objetivos.
Social o interactivo: Debe de poder comunicarse con otros agentes u otras entidades a través de algún tipo de lenguaje natural existente entre ellos.
Autónomo: El agente debe de ser capaz de actuar basado en su experiencia; la cual obtiene gracias a la percepción de su entorno.

La reactividad, la pro actividad, la interactividad y la autonomía son características básicas de un agente, aunque podemos encontrar más y distintas, las anteriores son fundamentales en un agente inteligente básico.

La estructura de un agente esta constituida por un programa que se encarga de implementar la transformación de una serie de percepciones en acciones, y una arquitectura que se hará cargo de que estas percepciones lleguen al programa y las acciones lleguen a los efectores.
Es importante mencionar que los agentes se clasifican en:
· Agente reflejo.
· Agente reflejo con estado interno.
· Agente con objetivos explícitos.
· Agente basado en la utilidad.

Agente reflejo:
Un agente reflejo simple actúa encontrando una regla cuya condición coincida con la situación que el agente percibe en su entorno a través de sus sensores, y la acción que debe generar dicha regla conocida como de condición-acción.
Diagrama de un Agente reflejo simple.

Agente Reflejo con Estado Interno:
En algunas ocasiones, no es posible tomar una decisión a partir de solamente percepciones, debido a que los sensores no proporcionan toda la información necesaria para realizar una condición-acción.
Un Agente reflejo con estado interno, mantiene la información que necesita para distinguir entre diferentes situaciones presentes en el entorno donde se desarrolla, así la percepción actual se interpreta a partir de un estado anterior, utilizando información de cómo evoluciona el mundo independientemente del agente y como influyen en él las acciones generadas por el mismo.

Agente con objetivos explícitos:
Sin duda en ocasiones no es posible tomar una decisión basándose únicamente en el estado actual del ambiente, es por esto que un agente con objetivos explícitos o agente basado en objetivos (como también se les conoce), utiliza una descripción de las metas a alcanzar, lo cual le sirve para elegir entre diferentes acciones posibles la correcta.
La toma de decisiones basada en objetivos es distinta a la toma de decisiones basada en reglas de condición-acción; debido a que al realizarlas se considera el futuro y en el agente reflejo esta información no se utiliza, puesto que el diseñador calcula la acción correcta. Si la meta no es inmediata a una acción, es necesario realizar un proceso de búsqueda y planeación, los cuales son subáreas de la inteligencia artificial que se ocupan de encontrar la secuencia de acciones que permitirán alcanzar las metas de un agente.

Agente basado en la utilidad:
Si se prefiere un estado por otro, entonces ese estado ofrece mayor utilidad al agente. Un agente basado en utilidad, utiliza un criterio para correlacionar un estado y un número real que estima el grado de satisfacción para el agente, el cual le sirve para escoger entre distintas acciones validas.
La utilidad permite la toma de decisiones racionales cuando la meta presenta problemas. Por consiguiente cuando el logro de una meta implica una complicación, y solo algunas de ellas se pueden obtener, entonces la utilidad definirá cual es la más adecuada. Por otro lado cuando son varias las metas que el agente desea conseguir, pero existe la certeza de no lograr ninguna de ellas, la utilidad examina la posibilidad de tener éxito considerando la importancia de las diferentes metas.

TIPOS DE AGENTES.
Como se ha mencionado anteriormente, los diferentes tipos de agentes se describen, primeramente en:
· Agentes Humanos. (Ej. Agente de ventas).
· Agentes de Hardware. (Ej. Robots).
· Agentes de Software. (Ej. Programas).
Y dentro de lo que son los agentes de software encontramos los siguientes tipos:
Agentes Colaborativos: Estos agentes son útiles en el desarrollo de tareas que envuelven la solución de problemas, como es el tráfico aéreo. Están enfocados a solucionar problemas muy grandes y facilitar soluciones a los mismos, además de permitir la interconexión de sistemas.
Agentes de Interfaz: Su objetivo es el de servir y adaptarse a las necesidades del usuario con base al análisis de sus hábitos y comportamientos adaptándose a decisiones tomadas anteriormente. El proceso de aprendizaje esta basado en observar e imitar las acciones generadas por un usuario.
Agentes Móviles: Estos agentes tienen la capacidad de salir de las redes que los contienen y accesar en computadoras de redes remotas o incluso al propio Internet.
Agentes de Información (Internet): El objetivo de estos agentes es la recolección, la administración y clasificación de grandes cantidades de información que proviene de fuentes que se encuentran distribuidas en la red. El proceso de filtrado de información se genera de manera autónoma sin la ayuda de un usuario.
Agentes Reactivos: Como su nombre lo dice, son aquellos agentes que perciben los cambios o eventos producidos dentro del entorno del sistema.
Agentes Híbridos: Estos agentes son una combinación de agentes reactivos y agentes que contienen un modelo interno de razonamiento. Estos agentes facilitan una mayor facilitan una mayor adaptabilidad y mejor rendimiento.

TIPOS DE ENTORNOS:
· Accesible e Inaccesible: En un entorno accesible los sensores proporcionan toda la información relevante. En este entorno el agente no necesita un estado interno.
· Deterministas y no determinista: En este entorno el estado siguiente puede obtenerse a partir del actual y de las acciones del agente.
· Episódicos y no episódicos: En un entorno episódico la experiencia del agente esta dividida en episodios independientes. En este entorno el agente no tiene que preocuparse del impacto de sus decisiones.
· Estáticos y dinámicos: Un entorno dinámico puede sufrir cambios mientras el agente esta razonando, sin embargo mientras esto sucede el tiene que seguir observando.
· Discretos y continuos: En un entorno discreto existe un numero especifico de percepciones y acciones debidamente definidas

BIBLIOGRAFIA:
· http://www.robot.uji.es/docencia/II28/teoria/transparencias-tema02.pdf
· http://www.infor.uva.es/~calonso/IAI/Tema2-AgenteInteligente/Tema2%20Agentes%20Inteligentes.pdf
· http://www.sia.eui.upm.es/grupos/IntroAI.pdf
· http://dis.eafit.edu.co/cursos/st725/material/lect_intro04.pdf
· http://www.angelfire.com/falcon/miqueleiz/09tiposdeagentes.htm
· http://www.superrobotica.com/Sensores.htm (definición de sensor robótico).Wikipedia enciclopedia libre (definiciones).

1 comentario: