Начинается новый конкурс: "Определение хода в Йосэ".
Который пройдёт с 1 февраля до 1 Октября 2005 года.
Ссылка на конкурс:
Конкурс: "Определение хода в Йосэ".
Предыдуший конкурс успешно закончился 1 января 2005 года
победой Сергея Удинцева.
Ссылка на конкурс:
Конкурс: "Вычисление результата партии".
Краткое описание условий конкурса:
ЗАДАЧА: Определить ходы профессиональных игроков в конце партии.
Необходимо написать функцию на языке Паскаль или С++, описание функции на С++:
int TheMove(Board* Position,int ColorStone,int KO,int &Move1, int &Move2, int &Move3, int &Move4);
на ВХОД которой подаётся массив 19х19 целых чисел Position отображающий позицию партии в ГО,
ноль в массиве означает пустое место на доске, единица – чёрный камень, два – белый камень.
Также на вход подаётся число ColorStone – определяющее чей ход (1 – чёрных, 2 – белых)
и число KO – отбражающее КО-борьбу, если оно равно 0 – то нет КО-борьбы,
иначе число показывает пункт в который нельзя ходить из-за КО-борьбы.
На ВЫХОДЕ функция должна выдавать четыре целых числа, каждое число это пункт на доске,
и является попыткой угадать следующий ход в партии, то есть даётся четыре попытки угадать следующий ход.
Для C++ если ход ПАС, то число равно –1, иначе число обозначает пункт на доске.
КАК ОПРЕДЕЛЯЕТСЯ ПОБЕДИТЕЛЬ КОНКУРСА:
Есть база данных из более чем 3000 партий сыгранных до двух пасов по японским правилам.
Процедура CalculateMoveDifference распаковывает SGF файлы, выполняет ходы и расставляет позицию партии,
после каждого хода применяет вашу функцию и получает четыре возможных хода в текущей позиции.
Далее идет начисление Вам очков по следующей схеме:
Если Move1 совпадает с ходом в партии то + 1 очко.
Если Move2 совпадает с ходом в партии то + 1/2 очка.
Если Move3 совпадает с ходом в партии то + 1/4 очка.
Если Move4 совпадает с ходом в партии то + 1/8 очка.
Если Move1 находится в окрестности ±1 пункт от хода в партии то + 1/16 очка.
Если Move1 находится в окрестности ±2 пункта от хода в партии то + 1/48 очка.
Если Move1 находится в окрестности ±3 пункта от хода в партии то + 1/96 очка.
За ход Вам начисляются очки по лучшей из этих категорий. То есть за ход можно получить не более 1 очка.
За первый пас в партии (если он угадан) очки начисляются, остальные пасы и ходы после первого паса в конкурсе не участвуют.
Далее очки суммируются, делятся на количество всех участвующих ходов, определяется процент угадывания, у кого он выше, тот и победитель.
В конкурсе будут участвовать последние 90 ходов из каждой партии.
Отправка отредактированного (01/02/05 17:38)