![]() |
|
![]() ![]() ![]() |
|
kalexi |
|
|||
Новичок Профиль Группа: Участник Сообщений: 27 Регистрация: 9.2.2008 Репутация: нет Всего: нет |
Разбираюсь с алгоритмом минимакса на основе игры шашки. Далее изложение моего понимания работы алгоритма со этой задачей:
Для каждого узла дерева мы можем получить оценку: 0 - ничего не произошло, 1 - была съедена шашка противника. 0 / \ 0 A / \ 0 B Тут если в А и B была съедена шашка, то какой результат должен оказаться в A? Т.е. мы же не можем дать оценку только на основании терминальной позиции B, т.к. в A тоже произошло событие поедания шашки соперника. Т.е. если у нас от этого узла отходят дочерние и в них тоже есть оценка (т.е. в них тоже была съедена шашка), то какую результирующую выбирать? Спасибо! |
|||
|
||||
ksnk |
|
|||
![]() прохожий ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 7 Всего: 386 |
Оценочная функция обязана оценивать всю позицию на карте. Для простоты - разница между количеством своих и чужих шашек. Неплохо бы в ней учитывать дамки и/или минимальное расстояние от шашек до "последней линии", возможность свободного хода или еще какие тактические навороты... "была съедена шашка"- это не оценочная функция.
По теории - более "правильное" значение оценочной функции получается в наиболее "глубоких" веточках. Так что значение функции в узле - никого не интересует. Значение в узле - максимум значений из всех веточек, для своего полухода и минимум всех веточек для полухода противника. Если A и B - это два полухода одного хода (ход белых-ход черных), то значение функции "разница между количеством своих и чужих шашек" в точке В осталось 0-м. То есть в узле А получится 0. -------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! ![]() |
|||
|
||||
kalexi |
|
|||
Новичок Профиль Группа: Участник Сообщений: 27 Регистрация: 9.2.2008 Репутация: нет Всего: нет |
Огромное спасибо! Все понял
![]() |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Алгоритмы" | |
|
Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Алгоритмы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |