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

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

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

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

0 1 2 3 4 5 6 7 8 9
0 1 4 9 6 5 6 9 4 1

то новая таблица случайных чисел будет содержать примерно (log_{2}10-8/10) N информации о первоначальной, где N - число цифр в каждой таблице. Для алгоритмической меры информации I_{A} ( x : y) характерно, что равноценные варианты ее определения могут привести к значениям, отличающимся на константу | I_{A(1)}  - I_{A(2)} | \le C_{A(1),A(2)}. Данная константа зависит от выбора универсального метода программирования, положенного в основу каждого из вариантов ( A(1) и A(2) ) определения меры, то есть в рамках алгоритмического подхода максимум чего можно достичь: I_{A(1)}\approx I_{A(2)}

Следуя [51], будем рассматривать счетное множество "нумерованных объектов" X=\{x\}, каждому элементу которого поставлен в соответствие его номер n(x) в виде конечной двоичной последовательности, начинающейся с единицы.

Считается:

  1. Соответствие между X и множеством двоичных последовательностей (\breve{N}) описанного вида взаимно однозначно.
  2. \breve{N} \subset X, функция n(x) на \breve{N} общерекурсивна, причем для x \in \breve{N} l(n(x)) \le l(x)+C, где l(x) - длина двоичной последовательности n(x), а C - некоторая константа.
  3. Вместе с x и y в X входит упорядоченная пара (x, y), номер этой пары есть общерекурсивная функция номеров x и y, а l (x , y ) \le C_{x} +l ( y ), где C_{x} зависит только от x.

При таких условиях все результаты оценки "сложности" … и количества информации эквивалентны в смысле = при следующих преобразованиях:

  • переход к новой нумерации n'(x), которая обладает теми же свойствами, что и n(x), и выражается общерекурсивно через n(x) ;
  • включения системы X в более обширную систему X и в предположении, что номера n' в расширенной системе для элементов первоначальной системы общерекурсивно выражаются через первоначальные номера n.

Определение (А.Н. Колмогоров [51]): "относительной сложностью" объекта y при заданном x будем считать минимальную длину l(p) "программы" p получения y из x.

Длина l(p) "программы" p зависит от "метода программирования", что можно выразить функцией \varphi (p, x), которая ставит в соответствие программе p и объекту x объект y. Такая функция является частично рекурсивной и для нее:

K_{\varphi}(y/x) = 
\begin{cases}
\min\limits_{\varphi(p,x)=y}{l(p)}\\
\infty,\text{если нет такого }p, \text{ что }\varphi(p,x)=y
\end{cases} ( 3.8)

Функция v = \varphi (u ) от u \in X со значениями v \in X называется частично рекурсивной, если она порождается частично рекурсивной функцией преобразования номеров n(v) = \Psi[n(u)].

Частично рекурсивные функции, вообще говоря, не являются всюду определенными, и поэтому нет регулярного процесса для выяснения того, приведет ли программа p , примененная к объекту x, вообще к какому-либо результату. По этой причине функция K_{\varphi}(y/x) не обязана быть эффективно вычислимой (общерекурсивной) даже в случае, когда она заведомо конечна при любых x и y.

Теорема (А.Н. Колмогоров [51]): существует такая частично рекурсивная функция A(p, x), что для любой другой частично рекурсивной функции w (p, x) выполнено неравенство K_{A} (y/x) < K_{\varphi}(y/x)+C , где константа C_{\varphi} не зависит от x и y.

Доказательство этой теоремы опирается на существование универсальной частично рекурсивной функции Ф(n , u ), которая обладает тем свойством, что, фиксируя надлежащим образом номер n, можно получить любую другую частично рекурсивную функцию по формуле {\varphi}(u ) = Ф(n , u ), где Ф(n , u ) определена только в случае n \in\breve{N}. Такая универсальная частично рекурсивная функция определяется соотношением:

A((n, q), x) = Ф(n, (q, x)),

где A(p, x) определена только в случае, когда p имеет вид (n, q), n \in \breve{N}.

