Они дали программе полную свободу: она могла самостоятельно отпускать маятник, а затем тщательно изучать полученные данные о его перемещениях с целью вычисления математических уравнений, описывающих поведение маятника. Алгоритм контролировал все аспекты эксперимента; при каждом повторении он случайным образом выбирал положение, из которого маятник должен был начать движение, а затем выполнял анализ и выбирал новое положение, которое с наибольшей вероятностью должно было приблизить его к пониманию законов, определяющих движение маятника. Липсон отмечает, что система «не является пассивным алгоритмом, который выступает в роли простого наблюдателя. Она задает вопросы. Это — любопытство» {147}. Программе, которая позже получила название «Эврика», хватило несколько часов, чтобы сформулировать ряд физических законов, описывающих движение маятника, включая второй закон Ньютона; при этом она смогла сделать это, не получив предварительно никакой информации о физике или законах движения и не будучи запрограммированной на их изучение.
В «Эврике» применяется генетическое программирование — метод, повторяющий принципы биологической эволюции. Алгоритм начинает с составления уравнений путем случайного сопоставления различных строительных блоков, состоящих из математических выражений, а затем проверяет, насколько хорошо получившиеся уравнения соответствуют данным [31]. Уравнения, которые не проходят проверку, отбраковываются, а те, которые демонстрируют определенный потенциал, перекомпоновываются таким образом, чтобы в конечном итоге из них могла получиться точная математическая модель {148}. Процесс нахождения уравнения, описывающего поведение естественной системы, уж точно нельзя назвать пустячной задачей. По словам Липсона: «[П]режде на создание одной прогнозирующей модели у [ученого] могла уйти целая жизнь» {149}. Шмидт добавляет: «[Ф]изики вроде Ньютона и Кеплера могли бы запустить этот алгоритм на компьютере и всего после нескольких часов вычислений получить законы, объясняющие падение яблока или движение планет» {150}.
Когда Шмидт и Липсон опубликовали статью с описанием своего алгоритма, на них обрушился шквал запросов на получение доступа к их программе от других ученых. В связи с этим в конце 2009 г. они решили сделать «Эврику» доступной через Интернет. За прошедшее с того момента время с помощью этой программы удалось получить интересные результаты в ряде областей науки, включая упрощенный вариант уравнения, описывающего биохимическую природу бактерий, которую ученые до сих пор не могут до конца понять {151}. В 2011 г. Шмидт основал в районе Бостона стартап Nutonian, Inc. с целью коммерциализации «Эврики» в качестве инструмента анализа больших данных как в бизнесе, так в научной сфере. Одним из результатов проделанной работы стал перенос «Эврики» — по примеру системы Watson компании IBM — в облачную среду и превращение ее в приложение, которое доступно другим разработчикам ПО в виде встраиваемого модуля.
Большинство из нас склонны — что вполне естественно — связывать идею творчества исключительно с мозгом человека, но будет нелишним напомнить, что сам наш мозг — несомненно самое сложное «изобретение» из всех ныне существующих — является продуктом эволюции. С этой точки зрения вряд ли стоит удивляться тому, что очень часто при попытке создания способных к творчеству машин используются методы генетического программирования. Суть генетического программирования заключается в том, чтобы научить компьютерные алгоритмы проектировать самих себя путем естественного отбора в соответствии с описанными Дарвином принципами. Все начинается с генерирования случайного компьютерного кода, который затем многократно редактируется с помощью методов, имитирующих процесс полового размножения. Время от времени в код вбрасывается случайная мутация, в результате чего процесс его формирования может пойти совершенно другим путем. Появляющиеся новые алгоритмы подвергаются проверке на пригодность, в результате которой они либо выживают, либо — что происходит намного чаще — умирают. Одним из ведущих исследователей в этой области является профессор Стэнфордского университета, специалист в области информационных технологий и консалтинга Джон Коза. Он проделал большую работу по использованию генетических алгоритмов в качестве «средств автоматизации изобретательской деятельности» [32]. Коза привел по меньшей мере семьдесят шесть примеров того, как в результате использования генетических алгоритмов были получены результаты, способные конкурировать с плодами работы инженеров и ученых. Приведенные им примеры относились к самым разным областям, включая проектирование электрических цепей, механические системы, оптику, восстановление ПО и гражданское строительство. В большинстве из них алгоритмы воспроизвели существующие разработки, но по крайней мере в двух случаях генетические программы сумели создать патентоспособные изобретения {152}. По мнению Коза, генетические алгоритмы обладают неоспоримым преимуществом перед разработчиками-людьми, поскольку не ограничены рамками сложившихся представлений; другими словами, они с большей вероятностью могут найти принципиально новый подход к решению проблемы {153}.
Читать дальше
Конец ознакомительного отрывка
Купить книгу