Учебный проект шахматы и искусственный интеллект. Искусственный интеллект и базы знаний

Матч проигран: компьютер против человека.

Креативное мышление, логика, опыт – качества, которые позволяли человеку лидировать в схватке «человек-машина». Казалось, эти преимущества всегда будут секретным оружием человека, и компьютер будет выполнять роль «догоняющего».

Но потребовалось совсем немного времени, чтобы искусственный интеллект догнал и навсегда превзошел человека во многих сферах, в том числе и в сфере интеллектуальных развлечений.

Искусственный интеллект обыграл человека: где и как

Кубик Рубика
Эта головоломка известна по всему миру. Миллионы людей стараются выполнить задание и собрать правильно кубик, а некоторые даже соревнуются в скорости сборки. Рекорд среди людей показал 14-летний Лукас Эттер из США, который разбирается с головоломкой за 4,904 секунды. Невероятно, не правда ли? Но этот результат удалось превзойти роботу, который создали два энтузиаста Джей Флэтлэнд и Пол Роуз: результат робота 1,047 сек.


Благодаря встроенным камерам, а их четыре, компьютер оценивает положение, и подбирает лучший алгоритм действий. В основе системы лежит формула Коцебы (сборка за 20 ходов). Едва ли кто-то из людей сможет собрать кубик Рубика быстрее, чем за 1 секунду.
0:1 в пользу искусственного разума.

«Отелло»
Пик популярности этой игры приходится на начало 70-х годов прошлого века. Суть игры заключается в размещении на игровом поле (8×8 клеток) фишек: необходимо фишками своего цвета перекрыть с двух сторон ряды фишек соперника, тогда фишки меняют цвет и переходят к оппоненту. Победа достается тому, кто занял большую площадь.


В 1980 году чемпионом мира по «Отелло» был Хироси Иноуе, и он с легкостью победил программу Moor со счетом 5:1.
Позже программы научились просчитывать ходы соперника (примерно на 25 ходов), и когда в 1997 году действующий чемпион мира Такеси Мураками сошелся в матче-реванше с системой Logistello, счет был сокрушительным 0:6 в пользу ПО.

Нарды
Своему преимуществу в нардах над человеком искусственный интеллект обязан чемпиону мира по шахматам по переписке (и такие есть) Хансу Берлинеру, который написал программу BKG 9.8. И в 1979 году программа оказалась сильнее чемпиона мира по игре в нарды Луиджи Виллу.


Считается, что в той партии компьютеру повезло (несколько раз выпадали хорошие кости), однако сразиться в повторном матче-реванше так никто больше не захотел, тем более что с того времени ПО было неоднократно усовершенствовано.

Шахматы
Шахматные системы начали разрабатывать еще в середине ХХ века, разработки принадлежали компании IBM. Но из-за того, что программа требовала серьезных и длительных расчетов эту затею пришлось отложить на 30 лет. В 1996 году против Гарри Каспарова был выставлен «шахматный мозг» — компьютер Deep Blue.


Матч закончился в пользу человека: 3 победы, 2 ничьи, 1 проигрыш. Спустя год матч повторили, и в этот раз Deep Blue оказался более подготовленным. Еще бы, система оценивала 200 млн. позиций в секунду. И хотя Гарри хотел позже отыграться, в IBM отказались, считая это бессмысленным.

Чекерс (разновидность шашек)
Марион Тинсли был чемпионом чекерс на протяжении всей карьеры. И когда в 1992 году он встретился с системой, разработанной в Альбертском университете (Канада), победа осталась за ним. Из 39 партий — 4 победы, 2 проигрыша и 33 ничьи.


Спустя 2 года состоялся реванш, но Тинсли снялся с соревнования из-за проблем со здоровьем (на момент отказа было 6 ничейных партий), и победа досталась системе. С того момента, искусственный интеллект стал намного сильнее: в 2007 году канадцы объявили о создании идеальной системы, и уже никто из людей не пытается превзойти его в чекерс.

Скрэббл
Триумф компьютеру в этой игре дался легко и в первом же туре: чемпион мира Дэвид Бойс был обыгран в 2006 году робо-соперником Quackle.


Кстати, эта программа доступна в Сети, и вы можете с ней помериться силами, и может вы принесете победу команде «Человек».

Го
Эта игра появилась в Древнем Китае больше двух тысяч лет назад, но, несмотря на такой продолжительный опыт в игре, человек все равно уступил. На площадке (19×19) два игрока располагают свои камни (черные/белые), кто наберет больше очков (считаются фишки составленные в линию), тот и победил. С одной стороны все просто, но интерес кроется в многообразии возможных вариантов и ходов.


Интересно было и разработчикам AlphaGo (создавалась под эгидой Google) — создать систему, которая способна просчитать тысячи вариантов. Сначала искусственный интеллект опробовал свои силы с другими ПО, и когда из 500 партий 499 были за AlphaGo, он взялся за трехкратного чемпиона Европы Фань Хуэя. У чемпиона не было шансов: 5:0.

TV
Любите отвечать на вопросы в телевикторинах? Разработчики робота Watson от компании IBM тоже не смогли удержаться, и в 2011 году Watson выступил в качестве участника интеллектуальной телевикторины «Jeopardy!». Несмотря на то, что его оппонентами были рекордсмены шоу — Брэд Руттер и Кен Дженнингс – победа досталась , а выигранный миллион долларов передан на благотворительность.


И хотя компьютер уже показал свое интеллектуальное и логическое превосходство над человеком, он продолжает развиваться. Так компания Alibaba Group и Microsoft (разработки велись параллельно) представили искусственный интеллект, который оказался сильнее человека в понимании прочитанной информации.
Тест Стэнфордского университета это больше 100 тысяч вопросов, которые основываются на пяти сотнях статей из библиотеки Википедии.

