б одном толковании понятия алгоритма // Логика, методология, философия науки. XI международная конференция,. — Т. 6. — Москва-Обнинск, 1995. — С. 57–60.
ОБ ОДНОМ ТОЛКОВАНИИ ПОНЯТИЯ АЛГОРИТМА
Понятие алгоритма является одним из древнейших, фактически
оно входит в круг общенаучных категорий. Длительное время алго-
ритм был практически стабильным понятием, однако в последнее
время под влиянием информатики в его содержании стали происхо-
дить определенные изменения, которые, по нашему мнению, пока не
привели его к достаточно стабильному новому пониманию. Представ-
ление об алгоритме находится в процессе развития.
Традиционно алгоритм связывался с решением задач, доказа-
тельством и в этом аспекте относится к области математических
дисциплин. Однако появление компьютеров расширило его понимание.
Теперь алгоритм стал трактоваться как система команд исполнителю
совершить определенную последовательность действий [1,2]. Изме-
нились и выделяемые свойства алгоритма. Вместо традиционно выде-
ляемых математиками свойств массовости, применимости, результа-
тивности на первый план выступает свойство однозначности. Алго-
ритм так точен, что предопределяет все действия исполнителя, его
результат не зависит от исполнителя.
Свойство однозначности позволяет отличить алгоритм от пред-
писаний алгоритмического типа. Например, иногда приводят в ка-
честве примера алгоритма кулинарный рецепт. Однако всем извест-
но, что хотя различные повара часто готовят блюда по одному и
тому же рецепту, вкус их получается различным, т. е. результат
выполнения предписаний, указанных в рецепте, зависит от исполни-
теля. Поэтому кулинарный рецепт не является алгоритмом.
Результаты выполнения алгоритма различными исполнителями
должны быть тождественными, однако в реальном мире абсолютной
тождественности не существует: для любых двух реальных объектов
можно найти параметр, по которому они отличаются, например по
местоположению. Отождествление может осуществляться только в
абстракции, т. е. в рамках модели. Определение тождествености или
различия может быть реализовано только в формальных моделях. По-
этому в строгом смысле алгоритм применим только для формальных
моделей, а для реальных действий существуют предписания алгорит-
мического типа, которые могут интерпретироваться и исполняться
только человеком. Поэтому дихотомия "алгоритмическое - неалго-
ритмическое" эквивалентна дихотомии "формальная модель - реаль-
ность".
- 2 -
Введение исполнителя (а неявно и составителя) кардинально
меняет содержание понятия, оно вводится в новый контекст - сов-
местных действий. Один партнер (составитель) поручает выполнить
определенные действия другому партнеру (исполнителю). Для согла-
сования действий вводится новое понятие - система команд испол-
нителя, т. е. перечень тех команд, которые может выполнить (по-
нять) исполнитель.
Когда же исполнитель может понять команду? Тогда, когда у
него есть собственный внутренний (интериоризованный?) алгоритм
выполнения этой команды! Алгоритм определяется через алгоритм.
Кажущийся порочный круг разрывается тем, что алгоритмы исполни-
теля являются более простыми, чем алгоритмы составителя. Однако
этот ход дает возможность совершенствовать, развивать исполните-
ля. Например, первоклассник является исполнителем алгоритмов,
включающие простейшие арифметические действия, но ему непонятно,
например, действие нахождения корней квадратного уравнения. В
более старшем возрасте ученик уже является исполнителем алгорит-
мов, включающих в себя решение квадратных уравнений и так далее.
К свойству однозначности примыкает свойство предсказуемос-
ти: составитель алгоритма может предсказать все результаты при-
менения алгоритма. Однако для очень сложных систем предписаний
это невозможно. В вычислительной технике стали отказываться от
требования полной предсказанности результата и перешли к "веро-
ятно правильной" работе алгоритма.
Поэтому понятие в строгом смысле алгоритма применимо к от-
носительно простым формальным моделям. По мере роста их сложнос-
ти происходит отказ от требований однозначности, тождественнос-
ти, полной предсказуемости результата применения алгоритма его
составителем. Эти требования заменяются условиями вероятного,
приближенного совпадения с замыслом, ожиданиями составителя ал-
горитма. Описание сложных формальных систем становится все более
субъективированным, "человеческим". В частности, это выражается
в феномене персонификации сложных компьютерных систем ("глупая",
"упрямая", "хитрая" и т. п. машина) [4]. Меняется как язык описа-
ния объекта, так и само представление о нем.
Поэтому дихотомия "алгоритмизированное - неалгоритмизиро-
ванное" внутренне связана с дихотомиями "простое - сложное",
"предсказуемое - непредсказуемое". Появление непредсказанных
- 3 -
составителем последствий функционирования сложных систем приво-
дит к известной в психологии дихотомии основного и побочного
продукта действия, к творчесту [3].
В алгоритм входит и цель. Например, если программисту
предъявить случайный набор инструкций компьютера и спросить его,
является ли этот набор алгоритмом, то ответ будет "да, но только
неизвестно какого алгоритма". Конечно, цель здесь понимается не
так как в психологии (осознанное предвосхищение результата буду-
щего действия, косвенно связанного с мотивом [5]), а как резуль-
тат, конечное состояние.
Возникает вопрос о роли концептуальных и формальных моделей
в регуляции деятельности. Одним из основных в отечественной пси-
хологии является положение об опосредствующей, регулирующей роли
в деятельности знаковых средств. Эти средства могут быть различ-
ной степени сложности, начиная от простейших знаков-символов
(узел на носовом платке) и кончая сложными знаковыми моделями,
реализуемыми с помощью компьютерных систем. Применение знаков,
моделей структурирует деятельность, регулирует и направляет ее.
Каждый образованный человек может действовать как в рамках
формальных моделей по алгоритму (подсчитывать сумму баллов, про-
изводить логический вывод из данных посылок), так и в реальности
(наблюдать, общаться, мастерить). Предписания алгоритмического
типа, не соотносимые с формальными системами, организуют практи-
ческую деятельность субъекта, задают требования к последователь-
ности его действий. Конкретное практическое действие строится в
процессе целеобразования на основе заданных предписаний, мотива-
ционно-личностных и интеллектуальных особенностей субъекта и от-
ражения объективных условий деятельности. Поэтому результаты вы-
полнения различными субъектами предписаний алгоритмического типа
могут существенно отличаться.
Знаки служат опорными, стабилизирующими элементами деятель-
ности. Концептуальные и формальные знаки могут непосредственно
использоваться для регуляции практической деятельности, более
того, формальные модели дают возможность производить, "вычис-
лять" опорные элементы деятельности. Это позволяет расширить
круг ситуаций, в которых развертывается пробная деятельность.
Возможность осуществления данной цепочки преобразований, выво-
дов, получения следствий, 'правильных' с формальной, логической
- 4 -
точки зрения является существенным достоинством формальных тео-
рий. Выводы, сделанные в рамках нестрогих, концептуальных моде-
лей гораздо более ограниченны.
Выводы, полученные с помощью формально-логических преобра-
зований правильны, истинны, если верны все посылки, все основа-
ния, т. е. если формальная модель правильно, адекватно отражает
моделируемую реальность. Однако если в формальной модели есть
ошибка, неточность хотя бы в одной посылке, исходном предположе-
нии, если где-то она не соответствует реальности, то чем длиннее
цепочка формальных преобразований, вычислений, тем меньше досто-
верность, надежность выводов. В этом случае один из способов
достижения правильных выводов - проверка промежуточных и конеч-
ных выводов на практике.
Поэтому всегда важно понимать место алгоритмов в познании и
человеческой деятельности и отказываться от сведения сложнейшего
к простому, от попыток быстрого построения "алгоритмов разума".
ЛИТЕРАТЕРА
1. Введение в вычислительные средства и программи-
рование. М., МГУ, 1987.
2. Основы информатики и вычислительной техники: пробное учебное
пособие для средних учебных заведений / Под ред. ,
, Часть I. М., 1985.
3. Пономарев творчества. М., 1976.
4. Психологические проблемы автоматизации научно-исследователь-
ских работ / Под ред. , . М., 1987.
5. Тихомиров мышления. М., 1984.


