б одном толковании понятия алгоритма // Логика, методология, философия науки. XI международная конференция,. — Т. 6. — Москва-Обнинск, 1995. — С. 57–60.

  ОБ ОДНОМ ТОЛКОВАНИИ ПОНЯТИЯ АЛГОРИТМА

 

  Понятие алгоритма является одним из древнейших,  фактически

оно входит в круг общенаучных категорий.  Длительное время алго-

ритм был практически стабильным  понятием,  однако  в  последнее

время  под  влиянием информатики в его содержании стали происхо-

дить определенные изменения,  которые, по нашему мнению, пока не

привели его к достаточно стабильному новому пониманию. Представ-

ление об алгоритме находится в процессе развития.

  Традиционно алгоритм  связывался с решением задач,  доказа-

тельством и  в  этом  аспекте относится к области математических

дисциплин. Однако появление компьютеров расширило его понимание.

Теперь алгоритм стал трактоваться как система команд исполнителю

совершить определенную последовательность действий [1,2].  Изме-

нились и выделяемые свойства алгоритма. Вместо традиционно выде-

ляемых математиками свойств массовости,  применимости, результа-

тивности на первый план выступает свойство однозначности.  Алго-

ритм так точен, что предопределяет все действия исполнителя, его

результат не зависит от исполнителя.

  Свойство однозначности позволяет отличить алгоритм от пред-

писаний алгоритмического типа.  Например,  иногда приводят в ка-

НЕ нашли? Не то? Что вы ищете?

честве примера алгоритма кулинарный рецепт.  Однако всем извест-

но,  что хотя различные повара часто готовят блюда по  одному  и

тому же рецепту,  вкус их получается различным,  т. е.  результат

выполнения предписаний, указанных в рецепте, зависит от исполни-

теля. Поэтому кулинарный рецепт не является алгоритмом.

  Результаты выполнения  алгоритма  различными  исполнителями

должны  быть  тождественными,  однако в реальном мире абсолютной

тождественности не существует:  для любых двух реальных объектов

можно  найти параметр,  по которому они отличаются,  например по

местоположению.  Отождествление может  осуществляться  только  в

абстракции, т. е. в рамках модели. Определение тождествености или

различия может быть реализовано только в формальных моделях. По-

этому  в  строгом смысле алгоритм применим только для формальных

моделей, а для реальных действий существуют предписания алгорит-

мического  типа,  которые могут интерпретироваться и исполняться

только человеком.  Поэтому дихотомия "алгоритмическое -  неалго-

ритмическое"  эквивалентна дихотомии "формальная модель - реаль-

ность".

  - 2 -

  Введение исполнителя  (а  неявно и составителя) кардинально

меняет содержание понятия,  оно вводится в новый контекст - сов-

местных действий.  Один партнер (составитель) поручает выполнить

определенные действия другому партнеру (исполнителю). Для согла-

сования  действий вводится новое понятие - система команд испол-

нителя,  т. е.  перечень тех команд, которые может выполнить (по-

нять) исполнитель.

  Когда же исполнитель может понять команду?  Тогда, когда у

него есть  собственный  внутренний (интериоризованный?) алгоритм

выполнения этой команды!  Алгоритм определяется через  алгоритм.

Кажущийся порочный круг разрывается тем,  что алгоритмы исполни-

теля являются более простыми,  чем алгоритмы составителя. Однако

этот ход дает возможность совершенствовать, развивать исполните-

ля. Например,  первоклассник является  исполнителем  алгоритмов,

включающие простейшие арифметические действия, но ему непонятно,

например, действие нахождения корней  квадратного  уравнения.  В

более старшем возрасте ученик уже является исполнителем алгорит-

мов, включающих в себя решение квадратных уравнений и так далее.

  К свойству  однозначности примыкает свойство предсказуемос-

ти:  составитель алгоритма может предсказать все результаты при-

менения алгоритма.  Однако  для очень сложных систем предписаний

это невозможно.  В вычислительной технике стали отказываться  от

требования полной  предсказанности результата и перешли к "веро-

ятно правильной" работе алгоритма.

  Поэтому понятие  в строгом смысле алгоритма применимо к от-

носительно простым формальным моделям. По мере роста их сложнос-

ти происходит отказ от требований однозначности,  тождественнос-

ти,  полной предсказуемости результата применения алгоритма  его

составителем.  Эти  требования  заменяются условиями вероятного,

