Однако ни одна из моих четырех эвристик не может найти минимальные решения во всех 225 интересующих меня конфигурациях (я игнорирую игровые поля с препятствиями), поэтому я предполагаю, что используемые мной эвристики недействительны и непротиворечивы, но, во-первых, я не не знаю почему, и, во-вторых, я не могу придумать более полезной эвристики.
Вот эвристики, которые я использую:
- Подсчитайте количество полей между красной машиной и выездом
- Производительность не слишком хорош по сравнению с другими подходами, производительность и результаты (= минимальное количество найденных решений) низкие
- Последовательность: эвристика уменьшается или остается неизменным по мере продвижения к цели.
- Приемлемость: Может быть, проблема именно в этом? Не следует переоценивать истинное количество необходимых ходов, но если я посчитаю поля, сумма может оказаться больше, чем ходов, необходимых для решения головоломки.
[*]Подсчитайте блокирующие машины между красной машиной и выездом и наказывайте машины, которые не могут двигаться
- Отличная производительность
- Согласованность/допустимость: Я предполагаю использование постоянного штрафа в размере 5 на машину могут ли здесь возникнуть проблемы?
- Считать блокирующие машины, начиная с машин между красными машинами и выход рекурсивно
- Лучшая производительность и лучшие результаты
- Последовательность. Я считаю, что эта эвристика последовательна, поскольку количество блокирующих машин будет уменьшаться или оставаться прежним по мере продвижения состояния к цели.
- Приемлемость : Он считает только машины, а не движения, так что, думаю, переоценка не проблема.
Подробнее здесь: https://stackoverflow.com/questions/790 ... -rush-hour