miércoles, 12 de marzo de 2014

ESPACIO DE ESTADOS

PROBLEMA DE ESPACIO DE ESTADOS


 


INTRODUCCIÓN:

La Inteligencia Artificial así como pudo originarse, también trajo consigo a su vez otros problemas que aveces de manera escrita es difícil de comprender, pero el gran alivio de todo esto, fue que algunos de estos problemas nosotros podemos representarlos gráficamente o de manera simbólica para poder comprender de la forma mas fácil y sin complicaciones,voy a desarrollar mas adelante mas a detalle de que significa exactamente todo esto, mostrare incluso que software ya existentes pueden ayudarnos a resolver algunos problemas de estos o de lo que significa un problema de espacio de estados.

bien dado lo anterior que es esto, que es un Espacio de Estados.

ESPACIO DE ESTADOS:

Bien un espacio de estados finalmente son varias formas de solucionar un problema, o una forma de darle varias salidas a un problema dado o presente, cuyo objetivo sera encontrar el final deseado.
A la situación presente la reflejaremos en un grafo, el estado del problema en ese momento la denominaremos -nodos- y a sus posibles conexiones las denominaremos -salidas- o -entradas-, de esta representación la solución al este problema se convertirá en una búsqueda de lo optimo.

De esto se ocupa especialmente la IA, de no delimitarse a solo una forma sino mas bien de sugerir "N" salidas y "N" entradas a un problema, utilizando como fin ultimo una solución pronta, precisa y la mas corta.

Para poder entenderlo de mejor manera describiré un ejemplo

Ejemplo:


Un arriero se encuentra en el borde de un rió llevando un puma, una cabra y una lechuga. Debe cruzar a la otra orilla por medio de un bote con capacidad para dos (el arriero y alguna de sus pertenencias). La dificultad es que si el puma se queda solo con la cabra la devorará, y lo mismo sucederá si la cabra se queda sola con la lechuga. ¿Cómo cruzar sin perder ninguna pertenencia?



ESTADO DE INICIO Y COMO DEBE ESTAR EN ESTADO FINAL 

Figura 1.2
Vamos a representarlo simbólicamente:

Arriero = A.
Puma    = B.
Cabra    = C.
Lechuga= L.

ESTADOS:

Inicial = I.
Final   = F.
De lo anterior el estado actual de cada una de las pertenencias de arriero junto con el arriero es: estado(I,I,I,I), y al estado al que se requiere llegar (objetivo), es: estado(F,F,F,F), observe la figura 1.2. 

Ahora de lo representado se pueden tomar 4 acciones

cruzar solo, cruzar con cabra, cruzar con puma, cruzar con lechuga.
si lo representamos en una tabla todas las posibles movidas quedaría así, figura 1.3.
estos movimientos están representados por 2 a la 4 donde 2 representa los pasajeros en el bote y 4 el total de personajes a mover del otro lado del rió.


Figura 1.3


vamos a solucionar el problema 





ESTADO:
INICIO (I,I,I,I).



ESTADO:
Se lleva cabra, Estado(F,I,F,I).






ESTADO:
Regresa solo, Estado(I,I,F,I).





ESTADO:
Se lleva lechuga, Estado(F,I,F,F).



ESTADO:
Regresa con cabra, Estado(I,I,I,F).




ESTADO:
Se lleva Puma, Estado(F,F,I,F).




ESTADO:
Regresa solo, Estado(I,F,I,F).




ESTADO:
Se lleva Cabra, Estado(F,F,F,F)








ESTADO:
FINAL (F,F,F,F).









Puedes ver mas ejemplos visita esta pagina:

Con esto comprendemos que el espacio de estados comprende a su vez muchas situaciones con las que se puede resolver un problema pero el objetivo siempre sera el mas optimo y que resuelva sobre todo el problema, no que empeore la situación.

Vamos a entrar mas a detalle para la solución de los problemas mas complejos no solo nos limitaremos a lo descrito anteriormente sino mas bien se requiere de algunas técnicas mas avanzadas que como todo, esto tampoco nos garantiza lo mas  optimo pero al menos nos asegura de tener la mejor solución o algo satisfactorio.

Voy a mencionar una técnica de búsqueda llamada heurística.
HEURÍSTICA: esta técnica lo que busca es la ruta mas próxima.
Dentro de este concepto encontramos un mundo mas amplio de búsquedas en su clasificación existen desde los simple hasta los complejos y a su vez los complejos se hace una segundo clasificación.
En primer lugar podemos encontrarnos con algoritmos que fueron diseñados para dar solución a problemas de búsqueda de óptimos o clasificación y por otro lado tenemos los algoritmos que tratan de deducir conocimiento a partir de un conjunto de axiomas, estos últimos conocidos como sistemas basados en el conocimiento.
Entre los algoritmos de búsqueda de óptimos se encuentran los siguientes métodos:

  • Búsqueda Tabú
  • Temple Simulado
  • Algoritmos Genéticos
  • Redes Neuronales

Los sistemas basados en el conocimiento definen un área muy concreta dentro de la inteligencia artificial, conocida como Ingeniería del conocimiento. Los sistemas desarrollados en este campo siguen un patrón heurístico similar al razonamiento humano, ver 1.

