Всем известно, что шахматы являются сложной игрой, требующей от игроков высокого интеллекта, развитого воображения и наличия некоторых других качеств. 32 фигуры, передвигающиеся по доске, размером 8 на 8 клеток, предоставляют практически бесконечное количество вариантов развития событий. Есть программные шахматные "движки", способные просчитывать миллионы ходов в секунду, но в большинстве своем они используют оптимизированные методы "грубой силы" (Brute Force). Отметим, что метод "Brute Force" является одним из наиболее простых и распространенных методов компьютерного взлома, он заключается в последовательном переборе всех возможных вариантов до тех пор, пока не будет найдено наилучшее решение, которое зачастую оказывается и единственным.
Мэтью Лай (Matthew Lai), исследователь из Имперского колледжа в Лондоне (Imperial College London), давно работает над задачей, которая должна сделать компьютеры, играющие в шахматы, более умными и интеллектуальными. Его усилиями и усилиями других исследователей была создана система программного обеспечения, получившая название Giraffe, основу которой составляет самообучающаяся нейронная сеть. И, проведя процесс предварительного обучения, который занял всего 72 часа, эта сеть смогла играть на квалификационном уровне FIDE International Master, т.е. лучше, чем 97.8 процентов игроков, принимающих участие в различных международных турнирах, делая самые лучшие и оптимальные ходы в 46 процентах случаев.
Следует отметить, что программа Giraffe является не первой самообучающейся шахматной программой. На свете существует ряд таких программ, самой известной из которых является "Knightcap", однако, всем таким программам, построенным на базе обычных алгоритмов, в любом случае требуется помощь программистов для обретения возможности понимания некоторых игровых ситуаций и использования отдельных приемов, таких, как защита короля при помощи пешки. Однако, алгоритм программы Giraffe, произведя анализ множества шахматных партий, оказался способен сам вычленить все особенности некоторых ситуаций и методы наиболее эффективного выхода из этих ситуаций, более того, алгоритм рассматривает абсолютно все возможности, не оставляя без внимания те, которые без сомнений были бы пропущены программистами.
"Giraffe получает свое мастерство не из возможности очень далекого прогнозирования, а из возможности оценки всех тонкостей сложившегося на доске положения и из восприятия сложных позиционных понятий, которые доступны лишь людям на интуитивном уровне" - рассказывает Мэтью Лай.
Обучение программы Giraffe было произведено на основе 175 миллионов положений фигур на шахматной доске, которые были взяты из 5 миллионов шахматных партий, в которых принимали участие, как люди, так и специализированные компьютеры. Алгоритм, используя каждое из положений, многократно выполнил ряд случайных ходов, анализируя изменения ситуации на игровом поле. Пройдя предварительное самообучение, компьютер продолжил этот процесс, уже реально играя сам с собой, что во много раз увеличило ценность получаемой информации и игрового опыта.
Изначально, т.е. не пройдя самообучение, программа Giraffe набирала 6 тысяч баллов из 15 тысяч возможных в одном из стандартных тестов, предназначенных для оценки шахматных программных "движков". После 72-часового обучения количество набранных баллов увеличилось до 9700, что весьма наглядно продемонстрировало увеличение уровня игры программы.
Программа Giraffe построена на базе известного "движка" Stockfish 5, который появился в 2008 году и который, в свою очередь, является модификацией "движка" 2004 года под названием Glaurung. "Способность Giraffe противостоять программам-"монстрам", написанными вручную и использующими сотни настроечных параметров, демонстрирует всю мощь систем самообучающегося искусственного интеллекта. Однако, тесты для оценки уровня игры программы могли недооценить возможности Giraffe. Ведь они сами еще не "знают" о существования массы вариантов, которые не были изучены и поняты людьми и, естественно, не вошли в испытательный тестовый набор".
В скором времени Мэтью Лай собирается произвести кардинальную модернизацию программы, которая сделает систему Giraffe еще более эффективной и быстрой. Он планирует ввести в состав системы дополнительные небольшие нейронные сети, которые позволят снизить нагрузку на основную сеть. И эти дополнительные сети будут решать ряд второстепенных задач, таких, как распределение времени, самообучение во время игры и т.п.
Источник: www.dailytechinfo.org
|