Lights Out Поиск наилучшего первого/Алгоритм A*

Это домашнее задание, которое я пытаюсь развить больше, но мне трудно понять, как двигаться дальше.

Задание в основном касается решения Lights Out разных размеров с использованием разных подходов. Я разработал подход грубой силы, который работает, но требует много времени, когда размер платы большой.

Моя проблема возникает, когда я пытаюсь реализовать поиск по первому наилучшему или подход A * для решения игры. Мне нужно разработать эвристическую функцию для игры, и здесь у меня возникают проблемы. У меня нет ни малейшего представления о том, что может быть хорошей эвристической функцией в этом случае.

Не имея опыта работы с ИИ, я хотел бы получить несколько рекомендаций/советов о том, как разработать хорошую эвристическую функцию для случая Lights Out.

Спасибо тебе за помощь.


person sobosama    schedule 10.02.2020    source источник


Ответы (1)


Эвристика должна только дать вам расплывчатую оценку того, сколько минимум нажатий кнопок требуется. Одной простой эвристикой будет numberOfLightsRemaining/5, так как каждое нажатие может отключить не более 5 лампочек.

person BlueRaja - Danny Pflughoeft    schedule 10.02.2020
comment
Спасибо за Ваш ответ. Это действительно интересная эвристика, но как можно судить, хорошо это или нет? - person sobosama; 11.02.2020