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