назад

АЛГОРИТМОВ ТЕОРИЯ


АЛГОРИТМОВ ТЕОРИЯ, раздел математики, изучающий общие свойства алгоритмов. Содержательные явления, приведшие к образованию понятия "алгоритм", прослеживаются в математике в течение всего времени её существования. Однако само это понятие сформировалось лишь в 20 в. и стало предметом самостоятельного изучения (по-видимому, впервые, хотя ещё в расплывчатом виде) лишь в 20-х гг. 20 в. в трудах представителей математического интуиционизма Л. Э. Я. Брауэра и Г. Вейля. Началом систематич. разработки А. т. можно считать 1936, когда А. Чёрч опубл. первое уточнение понятия вычислимой функции (предложив отождествлять понятие всюду определённой вычислимой функции, имеющей натуральные аргументы и значения, с понятием общерекурсивной функции) и привёл первый пример функции, не являющейся вычислимой, а А. М. Тьюринг и Э. Л. Пост дали первые уточнения понятия алгоритма (в терминах идеализированных вычислительных машин, см. Тьюринга машина). В дальнейшем А. т. получила развитие в трудах С. К. Клиии, Э. Л. Поста, А. А. Маркова и других. В частности, А. А. Марков предложил уточнять понятие алгоритма с помощью введённого им понятия нормального алгоритма. Наиболее общий подход к уточнению понятия алгоритма предложил А. Н. Колмогоров. Основные понятия А. т. Областью применимости алгоритма наз. совокупность тех объектов, к которым он применим. Про алгоритм Я говорят, что он: 1) "вычисляет функцию f", коль скоро его область применимости совпадает с областью определения f и Я перерабатывает всякий х из своей области применимости в f(x); 2) "разрешает множество А относительно множества X", коль скоро он применим ко всякому x из X и перерабатывает всякий x из [ris] з слово "да", а всякий x из Х\Л в слово "нет"; 3)"пе- речисляет множество В", коль скоро его область применимости есть натуральный ряд, а совокупность результатов есть В. Функция наз. вычислимой, если существует вычисляющий её алгоритм. Множество наз. разрешимым относительно X, если существует разрешающий его относительно X алгоритм (см. Разрешимое множество). Множество наз. перечислимым, если либо оно пусто, либо существует перечисляющий его алгоритм (см. Перечислимое множество). Детальный анализ понятия "алгоритм" обнаруживает, что (I) область возможных исходных данных и область применимости любого алгоритма суть перечислимые множества. В свою очередь (II) для любой пары вложенных одно в другое перечислимых множеств можно подобрать алгоритм, у к-рого больщее множество служит множеством исходных данных, а меньшее - областью применимости. Имеют место следующие основные теоремы: (III) функция f вычислима тогда и только тогда, когда перечислим её график, т. е. множество всех пар вида . (IV) Подмножество А перечислимого множества X тогда и только тогда разрешимо относительно X, когда А и Х\А перечислимы. (V) Если Л и В перечислимы, то[ris] также перечислимы. (VI) В каждом бесконечном перечислимом множестве X существует перечислимое подмножество с неперечислимым дополнением [ в силу (IV) это перечислимое подмножество будет неразрешимым относительно X]. (VII) Для каждого бесконечного перечислимого множества X существует вычислимая функция, определённая на подмножестве этого множества и не продолжаемая до вычислимой функции, определённой на всём X. Утверждения (VI) и (II) в совокупности дают упоминаемый в ст. Алгоритм пример алгоритма [ris] с неразрешимой областью применимости. Алгоритмические проблемы. Проблема построения алгоритма, обладающего теми или^ иными свойствами, наз. алгоритмической проблемой (а. п.). Как правило, свойство искомого алгоритма формулируется в терминах свойств того соответствия, которое должно иметь место между исходными данными и результатами алгоритма. Важные примеры а. п.: проблема вычисления данной функции (требуется построить алгоритм, вычисляющий эту функцию); проблема разрешения данного множества (требуется построить алгоритм, разрешающий это множество относительно нек-рого другого множества); проблема перечисления данного множества (требуется построить алгоритм, перечисляющий данное множество). Неразрешимость а. п. означает отсутствие соответствующего алгоритма; теоремы, устанавливающие неразрешимость таких проблем, относятся к числу наиболее важных теорем А. т. Метрическая А. т. А. т. можно разделить на дескриптивную (качественную) и метрическую (количественную). Первая исследует алгоритмы с точки зрения устанавливаемого ими соответствия между исходными данными и результатами, к ней относятся, в частности, те алгоритмические проблемы, о к-рых говорилось в предыдущем разделе. Вторая исследует алгоритмы с точки зрения сложности как самих алгоритмов, так и задаваемых ими "вычислений", т. е. процессов последовательного преобразования конструктивных объектов. Важно подчеркнуть, что сложность алгоритмов и вычислений может определяться различными способами, причём может оказаться, что при одном способе А будет сложнее В, а при другом способе - наоборот. Чтобы говорить о сложности алгоритмов, надо сперва описать к.-л. точный язык для записи алгоритмов и затем под сложностью алгоритма понимать сложность его записи; сложность же записи можно определять различными способами (напр., как число символов данного типа, участвующих в записи, или как набор таких чисел, вычисленных для разных типов символов). Чтобы говорить о сложности вычисления, надо уточнить, как именно вычисление представляется в виде цепочки сменяющих друг друга конструктивных объектов и что считается сложностью такой цепочки (только ли число членов в ней - "число шагов" вычисления или ещё учитывается "размер" этих членов и т. п.); в любом случае сложность вычисления зависит от исходного данного, с к-рого начинается вычисление, поэтому сложность вычисления есть функция, сопоставляющая с каждым объектом из области применимости алгоритма сложность соответствующей цепочки. Разработка методов оценки сложности алгоритмов и вычислений имеет важное теоретич. и практич. значение, однако в отличие от дескриптивной А. т., оформившейся в целостную матем. дисциплину, мет-рич. А. т. делает лишь первые шаги. Приложения А. т. имеются во всех областях математики, в которых встречаются алгорнтмич. проблемы. Такие проблемы возникают в матем. логике и теории моделей; для каждой теории формулируется проблема разрешения множества всех истинных или доказуемых предложений этой теории относительно множества всех её предложений (теории подразделяются на разрешимые и неразрешимые - в зависимости от разрешимости или неразрешимости указанной проблемы); в 1936 А. Чёрч установил неразрешимость проблемы разрешения для множества всех истинных предложений логики предикатов, дальнейшие важные результаты в этом направлении принадлежат А. Тарскому, А. И. Мальцеву и др. Алгоритмич. проблемы встречаются в алгебре (проблема тождества для полугрупп и, в частности, для групп; первые примеры полугрупп с неразрешимой проблемой тождества были найдены в 1947 независимо А. А. Марковым и Э. Л. Постом, а пример группы с неразрешимой проблемой тождества- в 1952 П. С. Новиковым); в топологии (проблема гомеоморфии, неразрешимость к-рой для важного класса случаев была доказана в 1958 А. А. Марковым); в теории чисел (остающаяся до сих пор открытой проблема разрешимости диофантовых уравнений) и др. разделах математики. А. т. тесно связана с матем. логикой, поскольку на понятие алгоритма опирается одно из центральных понятий матем. логики - понятие исчисления и потому, напр., теорема К. Гёделя о неполноте формальных систем может быть получена как следствие теорем А. т. Наконец, А. т. тесно связана с основаниями математики, в к-рых одно из центральных мест занимает проблема соотношения конструктивного и неконструктивного, в частности А. т. даёт аппарат, необходимый для разработки конструктивного направления в математикев; 1965 А. Н. Колмогоров предложил использовать А. т. для обоснования информации теории. А. т. образует теоретич. фундамент для ряда вопросов вычислит, математики и тесно связана с кибернетикой, в к-рой важное место занимает изучение алгоритмов управления, в частности понятие алгоритма занимает центральное место в т. н. программированном обучении.