Как машина почти стала человеком. Страница из истории программирования
Эвристический процесс, в какой бы конкретной деятельности он ни осуществлялся, обладает общими характеристиками, общими существенными свойствами. Эта идея единства механизмов эвристической деятельности была давно известна многим философам и психологам.
Уже в ХХ веке были созданы программы, в какой-то мере имитирующий человеческий разум.
Самая знаменитая из них - программа GPS (ДжПС, «Универсальный решатель проблем»).
В принципе ядро программы ДжПС может быть использовано для решения любых конкретных задач, если будут преодолены трудности формулирования их условий на специальном машинном языке и подобраны операторы.
Основой программы ДжПС служит набор классов задач или целей. Эти классы задач используются для постановки проблемы и являются основными элементами для построения процесса решения. Та или иная конкретная задача решается по принципу последовательного приближения.
Основное содержание работы ДжПС состоит в том, что данная задача постепенно преобразовывается до тех пор, пока не будет достигнута искомая ситуация. Этот процесс связан с последовательным решением целого ряда более частных задач.
Это происходит следующим образом. ДжПС оценивает задачу (цель), с тем чтобы определить, следует ли работать над ней дальше. Если задача принимается, то выбирается и применяется метод, соответствующий этой задаче. Если этот метод оказывается непригодным, то вновь производится оценка, стоит ли дальше продолжать попытки решить эту задачу. Если задача не отвергается, то выбирается другой метод и т. д.
Методы решения сводятся к постановке промежуточных задач (принадлежащих к определенным классам задач), и этот процесс продолжается до тех пор, пока не достигается состояние, когда могут быть выполнены промежуточные задачи.
Программа ДжПС может быть использована для решения довольно широкого класса задач, в том числе и производственного характера. Интересны опыты с этой программой по решению так называемых задач на сообразительность.
Например, исследователи применили программу ДжПС для решения известной задачи о миссионерах и каннибалах.
Условия задачи таковы: нужно перевезти через реку трех миссионеров и трех каннибалов, сделав несколько рейсов на лодке, вмещающей не более двух человек. При этом число каннибалов на любом берегу никогда не должно превышать число миссионеров.
После того, как соответствующим образом были определены фигурирующие в данной задаче объекты, их свойства, различия между ними, операторы, программа помогла решить эту задачу.
Является ли программа ДжПС действительно общей, описывающей эвристические процессы в разных областях человеческой деятельности? Чтобы узнать это, ученые обратились к самой интеллектуальной и творческой игре.
Программистам стало интересно проследить, как реализовались эвристические принципы при программировании шахматной игры — того самого объекта, для которого метод простого перебора вариантов явно недостаточен.
Программисты попытались обучить ДжПС игре в шахматы. Оказалось, что это невозможно. А исследователям очень хотелось, чтобы их программа могла играть в шахматы. Без этого решатель проблем не мог называться «общим», область его применения существенно суживалась.
Следовательно, существуют такие задачи, которые не под силу ДжПС. Каковы же свойства этих задач и почему данный вид эвристических программ с ними не справился?
Принцип работы «Общего решателя проблем»таков, что он должен идти от начальной ситуации (или площадки лабиринта) к некоторой цели. Если задана цель, конечная площадка, и известен отрезок пути от начальной площадки до этой цели, ДжПС работает хорошо.
А если решающая задачу система (машина или человек — неважно) лишена таких данных? Если область поиска решения не определена?
В этом случае программа, работающая по такому принципу, не сможет решать задачи с необходимой степенью надежности и успешности. Именно к такому классу задач относятся шахматы.
Количество возможных ходов здесь настолько велико, что перед задачей выбора хода пасует быстродействие существующих счетно-решающих машин. Можно ограничить задачу, стоящую в этом случае - поставить машине цель: отправляясь от существующей позиции, достигнуть матового положения. Однако это сужение задачи не облегчает положение.
Ведь матовых позиций существует тоже огромное количество, и если исходное положение на доске включает в себя достаточно большое количество фигур, то создается опять-таки ситуация с астрономическими количествами позиций и различных вариантов.
Неудача ДжПС имело принципиальное значение еще и потому, что элементы, из которых строится шахматная позиция, — фигуры — имеют четкое определение.
Правда, программисты - Ньюэлл, Шоу и Саймон - создали эвристическую шахматную программу, которая была уже не общей, а специализированной, предназначенной только для игры в шахматы. Основой для ее построения служат правила, обобщения, советы, которые содержатся обычно в учебниках шахматной игры.
Машина, работающая по этой программе, была способна разыгрывать довольно сложные и интересные партии.
Оба типа эвристических программ оказались весьма перспективны. Однако в собственном смысле этого слова эвристическими могут быть названы лишь такие программы, которые основаны на знании общих закономерностей человеческой интеллектуальной деятельности.
Именно в них делается попытка смоделировать процесс решения задач, его существенные компоненты, а это наиболее интересно с точки зрения общих проблем кибернетики.
Программы же, моделирующие конкретные формы деятельности, воссоздают лишь результат этого процесса. В них фиксируются готовые правила и приемы, позволяющие давать ответы в известных ситуациях.