Дело выглядело так, будто ему удалось одновременно найти решения обоих кризисов. Во-первых, его заумные математические идеи идеально подходили для выражения чрезвычайно практического мира современной информатики, а во-вторых, он получил в свое распоряжение новый язык, при помощи которого можно было построить новое основание для математики, в которой центральную роль будет играть компьютер.
Сформулированное Воеводским видение будущего математики слишком революционно для большинства математиков, многие из которых считают, что он перешел на сторону темных сил. До сих пор существует глубокий разрыв между теми, кто работает с карандашом и бумагой (может быть, время от времени используя компьютер для проверки рутинных расчетов), и теми, кто хочет использовать компьютеры для доказательства новых теорем. Идея применения компьютеров в проверке теорем становится приемлемой: в этом процессе руководит по-прежнему человек, создавший доказательство.
Отторжение, в том числе и у меня, возникнет, когда дело дойдет до создания компьютерами собственных математических работ.
Но Воеводский считал, что с этими старыми представлениями придется расстаться: «Я не вижу другого варианта развития событий. Я думаю, что этот процесс сначала будет воспринят каким-нибудь небольшим подмножеством, а потом оно станет расти, и в конце концов это станет обычным делом. На следующем этапе это начнут преподавать в аспирантуре, а со временем – в университете. Это может занять, не знаю, десятки лет, но я не вижу, как может произойти что-нибудь другое».
Воеводский сравнивал взаимодействие с компьютером с компьютерной игрой: «Ты говоришь компьютеру: “Попробуй вот это”, и он выдает результат своих действий. Иногда из этого получается нечто неожиданное. Это увлекательно».
Воеводский так и не узнал, чем закончится начатая им революция. К несчастью, в 2017 году он умер от аневризмы в возрасте пятидесяти одного года.
Именно вдохновляясь видением Воеводского, я решил смириться с будущим и принять возможности развития математического творчества, которые предлагают компьютеры. Учитывая те тесные связи, которые всегда существовали между математикой и музыкой, я задумался, нельзя ли получить некоторое представление о той роли, которую компьютеры могут играть в занятиях математикой, рассмотрев, как искусственный интеллект предоставляет новые возможности для сочинения музыки. В конце концов, как сказал некогда ученик Баха Лоренц Мицлер фон Колоф: «Музыка есть не что иное, как звучащая математика… Математика – сердце и душа музыки».
11Музыка как звучащая математика
Музыка чарует нас, хотя красота ее состоит только в соотношениях, числе и счете ударов и колебаний звучащих тел, повторяющихся через известные промежутки, счете, который мы не замечаем…[75]
В 1964 году, когда Филип Гласс учился в Париже у Нади Буланже, каждый его урок начинался с Баха. Каждую неделю Гласс должен был выучивать новый хорал Баха, а «Искусство фуги» было ключевым элементом учебной программы. После того как он осваивал очередной хорал, гимн для четырех голосов, ему нужно было добавить к исходным четырем голосам еще четыре так, чтобы ни один из голосов не повторял других и тем не менее все они гармонично сочетались друг с другом. Буланже считала, что все великие композиторы должны начинать с погружения в Баха.
Мне кажется, что некая малая часть меня хотела бы, чтобы я стал не математиком, а композитором. Музыка неизменно сопровождает меня во всех моих математических приключениях. Когда я обдумываю неисследованные дали математического мира, мой мозг выискивает закономерности и структуры, и, может быть, именно поэтому музыка Баха или Бартока помогает мне думать. Обоих этих композиторов привлекали построения, похожие на те, что интересуют меня в математике. Бах любил симметрию. Бартока завораживали числа Фибоначчи. Иногда композиторов интуитивно привлекают математические построения, значения которых они даже не осознают; в других случаях они сознательно берут новые математические идеи и используют их в качестве основы своих сочинений.
Когда я разговаривал с композитором Эмили Ховард о геометрических конструкциях, которые, возможно, было бы интересно исследовать с музыкальной точки зрения, мне пришла в голову одна идея. Может быть, она согласилась бы давать мне уроки композиции в обмен на краткий курс гиперболической геометрии? Это предложение показалось ей разумным, и вскоре после этого мы встретились, чтобы выпить кофе и провести мой первый урок.
Чистый лист бумаги может приводить в оцепенение начинающего писателя; точно так же я впал в панику при виде нотного стана, на котором не было никаких нот. Эмили спокойно объяснила, что каждый композитор должен начинать с определения рамок или набора правил, которые помогут придать форму его сочинению. Она предложила начать с правил, которые регулировали средневековое многоголосье, в котором одной из форм полифонического произведения был так называемый мензуральный, или пропорциональный, канон на основе одной музыкальной темы. Идея заключается в следующем: нужно начать с простой мелодии, которая поется одним голосом. Второй голос поет ту же мелодию в два раза медленнее, а третий – в два раза быстрее. Таким образом, мы получаем три голоса, поющие в разных, но тесно связанных между собою ритмах. Когда мы слушаем полифоническое произведение, построенное таким образом, наш мозг замечает закономерность, связывающую все три голоса.
В качестве домашнего задания я должен был сочинить простую мелодию и развить ее в трио для струнных, используя средневековую традицию пропорционального канона. Это довольно простое задание, которое к тому же легко выразить математической формулой: х + 2 х + ½ х. По мере того как появлялась пьеса, которую я сочинял, у меня возникло сильное ощущение, что это занятие похоже на работу садовника. Я начал с маленького фрагмента мелодии, который я создал из ничего. Он был подобен семени, которое я посеял на нотном стане. Но потом, используя алгоритм, который дала мне Эмили, я мог взять это семя, преобразовать его, изменить, вырастить, и алгоритм начал помогать мне в заполнении еще пустых нотных линеек музыкальными фрагментами, которые были тесно связаны с исходным «семенем», но не являлись простым повторением одного и того же фрагмента. Я получал огромное удовольствие, глядя, как из этого простого правила вырастает мой музыкальный сад.
Сочинение этой простой пьесы помогло мне понять тесную связь между алгоритмами и сочинением музыки. Алгоритм – это набор правил, в который можно ввести разные данные и, применяя к ним эти правила, получить результат. Исходно вводимые данные – это семя. Алгоритм – способ проращивания этого семени. Мы видели, что в алгоритм можно ввести два числа и, применяя алгоритм Евклида, найти наибольшее число, на которое делятся оба исходных. Есть алгоритмы, которые берут разные изображения и, проанализировав их, могут сказать, что именно на них изображено. Есть алгоритмы, выращивающие фрактальную графику: для этого они начинают с простого геометрического рисунка и создают сложное изображение, многократно применяя математическую формулу.
Алгоритмы, работающие с музыкой, имеют похожие качества. Возможно, увидеть, почему алгоритмы являются ключевым элементом инструментария композитора, можно на примере одного из ранних произведений Филипа Гласса. Эта пьеса под названием «1 + 1» написана для одного исполнителя, который выстукивает ритмическую последовательность на столешнице; звук усиливается контактным микрофоном. Семенами пьесы являются два ритма: первый, который я назову ритмом А, состоит из двух коротких звуков и следующего за ними долгого звука, а второй, ритм В, – из одного только долгого звука. Гласс предлагает исполнителю комбинировать эти ритмы в соответствии с какими-либо регулярными арифметическими прогрессиями. Это и есть алгоритм, который проращивает семена.
Исполнитель может выбрать любые алгоритмы по своему вкусу, но Гласс приводит примеры разных арифметических прогрессий, которые можно использовать для «выращивания» этой пьесы. Например, ABAABBBAAABBBBB… Здесь ритм А каждый раз удлиняется на одну единицу, а ритм В – на две. Я думаю, многие критиковали Гласса, говоря: «Да ладно, где же здесь музыка? Это просто монотонные звуки!», но, по-моему, эта пьеса кристаллизует самую суть любой музыки – мозг слушателя осознает, что эти звуки не случайны и не получаются простым повторением. Попытки проанализировать конструкцию пьесы и распознать скрытые в ней закономерности доставляют немало удовольствия. Именно идея закономерности, на мой взгляд, и обеспечивает такую тесную связь музыки с миром математики.
Таким образом, часть искусства (или, возможно, науки) сочинения музыки оказывается двойственной: композитор должен придумать новый алгоритм, который можно использовать для создания интересной музыки, и выбрать различные семена, которые можно ввести в этот алгоритм. Но если работа по созданию музыки обладает этим алгоритмическим свойством, не может ли это быть ключом к возможности сочинения музыки компьютером?
Одна из причин, по которым Буланже настаивала, чтобы Филип Гласс начал сочинение музыки с Баха, состоит в том, что в творчестве Баха очень заметно присутствие алгоритмов.
Я считаю, что Бах в некотором смысле заслуживает титула одного из первых музыкальных программистов (авторов не только код, но и кодов). Его алгоритмы намного сложнее того простого алгоритма, который лежит в основе средневекового многоголосья, но многие из его сочинений можно интерпретировать в математических терминах. Чрезвычайно ясно иллюстрирует это положение «Музыкальное приношение»[76], вдохновленное заданием, которое дал Баху Фридрих Великий.