• No results found

4.2 Consumer/h-worker system

4.2.3 Proof of Concept implementation

4.2.3.1 Purpose

Cuando se requiere resolver un problema en un ambiente real, quizá uno de los aspectos que más análisis requiere, sea la representación del problema, ya que lograr llevar la situación real a un modelo de computadora no es una tarea trivial, principalmente en problemas que tienen un gran número de estados, los cuales pueden hacer intratables a la gran mayoría de las aplicaciones en ambientes reales.

Por ejemplo, suponiendo que se tienen dos robots y se desea conocer los posibles estados asociados a ellos. Se puede definir un área específica de trabajo y discretizarla en celdas regulares. En este caso cada estado corresponde a sólo una de las posibles configuraciones (posiciones en las que se encuentran) de los dos robots, si el espacio es de 10 mts x 10 mts y cada celda está discretizada en distancias de 10 cms, se obtienen 10,000 celdas. Ahora, si se considera que en cada celda sólo puede estar un robot a la vez,

9.9 x 107. Además, considerando la orientación de cada robot (4 orientaciones: norte, sur, este, oeste), entonces se obtiene que el número de estados aumenta y está dado por: 4 x 4 x 9.9 x 107 = 1.6 x 109. También es necesario considerar las acciones posibles que los robots pueden ejecutar, éstas pueden ser: girar a la izquierda, girar a la derecha, girar parcialmente a la izquierda, girar parcialmente a la derecha, avanzar hacia adelante, avanzar hacia atrás y detenerse. Entonces, hasta este punto, el nuevo número de estados posibles está dado por: 7 x 1.6 x 109 =1 x 1010. Hasta aquí el problema ya se ha vuelto inmanejable, incluso fue intratable mucho antes de llegar a este gran número de estados, y aún falta considerar la información de cada uno de los sensores.

Por otro lado, si existiera un cambio en el ambiente, por ejemplo que en lugar de 10 mts x 10 mts el espacio fuera de 6 mts x 4 mts, seria necesario la obtención de una nueva política para las nuevas dimensiones del ambiente.

Con el ejemplo anterior, se logra apreciar que el espacio de estado-acción se vuelve muy grande, lo cual ocasiona que el problema sea difícil de resolver, independientemente del método que sea implementado. En estos casos se sugiere realizar una representación abstracta de los estados del problema. Russell (2002) y Morales (2004) han trabajado con representaciones abstractas.

La representación adecuada del problema es de gran importancia, ya que contribuye a obtener un adecuado desempeño del método de solución, siempre que permita trabajar con un número de estados manejable con el que se representen todos los estados originales del problema. Por lo anterior se han formulado dos propuestas de solución utilizando dos diferentes métodos: aprendizaje por refuerzo e iteración de valor, los cuales se presentan a continuación.

Propuesta de solución para aprendizaje por refuerzo

Para resolver el problema de persecución-evasión utilizando aprendizaje por refuerzo, en este trabajo de investigación se propone implementar el algoritmo Q-learning [Watkins, 1989], descrito previamente en el Capítulo 2, sección 2.3.3. Se propone resolver el problema definiendo un conjunto de estados abstractos con lo cual se reduzca el número original de estados del problema. Para poder obtener el número total de estados del problema particular utilizando el simulador EyeBot, se considera lo siguiente:

1. El robot persecutor observa al evasor en alguna de las 80 direcciones8 posibles, lo cual se puede observar gráficamente en la Figura 4.1, donde se muestran las diferentes direcciones que puede ver el robot, a una misma distancia.

Figura 4. 1: Direcciones en las que el robot puede observar a su adversario.

2. Dependiendo del tamaño de la imagen observada existen 60 posibles distancias9, de las cuales en cada instante se observa solamente una. Esto se puede observar en la Figura 4.2.

Figura 4. 2: Distancias posibles según el tamaños de la imagen observada por el robot.

3. El robot cuenta con 3 sensores para la detección de obstáculos, cada uno de los sensores puede detectar un objeto en el rango de 1 a 2,000 cms, con lo cual se tienen 3 x 2,000 = 6,000 posibilidades para la detección de obstáculos. En la Figura 4.3 se ilustra la detección de obstáculos por sensor, donde las flechas verdes indican la distancia reportada por el sensor en la detección del obstáculo.

Figura 4. 3: Distancias hacia los obstáculos detectadas por los sensores del robot.

4. Para poder desplazarse por su ambiente, el robot puede realizar uno de 3 posibles movimientos: avanzar, detenerse o retroceder. Además puede realizar un giro entre 1 y 360 grados. Es decir, se tienen 3 x 360 = 1,080 posibles acciones. Esto se ilustra en la Figura 4.4.

8

Figura 4. 4:Acciones que el robot puede realizar

Considerando los 4 puntos anteriores, se obtiene el número total de estados-acciones del problema para el robot persecutor, el cual está dado por:

80 Direcciones x 60 Distancias

x 6,000 Lecturas de sensores

x 1,080 Acciones

= 3.1104 x 1010 Estados-Acciones

Como puede observarse, el número de estados es tan grande que resulta inmanejable para aplicar cualquier método de solución que intente buscar una política óptima para el problema. De tal forma que, se propone realizar una discretización de los estados, creando estados abstractos que surgen de considerar la dirección y distancia observadas por el robot, las lecturas reportadas por sus sensores y las acciones que puede realizar. La forma de obtener los estados abstractos se explicará detalladamente en la sección 4.5. Al reducir el número de estados con el que se trabaja, el método implementado llega a ser más eficiente en cuanto al tiempo de obtención de la mejor política.

Una de las ventajas de implementar aprendizaje por refuerzo en la solución del problema persecución-evasión consiste en que, independientemente del ambiente, la política óptima encontrada puede ser aplicada y debe producir resultados similares en diversos entornos. Propuesta de solución para iteración de valor

Para poder implementar el algoritmo de iteración de valor, es necesario realizar previamente un modelado del sistema, para esto se propone realizar un análisis del problema persecución-evasión, utilizando la misma representación abstracta que en aprendizaje por refuerzo (la representación abstracta es detallada en la sección 4.5), posteriormente se deben obtener las matrices de probabilidades de transición y las matrices de recompensas, y luego, aplicando el algoritmo de iteración de valor se obtendrá la política óptima.

Ambos métodos son implementados en este trabajo de investigación, el de iteración de valor mediante un modelado del sistema y el de aprendizaje por refuerzo mediante aprendizaje autónomo, basado en recompensas.

Related documents