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