Pero bien solo mencionare algo breve de para no confundirnos solo mencionare una técnica ya que existen muchas mas pero esta es para mi criterio las mas concreta y fácil de entender eso no significa que las demás no sean fáciles, quiero decir que los demás buscan de manera ciega y muy cansada esto los limita a que si se encuentran en espacios de estado muy grandes puedan llegar a ser muy lentos y demasiado complejos.
Esto lo solucionamos dando prioridad a los estados que poseen la posibilidad de llegar a encontrar la solución esperada o al estado final, esto nos lleva a usar la técnica de búsqueda heurística que lo que busca es darle prioridad a estos estados.
vamos a reflejar esta técnica con un ejemplo:
El problema del agente viajero.
Un vendedor tiene una lista de ciudades cada una de las cuales debe visitar solamente una vez; existen carreteras directas entre cada par de ciudades de la lista. Se debe encontrar la ruta que el vendedor debería seguir para que, siguiendo el camino más corto posible, visitara todas las ciudades, comenzando por cualquiera de ellas y volviendo a la misma. Un ejemplo de éste tipo de problemas para seis ciudades.
 Observa la figura.




vamos a realizar un pequeño algoritmo para poder aplicarlo ya a programa en nuestra computadora.


inicio
estados[numero_de_estados];
estados_recorridos[numero_de_estados_recorridos];podemos usarlo para otros fines
distancias[almacenar_distancia_de_cada_estado]
tipo entero Y=0; nos permitirá obtener el la posición de la distancia menor en el arreglo;

mientras(estados != vació);

                vaciar distancias de estado actual
                distancias[n -1];
                tipo entero X=distancias[0]; le decimos que x contenga el valor del indice 0

         si(el estado actual es objetivo)
                  retornar éxito;
         sino
                               para(entero2=0;entero2<diancias;entero2++)
                                        
                                        si(distancias[entero2] < x)
                                             X=distancias[entero2];
                                             Y=entero2;

                               termina para
                               retornar x;            
                                       remover estado actual;
                    estados[numero_de_estados]-1;
                    remover distancia elegida valor de x actual
                    distancia[-Y]; se removera la distancia que se encontraba en el indice Y.
         
  fin de mientras.  

  fin de programa            



Algo así nos quedara el algoritmo pero se que se puede mejorar aun mas obtener de una manera mas sencilla los posibles estados con distancias mas cortas a moverse, se aceptan sugerencias.             


De esta manera observamos que podemos optimizar nuestros problemas de espacio de estados por ahí aparecen nuevos problemas a corregir pero los iremos analizando mas adelante.

Como ya lo mencione anteriormente les mostrare que software nos pueden ayudar a resolver problemas de este tipo o al menos mencionare 1.

Es un sistema basado en cálculo matricial para desarrollar aplicaciones de matemáticas e ingeniería. La palabra “Matlab” es una abreviatura de MAtrix LABoratory marca registrada de Mathowrks Inc.

Esta herramienta posee infinidad de aplicaciones, pero existen funciones que involucran la resolución de problemas específicos de control de procesos como la definición y estudio de funciones transferencia, realización de gráficos del lugar de las raíces, de Bode y de Nyquist. A continuación se presenta una lista de las funciones de MATLAB más utilizadas, todas estas funciones deben ser ejecutadas desde la Ventana

Principal de (MATLAB Command Window).

Esta herramienta tiene una infinidad de utilidades pero nos centraremos en este punto.

Representación en espacio de estado con Matlab.

Teniendo una función de transferencia dada se pueden encontrar las matrices que
conforman su espacio de estado y viceversa. Se utilizan los comandos TF2SS y SS2TF
De esta forma teniendo la función de transferencia:

Se utiliza el comando:

De esta forma se encuentras las matrices que representan:

de forma inversa si tienen las matrices se pueden encontrar Num y Den, mediante:
Ejemplo:
Encontrar las matrices que conforman el espacio de estado de la función de transferencia de segundo orden dada anteriormente.


Después de definir Num y Den, se coloca el comando:
Inmediatamente el programa arroja el valor de las siguientes matrices:

bien a continuación clic en enlace y reproduzcan el vídeo para  que respalden algunas de las ideas que se ejemplifican en el contenido.


Conclusión:
Como podemos darnos cuenta el problema de espacios de estados no es mas que un problema que se puede reflejar de forma gráfica (visual), para poder primero comprenderlo y luego una vez comprendido podemos aplicarlo de manera lógica y resolver problemas reales, con todo esto nos damos cuenta la gran aportación en el campo de la IA y una gran herramienta para poder aplicarlo en la IA, porque finalmente para que un artefacto real, se pueda considerar como inteligente, se convierte en la toma de decisiones y esto a su vez lleva a la búsqueda de ellas, considerando varias alternativas, eligiendo la mas optima, rápida y segura.






Gracias..................
Bibliográfia:
  • http://www.itlalaguna.edu.mx/Academico/Carreras/electronica/sis_lin2/analisis%20de%20estadobis.pdf
  • http://www.bioingenieria.edu.ar/academica/catedras/control/archivos/material/Anexos/anexo_ve.pdf
  • http://quegrande.org/apuntes/EI/4/IA/teoria/09-10/tema_2_-_resolucion_de_problemas.pdf
  • ftp://ece.buap.mx/pub/JCid/Apuntes%20de%20Control%20I/11-Capitulo%202b%20Control%20I.pdf
  • Russell, Stuart J.; Norvig, Peter (2003), Artificial Intelligence: A Modern Approach (2ª edición), Upper Saddle River, New Jersey: Prentice Hall, pp. 1080
  • http://www.mathworks.com/products/matlab/





1 comentario:

  1. muy interesante la investigación me ayudo a resolver unas duda que tenia :-)

    ResponderEliminar