11.2. Универсальный решатель задач
11.2.0. Историческая справка
GPS — возможно, наиболее знаменитая программа за всю историю искусственного интеллекта. О ней впервые сообщили Ньюэлл, Саймон и Шоу (1959) в довольно туманном докладе на
конференции, который, к счастью, был перепечатан в книге под редакцией Льюса, Буша и Галантера (1965). Убедительное, легко читаемое описание системы можно также найти в статье Ньюэлла и Саймона (1961). Эрнст и Ньюэлл (1969) опубликовали подробное описание самой программы, характера ее работы и необходимых для ее реализации методов программирования.
Идейной основой GPS было интересное сочетание вычислительной науки и психологии. С точки зрения первой из них программа GPS была логическим обобщением программ, предназначенных для решения задач в рамках тех или иных конкретных областей, таких, как исчисление высказываний (Ньюэлл, Эрнст и Шоу, 1957), планиметрия (Гелернтер, 1963) и интегральное исчисление (Слейгл, 1963). С точки зрения же психологии программа GPS предлагалась как модель переработки информации мозгом человека. Мысль о том, что некая программа для вычислительной машины могла бы служить моделью познавательной способности, возникла на самых ранних этапах развития вычислительной науки. Пойа (1954) подчеркивал, что способы, которые применяются математиками при получении доказательств, имеют мало общего со способами представления этих доказательств в окончательной форме. Чтобы объяснить, как работают математики, Пойа придумал слово „эвристика" для описания тех методов открытия доказательства, которые легко применить и которые часто, хотя и не всегда, приводят к нужному решению. Основываясь на своем личном опыте и опыте других математиков, Пойа привел много примеров, показывающих, что эвристики действительно используются, но он был очень неточен в определении того, что представляют собой сами эти эвристики. Одно из важнейших достижений Ньюэлла и др. в психологии — демонстрация того, что эвристические методы можно воплотить в программе для ЭВМ. Такая программа была бы точно определенным методом для „догадки" о решении. Если бы этот метод был применен и каким-нибудь человеком для решения той же задачи, то можно было бы считать такую программу моделью данного человека. Ньюэлл и Саймон настойчиво пытались показать, что эта модель ничуть не менее строга, чем любая традиционная математическая модель, поскольку в конечном счете любую программу можно свести к последовательности булевских операций. С другой стороны, в форме программы для ЭВМ можно выразить очень сложные последовательности шагов, так что программа может в принципе описать гораздо более богатое множество типов
поведения, чем любая обозримая система уравнений. Это положение в современной психологии общепринято (Миллер, Галантер и Прибрам, 1960; Хант, 1968; Фрейда, 1971; Нейссер, 1967; Рейтман, 1965), хотя, конечно, существуют противоположные мнения о том, являются ли конкретные модели хорошими или плохими моделями поведения, которое они, как предполагается, описывают.
Как упоминалось в гл. 1, программа GPS развилась из работы над программой для решения задач Логик-Теоретик (ЛТ) (Ньюэлл, Саймон и Шоу, 1956, 1957), которая решала задачи исчисления высказываний гл. 2 книги Уайтхеда и Рассела „Principia Mathematica». Хотя теоремы из ,,Principia“ являются основными при установлении соотношений между логикой и математикой, их доказательства не представляют слишком большой трудности. Гениальность Уайтхеда и Рассела состояла не в доказательстве теорем, а в осознании того, что они значили. С другой стороны, достижения ЛТ отнюдь не тривиальны. Эта программа построила доказательства, до которых не додумались бы большинство студентов-второкурсников, а, хотя человек считается разумным (по определению), большая часть людей менее разумна, чем второкурсники университета. Более того, для получения этих доказательств не использовался грубый метод проб и ошибок. В большинстве случаев программа находила практически прямой путь к решению.
Программу ЛТ можно представить состоящей из двух блоков, один из которых связан с анализом задачи и порождением подзадач, другой — с применением правил исчисления высказываний. С точки зрения программирования, однако, эти два блока имеют много общего. В GPS они были разделены и принципиально, и в программной реализации. Идея состояла в том, что программа GPS должна была включать в себя блок анализа задачи и порождения подзадач как часть всей программы, а методы, характерные для данной содержательной области (т. е. правила исчисления высказываний или правила алгебры), поступали бы на вход. В следующем разделе мы подробнее рассмотрим это.
Программа GPS вызвала множество комментариев. В области психологии основным, по-видимому, заключением было то, что GPS сама по себе не есть модель решения задач человеком, но что она намечает путь к тому, какой должна быть такая модель. (Для лучшего понимания психологических аспектов GPS можно
обратиться к книге Ньюэлла и Саймона, 1972.) В области вычислительных наук универсальный решатель задач обычно упоминается при изучении вопросов, связанных с написанием программ, ориентированных на очень широкий круг задач (Ньюэлл и Эрнст, 1965). Поскольку книга Эрнста и Ньюэлла (1969) содержит обширную документацию, программа GPS может служить иллюстрацией к обсуждению вопроса о решении задач на ЭВМ. В практическом плане она сейчас уже уступила более мощным программам, рассчитанным на решение тех же задач с помощью других принципов (Робинсон, 1965), и программам, написанным „в духе“ GPS, но использующим методы программирования, еще не известные во времена создания GPS (Файкс и Нильсон, 1971; Куинлан и Хант, 1968, 1969).