|
|
ru.algorithms- RU.ALGORITHMS ---------------------------------------------------------------- From : Ihor Bobak 2:5020/400 26 Sep 2001 18:37:04 To : All Subject : Re: игра 15 -------------------------------------------------------------------------------- > Имеется задача по ИИ (AI) - заставить компьютер полным перебором ходов пустой >[skipped] Эта задача решается двумя путями. 1) Тупым - см. http://www.javaonthebrain.com/java/puzz15/technical.html 2) Умным - алгортмом IDA*. Его псевдокод следующий: list<Move> dfs(int bound, State state) { if (state.isGoal()) return solution; if (state.g + state.h() > bound) return; forall (move in state.moves()) { State child = state; child.apply(move); if (dfs(bound,child)) return solution; } } list<Move> Star(Statestart){ int bound = 0; loop{ if (dfs(bound,start)) return solution; bound = bound + 1; } } state.h() - это сумма расстояний от каждой фишки к полю, где она должна стоять (называется Manhattan Distance). --- ifmail v.2.15dev5 * Origin: Demos online service (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.algorithms/4421156c0e25.html, оценка из 5, голосов 10
|