Собственно, написал шахматного бота для playchesss.com: выбирает игрока с наивысшим рейтингом и играет с ним хоть блиц, хоть пулю.... Вот, только после 10-15 таких партий меня банят(дело здесь не в самодельной проге: при игре с двух компов результат тот же) На официальном сайте написано, что вычисляют по стилю игры: у каждого игрока есть свой стиль игры и у движков тоже. Неочевидно - гроссы играют почти как компьютер(+-0.3 пешки) при глубине просчета в ~12-13 ходов 90% партии и лишь в конце партии, когда время заканчивается, начинают лажать по-крупному. В общем, помогите бывшему чемпиону - скажите, у кого какие мысли по поводу возможного алгоритма защиты на этом сервере. Помогите - и я снова заберусь на вершину рейтинг-листа!
А как сам бот работает? Эмулирует действия игрока или шахматного клиента? То есть распознает изображения/клацает мышью или на уровне протокола действует?
Мне удалось среверсить протокол(правда, еще не во все тонкости вник, поэтому иногда случается disconnect).Никакого захвата изображения: сильно тормозит и мешает движку быстро соображать. Но дело не в этом. Как я уже писал, когда я сам переставлял фигуры с помощью программы, работающей на другом компьютере банят все равно. Вопрос можно изложить так: как изменять n-й ход придуманной компьютером комбинации без существенных жертв?
Booster а как по мне нормально все, каждый играет в игры как может. Тем более нужно играть для своего удовольствия, а не для рейтинга. А по делу извините, сказать ничего не могу. Честно говоря даже не представлю, как можно отличить игру машины от игры игрока. А если иногда делать случайные ходы, это не спасет положение? Хотя тогда, конечно, больше шансов проиграть.
jakimushka Никогда не понимал читеров, это по-моему детская болезнь. А насчёт того, что гроссы думают на 10-12 ходов, так не в активных же шахматах.
Booster Прошу не отвлекаться от темы. Здесь вопрос был задан креативным программистам, а не фанатам честной игры на плейчес. Booster Ничего такого, о чем ты мог подумать Просто это очень интересно - обламывать одминов этого полубесплатного сервака) Моя цель - добраться до вершины, ну или, по крайней мере, до уровня других читеров, играющих на многопроцессорных кластерах - а такие там есть, уверяю тебя! Иначе как объяснить проигрыш моей рыбки игроку с рейтингом всего 2600? З Ы Можешь сообщить свой игровой ник - я внесу его в черный список моего бота - с тобой играть он не будет.
jakimushka Насчет того, чтоб иногда отклоняться от движка не проходит: Ему приходится отыгрывать преимущество, думая, как машина, на 14-15 ходов....
А если в самом начале сделать глубину просчета ходов 6-7-8, то сильным игрокам проигрываю. По-видимому у них уже выработалось какое-то позиционное чутье... или многопроцессорные системы+покровительство админов.
Да я в общем не против. Но это уже больше похоже на соревнование вычислительных мощностей и алгоритмов. Интереса в этом я не вижу. Ну а вообще машина не делает зевков в принципе, хотя даже великий Каспаров их делал. Даже комбинационный просчёт в несколько ходов для машины нонсенс.
Кстати глубина до 7 ходов является самой безопасной в блице - никогда не банили, но дойти можно до рейтинга не больше ~2300. Проигрывать начинаешь в эндшпиле...
Есть еще бредовая идея - найти оценочную функцию в рыбке и немного подкорректировать ее(типа sin(a) заменить на sin(sin(a))), чтобы изменить "почерк движка". Но как найти ее?
Вообще слабость программ в тихих ходах, где нужно играть позиционно. Они до сих пор ведуться на жертву за инициативу, где выйгрышь не сразу, а через много ходов. Полный перебор на 8 ходов, как то оптимистично звучит. Возможно это средний перебор, а в худшем случае намного меньше или алгоритм отбраковывает слишком рано и это сказывается на качестве. Так что я бы не заявлял, что выйграть у этого бота человек не может, тем более при понижении глубины расчёта. Кстати большую глубину расчёта в форсированных вариантах(где вся сила программ) определить не так затратно.