Лучший показатель у человека 82,304 балла, итог Alibaba – 82,44, нейронная сеть Microsoft – 82,605. результаты свидетельствуют о том, что искусственный разум способен с высокой точностью отвечать на любые вопросы, а значит, технологии могут быть использованы для обслуживания клиентов, пациентов, посетителей музеев и т.п.

Компьютерные игры также были покорены программой. Программа победила программу: кто бы мог подумать, что это будущее так близко? Популярная игра Quake III, где игроки – гладиаторы, очень популярна в киберспорте. Но лучшими здесь оказались не люди, а команда ботов DeepMind, созданная подразделением Google. И хотя бой проводился в урезанном варианте, по подсчетам с 73 % вариантностью бот победил бы в любом состязании.


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

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

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

Из названия следует, что в алгоритме проводится отсекание по каким-то двум параметрам - альфа и бета. Главная идея отсечения в том, что теперь мы будем держать интервал отсечений (нижняя и верхняя границы - альфа и бета соответственно - ваш К.О.) и оценки всех узлов, какие не попадают в интервал снизу мы рассматривать не будем (так как они не влияют на результат - это просто худшие ходы, чем уже найденный), а сам интервал будем сужать по мере нахождения лучших ходов. Хотя и альфа-бета отсечение намного лучше минимикса, все же время его работы тоже очень большое. Если принять, что в середине партии в одной стороны есть приблизительно 40 разных ходов, то время алгоритма можно оценить как O(40^P), где P - глубина дерева ходов. Конечно, при минимаксе может быть такая последовательность рассмотрения ходов, когда мы не будем делать никаких отсечений, тогда альфа-бета отсечение просто превратится в минимакс. В лучшем случае с помощью альфа-бета отсечения можно избежать проверки корня из числа всех ходов в минимаксе. Для того, чтоб избежать долгого времени работы (при такой О-большое сложности алгоритма), перебор в дереве делают на какую-то фиксированную величину и там проводят оценку узла. Вот эта оценка есть очень великое приближение к реальной оценке узла (то есть, перебора до конца дерева, а там результат - «выиграл, проиграл, ничья»). Насчет оценки узла есть просто кипа различных методик (можно прочесть в линках в конце статьи). Если кратко - то, естественно, подсчитываю материал игрока (согласно одной системе - целыми числами пешка - 100, конь и слон - 300, ладья - 500, ферзь - 900; согласно другой системе - действительными в частях от единицы) + позиция на доске данного игрока. Насчет позиции - то здесь начинается один из кошмаров написания шахмат, так как скорость работы проги будет в основном зависеть от оценочной функции и, если точнее, то от оценки позиции. Тут уже кто во что горазд. За спаренных тур игроку +, за прикрытость короля своими пешками +, за пешку возле другого конца доски + и т.д., а минусуют позицию висячие фигуры, открытый король и т.д. и т.п. - факторов можно написать кучу. Вот для оценки позиции в игре строится оценка позиции игрока, что делает ход, и от нее отнимается оценка соответствующей позиции противника. Как говорят, одна фотография иногда лучше тысячи слов, и, может, кусок кода на псевдо C# тоже будет лучше объяснений:

