Теперь Кью работает в режиме чтения

Мы сохранили весь контент, но добавить что-то новое уже нельзя

Если два идентичных компьютера с идентичным ПО будут играть в шахматы, выиграет ли тот, который будет ходить первым?

МатематикаНаука
Анонимный вопрос
  · 12,9 K

В зависимости от алгоритма шахматной программы итоги могут быть самыми разными.

В случае детерменированного (без неизвестностей) алгоритма, результат, теоретически, всегда будет повторяться. Либо всегда выигрывают белые, либо всегда - чёрные, либо - всегда ничья. При этом каждая следующая партия будет точной копией предыдущей (те же самые ходы).

Понятно, почему могут всегда выигрывать белые. У них, вроде как, преимущество на старте.

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

Однако, может оказаться, что даже в случае детерменированных алгоритмов итоги партий могут быть разными, если вмешается фактор времени. Например, хорошие шахматные программы (как и хорошие игроки в шахматы) продолжают обдумывать ситуацию даже во время чужого хода. Если по какой-то причине ответ от другой программы придёт всего лишь на одну микросекунду позже (такое легко может быть), программа может успеть додуматься до чего-то такого, до чего не додумалась в предыдущий раз, и это может изменить всю дальнейшую игру.

Другие варианты.

В случае, если алгоритмы случайным образом выбирают ход из равновыигрышных (по их мнению) вариантов, исход партии будет каждый раз неизвестен заранее (либо выигрыш, либо проигрыш, либо ничья). Хотя, возможно, будет намечаться склонность к какому-то конкретному исходу (например, 50% вероятности выигрыша белых, 30% - черных, 20% - ничья).

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

Researcher, Institute of Physics, University of Tartu  · 7 дек 2015
У меня нет никакой теории на этот счет, но есть эксперимент, правда компьютер там был один. Я в компьютере смеха ради давал нескольким программам типа Chessmaster задание "компьютер против компьютера", оба виртуальных игрока одинаковые по параметрам. Так вот, если выбрать параметры "атакующего стиля", то выигрывал тот, который ходил первым, а если "средние" или "оборонит... Читать далее
выпускник НГУ  · 19 мар 2016
Начать стоит с того, что ПО для шахматных программ пишут обычные люди (программисты), в связи с чем данные программы неидеальны и результат нельзя предсказать на 100%. К слову, существующие шахматные программы снабжены кроме формальных правил некоторыми эмпирическими, задаваемыми экспертами (Стоит захватывать пространство, занимать открытые линии, рубить фишки соперника... Читать далее

Только вот люди уже много лет не выигрывают у компьютера в шахматы.

Шахматист, студент отделения Клинической психологии, безумный экстраверт, любитель...  · 11 июн 2018
Шанс победы одного из компьютеров в единичной партии достаточно мал. Но вот если они сыграют 100 партий, то вероятность хоть одной победы очень близка к 100%. Дело в том, что абсолютно равные по силам машины абсолютно не равны в связи с принципом очередности ходов. У компьютера, играющего белыми фигурами, будет инициатива, так как он первым делает ход. Инициатива в... Читать далее
бакалавр математики, постоянно учусь  · 6 дек 2015
Вообще говоря, совсем не обязательно. Число позиций и возможных ходов настолько велико, что просчитать конец игры невозможно. (Это число называется числом Шеннона, и примерно равняется 10^43). Как вообще компьютерная программа "играет в шахматы"? 1)С помощью функции активации программа оценивает позицию и перевес какой-либо стороны 2)Строится дерево возможных ходов 3)Осу... Читать далее