приближенного совпадения с замыслом,  ожиданиями составителя ал-

горитма. Описание сложных формальных систем становится все более

субъективированным,  "человеческим". В частности, это выражается

в феномене персонификации сложных компьютерных систем ("глупая",

"упрямая", "хитрая" и т. п. машина) [4]. Меняется как язык описа-

ния объекта, так и само представление о нем.

  Поэтому дихотомия "алгоритмизированное  -  неалгоритмизиро-

ванное"  внутренне  связана  с  дихотомиями "простое - сложное",

"предсказуемое  -  непредсказуемое".  Появление  непредсказанных

  - 3 -

составителем  последствий функционирования сложных систем приво-

дит к известной в психологии  дихотомии  основного  и  побочного

продукта действия, к творчесту [3].

  В алгоритм  входит  и  цель.  Например,  если  программисту

предъявить случайный набор инструкций компьютера и спросить его,

является ли этот набор алгоритмом, то ответ будет "да, но только

неизвестно какого алгоритма".  Конечно, цель здесь понимается не

так как в психологии (осознанное предвосхищение результата буду-

щего действия, косвенно связанного с мотивом [5]), а как резуль-

тат, конечное состояние.

  Возникает вопрос о роли концептуальных и формальных моделей

в регуляции деятельности. Одним из основных в отечественной пси-

хологии является положение об опосредствующей, регулирующей роли

в деятельности знаковых средств. Эти средства могут быть различ-

ной  степени  сложности,  начиная  от простейших знаков-символов

(узел на носовом платке) и кончая сложными  знаковыми  моделями,

реализуемыми  с помощью компьютерных систем.  Применение знаков,

моделей структурирует деятельность, регулирует и направляет ее.

  Каждый образованный человек может действовать как в  рамках

формальных моделей по алгоритму (подсчитывать сумму баллов, про-

изводить логический вывод из данных посылок), так и в реальности

(наблюдать,  общаться,  мастерить). Предписания алгоритмического

типа, не соотносимые с формальными системами, организуют практи-

ческую деятельность субъекта, задают требования к последователь-

ности его действий.  Конкретное практическое действие строится в

процессе целеобразования на основе заданных предписаний, мотива-

ционно-личностных и интеллектуальных особенностей субъекта и от-

ражения объективных условий деятельности. Поэтому результаты вы-

полнения различными субъектами предписаний алгоритмического типа

могут существенно отличаться.

  Знаки служат опорными, стабилизирующими элементами деятель-

ности.  Концептуальные  и формальные знаки могут непосредственно

использоваться для регуляции  практической  деятельности,  более

того,  формальные  модели дают возможность производить,  "вычис-

лять" опорные элементы  деятельности.  Это  позволяет  расширить

круг  ситуаций,  в  которых развертывается пробная деятельность.

Возможность осуществления данной цепочки  преобразований,  выво-

дов,  получения следствий, 'правильных' с формальной, логической

  - 4 -

точки зрения является существенным достоинством формальных  тео-

рий.  Выводы, сделанные в рамках нестрогих, концептуальных моде-

лей гораздо более ограниченны.

  Выводы, полученные  с помощью формально-логических преобра-

зований правильны,  истинны, если верны все посылки, все основа-

ния,  т. е. если формальная модель правильно, адекватно отражает

моделируемую реальность.  Однако если в формальной  модели  есть

ошибка, неточность хотя бы в одной посылке, исходном предположе-

нии, если где-то она не соответствует реальности, то чем длиннее

цепочка формальных преобразований, вычислений, тем меньше досто-

верность,  надежность выводов.  В этом случае один  из  способов

достижения  правильных выводов - проверка промежуточных и конеч-

ных выводов на практике.

  Поэтому всегда важно понимать место алгоритмов в познании и

человеческой деятельности и отказываться от сведения сложнейшего

к простому, от попыток быстрого построения "алгоритмов разума".

  ЛИТЕРАТЕРА

1.   Введение в вычислительные средства и программи-

  рование. М., МГУ, 1987.

2. Основы информатики и вычислительной техники:  пробное учебное

  пособие для средних учебных заведений / Под ред.  ,

  , Часть I. М., 1985.

3. Пономарев творчества. М., 1976.

4. Психологические проблемы автоматизации  научно-исследователь-

  ских работ / Под ред. , . М., 1987.

5. Тихомиров мышления. М., 1984.