Работа на неполной информации — главное отличие в способе «мышления» машины и человека. И именно эту способность труднее всего воспроизвести в машине. Виктор Михайлович Глушков — признанный математик, много занимавшийся теоретическими вопросами, а теперь обратившийся к кибернетике, уверяет, что проще всего научить машину думать как математик-теоретик (то есть обучить ее логическим действиям). И гораздо труднее воспроизвести такие интуитивные действия, как поиски решения, оценка вариантов, умение узнавать в незнакомом известные черты. А ведь все это — в более примитивной форме, разумеется, — могут делать даже животные.
Логическое мышление математика он сравнивает с правилами передвижения шахматных фигур, а поиск правильного доказательства — с талантом, опытом и интуицией шахматиста.
Теперь дело было за психологами: вооруженные математическим инструментом, они должны разобраться в механизмах нашего мышления и дать свои рекомендации инженерам. Но инженеры вольно или невольно тоже научили кое-чему следопытов мысли. В их представления вклинилась кибернетика. «Раз мозг — устройство для переработки информации, значит и изучать надо в первую очередь информационные процессы в нем», — пришли к выводу психологи.
Заставляя людей играть в «морской бой», они стремятся найти правила (или, как мы сказали бы теперь, алгоритмы) переработки информации человеческим мозгом.
Откуда они возникают, эти злополучные алгоритмы? Один из американских психологов шутливо заметил: задавать такой вопрос все равно, что спрашивать бостонских дам, откуда они берут свои шляпы. Те возмущенно ответят: «Моя дорогая, мы не получаем наши шляпы, у нас они есть».
И все же вопрос вполне законный. Надо только условиться, что именно мы имеем в виду под алгоритмом. Слово это взято из математики. Там алгоритм — это система правил, по которым решаются те или иные задачи. К примеру, вы хотите разделить число 348 592 на 849. Те последовательные действия, которые вы для этого проделаете, и есть алгоритм. Иными словами, это правила, руководствуясь которыми вы можете разделить любое многозначное число на другое, тоже многозначное. Они применимы не к одной частной задаче, а ко всем задачам такого типа.
Алгоритм, о котором мы сейчас говорим, — один из самых простых. Его вы учили в школе. Математика насчитывает сотни разных алгоритмов. История этой науки, собственно, и есть открытие многочисленных алгоритмов. И как у всякого открытия — у каждого из них своя судьба, подчас драматическая. Случаются они не часто, и всякий раз это большое событие — ведь появляется возможность решать новый круг задач, новый ряд проблем.
Обогащая математику, вновь открытые алгоритмы расширяют возможности человеческого мозга вообще — он обретает способность успешно действовать в более сложной обстановке.
Так может быть, алгоритмы лежат в основе не только вычислительной работы ума, но и вообще мышления? Многие психологи склонны думать, что дело обстоит именно так. По аналогии с машинами алгоритмы иногда еще называют программой мыслительных действий или планами поведения. Суть дела от этого не меняется: всегда речь идет об определенных правилах решения мыслительных задач, своего рода формулах мышления.
Математические алгоритмы человек изобрел сам, а те, которыми пользуется его мозг, создала природа. У нас в голове много разных формул мышления. Одни, наиболее простые, мы получаем по наследству от своих родителей. Им не надо учиться. Все остальные умения и навыки приобретаем в течение жизни. Но берем их не из воздуха, а перенимая опыт прежних поколений. Этими алгоритмами мы овладеваем в школе.
Впрочем, не думайте, что, окончив школу, вы получаете универсальный набор формул мышления. Программы мыслительных действий не хранятся у нас в памяти в готовом виде. Часто мы владеем только схемами, из которых могут возникать разные программы. Так, вероятно, для произнесения алфавита существует жесткая программа, которая запоминается вся целиком. Числа по порядку номеров в пределах сотни с небольшим мы тоже произносим не думая, пользуясь раз и навсегда запомнившимся алгоритмом, а когда числа начинают увеличиваться, мы скорее вычисляем, чем перечисляем, прибавляя единицу к каждому новому числу. Иными словами, мысленно формируем новую программу действий.
Преимущества такого способа мышления особенно наглядно видны на примере с машинами. Что выгоднее: снабдить вычислительную машину готовой таблицей логарифмов или дать формулу, чтобы она сама выводила логарифмы, которые ей нужны? В первом случае машина быстро найдет необходимые логарифмы в таблице, но, если встретится новое число, логарифм которого не дан, она не сможет ничего сделать. Во втором случае машина, конечно, будет вычислять медленнее, так как ей придется еще и выводить логарифмы. Зато сможет создать логарифмы любых чисел и поле ее деятельности не будет ограничено никакими рамками.