"Анри Мария Ампер рассердился. Проиграть компьютеру? Он, некогда грозный шахматист, ныне играющий в преферанс и дурачка, проигрывает программе. Понятное дело, что программное обеспечение о-ё-ёй. Чемпионы мира проигрывают!Обратите внимание: Машина мечты для всех - какой она должна быть?! И сколько стоить?.
И всё же внутри это задело профессора. По-человечески несправедливо. Не может быть."
Отрывок из "В шахматном клубе" Леонида Пулькина
И ведь действительно, с каждым годом шахматные движки становятся всё лучше и лучше, всё совершенней и совершенней, быть может не так далёк тот час, когда у человека не будет и шанса обыграть машину?
Нет! А дело тут во в чём:
Когда машина просчитывает ходы, она учитывает ВСЕ возможные варианты хода, например так:
И от каждого варианта(в данном случае из 25) программа начинает считать ходы с учётом ваших ходов(которых предположим также 25). Итого на 1 ход программа считает 25^25 вариантов хода, это огромное примерно 37-значное число.
А если программа считает, скажем, более чем 3 хода?
- То и количество просчитываемых ходов увеличится настолько, что чтобы оценить это число нам понадобятся "Нотации Кнута"(степень в степени которая в степени (прим: 20^(20^20) ) ), что сказывается на времени которое машина "думает".
Даже в наше время машины не настолько хорошо оптимизированны, чтобы просчитывать партии "до конца", машина не может просчитать дальше определённого числа ходов и програмно ставится ограничение, иначе программа считала бы вечно.
Каким же образом тогда программы иногда считают так быстро и эффективно, ведь получается начальные хода машина должна считать дольше всего?
- В этом деле есть один серьёзный "лайфхак": современные компьютерные программы уже имеют встроенную базу партий мастеров и если программа "видит" знакомый дебют - она играет по сценарию, как бы заранее зная лучшие ответы на большинство ваших ходов.
В чём же тогда преимущество человека перед машиной?
Преимущество заключается в том, что мы подсознательно исключаем неудачные/нелепые/бессмысленные варианты, так как мы интуитивно их понимаем, машина же не может мыслить и вынуждена считать "всё", что приводит к тому, что есть специально разработанные "антикомпьютерные" стратегии, на которые из-за своей ограниченности ведётся программа.
К 2020 году развитие шахматных программ достигла такого уровня, что они уже соревнуются между собой на отдельных соревнованиях
( World Computer Chess Championship, WCCC), НО до тех пор пока программа не научится "мыслить" - она никогда не достигнет потенциала человека.
Больше интересных статей здесь: Совет.
Источник статьи: Почему машина никогда не переиграет человека.