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