10 Введение
над данными d, процесс вычисления программы p над данными d—последовательность
переходов от одного состояния вычисления программы p к другому,—трасса в ычисле-
ния программы p над данными d.
При выполнении метавычислений имеют дело не т оль ко с одиночными данными
(значениями) программы, с конкретными (одиночными) состояниями вычисления и
т.п., но также и с множествами данных, множествами состояний вычислений и т.д.
Эти множества должны б ыть представлены конструктивно—в виде выражений неко-
торого языка. Таким обра зом, предстоит разработать конструктивные методы пред-
ставления таких множеств. При этом надо учитывать следующее обстоятельство: при
любом выборе способ а конструктивного представления множеств найдутся множества
данных, непредставимые данным способом
4
. Следовательно, для каждого приложения,
в котором необходимо представлять множества данных в виде конструктивных объ-
ектов, необходимо выбирать средства представления множеств данных так, чтобы все
интересующие нас в данном приложении множества были бы представимы данными
средствами.
В главе 2 будут определены такие средства представления множеств данных в ви-
де выражений—так называемых классов, что все множества данных, возникающие в
процессе метавычислений, окажутся представимыми в виде классов. Здесь же предъ-
явлены и обоснованы алгоритмы выполнения операций над классами, определены сред-
ства представлений и других множеств, необходимых для метавычислений, например,
представление множеств состояний вычислений в виде так называемых конфигураций.
Для большинства алгоритмов метавычислений базовым понятием является понятие
дерева процессов и базовым алгоритмом—алгоритм построения дерева процессов.
В главе 3 будет дано точное определение дерева процессов вычисления программы
p на классе данных, приведен и обосно ва н алгоритм построения этого дерев а.
Окрестностный анализ—один из методов метавычислений—является инструментом
формализации интуитивного вопроса:
Какая информация о тексте d была использована, и какая информация о d
не была использована в некотором процессе обработки текста d?
Здесь рассматриваются конструктивные процессы обработки текста, реализованные
некоторой программой p на языке R.
Окрестностный анализ впервые был разработан В.Ф.Турчиным, при участии дру-
гих членов московской Рабочей группы по языку Рефал, в 1970-ых годах в контексте
работ над суперкомпилятором для языка Рефал [7, 9]. Первоначально окрестностный
анализ рассматривался как специальный метод, предназначенный для построения ал-
горитмических “приближенных” решений неразрешимой проблемы остановa и с тех пор
он использовался только для этих целей. Как результат, были разраб отаны только те
теоретические вопросы окрестностного анализа, которые имели отношение к данному
приложению.
По своей природе окрестностный анализ является методом общего применения, а
не средством для решения одной частной задачи. Поэтому представляется интересным
построить и изучить т очный окрестностный анализ именно как общий метод, без при-
вязки к какому-то применению.
4
Это вытекает из сравнения мощностей множества различных множеств данных—2
ℵ
0
—и мощности
различных представлений—не более ℵ
0
.