Enum CurentPlayer {Me, Opponent}; public int AlphaBetaPruning (int alpha, int beta, int depth, CurrentPlayer currentPlayer) { // value of current node int value; // count current node ++nodesSearched; // get opposite to currentPlayer CurrentPlayer opponentPlayer = GetOppositePlayerTo(currentPlayer); // generates all moves for player, which turn is to make move / /moves, generated by this method, are free of moves // after making which current player would be in check List moves = GenerateAllMovesForPlayer(currentPlayer); // loop through the moves foreach move in moves { MakeMove(move); ++ply; // If depth is still, continue to search deeper if (depth > 1) value = -AlphaBetaPruning (-beta, -alpha, depth - 1, opponentPlayer); else // If no depth left (leaf node), evalute that position value = EvaluatePlayerPosition(currentPlayer) - EvaluatePlayerPosition(opponentPlayer); RollBackLastMove(); --ply; if (value > alpha) { // This move is so good that caused a cutoff of rest tree if (value >= beta) return beta; alpha = value; } } if (moves.Count == 0) { // if no moves, than position is checkmate or if (IsInCheck(currentPlayer)) return (-MateValue + ply); else return 0; } return alpha; }

Думаю, не будут излишними некоторые объяснения насчет кода:

  • GetOppositePlayerTo() просто меняет CurrentPlayer.Me на CurrentPlayer.Opponent і наоборот
  • MakeMove() делает следующий ход из списка ходов
  • ply - глобальная переменная (часть класса), которая держит в себе количество полуходов, сделанных на данной глубине
Пример использования метода:

{ ply = 0; nodesSearched = 0; int score = AlphaBetaPruning (-MateValue, MateValue, max_depth, CurrentPlayer.Me); }
где MateValue - достаточно большое число.
Параметр max_depth - максимальная глубина, на которую опустится алгоритм в дереве. Следует иметь в виду, что псевдокод чисто демонстративный, но вполне рабочий.

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

Во-первых, применяется очень известная эвристика «нулевой ход» . В спокойной позиции противнику дают сделать два хода вместо одного и после этого рассматривают дерево на глубину (depth-2), а не (depth-1). Если после оценки такого поддерева окажется, что у текущего игрока все равно есть преимущество, то нет смысла рассматривать поддерево далее, так как после своего следующего хода игрок только сделает свою позицию лучше. Так как перебор полиномиальный, то выигрыш в скорости ощутимый. Иногда бывает так, что противник выровняет свое преимущество, тогда надо рассматривать все поддерево до конца. Пустой ход надо делать не всегда (например, когда один из королей под шахом, в цугцванге или в ендшпиле).

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

Также известна эвристика истории или служба лучших ходов . Во время перебора сохраняются лучшие ходы на данном уровне дерева, и при рассмотрении позиции сначала можно попробовать сделать такой ход для данной глубины (базируется на идее, что на равных глубинах в дереве очень часто делают одинаковые лучшие ходы).
Известно, что такое своеобразное кеширование ходов улучшило производительность советской проги Каисса в 10 раз.

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

Все было бы хорошо, если бы альфа-бета отсечение гарантировано давало бы лучший ответ. Даже учитывая долгое время на перебор. Но не тут то было. Проблема в том, что после перебора на фиксированную величину проводится оценка позиции и все, а, как оказалось, в некоторых игровых позициях нельзя прекращать перебор. После многих попыток выяснилось, что перебор можно прекращать только в спокойных позициях. Поэтому в основном переборе дописали дополнительный перебор, в котором рассматриваются только взятия, promotions и шахи (называется форсированный перебор ). Также заметили, что некоторый позиции с разменом в середине также надо рассматривать поглубже. Так появились идеи насчет extensions і reductions , то есть углублений и укорачиваний дерева перебора. Для углублений найболее подходящие позиции типа ендшпиля с пешками, ухода от шаха, размен фигуры в середине перебора и т.д. Для укорачиваний подходят «абсолютно спокойные» позиции. В советской программе Каисса форсированный перебор был немного особенным - там после взятия во время перебора сразу начинался форсированный и его глубина не ограничивалась (так как за некоторое время он сам себя исчерпает в спокойной позиции).

Как говорил Энтони Хоар : "Premature optimization is the root of all evil in programming. " (примечание: для тех, кто считает, что данная цитата принадлежит Кнуту, есть интересные дискусии

Год назад программа AlphaGo сенсационно обыграла сильнейшего в мире игрока в го, а теперь искусственный интеллект AlphaZero разгромил сильнейший по рейтингу шахматный движок.

Stockfish, который используют для домашней подготовки большинство игроков, победитель Чемпионата TCEC 2016 года и Чемпионата Chess.com среди компьютерных программ 2017 года, оказался явно слабее. В матче из 100 партий AlphaZero одержал 28 побед при 72 ничьих и ни разу не проиграл.

Кстати, AlphaZero потратил всего четыре часа на «изучение» шахмат. Простите, человеки, но вам за ним не угнаться.

Все верно - программисты AlphaZero, разрабатываемого DeepMind, подразделением Google, создали его на основе механизма «машинного обучения», точнее, «обучения с подкреплением». Проще говоря, AlphaZero не изучал шахматы в традиционном понимании. У него нет ни дебютной книги, ни эндшпильных таблиц, ни сложных алгоритмов для оценки силы центральных и фланговых пешек.

Его работу можно сравнить с роботом, который может использовать тысячи запчастей, но не знает принципа работы двигателя внутреннего сгорания, - он перебирает возможные комбинации, пока не построит Феррари, и для этого ему нужно меньше времени, чем занимает просмотр трилогии «Властелин колец». За четыре часа программа сыграла сама с собой множество партий, став своим собственным учителем.

Пока что команда программистов хранит молчание. Они не дали Chess.com комментариев, ссылаясь на то, что доклад «пока находится на рассмотрении», но здесь вы можете прочесть его полный текст. В исследовательскую группу входит Демис Хассабис, кандидат в мастера из Англии и соучредитель DeepMind (приобретен Google в 2014). Хассабис, принимавший участие в турнире тандемов ProBiz на открытии London Chess Classic, в настоящий момент находится на конференции Neural Information Processing Systems (Нейронные системы обработки информации) в Калифорнии, в качестве соавтора доклада на другую тему.

Зато с Chess.com охотно поделился своими суждениями шахматист, обладающий большим личным опытом игры против шахматных компьютеров. МГ Гарри Каспаров не удивлен, что компания DeepMind перешла от го к шахматам.

«Это заметное достижение, хотя оно и было ожидаемо после AlphaGo», - заявил он Chess.com. «Оно приближается к "типу-Б", человекоподобному подходу к шахматам, которым Клон Шеннон и Алан Тьюринг мечтали заменить сплошной перебор».

Подобно человеку, AlphaZero рассматривает меньше позиций, чем ее предшественницы. В отчете заявлено, что она оценивает «всего» 80 тысяч позиций в секунду в сравнении с 70 миллионами в секунду у Stockfish.

МГ Петер-Хайне Нильсен, многолетний секундант чемпиона мира МГ Магнуса Карлсена, открыл свое увлечение, сближающее его с президентом ФИДЕ: инопланетян. Он заявил Chess.com: «Прочитав доклад и, в особенности, просмотрев партии, я подумал: „Мне всегда было любопытно, что было бы, если бы более разумный вид высадился на нашей планете и показал нам свое искусство шахматной игры. Кажется, теперь я знаю, каково это“.

Мы также узнали, о значимости преимущества выступки, по крайней мере, для искусственного интеллекта. 25 из 28 побед AlphaZero одержал белыми (хотя результат +3=47-0 черными против Stockfish, чей рейтинг превышает 3400, также неплох).

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

Что бы вы сделали на месте не ведающего усталости существа, только что освоившего игру с 1400-летней историей? Взялись бы за другую. После матча со Stockfish программа AlphaZero потратила на „обучение“ всего два часа и победила „Elmo“, сильнейшего из компьютерных движков для игры в сёги.

Применение этой инновационной самообучающейся программы, разумеется, не ограничено играми.

»Всегда считалось, что в шахматах от машины требуется слишком много эмпирических знаний, чтобы те могли играть сильно "с нуля", вообще не используя человеческие знания", - сказал Каспаров. «Конечно, мне будет интересно посмотреть, что мы сможем узнать о шахматах с помощью AlphaZero, который открывает огромные перспективы машинного обучения в целом-машины могут находить закономерности, недоступные для людей. Очевидно, что последствия простираются далеко за пределы шахмат и других игр. Способность машины открывать и превосходить знания сложных закрытых систем, накопленные человечеством за века, - это инструмент, меняющий мир».

Журналисты Chess.com опросили восемь из десяти участников турнира в Лондоне об их отношении к матчу программ. Видео с интервью будет размещено на сайте позже.

Наиболее резко критиковал условия матча МГ Хикару Накамура. Сейчас идет горячая дискуссия о вычислительной мощности противников, но Накамура считает, что важнее было другое.

Американский гроссмейстер назвал матч «нечестным», указав, что для оптимальной работы движок Stockfish должен использовать дебютную книгу. Накамура не думает, что с ее помощью Stockfish выиграл бы матч, но разрыв в счете был бы намного меньше.

«Я уверен, что сам Господь бог не набрал бы против Stockfish 75 процентов очков белыми без какой-либо форы», - прокомментировал он результат AlphaZero белыми: 25 побед и 25 ничьих.

МГ Ларри Кауфман, ведущий шахматный консультант движка Komodo, надеется увидеть, насколько хорошо работает новая программа на персональных компьютерах, не пользуясь вычислительными мощностями Google. Он также повторил высказанные Накамурой возражения по поводу того, что Stockfish играл без своих обычных дебютных знаний.

«Конечно, это почти невероятно», сказал он, - «да, я слышал о достижениях AlphaGo Zero в игре го и ожидал, что произойдет что-то подобное, учитывая, что в команде разработчиков есть шахматист Демис Хассабис. Однако, непонятно, сможет ли программа AlphaZero играть в шахматы на обычном компьютере, и насколько хорошо у нее это получится. Возможно, современное преобладание шахматных движков, использующих минимаксную функцию, близится к концу, но пока провозглашать это слишком рано. Стоит указать, что за время обучения AlphaZero де-факто создала собственную дебютную книгу, поэтому было бы справедливее использовать ее против движка с хорошей дебютной книгой».

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

"[Это] современный искусственный интеллект", - сказал гроссмейстер. «Он идет от чего-то вроде шахмат к проблемам, достойным нобелевских премий и даже большего. Думаю, нам повезло, что они решили потратить четыре часа на шахматы, но последствия этого открытия куда более значительны».

культуры. Диссер. Канд. Пед наук. Ростов-на-Дону. 2003.

2.Азарова Е.А. Деструктивные формы семейного воспитания, актуальные проблемы современности, преступления последних времен: духовно-нравственный и криминофамилистический аспекты. - Ростов-на-Дону: Изд-во РГПУ, 2005.

3.Габдрева ГШ. Основные аспекты проблемы тревожности в психологии // Школьный психолог. - 2004. - N° 8. - С. 9.

4.Ениколопов С.Н. Проблемы семейного насилия // Проблемы психологии. -2002. -№5-6.

5.Целуйко В.М. Психология неблагополучной семьи: Книга для педагогов и родителей. - М.: Изд-во ВЛАДОС-ПРЕСС, 2003.

6.Шапарь В.Б. Практическая психология. Психодиагностика отношений между родителями и детьми. -Ростов н/Д: Феникс, 2006.

© Азарова Е.А., Жулина Г.Н., 2016

А.И. Алифиров

канд. пед. наук, доцент РГСУ, г. Москва, РФ

И.В. Михайлова канд. пед. наук, доцент РГСУ, г. Москва, РФ

«ИСКУССТВЕННЫЙ ИНТЕЛЛЕКТ» В ШАХМАТАХ

Аннотация

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

Ключевые слова

Компьютерные технологии в шахматах, шахматные программы, шахматы.

Сегодня под термином "искусственный интеллект" (ИИ) понимается теория создания программных и аппаратных средств, способных осуществлять интеллектуальную деятельность, сопоставимую с интеллектуальной деятельностью человека. При решении практических задач чаще всего пользуются заданием из списка, считая при этом, что если компьютерная система в состоянии решить эти задачи, то она и является системой ИИ. Часто в этот список включают игру в шахматы, доказательство теорем, решение диагностических задач по исходному неполному набору данных, понимание естественного языка, способность к обучению и самообучению, способность к классификации объектов, а также способность вырабатывать новые знания на основе порождения новых правил и моделей регуляризации знаний .

Одной из важнейших проблем новой науки - кибернетики стала проблема, как улучшить управление, как усовершенствовать принятие решений. Один из основателей кибернетики К. Шеннон (Shannon C.) предложил формализовать и программировать шахматы для того, чтобы использовать шахматный компьютер как модель, для решения аналогичных задач управления . Авторитет К. Шеннона был столь велик, что его идеи незамедлительно положили начало новому научному направлению. Идеи К. Шеннона были использованы в работах А. Тьюринга, К. Цузе, Д. Принца.

Автор теории информации. К. Шеннон, писал: "Шахматная машина идеальна, чтобы с нее начать, поскольку (1) задача четко определяется допустимыми операциями (ходы) и конечной целью (мат); (2) она не слишком проста, чтобы быть тривиальной, и не слишком сложна для получения удовлетворительного решения; (3) считают, что шахматы требуют «мышления» для искусной игры, решение этой задачи приведет нас либо к тому, что мы будем восхищаться способностями механизированного мышления, либо к ограничению нашей концепции «мышления»; (4) дискретная структура шахмат хорошо укладывается в цифровую природу современных компьютеров".

В дальнейшем шахматы стали предметом состязания естественного и искусственного интеллекта, и был сыгран ряд матчей ведущих шахматистов мира против компьютеров . В 1995 году в интервью популярному журналу Wired Г.К. Каспаров изложил свой взгляд на шахматную игру: "Шахматы - это не математика. Это фантазия и воображение, это человеческая логика, а не игра с предсказуемым результатом. Я не думаю, что теоретически игру в шахматы можно уместить в набор формул или алгоритмов". Через два года суперкомпьютер DEEP BLUE, победив 13-го чемпиона мира Г.К. Каспарова в матче-реванше из шести партий, сняла с повестки дня вопрос о возможностях шахматного искусственного интеллекта. DEEP BLUE хранила в памяти полную базу данных по всем партиям и анализировала исключительно стратегию расчетом . После матча Г.К. Каспаров изменил свою точку зрения, признав, что: "Шахматы - это единственное поле, на котором можно сопоставить человеческую интуицию и творческие способности с силой и машины". Матч изменил ход развития как классических, так и компьютерных шахмат. В системе тренировки стала широко использоваться помощь искусственного интеллекта. Д.И. Бронштейн в своей книге "Давид против Голиафа" (2003 г.) писал: "Ботвинник считал, что шахматы - это искусство анализа, а время одиночек-импровизаторов вроде Андерсена, Морфи, Цукерторта ушло навсегда. Глядя на современные шахматы, надо признать, что Ботвинник оказался прав. "Компьютерные мальчики" довели его идею о необходимости домашнего анализа до абсурда. Они даже не скрывают, что шлифуют дебютные варианты до ясного результата. На турнире в Линаресе (2000 г.) венгр Леко без тени смущения признал, что вся партия с Анандом стояла у него на компьютере!".

Список использованной литературы:

1. Алифиров А.И. Профориентационная работа в средних общеобразовательных школах средствами шахмат / Алифиров А.И. // Проблемы развития науки и образования: теория и практика. Сборник научных трудов по материалам Международной научно-практической конференции 31 августа 2015 г.: в 3 частях. Часть II. М.: "АР-Консалт", 2015 г. - С. 13-14.

2. Михайлова И.В., Алифиров А.И. Тактические действия шахматистов / Михайлова И.В., Алифиров А.И. // Результаты научных исследований Сборник статей Международной научно-практической конференции. Ответственный редактор: Сукиасян Асатур Альбертович (15 февраля 2016 г.) в 4 ч. Ч/3 - Уфа: АЭТЕРНА. -2016.С. 119-121.

3. Михайлова И.В., Алифиров А.И. Теоретико-методологические основы метода мышления схемами шахматистов / Михайлова И.В., Алифиров А.И. // Результаты научных исследований Сборник статей Международной научно-практической конференции. Ответственный редактор: Сукиасян Асатур Альбертович (15 февраля 2016 г.) в 4 ч. Ч/3 - Уфа: АЭТЕРНА. - 2016. С. 123-125.

4. Михайлова И.В. Подготовка юных высококвалифицированных шахматистов с помощью компьютерных шахматных программ и "интернет" : автореф. дис. ... канд. пед. наук: 13.00.04 / Михайлова Ирина Витальевна; РГУФК. - М., 2005. - 24 с.

© Алифиров А.И., Михайлова И.В., 2016

УДК 378.046.2

А.И. Алифиров

К.п.н., доцент РГСУ, г. Москва, РФ В.В. Федчук, к.п.н.

ООО «Благополучие», старший инструктор методист, г. Москва, РФ ИССЛЕДОВАНИЕ УРОВНЯ ФИЗИЧЕСКОГО ЗДОРОВЬЯ ПОДРОСТКОВ

Аннотация

В статье рассматривается проблема физического здоровья подростков и влияние различных факторов

История развития автоматики и вычислительной техники странным образом связана с шахматами. В XVIII в. "думающие" шахматные автоматы служили для фокусов и мистификаций. Первый аппарат с настоящим искусственным интеллектом, созданный в Испании в начале ХХ в., был способен поставить мат королем и ладьей шахматисту, играющему королем. Видимо, не случайно и то, что одной из первых действительно интеллектуальных задач, поставленных перед программистами еще на заре вычислительной техники, была игра в шахматы. О шахматных программах и связи этой древней игры с развитием технологий искусственного интеллекта рассказывает один из тех, кто создавал первые шахматные программы, доктор технических наук, профессор Владимир Львович Арлазаров .


– Владимир Львович, а как пришли к мысли, что компьютер может решать интеллектуальные задачи?

– Когда выяснили, что компьютеры умеют не только вычислять, как это было придумано с самого начала, что за арифметическими действиями есть логическое действо, которое не только выполняет вспомогательные функции в деятельности вычислительных программ, но и с помощью которого можно решать самостоятельные задачи, то стало ясно: стоит попробовать положить на компьютер интеллектуальные задачи. Где-то с конца 40-х годов и до конца 50-х это активно обсуждалось, более того, ставились полу философские вопросы: а может, компьютеры будут умнее людей? И что тогда? И все на полном серьезе. Сейчас такие вопросы не ставят, все-таки 40 лет прошло. Тогда, на заре вычислительной техники, мы только осознали, что принципиально могут делать машины. Мы поняли, что человеческий мозг есть устройство, аналогичное вычислительной машине, и в тысячу, в миллион раз более мощное, но оно принципиально немножко отличается. Стало понятно, что, по крайней мере, большинство рациональных задач, которые решает человек, могут быть поставлены перед машиной. Следовательно, можно попробовать написать программы, которые эти задачи решают. Одну, две, тысячу... ведь человек тоже решает не бесконечное множество задач. И можно, так сказать, всю интеллектуальную деятельность человека запрограммировать.

– А почему все же решили обратиться к игре?

– Как я уже говорил, широко обсуждалось, может ли машина мыслить. Однако совершенно ясно, что если речь идет о программистах, о людях, которые имеют дело не с философией, а с реальным компьютером, то вопрос не в том, может ли машина принципиально что-то делать, а в поиске примеров того, где машины решают интеллектуальные задачи, причем такие, которые доступны и человеку в его интеллектуальной деятельности. Грань здесь, конечно, не четкая. Но понятно, что если человек множит 20­значные числа, то он при этом не имеет дело с глубоко интеллектуальной задачей, поскольку для ее выполнения очень легко найти тривиальный алгоритм, который известен каждому школьнику. А вот те задачи, где совершенно ясно, что никакого априорного алгоритма у человека нет, а он тем не менее хорошо их решает, мы и будем называть интеллектуальными. Первым претендентом на роль таких задач являются игры, по той простой причине, что, по крайней мере, правила четко сформулированы. Задача чрезвычайно трудная, а правила игры сформулировать легко, и тем самым легко определить и функции машины. С другой стороны, шахматы для человека трудная задача, что как-то никогда не обсуждалось и сейчас не обсуждается.

– А почему из игр выбрали все-таки шахматы? Может быть, традиция?

– Почему только шахматы? Пробовали и крестики­нолики, другие игры. Но у шахмат немало преимуществ перед другими играми. Если в простых играх машина обыгрывает человека, то это никого не удивляет. Шахматы - игра сложная, и победа компьютера здесь значима. Затем в шахматах, в отличие от ряда других игр, много дифференцируемых критериев качества, то есть можно определить: машина играет хорошо, машина играет лучше, лучше, лучше. Во многих других играх подобные градации установить очень трудно. В некоторых же из них машину либо обучают играть абсолютно точно, и тем самым сразу теряется всякий интерес к игре, либо она играет из рук вон плохо. А в шахматах, не абстрактных, а, так сказать, освоенных, уровней столько, что с их помощью можно определить класс игры машины.

– Итак, понятно, почему шахматы были одной из первых и важнейших задач искусственного интеллекта. А какие методы применялись для ее решения?

– С самого начала постепенно осваивалась методика решения задачи шахматной игры. В принципе, шахматы - игра конечная, и с математической строгостью можно доказать, что в любой позиции абстрактно существует наилучший ход для каждого из противников, а значит, и какой-то результат. Поэтому нужно описать алгоритм, в котором эта игра может быть рассчитана до конца. Единственный недостаток такого алгоритма состоит в том, что он требует много времени. И мы не приблизились к тем порядкам времени, которые нужны, чтобы рассчитать, скажем, шахматы до конца из начальной позиции. За прошедшие пятьдесят лет задача в смысле времени так и осталась бесконечно сложной. Ну, бесконечность минус десять - все равно бесконечность. Но если вам нужно время, скажем, 10 в 100-й степени лет, и вы ускорите машину, скажем, в 100 раз, и получите 10 в 98-й степени лет, то вам вряд ли от этого станет легче. Поэтому основной алгоритм - переборный, тривиальный: если я пойду так, то у противника есть столько-то возможностей. Варианты растут в геометрической прогрессии и образуют цепочки. Но количество позиций вообще конечно, и их на каждой цепочке не так уж много. Цепочки объединяются в деревья, которые опять же не бесконечны. Правда, растут они в геометрической прогрессии, и количество цепочек увеличивается. Так вот, встает важный вопрос: нужен ли полный, до самого конца, перебор - до всех матов, патов, троекратных повторений и прочих окончаний игры по шахматным правилам? Ведь если алгоритм ведет к позициям, которые не обязательны на этом дереве, то, возможно, все это дерево и не нужно рассматривать. Заметьте себе, что в диспозиции, где белые дают мат в один ход, можно построить такое же бесконечное дерево, но рассматривать-то его не нужно, а достаточно найти этот один-единственный ход. Может, такая же ситуация и в шахматах в целом? Вообще алгоритм перебора, перебора вариантов имеет отношение к такому количеству решаемых человеком задач, что, если бы мы умели его организовывать каким-нибудь уж очень оригинальным способом, то он был бы, в каком-то смысле, как бы изобретением колеса для человечества - одного из фундаментальнейших открытий. Так вот, перебор мог бы быть, а может, и является таковым - колесом искусственного интеллекта.

– В одной из статей об искусственном интеллекте я читал, что интеллект - это умение понимать и выбирать. Естественно, что научить компьютер выбирать из множества вариантов очень сложно. Но ведь наверняка возможны какие-то решения, специфические для шахмат?

– Да, да. Эту задачу нужно было быстро и эффективно решать, и в шахматах довольно быстро пришли к следующей теоретической постановке вопроса: а давайте смотреть не бесконечное количество ходов, а лишь несколько ходов вперед. Скажем, посмотрим на 5 ходов вперед. Это очень много. Если вы любите шахматы и 5 ходов вам кажется мало, то давайте возьмем 10. И тогда машина на 10 ходов, на 20 полуходов вперед не будет ни в чем ошибаться и гарантирует, что через 10 ходов у вас фигур окажется не меньше. Ясно, что мы имеем дело с сильной играющей машиной. Так что дерево игры придется сократить и решать задачу в гораздо более ограниченном пространстве. Другой вопрос, что и это дерево стараются рассматривать не полностью, с помощью математических методов отсечения. Об одном из них я уже рассказывал: если есть мат в один ход, незачем просматривать остальные варианты. Другие алгоритмы имеют эвристический, не точный характер. В среднем они работают правильно, многие абсолютно точные, но могут и ошибаться. Например, мы можем перебирать не все ходы, а только взятие, и просчитывать их намного вперед, потому что взятий-то мало. Общая углубленность ходов невелика: больше тридцати двух фигур не съесть. Поэтому и длины цепочек небольшие и ветвлений мало. Конечно, ясно, что на одних только взятиях нельзя построить игру, должны быть какие-то позиционные соображения. Комбинация форсирующих (взятие, шах) и позиционных соображений, а также некоторой глубины перебора - основа всех существующих алгоритмов, и она особо не меняется. Другой вопрос: как отбирать те ходы, которые я буду рассматривать дальше? На основании ли только простых формальных критериев (взятие, шах) или же связывать эти ходы, как шахматисты любят говорить, планом, придумывать какие-то цепочки, которые обладают каким-то общим свойством? Во всяком случае, об этом написано очень много серьезных работ, имеющих практическое применение. Не зря созданием шахматных программ занимаются достаточно солидные фирмы.

– А когда появились первые шахматные программы?

– Реальные шахматные программы впервые появились где-то в конце 50-х годов в Америке, а потом где-то в начале 60-х годов - и у нас. Программы были очень слабые, потому что тогда были и предельно примитивные машины и не привычное еще к новизне наше мышление. Включились мы в это дело примерно в 1963 году. Тогда на наших отечественных машинах и были какие-то матчи. По-моему, в 1967 году был первый матч СССР - США. Он так назывался, хотя, конечно, проходил между двумя коллективами, а не странами. Это был матч между нашей программой, разработанной в Институте теоретической и экспериментальной физики, и программой Джона Маккарти, очень известного в компьютерном мире человека, одного из создателей языков программирования, который увлекался тогда шахматными программами. Ходы передавались по телеграфу, тогда ведь никаких сетей не было.

– И кто победил?

– Мы тогда выиграли 3:1. Играли 4 партии. Делался ход в день, поскольку у американцев были более мощные и глубокие программы, которые долго думали, а мы играли на разных вариантах программ, думающих и быстро, и медленно. Наш выигрыш был первым нашим достижением. Это направление стало постепенно развиваться и особенно активизировалось в 70-е годы. Примерно в 1974 году состоялся первый чемпионат мира среди шахматных программ в Стокгольме. Участвовало около восьми программ, в том числе и наших. И мы тогда тоже победили и стали первыми чемпионами мира. С тех пор чемпионаты мира проводятся регулярно, каждые 3 года. Мы в них участвовали еще 2 раза - в 1977 г. и в 1980 г. Лавров мы тогда не снискали, потому что в 1977 г. поделили 2-е и 3-е место (участвовало много шахматных программ, были даже региональные отборы), а в 1980 г. - 4-е и 5-е место. В общем, потихоньку откатывались. Дело в том, что к этому моменту был уже громадный прогресс в вычислительной технике, а мы все еще играли на компьютерах довольно устарелых. И к 1980 г. нам стало ясно, что соревноваться на тех машинах, на которых мы работаем, потеряло всякий смысл, да и вообще в России работы в области шахматных программ стали сходить на нет. Хотя и было довольно много интересных теоретических работ. Чуть позднее создали первую, пожалуй, программу, которая прошла по миру, она умела абсолютно точно разыгрывать сложный эндшпиль, т. е. ферзь и пешка против ферзя, или ладья и пешка против ладьи. Такие эндшпили программа просто до конца рассматривала, т. е. в любой позиции она давала идеально верный ход. Алгоритм был построен на немножко отличных от простого перебора принципах, на полном осмотре всего множества позиций. Ну, и потом в шахматах делали некоторые работы такого характера. А с практической игрой мы тогда распрощались, потому что разности в скоростях были уже в сотни раз. Но чемпионаты продолжались, и развитие шахматных программ продвинулось на совершенно новый уровень, как только все перешло на РС. В результате широкой коммерциализации, в шахматные программы стали вкладывать огромные деньги, сразу все засекретили. А раньше они принадлежали ученым, которые, если не заставить специально, не скрывают своих достижений, а, наоборот, пропагандируют их. В 1980 г. мы впервые почувствовали, что наступило время коммерческого программирования. Этот мир, конечно, своеобразен. Во-первых, потому что в него ведь вкладываются деньги, во-вторых, потому что из него извлекаются деньги. Хотя и существуют журналы по шахматным программам, но за последние 15 - 17 лет реальный обмен идеями сильно сошел на нет, потому что на PC они стали огромным бизнесом.

– Но ведь коммерция стимулирует развитие рынка шахматного ПО?

– Раньше компьютерные соревнования приурочивались к форумам вычислительной техники. Есть такая организация - МФИ (Международная федерация по информатике) и, обычно, к ее конгрессу приурочивались чемпионаты мира. Сейчас они стали абсолютно самостоятельными мероприятиями, достаточно престижными. Таких программ уже сотни и сотни. Сам уровень программирования и уровень наших знаний уже таков, что сделать простенькую шахматную программу не составляет ни малейшего труда. Это нормальная студенческая работа. Я ее как раз и поручаю какому-нибудь студенту. Обыграть шахматную программу стало, так сказать, расхожим местом.

– Но, как всегда, низший уровень упрощается, а высший усложняется?

– Вот именно. Поэтому последние программы, те, что сейчас побеждают, в частности, программа, которая победила Каспарова, стали намного сильнее. Глубина перебора значительно выросла и, конечно, это результат наших математических продвижений, а отчасти просто прогресса вычислительной техники. Ведь если раньше рассмотрение 1000 позиций в секунду считалось очень много, то сейчас в тех деревьях, о которых мы с вами уже говорили, рассматривается более миллиона позиций. А лишний миллион - это несколько уровней ходов при правильном отборе. А каждый уровень глубины перебора очень усиливает программу. Каждый уровень на ход вперед - это примерно разряд, и, скажем, глубина перебора в четыре хода - это третий разряд, в пять ходов - уже второй разряд. Когда мы достигаем уровня в 11–13 ходов - это мастерский уровень и дальше играть с машиной довольно сложно. Конечно, сейчас лидируют американцы, потому что умеют вкладывать большие деньги в такие вещи.

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

– В точности никто не скажет, потому что это предмет спекуляции. Были достаточно сильные программы с просто минимальными знаниями, сознательно минимальными, специально для того, чтобы посмотреть, что можно выжать из чистой математики. В какой-то момент это было связано с коммерциализацией и особенно с тем, что стали делать максимально сильные программы - не важно уже за счет чего. Но отчасти из-за того, что работа с заложенными знаниями - самостоятельная задача, то их стало очень много. Прежде всего был создан огромнейший справочник. Сейчас справочники - это сотни тысяч позиций. Затем очень много шахматного интеллекта вкладывают всегда в оценку позиций. Она сводится, конечно, и к игровому материалу, что тривиально, и к некоторым позиционным факторам. Так вот, позиционные факторы - чисто шахматный интеллект, который, конечно, программируется, но здесь его закладывается много и он все время совершенствуется. И чем больше факторов туда вкладывается, тем сильнее программа. В каком-то смысле умение оценить позицию и глубина перебора - вещи взаимозаменяемые. Если бы мы умели оценивать позицию гениально, то нам было бы достаточно попробовать все первые ходы. Это как крайний пример. Понятно, что лучшая оценка позиции соответственно больше влияет на глубину перебора. Таков второй, принципиальный метод. Существует довольно много программ, где шахматный интеллект закладывается в выбор самих рассматриваемых вариантов, то есть каких-то чисто шахматных соображений, каких-то планов. Таких соображений довольно много, что ограничивает круг перебора. Область их действия не очень широкая, и интеллектуально-шахматные специфические данные замедляют перебор. Кстати, именно за интеллектуальные вещи, когда-то очень сильно ратовал Ботвинник. Он был большим энтузиастом машинных шахмат и внес туда некоторые идеи. Хотя ему так и не удалось создать действующую программу, но тем не менее его авторитет был тогда очень высок. Так вот, он очень расстраивался, что, в общем, направление не такое "интеллектуальное", как ему хотелось бы, и в программы вкладывался очень ограниченный объем чисто шахматных знаний.

– А специализированные шахматные компьютеры? Они, видимо, действуют именно методом генерации?

– Конечно, конечно. Во-первых, в смысле генерации перебор схематичен. Во-вторых, не менее важны всякие таблицы позиций, потому что в шахматах повторяемость позиций очень велика. Вы пойдете Е4Е6D4 или же D4Е6Е4 - позиция получится одна и та же, а ведь это всего лишь 3 полухода. А когда мы начинаем углубляться, то повторяемость позиций очень велика. В-третьих, техническая область. Вообще-то в свое время мы строили теории про то, для каких позиций локальные изменения принципиально не могут вести к изменению форсированных вариантов, как создавать своего рода шаблоны. Шаблоны таких вариантов хорошо укладываются в разные чисто технические схемы компьютера. Конечно же, очень важны справочные схемы.

– Есть ли средства для создания универсального мыслительного аппарата, в который можно было бы заложить базу знаний - неважно, шахматные позиции или что-нибудь еще, правила, по которым с этими знаниями надо работать - и получать от него адекватные результаты?

– Ясно, что в плане конструктивности, такая задача сегодня не решаема, не актуальна. Хотя многие интеллектуальные задачи сейчас решаются, такие, например, как распознавание текста. Вы можете положить в сканер листок с текстом и получить его на экране в Word. Он сам прочтется, каждая буковка распознается. Реально мы продвинулись во многих интеллектуальных задачах. Одни из них уже решены, другие решаются. В чем-то получается сравнительно лучше, нежели при участии человека, в чем-то пока еще хуже. Можно привести много примеров практических задач. Что касается универсального искусственного мыслительного механизма, то это, скорее, проблема философская, чем практическая. Ведь даже для такой простой игры, как шахматы, нам потребовалось 30 - 40 лет, чтобы фактически чего-то добиться. Всякая философия основывается на мнениях. Каждый думает, что он прав, а может, каждый прав по-своему. Например, я всю жизнь имел дело с искусственным интеллектом и полагаю, что мозг человека не более чем большая вычислительная машина, следовательно, нельзя сказать, что принципиально невозможно создать аналогичную ей. Вопрос в ее мощности, скоростных характеристиках, в наполнении ее знаниями. Ничего непостижимого здесь нет. Это моя личная точка зрения. Но существуют и другие мнения. Конечно, если мы признаем божественную природу человека, то тогда уже надо выбрать один из двух гносеологических вариантов. Либо да, мы имеем божественную природу, но она познаваема. В таком случае нам не удастся воспроизвести по-настоящему то, что сумел сделать Господь Бог, но, по крайней мере, мы сможем Его творения хотя бы частично воссоздать. Либо же мы стоим на позиции агностицизма, и тогда она непознаваема, и вопрос полностью снимается. Выходит, что некоторые задачи человеческий мозг решает - и тут ни у кого сомнений нет. Но догнать мозг мы не можем, потому что, с одной стороны, он создан Богом, а с другой - познать его мы не в состоянии. Все три позиции связаны с верой, поскольку в реальности-то необязательно познавать все функции мозга. Если мы сделаем машину, по мощности равную мозгу, то ей ни к чему думать так, как мозг. Она по-другому будет работать.

– В психологии, насколько я знаю, интеллектуальное развитие человека определяют по трем критериям: способности абстрагироваться, создавать интеллектуальный ряд и какому-то еще... Насколько эти возможности реализуются в искусственном интеллекте и реализуются ли вообще?

– Полно программ, которые специально нацелены на то, чтобы создавать понятия, абстрагирующиеся от существующего фактического материала. Такие программы хорошо работают. Другой вопрос, что человек умеет создавать эти понятия как бы по своим собственным законам, которые он сам себе придумывает. Все наши попытки перевести эти его законы на язык алгебры логики оказываются бесперспективными. У человека гораздо более мощный мыслительный механизм, который мы просто не знаем. Мы ничего не умеем делать "вообще". Мы создаем необходимые нам формулировки, но "выразить" их в точных машинных задачах не можем. К механическим задачам все сводится с трудом, и даже если сводится, то медленно. Наверное, мы пока не знаем более прямых путей к достижению цели. Заложить-то в компьютер можно все, что угодно. Вопрос в том, что человек способен манипулировать этими знаниями все время, но он еще не умеет заставить делать то же самое машину из-за ограниченного объема и скорости данных.

– Но, может быть, не имеет никакого смысла заставлять машину манипулировать знаниями?

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

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

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

Пасьянс Косынка