Функции A(p, x), удовлетворяющие теореме Колмогорова, а вместе с ней и определяемые ими методы программирования, принято называть асимптотически оптимальными, и для них "сложность" K_{A} (y/x) конечна при любых x и y. Поэтому для двух таких функций A и A': |K_{A}(y/x) - K_{A'} (y/x) | \le C_{A ,A'}, где C_{A, A'} , не зависит от x и y, то есть K_{A}(y/x) \approx K_{A'} (y /x ).

С учетом, что "сложность объекта y " K_{A} (y) = K_{A} (y/1), "количество информации в x относительно y " определяется соотношением I_{A} ( x : y) = [ K_{A}(y) - K_{A}(y/x)] \stackrel{\sim}{\succ} 0, где символ \stackrel{\sim}{\succ} понимается в том смысле, что I_A (x : y ) не меньше некоторой отрицательной константы C , зависящей только от условностей выбранного метода программирования. В результате в рамках алгоритмического подхода под "большим" понимается количество информации, для которого \ C \ пренебрежимо мал, а K_{A} (x / x) = 0 и I_{A} ( x : x ) \approx K_{A} ( x), как это имеет место в комбинаторном и вероятностном подходах.

Из приведенных данных видно, что в рамках алгоритмического подхода избавиться от неопределенностей в оценке количества информации, связанных с константами C_{\varphi} , можно только для определенных классов объектов X, фиксированных нумераций и фиксированных функций A (методов программирования). Такие условия характерны для алгоритмически ориентированных вычислителей и "дочерних" нейро-ЭВМ, при выборе архитектуры которых имеет смысл дать ответ на вопрос о том, по какой схеме их строить: вычислительной или перечислительной.

Все использованные А.Н. Колмогоровым частично рекурсивные функции вычислимы на машине Тьюринга, работающей с двузначным алфавитом и реализующей отображение [52] A(* | *): (n, p)\to A(p, n), где (n, p) - введенная в МТ программа, порождающая 0-1-слова (w_1, w _{2}, …, w_k) длины n. Такой формализм позволяет решить центральную для теории вероятности проблему, связанную с определением "случайное событие". Традиционно с этим термином связывали бросание монеты в опыте Бернулли, что не корректно с точки зрения строгой математики, так как в этом случае к определению центрального понятия математической теории привлекается чисто физический процесс, с помощью которого невозможно определить никакое математическое свойство.

Отсюда и встает задача математического определения "случайной 0-1-последовательности", и сделать это надо так, чтобы основанная на этом определении математическая теория давала результаты, полностью согласованные с эмпирическими.

Первые попытки такой формализации "случайности" были предприняты фон Мизесом [53], который исходил из понятия "беспорядочной последовательности", считая, что "беспорядочность" является основным признаком "случайности". С этой целью он предложил называть бесконечную 0-1-последовательность случайной, если в ней относительная частота появления "единиц" стремится к 1/2 и это свойство сохраняется при переходе к произвольной подпоследовательности с использованием любого правила выбора. При таком подходе главная трудность состояла в строгом определении термина "правило выбора". Такое уточнение было получено А. Вальдом, но вскоре вся программа фон Мизеса было опровергнута Д. Виллем [52], который построил 0-1-последовательность, удовлетворяющую требованиям фон Мизеса с частотой "единиц" не менее 1/2.

Затем в теории вероятности наступил "колмогоровский" период, когда ее стали рассматривать как прикладную теорию меры. В этом случае речь может идти только о множествах последовательностей, а не об индивидуальных последовательностях. Несмотря на успехи своей теории, А.Н. Колмогоров все же вернулся к логическим основам теории вероятности [54] и предложил использовать (3.8) для оценки энтропии:

H(y/x) = \min\limits_{A(p,x)=y}{l(p)}.

Отсюда, существуют 0-1-последовательности, для которых энтропия не меньше их длины Н(х) \ge l(х). По здравому смыслу такие последовательности и следует относить к "случайным", так как в них отсутствуют закономерности, сокращающие длину программы для машин Тьюринга.

Таким образом, если программа p "сложнее", чем порождаемая ею последовательность х, то, по Колмогорову, такую последовательность следует считать "случайной".

Системотехнические выводы по лекции 3

  1. Традиционно считается, что нейрокомпьютерные технологии вторичны по отношению к классическим фон-неймановским технологиям, так как в формальных нейронах логические преобразования реализуются через арифметические. В реальности для работы любого вычислителя достаточно двух традиционных для нейрокомпьютерной техники "элементарных" операций: "ассоциативная выборка" и "подстановка" (замещение) символов. Этот вывод парадоксален только на первый взгляд, так как реальные нейроны появились задолго до того, как человек стал использовать понятие "число". Поэтому для обеспечения жизнедеятельности реальных нейронов можно было привлечь только "нечисленные" методы и средства "ассоциативной выборки" и "подстановки" (замещения) символов. Отсюда, имеются достаточные основания считать первичными нейрокомпьютерные технологии, а вторичными - традиционные вычислительные технологии, на схемотехническом уровне которых в неявном виде для каждой арифметико-логической операции используется "схемотехнически сжатые" таблицы ассоциативной выборки и подстановки символов \{0,1\}.
  2. Первичность нейрокомпьютерных технологий по отношению к компьютерным предопределяет сама логика формализации: от эмпирической таблицы к аналитическому или алгоритмическому представлению. Поэтому разница между компьютерными и нейрокомпьютер-ными технологиями в конечном счете состоит в уровне доступности пользователя к операционному базису. В нейрокомпьютерных технологиях пользователю доступен сетевой уровень управления и "элементарные операции", реализуемые отдельными элементами сети. В традиционных вычислительных технологиях с помощью "элементарных операций" (микрокоманд) производитель процессора формирует ассемблерные команды, которые для пользователя уже являются "неделимой единицей проекта". В итоге задание пользователя в нейрокомпьютерных технологиях можно представить тривиальной таблицей соответствия между входными воздействиями и требуемыми реакциями. В традиционных вычислительных технологиях требуется не только формализованное представление задания, но и алгори тм, регламентирующий в конечном счете последовательность выполнения ассемблерных команд.
  3. Само понятие "алгоритм" уже предполагает некоторую последовательность информационно связанных преобразований конструктивных объектов. Это ограничивает реально реализуемые схемы распараллеливания вычислений векторизацией и конвейеризацией соответственно информационно независимых и информационно зависимых подпоследовательностей преобразований, а также их комбинациями типа векторно-конвейерная или конвейерно-векторная.
  4. Контекстным системотехническим обоснованием экстенсиональной эквивалентности традиционных и нейроподобных ЭВМ служит сводимость вычислительных по Тьюрингу процедур к перечислимым по Тьюрингу процедурам, первые из которых составляют операционный базис ЭВМ одной из традиционных архитектур, а вторые - одной из ней-рокомпьютерных архитектур. Поэтому имеются достаточные основания утверждать, что любой нейро-ЭВМ можно поставить в соответствие классическую ЭВМ, эквивалентную по вычисляемой функции, и наоборот.
  5. Оценку алгоритмической сложности реальных (нейро)компьютерных реализаций можно провести только с определенной погрешностью и при достаточно жестких ограничениях на используемые вычислительные и/или перечислительные алгоритмы, что характерно для алгоритмически ориентированных областей применения традиционных вычислителей и "дочерних" нейро-ЭВМ, а не для машин общего назначения.
< Лекция 3 || Лекция 4: 12345 || Лекция 5 >