Опубликован: 03.04.2013 | Доступ: свободный | Студентов: 354 / 30 | Длительность: 34:17:00
Специальности: Разработчик аппаратуры
Лекция 4:

Теория вычислений и машины Тьюринга

< Лекция 3 || Лекция 4: 12345 || Лекция 5 >

3.3. Машины Тьюринга и перечислимые множества

В математике кроме вычислительных алгоритмов, описывающих последовательности преобразований конструктивных объектов, существуют еще и процедуры перечисления таких объектов. Традиционно к таким процедурам относят перечисление простых чисел до некоторой заранее заданной границы. (К простым относят те числа, которые делятся только сами на себя и на единицу.) При этом считается известной процедура выделения простых чисел из натурального ряда (тест на делимость по отношению ко всем предшественникам) и занесения их в список в порядке возрастания, а временные и прочие трудности реализации перечислительной процедуры в расчет не принимаются. В результате все множество простых чисел считается перечислимым, а метод выделения и записи простых чисел называется перечислительной процедурой.

Приведенных соображений достаточно для введения интуитивно понимаемого определения 3.2 [50]: множество \Re k -членных последовательностей слов над некоторым алфавитом называется перечислимым, если существует общая процедура, с помощью которой можно систематическим образом получить все элементы \Re.

В частности, для перечисления множества слов над некоторым алфавитом А подходят две процедуры со следующими предписаниями [50]:

  1. Сначала пишется пустое слово. Если выписанное слово w имеет длину \rho, то далее пишется слово длины \rho над А, которое следует лексикографически непосредственно за w, и при условии, что w не лексикографически последнее слово длины \rho над А. В противном случае пишут лексикографически первое слово длины \rho  + 1 над А.
  2. Сначала пишется пустое слово. Далее пишется слово, полученное из какого-то уже выписанного слова, добавлением одной буквы из А.

Очевидно, что первое предписание однозначно задает последовательность слов над А, в то время как во втором предписании допускается произвол в выборе как "уже выписанного слова", так и дописываемой буквы. В первом случае можно установить соответствие между вычислимостью и перечислимостью по Тьюрингу, в то время как во втором случае нарушается требование 4 для вычислимых по Тьюрингу алгоритмов, что вынуждает говорить о перечислимости через так называемые исчисления или системы правил вывода [50]. В результате в неоднозначных перечислительных процедурах на передний план выходят не проблемы перечисления элементов некоторого множества, а креативный (познавательный) аспект этой процедуры и порождаемых ею креативных множеств.

Отсюда, получить точное определение перечислимости по Тьюрингу можно только для тех процедур, которые удовлетворяют не только требованию однозначности, но и всей совокупности требований 1-8, предъявляемых к вычислимым по Тьюрингу алгоритмам. При таких условиях тезис Черча распространяется и на перечислительные процедуры, что позволяет говорить об адекватном уточнении интуитивных представлений о перечислимости с помощью понятия перечислимости по Тьюрингу. Существенно, что ограничения 1-8 не только не выхолащивают, но и практически не ограничивают класс перечислимых множеств и процедур перечисления их элементов.

Покажем, что понятие вычислимости можно свести к понятию перечислимости, и наоборот, что и позволяет формализовать перечислимость с помощью уже имеющегося понятия вычислимости по Тьюрингу.

Сведем понятие вычислимости к понятию перечислимости, используя график функции f, который представляет собой множество \Graph {f}:= \{(m, f(m)): m \in\Def{f}\}. Справедлива теорема [50]: Пусть k \ge 1 и f есть некоторая функция из \Omega^{k}(E) в \Omega(B). Функция f вычислима в том и только в том случае, когда множество \Graph {f} перечислимо. Доказательство прямого утверждения данной теоремы исходит из того, что если f вычислима, то для нее существует вычислительная процедура \breve{D}_f Всегда можно упорядочить лексикографически и пронумеровать числами натурального ряда элементы множества \Omega^{k}(E). Тогда элементы множества \Graph {f} можно также пронумеровать числами натурального ряда, отвечающими числу шагов в процедуре \breve{D}_f. Доказательство обратного утверждения строится на том, что процедуру \breve{D}_f, вычисляющую f ( m ), всегда можно остановить по "счетчику", в котором содержится лексикографический номер m из \Graph {f}.

Понятие перечислимости можно свести к понятию вычислимости с помощью следующей теоремы [50]: Пусть k \ge 1 и \Re\subset\Omega^{k}(А). Множество \Re перечислимо тогда и только тогда, когда существует алфавит E и вычислимые функции f_1, f_2,\ldots, f_k из \Omega (E) в \Omega (А), такие, что \Re=\{(f _{1}(w), f _{2}(w), …, f_k(w),):w\in\cap\Def{f_{i}}\}, где теоретико-множественное пере-сечение берется по индексу i (i = \overline{l,k}).

В частности, при k = 1 \Re перечислимо в том и только в том случае, когда \Re есть область значений некоторой вычислимой функции.

