Абстрактная модель поведения при решении задачи
Мы обращаемся теперь к общей теории решения задачи, с тем чтобы позже вернуться к специфическим вопросам «творческой» части спектра процесса решения задач.
Лабиринт представляет подходящую абстрактную модель для большинства видов деятельности по решению задач. Лабиринт является группой путей (возможно, частично перекрывающихся), в которой какая-то подгруппа отличается от других тем, что в конце путей имеются цели (награды, подкрепления). Пути этой подгруппы являются «правильными» путями: найти один из них — значит решить задачу прохождения лабиринта.
Мы можем подняться на следующую ступень абстракции и охарактеризовать решение задачи при помощи следующих положений: дана группа Р, найти член подгруппы S из группы Р, имеющий специальные свойства.
Существуют различные пути классификации Процессов, используемых людьми при решении задачи. Полезным является различение процессов нахождения возможных решений (создание членов Р, которые могут принадлежать к S) от процессов определения того будет ли найденное предложение фактически решением (проверяя, относится ли к S созданный элемент Р). Мы называем процессы первого класса процессами выработки решения, а второго класса — процессами проверки (верификации).
В достаточно малом лабиринте, где члены S, как только они открыты, легко могут быть опознаны как решение, нахождение решения тривиально (примером является Т-образный лабиринт для крыс с пищей на одной из дорожек). Трудности при сложном процессе поисков решения возникают в связи с комбинацией двух факторов: размеров группы возможных решений, которые должны быть исследованы, и задачей установления того, действительно ли соответствует предложенное решение условиям задачи. Используя нашу формальную модель решения задачи, мы можем часто получать значащие меры трудности конкретных проблем и меры эффективности конкретных устройств и процессов решения задачи. Рассмотрим некоторые примеры.
Обратимся к выбору хода в шахматах. В среднем шахматист чья очередь совершать ход, осуществляет свой выбор из 20 или 30 альтернатив. Поэтому «нахождение» возможных ходов не представляет трудностей, но огромные трудности существуют при определении того, будет ли конкретный дозволенный ход хорошим ходом. Проблема не в генераторе, а в проверочном компоненте деятельности. Однако принципиальный метод для оценки хода состоит в рассмотрении некоторых противоположных возможных ответов, собственных ответов и т.д., только попытки оценить результаты позиций после этого лабиринта возможных последовательностей ходов осуществляются с некоторой глубиной. Лабиринт последовательности ходов чрезвычайно велик. Если мы рассматриваем пять последовательных ходов для каждого игрока, предполагая в среднем 25 дозволенных продолжений на каждой ступени, мы находим, что Р, группа таких последовательностей ходов, включает около 1014 (100 миллионов миллионов) членов.
Еще один пример будет полезен для уяснения того, как различные устройства сокращают количество проб, требуемых для нахождения решения задачи. Рассмотрим сейф, замок которого включает 10 независимых дисков, каждый из них пронумерован от 00 до 99. Сейф будет иметь 10010=1020 или 100 биллионов возможных положений дисков, только одно из которых будет открывать его. Однако если сейф неисправен и всякий раз возникает легкий щелчок, когда любой диск установлен в правильном положении, то потребуется в среднем только 50 проб, чтобы открыть сейф. 10 последовательных щелчков, предупреждающих взломщика, когда «теплее», вот и все отличие неразрешимой задачи от тривиальной.
Итак, если мы можем получить информацию, которая подсказывает нам, какое решение испытать, и, в частности, если мы можем получить информацию, которая позволяет нам раздробить большую проблему на несколько небольших задач и узнать, успешно ли мы решили каждую из небольших задач, — поисковая деятельность может быть значительно сокращена.
Эвристика для решения задач
Мы рассмотрим некоторые примеры успешных программ решения задач для того, чтобы понять, что имеет место при выработке решения и проверке его и как программы сокращают задачи до приемлемых размеров. Мы используем термин «эвристический» при определении любого принципа или устройства, которые вносят вклад в сокращение среднего числа проб при решении. Хотя еще не существует общей теории эвристики, мы можем иметь дело с некоторыми эвристиками, применяемыми при решении человеком сложных задач.
Эффективные генераторы
Даже когда группа Р велика, как это обычно бывает в сложных процессах решения, генератор решений может рассматривать на ранней стадии те части Р, которые скорее всего бесплодны. Например, многие проблемы имеют следующую форму: группа решений включает все элементы Р со свойством А, свойством В и свойством С. Нет генераторов, которые будут создавать элементы, обладающие всеми тремя свойствами. Однако могут существовать генераторы, которые создают элементы, обладающие двумя какими-то свойствами из этих трех. То, какой генератор будет выбран, зависит от того, какие требования наиболее сложны, и от относительной стоимости выработки решений. Если большинство элементов отвечает А, тогда обосновано создание элементов С и В, так как можно ожидать, что А скоро появится. Если элементы с А редки, лучше создавать элементы, которые имеют свойство А.
«Логик-теоретик» дает нам четкий пример этого типа эвристики. Вспомним, что задача «логика-теоретика» заключается в поисках доказательств. Доказательство представляет собой список логических выражений, удовлетворяющих следующим требованиям:
A. Начало списка включает известные теоремы (любое число их).
B. Все другие выражения в списке являются прямыми и истинными следствиями выражений, приведенных выше.
C. Последнее выражение списка является выражением, которое доказывается.
Наиболее эффективным является генератор, который отвечает условиям В и С. Если фиксируется последнее выражение как желаемое, то создаваемые списки включат только действительные выводы В, ведущие к последнему выражению. Проблема решена тогда, когда создан список, отвечающий условиям А, т. е. выражениям, которые все являются теоремами.
При этом типе генератора элементы создаются как бы «с конца», идя от желаемого результата по направлению к данным задачам. Этим путем идет «логик-теоретик» при открытии доказательств.
Конкретная ситуация, которую мы встречаем здесь (множество возможных начальных точек в противоположность одной конечной) и которая предрасполагает к работе в направлении от конца к началу, является сравнительно распространенной.