Translate

jueves, 28 de mayo de 2015

EVITAR ESTADOS REPETITIVOS

INTRODUCCIÓN

Los arboles de la búsqueda para evitar estados repetidos indican que estos problemas son infinitos, pero si ponemos parte de los estados repetidos, podemos cortar el árbol de búsqueda en un tamaño finito, generando solo la parte del árbol que atraviesa el grafo del espacio de estados. 

EVITANDO ESTADOS REPETIDOS
Se ha ignorado la posibilidad de expandir nodos que ya visitamos en algún camino. En muchos problemas, no podemos evitar el tener estados repetidos, en particular, todos los problemas con operadores reversibles.
Los árboles de búsqueda en este caso pueden ser infinitos, pero si eliminamos los repetidos los podemos volver finitos.

Opciones:
  • No regresar al estado anterior.
  • No crear caminos con ciclos
  • No generar algún estado que fue generado antes. Esto requiere guardar en memoria todos los estados generados.
Los algoritmos de búsqueda normalmente usan una tabla hash, y el qué tanto guardamos depende muchas veces del problema. Entre más ciclos tenga es más probable que el evitar generar estados ya generados sirva más.
Hasta este punto, casi hemos ignorado una de las complicaciones más importantes al proceso de búsqueda: la posibilidad de perder tiempo expandiendo estados que ya han sido visitados y expandidos. Para algunos problemas, esta posibilidad nunca aparece; el espacio de estados es un árbol y hay solo un camino a cada estado. La formulación eficiente del problema de las ocho reinas (donde cada nueva reina se coloca en la columna vacía de más a la izquierda) es eficiente en gran parte a causa de esto (cada estado se puede alcanzar solo por un camino). Si formulamos el problema de las ocho reinas para poder colocar una reina en cualquier columna, entonces cada estado con n reinas se puede alcanzar por n\ caminos diferentes.
Para algunos problemas, la repetición de estados es inevitable. Esto incluye todos los problemas donde las acciones son reversibles, como son los problemas de búsqueda de rutas y los puzles que deslizan sus piezas. Los arboles de la búsqueda para estos problemas son infinitos, pero si podamos parte de los estados repetidos, podemos cortar el árbol de búsqueda en un tamaño finito, generando solo la parte del árbol que atraviesa el grafo del espacio de estados. Considerando solamente el árbol de búsqueda hasta una profundidad fija, es fácil encontrar casos donde la eliminación de estados repetidos produce una reducción exponencial del coste de la búsqueda. En el caso extremo, un espacio de estados de tamaño d + 1.


Se convierte en un árbol con 2rf hojas.

Un ejemplo más realista es la rg 31a rectangular como se ilustra

Sobre una rejilla, cada estado tiene cuatro sucesores, entonces el árbol de búsqueda, incluyendo estados repetidos, tiene 4rf hojas; pero hay solo 2a* estados distintos en c/pasos desde cualquier estado. Para d = 20, significa aproximadamente un billón de nodos, pero aproximadamente 800 estados distintos.
Entonces, si el algoritmo no detecta los estados repetidos, estos pueden provocar que un problema resoluble llegue a ser irresoluble. La detección por lo general significa la comparación del nodo a expandir con aquellos que han sido ya expandidos; si se encuentra un emparejamiento, entonces el algoritmo ha descubierto dos caminos al mismo estado y puede desechar uno de ellos.
Para la búsqueda primero en profundidad, los únicos nodos en memoria son aquellos del camino desde la raíz hasta el nodo actual. La comparación de estos nodos permite al algoritmo descubrir los caminos que forman ciclos y que pueden eliminarse inmediatamente.

CONCLUSIONES

Uno de los problemas en encontrar una solución válida, es que en el algoritmo repite los mismos estados que se podían eliminar; así que el algoritmo pierde el tiempo y se vuelve más tedioso llegar a la mencionada solución.
Entre los errores sin sensores, de contingencia y de exploración se debería tomar medidas para evitar que no sucedan y que nuestro agente se desenvuelva de la mejor manera.



BIBLIOGRAFÍA

Russell S. y P. Norvig, Inteligencia Artificial: Un enfoque moderno. 2 ed. España. Pearson. p 51-62.


Díaz, F.2008.Resolucion de problemas mediante Búsqueda.(En línea).EC.Consultado , 30 de Mayo del 2015

