Tuesday, March 3, 2009

Fase 2 - Proyecto

Aqui les dejamos la descripción de neustro proyecto para esta fase.

Breve descripción del medio ambiente.
Para este avance del proyecto, desarrollamos un ambiente representado por una matriz de 10 por 10. En principio está llena de ceros, excepto por la parte donde inician los elementos “nano”. La posición inicial, se encuentra aproximadamente en la mitad de la matriz y los elementos “nano” son representados por unos. Entonces, las figuras están formadas por unos, de acuerdo a los movimientos posibles para los elementos “nano”.

Descripción detallada del problema de optimización.
Lo que el agente en principio debe de optimizarse es la forma en la que se hará la figura. Para esto recorrerá los distintos movimientos posibles para formar una figura. El problema se basa en la mejor forma de hacer la figura establecida a realizar, con la mejor selección de movimientos para poder obtener un patrón optimizado de la figura establecida.

Supongamos que tenemos una figura dada inicial, es decir el cuadro en el centro. Y con respecto a las distintas piezas que se pueden mover a distintos lados. El problema de optimización está representado de la siguiente manera:

Figura inicial:
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 1 1 1 0 0 0 0
0 0 0 1 1 1 0 0 0 0
0 0 0 1 1 1 0 0 0 0
0 0 0 0 0 0 0 0 0 0

Figura final:
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 0 1 0 0 0 0 0
0 0 0 1 1 0 0 0 0 0
0 0 1 1 1 0 0 0 0 0
0 0 0 1 1 0 0 0 0 0
0 0 0 0 1 0 0 0 0 0


Movimiento uno:
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 0 1 0 0 0 0 0
0 0 0 1 1 1 0 0 0 0
0 0 0 1 1 0 0 0 0 0
0 0 0 1 1 1 0 0 0 0
0 0 0 0 0 0 0 0 0 0

Movimiento dos:
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 0 1 0 0 0 0 0
0 0 0 1 1 0 0 0 0 0
0 0 0 1 1 1 1 0 0 0
0 0 0 1 1 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0

En el ejemplo es visible que el movimiento uno genera una solución más acertada a la solución final, sin embargo eso no dice con claridad si el movimiento uno es mejor al movimiento dos con respecto a la figura final. Por lo que, el problema de optimización radica en la realización de la mejor serie de movimientos que generen mejor la figura objetivo o final.

Solución planteada usando recocido de simulado.

Configuración.

Para la configuración de esta fase del proyecto definimos por cuestiones de programación que el arreglo inicial tendría que tener las coordenadas de la matriz donde se encontraran los elementos en cuestión.

{{3,3}, {3,4}, {3,5},{4,3},{4,4}, {4,5},{5,3}, {5,4}, {5,5}}

Donde el primer elemento de cada subconjunto es la posición en “x” y la segunda en “y”.

Reordenamiento.

El reordenamiento es aleatorio, pero se realiza de acuerdo a la serie de movimientos dados por los distintos átomos o elementos del arreglo. De acuerdo a un número de reglas, los átomos sólo se podrán mover adyacentes entre sí, sin romper la estructura base de la figura.

Función objetivo.

Ya que el objetivo es maximizar la construcción de la figura con los mejores movimientos posibles, la función objetivo está representada con el siguiente código:

int assess(int board[MAXR][MAXC], int solution[MAXR][MAXC]){
int cquads= 0;
for(i = 0; i < MAXR; i++)
for(j = 0; j < MAXC; j++ )
if(board[i][j] && solution[i][j]) cquads++;
return cquads;
}

Donde se evalúan el número de posiciones correctas con respecto a la figura final y se ejecutan evalúan los posibles movimientos para el que genere una mejor aproximación a la figura final.

Calendario de recocido.

Para esta parte la temperatura que se eligió una de 100, para poder ir bajando correctamente la temperatura y encontrar la solución en su punto mínimo.

Ti+1 = α Ti


Conclusiones después de la programación.
Es interesante la forma en la que el recocido da resultados, ya que en nuestro caso evaluó una cantidad impresionante de figuras. Sin embargo, los elementos asertivos dieron señal a lo que sería la mejor solución. La optimización fue evidente, ya que cuando fue bajando la temperatura, dieron resultados bastantes interesante como la solución exacta o a veces aproximada de su referencia final, es decir, la silla.

No comments:

Post a Comment

Note: Only a member of this blog may post a comment.