Другие виды спорта

Каким образом работают программы "Шахматы" - в них загружаются самые популярные партии гроссмейстеров?

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

В конце он оценивает получившиеся позиции, и выбирает наилучший ход. Каким образом программа оценивает позицию, присваивает ей число? Она опирается на факторы, которые можно аналитически вычислить. В первую очередь, это соотношение материала, выраженное в условных пешках. Это, конечно, самый важный фактор, поэтому все остальные факторы тоже принято измерять в условных пешках. Например, в этой позиции активность фигур тянет на полторы пешки. Условно говоря, можно трансформировать активность фигур в выигрыш пешки, и ещё небольшое преимущество останется.
Что ещё можно подсчитать алгоритмическим образом? Достаточно просто вычислить ту же активность фигур, то есть, количество возможных ходов, несложно оценить контроль фигурами и пешками центра. Можно подсчитать перевес в пространстве, количество контролируемых полей. Учесть простейшие факторы, связанные с расположением пешек. Как-то наличие сдвоенных пешек, слабых изолированных пешек, проходных пешек, отсталых пешек. Можно ввести простейший фактор, отражающий безопасность короля, например, степень контроля полей вокруг него.
Но следует понимать, что эти факторы вычисляются чисто формально, механически. Просто констатируется наличие сдвоенных пешек, что, как правило, плохо, или изолированной пешки. Но слабость в данном случае или сила эта изолированная пешка, понять нельзя. Для этого нужно перебирать варианты, но они уже и так просчитаны на максимальную глубину.
Мнимая или реальная эта фигурная активность, тоже неизвестно. Просто формально констатируется наличие большого количества возможных ходов.
Такой принцип работы делает программы чрезвычайно сильными в счётных позициях, где можно тактическими манёврами добиться материального преимущества. Программы просто перебирают все варианты и идут на тот, в котором у них больше лишних пешек. На этом их можно и подлавливать, что с успехом было продемонстрировано в вышеописанных матчах.
Оценим теперь, какую глубину расчёта вариантов можно достичь, реализуя этот простой переборный метод на современных персональных компьютерах.
Допустим, у нас есть гигагерцовый процессор, и на ход отводится 100 секунд. То есть, в распоряжении программы находится 100 миллиардов тактов. Пусть на оценку позиции тратится 1000 тактов. Это примерная, конечно заниженная величина. Учитывающая различные оптимизации вычисления оценки. Связанные, например, с тем, что позиции, полученные из одной позиции различными ходами, имеют сходную оценку с исходной позицией. Их надо не полностью переоценивать. Понятно, что основной вклад во время работы даёт оценка позиций, получающихся на самом последнем уровне.
Санька Стрекалов
Санька Стрекалов
6 289
Лучший ответ
Санька Стрекалов Результативность шахматной проги во многом зависит от квалификации консультанта-шахматиста: агрессивный стиль игры. комбинационный и пр.