ESTRUCTURA DE LOS AGENTES


INTRODUCCIÓN

Anteriormente hemos referido los conceptos sobre los agentes, en este capitulo intentaremos profundizar sobre las utilidades de los agentes y así referirnos a como trabajan y que función cumplen de acuerdo a sus características propias.

Teniendo claro cómo actúa un agente, nos centraremos ya en revisar cómo deben estar compuestos en su arquitectura, es decir hardware y software; además de analizar los tipos de agentes que existen, estos se clasifican según la forma en que se desenvuelven o realizan las acciones para lograr su objetivo.

MARCO TEÓRICO

Todos los agentes tienen una estructura básica o mínima o esquelética igual, y esta debe estar acorde con la función que realiza el agente.
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
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 programa del agente se realiza en pseudocodigo, para poder representarlo de manera más sencilla, a continuación se muestra el programa del agente basado en una tabla de percepciones

AGENTES REACTIVOS SIMPLES
Este es el tipo de agente más sencillo, ya que este actúa en función de las percepciones que está tomando en ese momento ignorando las anteriores. Actuar de esta forma puede sonar no muy útil ya que existen acciones que requieren llevar un historial de las anteriores, por ejemplo un juego de ajedrez, las acciones que se realizan en un determinado momento están presente durante todo el juego porque de estas dependen las nuevas acciones 


 AGENTE BASADO EN MODELO
Este agente actúa según sus percepciones pero las relaciona con un modelo  obtenidos anteriormente del mundo real, es decir cuándo va a realizar determinada acción este la relaciona con el estado del modelo, por ejemplo ¿cómo está el mundo ahora?, luego determina si su acción tuvo efecto en el medio


AGENTE BASADO EN OBJETIVO
Este agente también se basa en un modelo del mundo real, la diferencia es que este busca cumplir un objetivo, es decir el agente tiene como propósito llegar a una meta y realiza todas las acciones que sean necesarias para cumplirla, en este punto el agente debe estar preparado por si en determinado momento ocurre un problema que le impida realizar una acción, es decir este debe detenerse y buscar la forma de realizar la acción para llegar a cumplir su objetivo



AGENTE BASADO EN UTILIDAD
Este tipo de agente evalúa si las acciones que está realizando son útiles, es decir tienen un efecto positivo en el medio, para esto determina si la crítica que va a tener luego de realizar una acción es buena o mala


AGENTE QUE APRENDE
Este tipo de agente es el que la IA busca desarrollar, agentes que aprendan de las acciones que están realizando, este es un tipo de agente que tiene un modelo del mundo real y un objetivo a alcanzar, si en el proceso de alcanzar su objetivo este tiene un problema y realiza una acción la cual obtiene una crítica mala, el agente aprende que no debe realizar esta acción otra vez, es decir la gurda en la tabla de reglas que debe cumplir, así de esta forma se podría decir que el agente está aprendiendo 


CONCLUSIONES

El objetivo de la inteligencia artificial es desarrollar agentes que aprendan, es decir que no se queden con el conocimiento que les brindo su desarrollador si no que este pueda adquirir nuevo conocimiento en base a las acciones que esté realizando, es decir que pueda aprender la experiencia.

BIBLIOGRAFIA

Hermoso, R y Centeno, R. 2010. I.T en Informática de Sistemas 3 “INTELIGENCIA ARTIFICIAL”. Universidad Rey Juan Carlos. P 53
Juan Pavón Mestras. 2001. Estandarización de Sistemas de Agentes. Universidad Complutense de Madrid.
Llata JR, Sarabia EG, Fernández D, Arce J, Oria J. 2008? Aplicaciones de la inteligencia artificial en sistemas automatizados de producción. Revista Iberoamericana de Inteligencia Artificial 2000. Disponible en: http://redalyc.uaemex.mx
Russell, S., Norvig, P. 2008. Inteligencia Artificial Un Enfoque Moderno. Segunda Edición. Pearson Education. España
Rodríguez, W. s/f. INTELIGENCIA ARTIFICIAL Agentes Inteligentes. Postgrado en Computación ULA. (En Línea).   Consultado, 10 de Nov. 2014. Formato PDF. Disponible en:http://poiritem.wordpress.com/2009/11/16/6-4-2-agentes-inteligentes-y-la-naturaleza-de-su-entorno/