IIC2613 / Syllabus

Repositorio oficial Inteligencia Artificial 2020-2
7 stars 1 forks source link

[Tarea 4] 6.2 Value Iteration: como conseguir los estados en donde iterar #122

Open raimundomartinez opened 3 years ago

raimundomartinez commented 3 years ago

Hola. Que lo que ocurre es que en un value iteration uno itera por sobre todos los posibles estados. Pero, lo que ocurre es que tenemos infinitos estados debido a que 'cart velocity' y 'pole velocity at tip' van desde menos infinito hasta más infinito. No sé si me podrían explicar cómo superar este problema. ¿Elijo unos rangos por donde elegir estados? ¿Como lo harían ustedes?

IngElecPuc commented 3 years ago

Hola Raimundo Recuerda que estamos con adaptaciones de los algoritmos para la tarea. Es cierto lo que dices, en value iteration se trabaja para todos los estados, pero en la ayudantía yo comenté que ibamos a iterar en los estados que nos mostrara el sistema. Eso significa que solamente vamos a cambiar esos estados. Por otro lado, no tenemos estados infinitos. En un principio porque el problema es digital y hay un límite de memoria, pero ya siendo más razonable que eso (porque siguen siendo muchos), porque los estamos "discretizando". Hay un set finito y más manejable de estados que te entrega la función state_for. Finalmente, si utilizar value-iteration te complica mucho usa q-learning. Verás que de todas maneras tendrás que guardar el valor Q, y puede que te salga más cómodo de esta manera. Saludos Felipe

raimundomartinez commented 3 years ago

Si, ese es otro tema. No me queda claro cómo funciona la función state_for . Yo pensaba que el lo que hacía era lo siguiente

input: una única observación output: esa observación discretizada

Pero por lo que me dice siento que lo que entrega es lo siguiente

input: una observación cualquiera output: una lista (o set) que contiene un número finito de estados discretizados

¿Que es como lo que hace state_for ?

IngElecPuc commented 3 years ago

Estimado La función state_for efectivamente entrega una observación discretizada. Cuando me refiero a que "hay un set finito y más manejable de estados que entrega la función state_for" no me refiero a que todos los estados se entregan juntos y al mismo tiempo. Lo que estoy diciendo es que el recorrido de esa función está sobre un "set finito y más manejable". Su suposición original es correcta: input: una única observación output: esa observación discretizada Saludos

mpbascunan commented 3 years ago

Hola, con respecto a la función state_for no sé cómo interpretar ese output, como dices es una observación discretizada, pero cómo traduzco esto a una acción que hace el agente?

IngElecPuc commented 3 years ago

Hola En realidad es simple. El valor de state_for es un número natural de 1 a 1000, si no me equivoco. Si el resultado es 76, entonces tienes el estado n°76, así de simple. No hay un orden intencionado a los estados, pero sí hay una correspondencia 1 a 1 entre la medición y el número. Ya cuando utilizas cualquier algoritmo de AR vas a utilizar una tabla. El valor s te va a servir como un índice para acceder a lo que hayas guardado en tal tabla. Por ejemplo V(76), sería el valor que tiene el estado 76.