Оригинальное описание SMA * из оригинальной книги AIMA является ошибочным. Если вы реализуете это, как описано, это может не сработать. Проблема в том, что вам нужно сохранить порядок детей и обязательно исследовать неисследованные дети, прежде чем заново исследовать старых детей.
Фелнер представил идею свертывания и восстановления макросов , которые могут бытьочень полезно в понимании SMA *. Я предлагаю взглянуть на эту статью и затем использовать аналогичный подход для реализации алгоритма.
Но также следует знать, что недавний алгоритм A * + IDA * может быть лучшим подходом, чем SMA *,(Не очень помогает, если это задание.)