Доказательство прямого утверждения данной теоремы исходит из того, что если \Re перечислимо, то для него существует некоторая перечислительная процедура \breve{D} , которая упорядочивает элементы \Re в виде однозначно определенной последовательности, геделезация которой приводит к ряду натуральных чисел N. Поэтому искомые вычислительные функции f_1, f_2\ldots f_k можно определить из N в \Omega(А), для которых вычис-лительная процедура останавливается, когда получен элемент m\in\Re, что и позволяет считать i -ю компоненту m значением f_{i} ( m). Доказательство обратного утверждения строится на том, что если имеется алфавит E и вычислимые функции f_1, f_2\ldots f_k из \Omega (E) в \Omega (А), такие, что \Re=\{ (f _{1}(w), f _{2}(w), …, f_k(w),):w\in\Def{f_{i}}\}, то всегда можно перечислить множество \Graph {f} с помощью некоторой перечислительной процедуры \breve{D}_{i} . Эта процедура останавливается тогда, когда получена последовательность (w_1,w_2\ldots, w_k), которая является элементом \Re.

Теперь можно перейти от интуитивного к формальному определению перечислимости и условий ее реализации.

Определение 3.3: Множество \Re называется перечислимым по Тьюрингу ( ПТМ ) в том и только в том случае, когда существует алфавит E и вычислимые по Тьюрингу функции f_1, f_2,\ldots, f_k из \Omega (E) в \Omega (А), такие, что \Re=\{(f_1(w),f _{2}(w), …,f_k(w),):w\in\cap\Def{f_{i}}\}.

Теорема: Множество \Re перечислимо по Тьюрингу тогда и только тогда, когда существует алфавит E и вычислимые по Тьюрингу функции f_1, f_2,\ldots, f_k из \Omega (E) в \Omega (А) с общей областью определения \beta, такие, что \Re=\{(f_1(w),f _{2}(w), …,f_k(w),):w\in\cap\beta\}.

Для технических нужд больше подходит следующее описание ПТМ : множество \Re перечислимо по Тьюрингу тогда и только тогда, когда \Re есть область определения некоторой ВТФ из \Omega ^{k}(А).

При этом следует помнить, что в природе существуют и не перечислимые по Тьюрингу множества, так как натуральный ряд N содержит только счетную совокупность перечислимых по Тьюрингу подмножеств. Однако в большинстве современных вычислительных задач оперируют с конечными множествами, где данное ограничение не работает.

Таким образом, приведенных данных достаточно, чтобы утверждать, что по крайней мере в прикладной вычислительной технике любую вычислительную процедуру можно свести к перечислительной, и наоборот.

"Системотехнический" подтекст этого утверждения сводится к тому, что любую функцию можно вычислить только один раз, а полученные результаты представить некоторой таблицей соответствия, которая хранится в ОЗУ и может быть использована многократно. Такое разделение функций характерно для нейрокомпьютерных технологий, где первый этап ( вычислить таблицу соответствия) выполняется "материнской" нейро-ЭВМ, а второй - "дочерней" с тем отличием, что таблица реализуемой функции хранится не в ОЗУ, а представлена в некотором сжатом виде нейросетью, "перечисляющей" строки этой таблицы под воздействием входных сигналов.

3.4. Машины Тьюринга и "количество информации"

Машины Тьюринга изначально предназначались для решения сугубо "внутренних" задач фундаментальной логики и математики. Тем не менее они не только предопределили структурно-функциональную схему реальных вычислителей, но и кардинально изменили сам подход к прикладной математике, где теория вероятности и основанная на ней теория хранения, передачи и преобразования информации играют далеко не последнюю роль. Этот аспект применения машин Тьюринга важен тем, что с помощью оценки "сложности" двоичных последовательностей можно сделать выбор между вычислительным и перечислительным вариантом исполнения машины (фактически между компьютерным и нейрокомпью-терным исполнением). Для этого необходимо оценить эффективность, а с ней и экономическую целесообразность использования конкретной вычислительной машины Тьюринга из множества возможных и конкретной перечислительной машины Тьюринга из множества возможных.

Интуитивно ясно, что для объективного сравнения сначала необходимо "измерить" количество информации, затраченной на предписание, которое задает вычислительный и перечислительный алгоритм, и только после этого сравнить его с количеством "производимой" ими информацией.

Существует три подхода к определению понятия "количество информации" [50], которые совпадают только по единице измерения.

Комбинаторный подход дает ответ на вопрос о количестве бит, которое надо затратить на представление (кодирование) конкретного сообщения. Он основан на следующих соображениях [51]. Имеется переменная x, которая принимает значения, принадлежащие конечному множеству X , которое состоит из N элементов. "Комбинаторная" неопределенность состоит в том, что заранее неизвестно, какое конкретное значение принимает x \in X , и эта неопределенность оценивается "энтропией" H (x ) = log_{2}N . Присвоив x := a конкретное значение, мы снимаем эту неопределенность, сообщив информацию I = log_{2}N . Когда переменные x _{1}, x _{2}, …, x_{k} независимо принимают значения из множеств X _{1}, X _{2}, …, X_{k} с количеством элементов N _{1}, N _{2}, …, N_{k} соответственно, выражение для "энтропии" принимает вид:

