Heuristica.c
#include "heuristica.h"
extern int nFilas, nColumnas;
coste heuristicaAciertos(estado e, estado emeta)
{
int f, c, result;
result = 0;
for (f = 0; f < nFilas; f++)
for (c = 0; c < nColumnas; c++)
if (e.tablero[f][c] != emeta.tablero[f][c] && emeta.tablero[f][c] != 0)
result++;
return result;
}
coste heuristicaDistancias(estado e, estado emeta)
{
int f, c, result;
int f2, c2;
result = 0;
for (f = 0; f < nFilas; f++)
for (c = 0; c < nColumnas; c++)
for (f2 = 0; f2 < nFilas; f2++)
for (c2 = 0; c2 < nColumnas; c2++)
if (e.tablero[f][c] == emeta.tablero[f2][c2] && emeta.tablero[f][c] != 0)
result += abs(f-f2) + abs(c-c2);
return result;
}
coste heuristicaAnchura(estado e, estado emeta)
{
return 0;
}