Что бы это за компьютерная программа, которая играет наугад?

11

Что было бы Elo компьютерной программы, которая играет случайные ходы?

Для простоты предположим, что он никогда не просит ничьей или уходит в отставку и никогда не принимает предложение ничьей.

fotipute
источник
Представьте себе все фигуры на доске, и вы нападаете на королеву компьютера. У него есть 1 из 16 шансов переместить королеву и, возможно, небольшой шанс защиты другой частью.
ZL1Corvette
4
Я считаю , что трудно представить себе любой человек игрок играет хуже , чем случайный.
Даг Oskar Madsen
Я предпочел бы сделать это с научной
MikhailTal
Для моего класса AI мы должны были создать шахматный ИИ. Первым этапом назначения были случайные допустимые ходы. Когда эти ИИ сражались, это в основном заканчивалось ничьей. Жадный ИИ, который атакует самый ценный предмет, если применимо, иначе случайный удар каждый раз случайный ИИ.
Harrichael

Ответы:

13

Справа внизу списка рейтинга компьютерных шахмат для контроля времени 40/4 находится Brutus RND, движок, который просто выбирает случайные законные ходы.

http://www.computerchess.org.uk/ccrl/404/cgi/engine_details.cgi?print=Details&each_game=1&eng=Brutus%20RND#Brutus_RND

Он имеет рейтинг 205 (по состоянию на 06.06.2008). Конечно, это не рейтинг ФИДЕ, но он использует систему Эло.

Он имеет 0 побед, 242 потерь и 64 ничьих. Жеребьевки происходят из-за неисправных программ, которые случайно вызывают жеребьевки из-за повторения или из-за тупиковой ситуации, хотя обычно имеют существенное материальное преимущество, когда это происходит.

ФИДЕ имеет минимальный рейтинг 1000. Brutus RND просто не сможет установить такой высокий рейтинг и будет оценен без рейтинга.

Если мы проигнорируем минимальный рейтинг ФИДЕ, возможно, будет отрицательный рейтинг в системе Эло.

Следует отметить, что ФИДЕ использует таблицу для расчета изменений рейтинга, и, если разница в рейтинге превышает 735, никаких изменений не происходит, когда побеждает более сильный игрок. Это означает, что Brutus никогда не сможет иметь рейтинг -5000 или что-то в этом роде, потому что ему нужно будет терять очки невероятно некомпетентным игрокам, которые не смогут поставить мат.

https://www.fide.com/component/handbook/?view=article&id=197

Нам осталось угадать здесь. 1000 игроков с рейтингом Эло могли бы понизить рейтинг Брута до 265, но, поскольку нет игроков с худшими рейтингами, мы не можем точно сказать, насколько дальше они могли бы понизить рейтинг Брута, если бы они существовали.

Я предполагаю, что у игроков, которые имеют 500 Эло или хуже, будут проблемы с доставкой матов постоянно, так же, как неисправные программы. Тиражи с 3-кратным повторением или правилом 50 ходов не являются автоматическими в соответствии с правилами ФИДЕ и будут иметь место только в том случае, если Брут их потребует. Но человек может проиграть, не хватая времени, а также случайным тупиком.

Так что я предполагаю где-то в диапазоне от -200 до 200, если ФИДЕ допустит рейтинги ниже 1000 и позволит Бруту конкурировать.

Джеймс Холлис
источник
Звучит высоко. Я бы предположил ближе к 100, если ходы действительно случайны.
Эдвина Оливер
6

Проблема со случайной игрой состоит в том, что в средней шахматной позиции много разных ходов (от 20 в дебюте до 50 или более в сложных эндшпилях), но приемлемо лишь несколько из них. Случайные движения приведут к полной дискоординации с самого начала игры. Кроме того, захват менее ценных частей был бы очень распространен, особенно в средней игре. При этом даже против крайне слабой оппозиции компьютер, в конечном счете, будет ошибаться: будут проданы тонны материала и, возможно, не так много для компьютера, компьютер, несомненно, будет не развит, его король не будет в безопасности и возможно, даже не замкнутый ...

Так много плохих вещей, накапливающихся и чрезвычайно быстро, приведут к уверенному поражению машины. Его Эло, вероятно, будет 0 ФИДЕ.

