Seudocódigo




Procedimiento: Principal

  Pedir datos de entrada(estado_inicial , estado_final , algoritmo, heuristica) 
	
  Si el problema es resoluble

     En el caso de que el algoritmo sea el:
            A*  : Aplicar Algoritmo_A*   para obtener el nodo meta
            IDA*: Aplicar Algoritmo_IDA* para obtener el nodo meta
            SMA*: Aplicar Algoritmo_SMA* para obtener el nodo meta
            DFID: Aplicar Algoritmo_DFID para obtener el nodo meta

     Imprimir como salida el camino desde el nodo inicial hasta el meta
		
  Si no

     Avisar de que no existe una posible solucion



Procedimiento: Problema resoluble .

  Calcular el valor del estado inicial
  Calcular el valor del estado final
  Si la suma de ambos valores es par
     Existe solucion.
  Si no
     No existe solucion.




Procedimiento: Calcular el valor de ESTADO.

  Para cada posicion del puzzle hacer
     Sea N el valor de la posicion.
     Contar el numero de posiciones posteriores, con valor menor que N.
     El Blanco se considera superior a todos.
     Acumular esta suma con las anteriores.
  Si el Blanco estaá en una posicion en la que la suma de fila y columna es impar.
     añadir 1 a la suma total.
  Devolver la suma.