H (x_{1}, x_{2}, …, x_{k} ) = H (x _{1}) + H (x _{2}) +…+ H (x_{k} ). ( 3.1)

Отсюда, в рамках комбинаторного подхода:

  1. Приходится абстрагироваться от вероятностных и тем более содержательных характеристик кодируемой информации, так как в этом случае можно задать только "информационный объем", необходимый для взаимно однозначного кодирования, но не эффективность (коэффициент) его использования с учетом частотных и содержательных характеристик кодируемого сообщения.
  2. Достаточно просто, зная наиболее общие характеристики сообщения, определить требуемый для кодирования "информационный объем" \hat{I} =]I[ двоичных символов (бит). Здесь ] [ - "старшее целое".
  3. Установить связь между переменными x и y , принадлежащими соответственно X и Y , если под связью понимать, что не все пары (x , y ) являются "возможными" и принадлежат прямому произведению множеств X * Y.

В последнем случае считается, что по множеству "возможных" пар U можно (при любом a \in x ) определить множества Y_{a} тех y, для которых (a,y ) \in U . Поэтому условную энтропию естественно определить соотношением:

H (y /a ) = log_{2}N (Y_{a} ); (H (x /x ) = 0), ( 3.2)

где N (Y_{x} ) - число элементов в множестве Y_{x} ; а информацию в x относительно y соотношением:

I (x : y ) = H (y ) - H (y /x ); (I (x : x ) = H (x )). ( 3.3)

В (3.2) и (3.3) x входит как "свободная переменная" функций H (y /x ) и I (x : y ), в то время как y является "связанной переменной". Например, согласно данным табл. 3.3 имеем [51]: I (x = 1 : y ) = 0; I (x = 2 : y ) = 1; I (x = 3 : y ) = 2.

Таблица 3.3. "Возможные" пары (x, y)
х \ у 1 2 3 4
1 + + + +
2 + - + -
3 - + - -

Вероятностный подход к определению понятия "количество информации" исходит из следующих соотношений:

H_W(x) = -\sum_x{p(x)log_{2}p(x), ( 3.4)
H_{W}(y/x) = -\sum_y{p(y/x)log_{2} p(y/x)} , ( 3.5)
I_{W} (x : y) = H_{W} (y) - H_{W} (y/x), ( 3.6)

которые учитывают тот факт, что в этом случае переменные x и y являются "случайными" и обладают совместным распределением вероятностей.

В рамках этого подхода по-прежнему H_{W} (y/x) и I_{W} (x : y) являются функциями от x , справедливы неравенства H_{W} ( x) \le H ( x) и H_{W} (y/x) \le H ( y/x), где равенство наступает при равномерном законе распределения (на X и на Y_x ), H_{W} (x/x) = 0 и I_{W} (x : x) = H_{W} (x), а величины I_{W} (x : y ) и I ( x : y ) не связаны неравенством определенного знака.

Главное отличие вероятностного от комбинаторного подхода состоит в том, что "теснота связи" между x и y характеризуется симметричным соотношением:

I_{W} (x, y ) = M [ I_{W} (x : y )] = M [ I_{W} (y : x )], ( 3.7)

где M [I_{W} (x : y)] и энтропия M [ H_{W} (y /x))] являются математическими ожиданиями.

Переход от I (x : y ) к M [I_{W} (x : y)] обусловлен тем обстоятельством, что только в комбинаторном подходе всегда I(x : y ) \ge 0, что хорошо согласуется с интуитивным пониманием термина "количество информации". В вероятностном подходе I_{W} (x, y) может быть и отрицательной, что интуи-тивно должно восприниматься как "дезинформация". Поэтому в вероятностном подходе подлинной мерой "количества информации" становится осредненная I_{W} (x : y), то есть M [I_{W} (x : y )].

Вероятностный подход адекватен условиям передачи по каналам связи "массовой" информации, которая представляет собой достаточно большую последовательность слабо или вообще не связанных символов, где проявляются определенные вероятностные закономерности. При этом на практике происходит замена вероятностей эмпирически полученными частотами, что оправдано при решении вопроса о достаточности пропускной способности канала связи на основе знания энтропии потока передаваемых телеграмм и т. п.

Но вероятностный подход теряет смысл при оценке количества информации, содержащейся в тексте "Войны и мира" [51], потому что он требует включить этот роман в совокупность "всевозможных романов" и постулировать в этой совокупности некоторое распределение вероятностей. В этом случае придется рассматривать отдельные сцены "Войны и мира" как некоторую случайную последовательность с быстро затухающими в пределах нескольких страниц "стохастическими связями". Аналогичная ситуация складывается и при оценке количества наследственной информации в генетике, где в результате естественного отбора возникает система согласованных между собой характеристических признаков определенного вида животных или растений.

< Лекция 3 || Лекция 4: 12345 || Лекция 5 >