Эвристика - это, как правило, «подсказка», которая обычно (но не всегда) направляет вашу процедуру в правильном направлении. Использование эвристики ускоряет ваши процедуры (ваши алгоритмы), опять же, обычно , но не всегда. Это как «совет» алгоритму, который чаще всего верен, чем нет.
Я не уверен, что вы ищете, так как описание немного расплывчато. Если вам нужен алгоритм, вам нужно изучить, какое влияние окажет конкретный ход на текущую ситуацию, и как каждый раз шагать вперед для всех возможных ходов, фактически проходя через дерево состояний (т. Е. Состояний, которые будут развиваться, если Вы делаете определенную последовательность ходов).
Вы также можете видеть, что, возможно, имеет значение как близко текущая позиция к тому, чего вы хотите достичь (желаемая конечная позиция). Так что вместо вычисления всех возможных путей от вашего начального состояния до находя конечное состояние, вы можете руководствоваться своим алгоритмом на основе эвристики «насколько близко текущее состояние к желаемому» и проходить только часть дерева.