1) проведение бритвой по коже;
2) проведение рукой по коже;
3) IF кожа не гладка, THEN 1;
4) IF кожа гладка, THEN 5;
5) прекращение бритья.
[На самом деле инструкция 4 излишняя, так как переход к очередной инструкции произойдет
автоматически, если не будет выполнено условие, заложенное в третьей строке. В случае если кожа
станет гладкой, бритье автоматически прекратится.]
Сходные закономерности действуют и во многих других областях повседневной жизни.
Подобные программы используются домохозяйкой при мытье посуды, гитаристом при настройке
гитары, лектором (или конферансье), следящим за вниманием аудитории, и т. п. Такие же программы
действуют и при формулировании гипотез, позволяющих воспринять или распознать предмет либо
животное. Нетрудно представить себе программы из инструкций "IF ... THEN ...", с помощью которой
мозг ребенка будет отличать кошку от собаки или даже от львенка.
Разумеется, существует множество других инструкций, позволяющих формировать циклы или
даже вкладывать их один в другой. Однако подробный разбор таких инструкций не входит в наши
задачи.
3. Решение проблем. Из главы 8 мы уже знаем, что для решения проблем необходимо
объединение и обработка информации, содержащейся в памяти и поступающей из внешней среды. Для
этого можно использовать разные процедуры, различающиеся по тому, в какой степени используется
память и в какой манипулирование самой информацией (Norman, Lindsay, 1980).
Типы процедур. Возьмем простой пример: предположим, что нам необходимо умножить 12 на 12.
Для этого можно использовать по меньшей мере три типа процедур.
Первая из них это метод последовательных преобразований. При этом наш расчет может быть
осуществлен с помощью 11 сложений:
12 + 12 = 24; 24 + 12 = 36; 36 + 12 = 48 и т. д.
Такая процедура требует очень малого участия памяти, но большого манипулирования
информацией.
Второй тип процедур основан на использовании таблиц. При этом в памяти необходимо хранить
как можно больше столбцов из таблицы умножения, и тогда ответ, взятый из столбца с множителем 12,
автоматически появится в голове или на экране. В отличие от первого способа здесь требуется очень
небольшая обработка информации, но весьма обширная память.
Третья разновидность процедур это своего рода компромисс между первыми двумя типами.
Она основана на применении правил и требует среднего объема памяти и манипулирования
информацией. В нашем примере для этого достаточно знать таблицу умножения для первых 10 чисел, а
затем произвести несколько операций. Схема расчета будет такой:
(10 10) + (2 10) + (10 2) + (2 2) = 144.
Типы процедур, используемых для решения проблем, зависят от имеющегося опыта, от
необходимого числа повторений одной и той же операции и от емкости памяти.
Для того чтобы узнать, какое вино подходит к тому или иному блюду, мы можем
последовательно перепробовать различные вина, использовать таблицу, в которой к каждому блюду
рекомендуется какое-то вино, или же использовать общие правила соответствия вин различным типам
мясных блюд. Инженер, проектирующий мост, и астроном, отыскивающий на небе звезду, будут таким
же образом выбирать нужный тип процедуры.
Можно провести еще одну параллель между работой человеческого мозга и компьютера при
решении проблем. Речь идет о применении тех стратегий, которые мы рассмотрели в главе 8.
Поскольку компьютер может работать только по программе, рассматривать здесь случайный
перебор бессмысленно. В случае если речь идет об игре, в которой такая стратегия не используется,
было бы неэкономно «заставлять» компьютер искать решение задачи с помощью этой стратегии.
Остальные две стратегии используются как человеком, так и компьютером.
Рациональный перебор соответствует эвристическому методу,
при котором процессор
занимается поисками частичных решений, чтобы максимально повысить вероятность нахождения
приемлемого решения, сведя к минимуму время и усилия на его поиск.
Систематический перебор соответствует алгоритмическому методу; в этом случае
систематически просматриваются все возможные (при имеющемся наборе данных) решения с целью
найти то из них, которое наиболее эффективно. Однако компьютер, так же как и человек, не использует
|