- Итак, язык практической математики делает аксиомы, теоремы, следствия - весь арсенал математики доступным машине. Но кто беседует с ЭВМ на этом языке, кто учит ее математике?
- Каждый, кому не лень. Я говорю серьезно: передача машине математических знаний - дело коллективное. Все математики должны хотеть, чтобы ЭВМ знала и фундаментальные вещи, и новейшие, только что опубликованные факты. Все математики будут стремиться к полноте и детальности машинных знаний.
- Отчего же такая забота о компьютере?
- Не о компьютере забота, а о себе. Знающая машина спасает математика от неловкости. Вообразите, вы прибегаете утром на работу и оповещаете своих коллег: "Сегодня ночью я решил десятую проблему Гильберта! Получился простенький алгоритм..." Вы ожидаете взрыва восторга, а в ответ несутся сдавленные смешки...
- Коллеги смеются, потому что десятую проблему решили раньше?
- Конечно! Но не только потому. Еще и потому, что запоздалое решение ошибочно - там нет никакого алгоритма, ни простого, ни сложного, там алгоритмическая неразрешимость... Вот если б незадачливый математик, прежде чем оповещать мир об открытии, сел бы за пульт ЭВМ и сообщил бы ей...
- Любопытно, как он говорил бы с машиной?
- Ну примерно так: "Пусть D - диофантово уравнение, пусть С - целые числа. Ввожу алгоритм проверки, имеет ли любое D решение в С. Сообщи новизну и корректность алгоритма".
- Как выглядел бы ответ машины?
- Категорически. "Новизна отсутствует. Десятая проблема Гильберта решена в 1969 году Ю. В. Матиясевичем. Нужна ли библиография?"
- То есть ЭВМ предлагает отпечатать список работ, в которых содержится решение?
- Само собой разумеется. Она перебрала свои математические знания, нашла относящиеся к делу и готова делиться ими с человеком.
- Прекрасно! Проверка новизны избавляет математиков не только от досады, но и от лишней работы. Ваш открыватель уже открытого мог обратиться к машине до бессонной ночи,, он мог узнать, стоит ли думать на 1 десятой проблемой, или это зряшное занятие.
- Конечно. Но главное впереди. Машина не ограничивается проверкой новизны. Она проверяет правильность алгоритма, предложенного человеком. Она печатает дальше: "Ваш алгоритм некорректен. Ошибка состоит в следующем..."
- Для подобной проверки мало математических знаний. Нужны особые, тонкие умения.
- Справедливо. Здесь вступает в игру Алгоритм Очевидности - самое могучее наше оружие. Он шаг за шагом проверяет рассуждения человека. Никаких эмоций, никаких поблажек, голая логика. Если ход мысли человека постижим для него, если ему ясна правота или ошибочность, то он печатает результат, а если в рассуждениях математика содержатся бреши, просит заполнить их, вступает с математиком в диалог.
- Давайте представим себе, что я тот математик.
Как общается со мной Алгоритм Очевидности?
- Он печатает: "Уважаемый Алексей Григорьевич, у вас из посылки А вытекает посылка В. На основании какой аксиомы или теоремы вы сделали данное заключение?"
- Я отвечаю: "Это интуитивно ясно".
- А он говорит: "Подумайте, на чем основана ваша интуиция. У меня нет подходящей аксиомы или теоремы. Может быть, вы пользуетесь аналогией? Сообщите, какую аналогию вы имеете в виду".
- Я отвечаю... Впрочем, уже ясно, что мы найдем общее решение: либо Алгоритм Очевидности вычислит мою правоту, либо я пойму собственную ошибку. Кстати, почему он так называется - Алгоритм Очевидности?
- О, здесь целая история! Вы знаете, самым любимым выражением математиков являются слова "очевидно, что". Пожалуй, у каждого на это магическое заклинание свой взгляд. Сколько ступенек преобразований можно пропустить без потери очевидности? Это зависит от квалификации математика, и от вкуса, и даже от порядочности. Один набивает свои работы тавтологиями, у него уже в самом начале очевидно, что находится в конце; другой в свободном полете мысли пропускает даже опорные пункты своего рассуждения. Легче самой доказать его теорему, чем ломать голову над авторскими "очевидно, что".
- Я вспомнил Блеза Паскаля. Мальчиком, читая "Начала" Эвклида, он возмущался: зачем приводятся доказательства теорем, когда достаточно одних формулировок? Доказательства очевидны! Ваш Алгоритм Очевидности столь же проницателен?
- Нет, на сегодняшний день сила его "видения" примерно такая же, как у среднего выпускника вуза. Кое в чем он сильнее, например, в упрощении формул, а кое в чем слабее, скажем, в аналогиях. А в целом он вполне профессионален.
- Итак, ЭВМ является аккуратным собирателем математических знаний, педантичным проверялыциком новизны и правильности, ловилыциком блох, может быть, даже составителем ехидных контрпримеров. Но способна ли машина к математическому творчеству? На первый случай, может ли она доказать новую теорему?
- Конечно! Человек сообщает ей свое предположение, интересное, но не доказанное им, а ЭВМ проводит полное доказательство.
- Успех гарантирован?
- Нет, но он очень вероятен. Либо Алгоритм Очевидности сам осилит доказательство, либо он позовет на помощь человека. Человек, надо надеяться, придумает вспомогательную теорему, а машина докажет ее, а человек тогда... В активном взаимодействии, в диалоге, перемещая границы очевидности друг друга, как картонные перегородки, партнеры отыщут доказательство.
- Которое ЭВМ тут же возьмет на заметку, включит в свой фонд доказательств, оприходует под номером 24 328, например...
- Для начала так она и поступит. Но как только у нее выдастся свободное от другой работы время, машина изучит новую теорему вдоль и поперек. Если эта теорема обобщает результаты нескольких других, то ЭВМ самостоятельно перестроит свои знания.
- Самостоятельно перестроит свои знания?
- Именно так. Наша машина не только знающий математик, она еще и современный математик. Она стремится всегда овладеть более общими, более сильными методами.
- Это касается и Алгоритма Очевидности?
- В первую очередь! В алгоритм наряду с методом резолюции должно влиться все яркое в области вывода, в том числе приемы узкие, но полезные.
- Вы говорите об эвристиках?
- Да, некоторые эвристики уже включены в Алгоритм Очевидности, дорога для других открыта. Без них в практической математике сегодня не обойтись.
- Остался один, пожалуй, главный вопрос: сможет ли машина самостоятельно находить новые теоремы, предлагать новые математические результаты?
- Это зависит от нашей способности выделять белые пятна, перспективные области в теории. Если область поиска очерчена, машина способна вскрыть все месторождения, получить все новые результаты. А уж глубоки ли они, красивы ли, полезны ли, судить человеку.
Работа Киевской школы теоретической кибернетики, о которой мы беседовали с Ю. Капитоновой, быстро продвигается вперед. Она, без сомнения, принесет громадную пользу самой математике. Не меньшего могут ждать от нее те, чьи интересы лежат в области практического Искинта. Программа - врач, или учитель, или юрист приобретает мощную, разнообразную, тщательно выверенную систему поиска следствий из заданных посылок.
А. Лавлейс, первая программистка, считала, что машина предназначена только для этой работы - для выведения следствий - и потому не способна сделать что-либо действительно новое. И сегодня немало людей разделяют ее пессимизм.
Следствия, однако, не всегда мельче, хуже, бледнее своих посылок. Скажем, лекарство от рака может оказаться дальним следствием известных фактов. Но разве поэтому оно не явится новостью, важнейшей, спасительной, желанной новостью для человечества? Лекарство, не исключено, скрывается на самой дальней ветке дерева возможностей. Тем труднее добраться до него, тем почетнее прийти к этому поистине величайшему следствию. Получение следствий - подлинно творческая работа.
Вот почему В. Глушков, касаясь логического мышления человека, говорит о том, что "хорошей (если не лучшей) модельной задачей здесь может служить задача автоматизации доказательства теорем в математике". Необходимо найти способы резкого сокращения блужданий и переборов, чтобы избежать абсурдных комбинаций, чтобы избавиться от нелепых альтернатив, чтобы действовать рационально, а не машинально.
Такие приемы недалеко лежат, они прекрасно известны специалистам по Искинту, это эвристики.
Сегодня метод резолюций дополнен эвристиками; эвристики вошли в самое нутро метода: машинная логика благодаря им стала результативной. Доказательства теорем, эта святая святых математики, не обошлись без эвристик. Выгнанная в дверь, психология вернулась через окно. Никуда от нее не деться!
Деревья опровержений, как и деревья возможностей, деревья целей и многие другие деревья Умного леса, нуждаются в эвристиках. Невольно возникает вопрос: эти деревья, что они? Условные значки, удобные и модные сегодня, или могучая метафора, связанная с нашими первоосновами, с глубинами человеческого мышления?