IIC2613 / Syllabus-2019-2

17 stars 3 forks source link

[T2] Objetivo tarea 2 #27

Open mramirez7 opened 5 years ago

mramirez7 commented 5 years ago

Hola, no me queda claro como se irá a evaluar la tarea. Ya que en el enunciado solo se menciona los algoritmos a implementar y respecto a la nueva heurística sólo dice que tiene que ser más informativa que la que viene en el código. Por lo anterior me queda la duda sobre cómo se obtiene todo el puntaje, encontrando mejores soluciones que con la otra heurística? encontrando soluciones más rápido con la nueva heurística? resolviendo todos los test en algún tiempo específico? En resumen, no sé como medir qué tan buena es mi heurística y si cumple con lo esperado para la tarea.

matgreco commented 5 years ago

Debe implementar los algoritmos solicitado y una nueva heurística, que debe cumplir 2 condiciones:

  1. Ser admisible
  2. Ser mas informativa

Una heuristica es admisible cuando h(s) <= h* Y h1 es mas informativa que h2 cuando en cualquier estado s, h1(s) > h2(s)

La evaluación será a traves de un set de pruebas. Yo invocaré su funcion con un estado (sabiendo el costo optimo y la heuristica estimada por h_basic) y su heurística debe ser mayor h_basic < h_suya < h*

Caso similar con los algoritmos.

mramirez7 commented 5 years ago

su heurística debe ser mayor h_basic < h_suya < h*

La heurística dada no es admisible, si se hace un movimiento en cada eje a partir de un tablero armado la heurística vale min(rows,cols), por lo que si en un tablero cualquiera donde min(rows,cols)>2 se sobreestimaría el costo óptimo. Creo que no sería una correcta forma de evaluar. De qué otra forma puedo medir que tan buena es mi heurística?

matgreco commented 5 years ago

Sabemos que la heurística finalmente no es admisible, sin embargo, es muy poco informativa, ya que el máximo valor a estimar siempre será el minimo entre el tamaño de fila o columna.

Esa heurística es facilmente mejorable.

La forma de medir cuan informativa es una heurística es esa. Puede tambien evaluar la cantidad de expansiones o el tiempo que le toma resolver una tarea con una heurística diferente, pero eso en general se ve influenciado por el problema. Una heuristica h1 puede funcionar mejor que una h2 en un problema P1, pero en un problema P2 puede pasar lo contrario.