Пабло С. Оджал
источник
2
Было бы даже трудно проиграть против такого двигателя! Даже если вы ХОТИТЕ поставить мат, может пройти целая вечность, пока двигатель не справится с этим. Единственный реалистичный способ выиграть случайный двигатель - если противник подаст в отставку.
Питер
Если вы хоть немного знаете об игре, я полностью согласен. Но если вы просто знаете, как двигать фигуры, даже не их ценность или какую-либо стратегию ... Ну, тогда человек и компьютер играют более или менее в равных условиях.
Пабло С. Оджал
Я думаю, что даже новичок, который только что выучил правила, будет играть лучше, чем случайный. Новичок может использовать эвристику, такую ​​как «давайте захватывать фигуры», которая отлично работает со случайным движком, потому что вы можете захватить любую фигуру, даже если она защищена, или просто оставить свои фигуры висящими, и двигатель вряд ли сможет захватить поскольку у него так много других бесполезных ходов на выбор. В конце единственная возможная трудность для новичка состоит в том, чтобы выяснить, как спариваться, но это не должно быть слишком сложным, учитывая вероятное материальное преимущество.
Itub
Нет, нетрудно проиграть против случайного игрока, если вы хотите проиграть. Вы можете попробовать это с приложением Play Magnus, установленным на 5-летнего возраста. Вы просто должны вызвать ситуацию, когда единственный законный ход, который он может сделать, это поставить мат. Самый простой способ сделать это - захватить все свои фигуры, кроме 1 пешки, заманить в ловушку своего короля, чтобы он мог только продвинуть пешку, оставить своего короля на первом ранге и расположить другие свои фигуры, чтобы блокировать побег своего короля, когда пешка повышается и вызывает чек об оплате. Это работает, если он повышается до ферзя или ладьи, поэтому у вас есть 50% -ый шанс проиграть (или 100%, если он никогда не будет недостаточно повышен).
Сайлас С. Браун
5

Поистине случайная игра намного хуже, чем вы могли бы подумать. Абсолютный предел USCF равен 100, и эта программа никогда не поднимется выше этого уровня.

Кливленд
источник
1

Я не знаю , как Go рейтинги сравнить с шахматами, но случайная игра о -3500 там . Поскольку коэффициент ветвления для шахмат ниже, я ожидаю, что случайное число игроков будет выше, возможно, где-то между -2000 и -500.

Akababa
источник
1
Как отмечается в ответе на chess.stackexchange.com/a/6509/9025 , минимальный рейтинг USCF равен 100, поэтому отрицательный рейтинг будет невозможен.
Херб Вульф
Просто другой взгляд на вопрос. В нем не указано, какую рейтинговую систему использовать, и статистическое эло не имеет «нижней границы».
Акабаба
1

Хуже абсолютный новичок , который едва знает правило игры, потому что , по крайней мере начинающие ставят некоторую мысль в выборе хода. Их ходы все еще могут быть в основном случайными, но, по крайней мере, происходит некоторая оценка позиций.

Таким образом, рейтинг этого двигателя будет на самом низком из возможных рейтинговых систем. В конечном итоге он может выиграть или сыграть в игру против столь же плохого противника, а затем увеличиться на несколько пунктов Тем не менее, вы можете ожидать, что рейтинг двигателя быстро снизится до минимального уровня после этого.

В книге Шеннона «Программирование компьютера для игры в шахматы» он отмечает, что вероятность случайного избиения Ботвинника составляет порядка 10 ^ -75. Таким образом, если этот случайный компьютер будет играть Ботвинника (или даже обычного мастера) без остановки в течение человеческой жизни, мы можем разумно ожидать, что он никогда не победит.

Тем не менее, Шеннон продолжает, что случайная игра не самая плохая стратегия; худшая стратегия - преднамеренно играть движениями, которые помогают противнику. Хотя вполне возможно, что это может сделать полный новичок, скорее всего, они попытаются сыграть ходы, которые улучшат его собственную позицию.

Инерционное невежество
источник
0

Очень хорошим ответом было бы сделать это:

Используйте numpy, очень слабый игровой движок, 1500 ELO или около того, и прикрепите к нему скрипт на python. Есть много библиотек, которые предоставляют вам возможные ходы в позиции, поэтому мы можем выбрать один наугад. Я опубликую результаты позже.

http://creative-co.de/random_chess/

Вы должны также проверить это.

MikhailTal
источник
3
Numpy является научная библиотека математики, а не шахматный движок.
svineet
Это также шахматный двигатель
MikhailTal
2
chess.stackexchange.com/questions/6034/... Это , кажется, называется Numpty
MikhailTal
1
@MikhailTal: Есть ли причина, по которой вы не редактируете этот ответ, чтобы исправить имя?
GreenMatt
2
@SmallChess: Подобные имена, но не то же самое.
GreenMatt