Код креативности. Как искусственный интеллект учится писать, рисовать и думать — страница 10 из 64

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

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



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

Радикальное обновление традиций игры в го случалось в ее истории и раньше, и даже неоднократно. В последний раз новаторские методы игры предложил в 1930-х годах легендарный Го Сэйгэн[21]. Его эксперименты с дебютами произвели в го настоящую революцию. Однако теперь игроки признают, что программа AlphaGo, возможно, положила начало революции еще более масштабной.

Китайский чемпион по го Ке Цзе считает, что мы вступаем в новую эру: «Человечество играет в го тысячелетиями, и все же, как показал нам искусственный интеллект, мы еще не освоили и малой части этой игры. Союз людей и компьютеров, играющих в го, откроет перед нами новую эру».

Гу Ли, соотечественник Ке Цзе и победитель большинства международных турниров по го, добавляет: «Работая вместе, люди и искусственный интеллект вскоре познают глубочайшие тайны го». Хассабис сравнивает свой алгоритм с телескопом «Хаббл». Это сравнение отражает взгляд многих на новый искусственный интеллект такого рода. Это инструмент, позволяющий исследовать глубже, дальше, шире, чем когда-либо раньше. Он должен не заменить человеческое творчество, но стимулировать его.

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

Сейчас AlphaGo прекратила состязаться с другими игроками. Группа, занимавшаяся го в компании DeepMind, расформирована. Хассабис доказал, что его кембриджский преподаватель был неправ. DeepMind занимается теперь другими проблемами – здравоохранения, изменения климата, энергоэффективности, распознавания и синтезирования речи, компьютерного зрения. Все эти работы становятся очень серьезными.

Учитывая, что игра го всегда казалась мне защитой от проникновения компьютеров в занятия математикой, может ли область моей собственной работы стать следующей мишенью DeepMind? Чтобы по-настоящему оценить потенциал этого нового искусственного интеллекта, нам нужно будет более пристально рассмотреть принципы его работы и покопаться в его внутреннем устройстве. Но поразительнее всего то, что для создания программ, которые, возможно, оставят меня без работы, DeepMind использует те самые инструменты, которые веками создавали именно математики. Так может ли это математическое чудовище Франкенштейна обратиться против своего же создателя?

4Алгоритмы – секрет современной жизни

Аналитическая машина ткет алгебраические

узоры точно так же, как жаккардовый

станок ткет цветы и листья.

Ада Лавлейс

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

Один из самых первых алгоритмов был разработан в эпоху зарождения математики в Древней Греции. В «Началах» Евклида, рядом с доказательством существования бесконечного количества простых чисел, мы находим инструкцию, следуя которой шаг за шагом можно решить следующую задачу: найти наибольшее число, являющееся делителем обоих данных чисел.

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

Предположим, что у нас есть два числа, M и N (предположим также, что N меньше M). Прежде всего разделим M на N и обозначим остаток от деления N1. Если число N1 равно нулю, то N – наибольшее число, на которое делятся оба исходных числа. Если же число N1 не равно нулю, то разделим N на N1 и обозначим остаток от деления N2. Если число N2 равно нулю, то N1 – наибольшее число, на которое делятся и M, и N. Если же число N2 не равно нулю, то повторим ту же операцию. Разделим N1 на N2 и обозначим остаток от деления N3. Остатки от деления будут становиться все меньше и меньше, оставаясь при этом целыми числами, так что рано или поздно мы должны дойти до нуля. Алгоритм гарантирует, что, когда это произойдет, остаток от предыдущего деления будет наибольшим числом, на которое делятся и M, и N. Это число называется их наибольшим общим делителем.

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



Если M = 36, а N = 15, то при делении M на N получится остаток N1 = 6. При делении N на N1 получится остаток N2 = 3. Но при делении N1 на N2 никакого остатка не получится, и таким образом мы выясняем, что наибольшее число, на которое делятся и 36, и 15, равно 3.

Как вы видите, в этой процедуре много выражений типа «если…, то…». Это характерно для алгоритмов, и именно это обеспечивает столь превосходную пригодность алгоритмов для программирования и компьютеров. Древняя инструкция Евклида затрагивает самую суть четырех ключевых свойств, которыми в идеале должен обладать любой алгоритм:


1. Он должен состоять из точно сформулированных и однозначных инструкций.

2. Процедура всегда должна заканчиваться (а не уходить в бесконечный цикл!), какие бы числа в нее ни ввели.

3. Она должна выдавать ответ для любых значений, введенных в алгоритм.

4. В оптимальном варианте алгоритм должен быть быстрым.


Ни в каком из шагов алгоритма Евклида нет никакой неоднозначности. Поскольку остаток от деления уменьшается на каждом шаге, он неизбежно доходит до нуля за конечное число шагов, после чего алгоритм останавливается и выдает ответ. Чем больше числа, тем больше время работы алгоритма, но работает он все же относительно быстро. (Если вас интересует точное значение, число шагов в пять раз больше числа знаков в меньшем из двух чисел.)

Если самые старые алгоритмы появились более 2000 лет назад, почему же само это название происходит от имени персидского математика IX века? Мухаммад Аль-Хорезми был одним из первых руководителей великого «Дома мудрости» в Багдаде и отвечал за перевод многочисленных древнегреческих текстов по математике на арабский язык.

Слово «алгоритм» происходит от латинской транскрипции его имени. Хотя все инструкции к алгоритму Евклида приведены в его «Началах», язык Евклида чрезвычайно невразумителен. Мышление древних греков было очень геометрическим; вместо чисел они говорили о длинах отрезков, а их доказательства состояли из изображений – приблизительно как в нашем примере с мощением пола. Но изображений недостаточно для строгих математических утверждений. Для них требуется язык алгебры, в котором буква может обозначать любое число. Именно в этом и состояло изобретение Аль-Хорезми.

Чтобы суметь ясно изложить, как работает алгоритм, нужен язык, позволяющий говорить о любом числе, не указывая, какое именно это число. Мы уже видели, как работает этот принцип, в объяснении действия алгоритма Евклида. Мы присвоили числам, которые пытались анализировать, имена – N и M. Эти переменные могут представлять любые числа. Могущество этого нового лингвистического подхода к математике состояло в том, что он позволял математикам понять грамматику, лежащую в основе операций с числами. Можно было не говорить о конкретных примерах работы того или иного метода. Новый язык алгебры дал возможность объяснять закономерности, определяющие поведение чисел. Подобно коду компьютерной программы