Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

TA / Конспект лекций по теор алгоритм / Конспект лекций / МОДЕЛИ ВЫЧИСЛЕНИЙ Приложение1

.doc
Скачиваний:
26
Добавлен:
14.04.2015
Размер:
38.91 Кб
Скачать

К 2 главе М О Д Е Л И В Ы Ч И С Л Е Н И Й

2.4. Р А З Н О В И Д Н О С Т И М А Ш И Н Т Ь Ю Р И Н Г А

2.4.1. многоленточная машина Тьюринга

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

Машина Тьюринга может выполнять некоторые или все из следующих операций :

. изменить состояние УУ ;

. напечатать новые символы на лентах вместо старых в определённых или во всех клетках над головками ;

. сдвинуть некоторые или все головки независимо друг от друга на одну клетку ( R, L ) , либо оставить их на месте ( S ) .

Формально k - ленточная МТ задается семеркой ( Q, A, I, b, q1 , q0, d ) ,

где Q - множество состояний ;

A - множество символов на лентах ;

I - множество входных символов ,

b - пустой символ ,

q1 - начальное состояние ;

q0 - заключительное состояние ;

d - функция переходов , она отображает некоторое подмножество множества Q x Ak в Q x ( A x U )k , Q x A k в Q x ( A x U ) k , т. е. по произвольному набору из состояний Q и k символов на лентах она выдает новые состояния Q I и k пар , каждая из которых состоит из нового символа на ленте и направления сдвига головки ( U={ R , L , S } ) .

Машина Тьюринга может распознавать язык . Языком , допускаемым данной машиной Тьюринга , называется множетво всех слов из входных символов .

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

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

Принцип распараллеливания вычислительного процесса реализуется в автомате ( машине ) Неймана .

2. 4. 2. А В Т О М А Т Н Е Й М А Н А .

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

Операционный элемент Неймана ( рис. 2.6. ) - это устройство , которое на каждом такте t=1, 2, 3,... пребывает в одном из конечного числа состояний i1 , i2 ,..., iр , образующих его алфавит R . Элемент имеет 2 входных канала - левый и правый , по каждому из которых на такте k также поступает по одному символу из R .

Состояние элемента на такте t +1 зависит исключительно от того , в каком состоянии он находился на предыдущем такте и какие состояния на том же такте поступали по входным каналам . Иначе говоря , элемент реализует функцию трех переменных Y( ii , ij , im ) , причем значение функции также принадлежит алфавиту K .

Равенство Y( ii , ij , im ) = in означает : если элемент находится в состоянии ij , воспринимает по левому каналу ii и по правому - im , то на следующем такте он переходит в состояние in .

a- a a+

Рис. 2.6. Автомат Неймана .

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

Состояние i будем называть спокойным или состоянием покоя , если выполнено условие Y( i , i , i , ) = i ; в противном случае оно нызывается возбужденным . Из состояния покоя автомат Неймана может быть выведен только при условии , что хотя бы по одному из его каналов поступает возбуждающее состояние . Далее принято , что среди состояний множества имеется одно специально выделенное состояние покоя Ж такое , что ЖЖЖ®Ж . (*)

Автомат Неймана строится как бесконечная в обе стороны лента из элнментов Неймана , соедененных между собой так , как показано на рис. 2.6.

Фиксируя в момент времени t определенным образом состояния элементов , мы тем самым задаем некоторую Нейманову конфигурацию K( t ) . Для любого элемента а обозначим через а( t ) его состояние в момент t и через а - ( t ) и а + ( t ) - состояние его соседей слева и справа в тот же момент . Заметим , что состояния а - ( t ) и а + ( t ) воспринимаются по левому и по правому каналам соответственно : это позволяет ему выработать новое состояние а ( t+1 ) в следующий момент , согласно его программе . Поскольку это справедливо для всех элементов ленты , то за один такт в результате одновременного действия всех элементов возникает непосредственно следующая конфигурация K( t+1 ) . Точно также вырабатываются конфигурации K( t+2 ) , K( t+3 ) ... . В этом заключается функционирование автомата Неймана . Существенной его чертой является именно повсеместность и одновременное преобразование информации , закодированной именно в виде неймановой конфигурации .

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

Конечной неймановой конфигурацией будем называть такую конфигурацию , в которой все элементы , за исключением конечного , ( но

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

Теорема 2.1. Всякая функция f , вычислимая по Тьюрингу , вычислима и по Нейману ; более того для любого вычисления f по Тьюрингу возможно столь же быстрое вычисление по Нейману .

Теорема 2.2. Всякая функция вычислимая по Нейману , вычислима и по Тьюрингу .

Доказательство этой теоремы можно рассматривать как еще один довод в пользу основной гипотезы теории алгоритмов ( Тезиса Черча ) .

Теорема 2.3. Какова бы ни была функция и вычисляющий ее автомат Неймана , найдется такая машина Тьюринга , вычисляющая f , для которой справедливо неравенство :

tT( P ) Ј18 t2N( P ) ,

при любом исходном слове Р .

Отметим , что наряду с одномерными автоматами Неймана можно рассматривать и двумерные , трехмерные и т. д.

Дж. фон Нейман развил теорию автоматов такого типа не только для изучения их вычислительных возможностей , но также для изучения процессов самовоспроизведения автоматов .

[ Дж. Фон Нейман . Теория самовосприизводящихся автоматов - М . : Мир , 1971 . - 364 стр. ]

Соседние файлы в папке Конспект лекций