Главная » Просмотр файлов » В.А. Носов - Основы теории алгоритмов и анализа их сложности (курс лекций)

В.А. Носов - Основы теории алгоритмов и анализа их сложности (курс лекций) (1159492), страница 9

Файл №1159492 В.А. Носов - Основы теории алгоритмов и анализа их сложности (курс лекций) (В.А. Носов - Основы теории алгоритмов и анализа их сложности (курс лекций)) 9 страницаВ.А. Носов - Основы теории алгоритмов и анализа их сложности (курс лекций) (1159492) страница 92019-09-18СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 9)

a j k α a j0 (→ α a j1 a j2 ... a j k α a j0 →... → a j2 a j3 ... a j k α a j1 α a j0п о6)Теперь, повторяя этот процесс,получим :⇒ α a j k α a j k −1 ... α a j1 α a j0 (→ α α a j k α a j k −1 ... α a j1 α a j0 →п о 6)( п о 4)⇒ β a j k α a j k −1 ... α a j1 α a j0 (→ a j k β α a j k −1 ... α a j1 α a j0 →п о 2)( п о 3)⇒ a j k β a j k −1 ... α a j1 α a j0 ⇒...( п о 2,3,4)...

⇒ a j k a j k −1 ... a j020 ) Для нормальных алгоритмов разработана техника програмирования,позволяющая осуществлять операции композиции алгоритмов, реализовыватьоператоры "если Ф , то выполнить F1 , иначе F2 ", "пока Ф выполнить F1 , иначеF2 ”.Следовательно, класс функций М достаточно широк. Много конкретных52нормальных алгоритмов и соответствующая техника программированияпредставлены в книге [8].В связи с этим Марковым А.А.был выдвинут принципнормализации, который заключается в том, что все алгоритмы исчерпываютсянормальными алгоритмами или, что то же самое - всякий алгоритм нормализуем.Принятие данного принципа позволяет истолковывать утверждения онесуществовании нормальных алгоритмов для решения конкретных задач какутверждения о несуществовании алгоритмов вообще.

Данный принципэквивалентен тезисам Черча и Тьюринга поскольку справедливаТеоремаКласс функций М вычислимых по Маркову, совпадает с классом функцийТ , вычислимых по Тьюрингу, и, следовательно, с классом частичнорекурсивных функций Ч и с классом МПД-вычислимых функций Е .Доказательство совпадения классов M и Ч проводится по той же схеме,что и приведенное выше доказательство совпадения классов Т и Ч. Полностьюоно приведено в книге [19], гл. 5.53§ 9 Нумерация алгоритмовВ данном разделе будут приведены эффективные кодированиянатуральными числами множества всех алгоритмов для каждой израссматриваемых моделей алгоритмов: машин Тьюринга , МПД-программ,частично рекурсивных функций.

Данные результаты относятся к числуфундаментальных, т.к. они используются для получения многих важных фактов,в частности, для установления невычислимости ряда конкретных функций.1°) Нумерация машин Тьюринга.Зафиксируем счетные множества символов {a0 , a1 ,..., ai ,...} {q0 , q1 ,..., q j ,...} ибудем считать, что внешние алфавиты и алфавиты внутренних состояний всехмашин Тьюринга берутся из этих множеств.

При этом будем считать, что a0принадлежит всем внешним алфавитам машин и интерпретируется как пустойсимвол, а буквы q0 и q1 принадлежат всем внутреним алфавитам машин и всегдаозначают заключительное и начальное состояния соответственно. Опишемтеперь единый способ представления информации о машинах с помощьюкодирования. Каждому символу из множества{ L, R , E , a0 , a1 ,..., ai ,... q0 , q1 ,..., q j ,...} поставим в соответствие двоичныйнабор согласно таблице:СимволCимволысдвигаRLEСимволыалфавиталентыa0a1.aiКод10100100010000100000…100...00…Число нулейв коде12346…2i+4….1000005Символыq0q1100000007алфавита………состоянийqi1000…0002i+5………Таблица кодирования символов машин.Далее , команде I машины Тьюринга Т, имеющей вид qa → q ′a ′d ,ставится в соответствие двоичный набор видаКод ( I ) = Код (q) Код (a) Код (q ′) Код (a ′) Код (d ) (1)в котором коды букв приписаны друг к другу.

Пусть машина Т имеет алфавитыA = {a0 , a1 ,..., am } Q = {q0 , q1 ,..., qn } .Упорядочим команды машины Т в соответствии с лексикографическимпорядком левых частей команд: q1a0 , q1a1 , q1am , q2 a0 ,…, q2 am ,…, qn a0 ,…, qn am .54Пусть I1 ,..., I n ( m +1) - соответствующая последовательность команд. Тогдамашине Т поставим в соответствие двоичный набор видаКод (T) = Код ( I1 ) Код ( I2 )... Код ( In ( m+1) )(2)полученный приписыванием друг н другу кодов команд. Пример: Пусть данамашина Тьюринга Т :A = {a0 , a1} , Q = {q0 , q1}T: q1a0 → q0a0 E (3)q1a1 → q0a1 EТогда имеемКод (T) = 107104105104103107106105106103xЛегко видеть, что машина Т переводит конфигурации q1a1 вxn +1конфигурации q0a1 и поэтому, представляя натуральное число n как a1 ,лолучаем, что машина Т вычисляет функцию f ( x ) = xЯсно, что указанное кодирование является алгоритмической процедурой.Имея код машины, однозначно восстанавливается множество ее команд - дляэтого надо выделить подслова, начинающиеся с единицы с нулями доследующей единицы.

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

Поскольку все коды начинаются с единицы , торазным кодам соответствуют разные числа.Упорядочим машины Тьюринга повозрастанию чисел , представляемых их кодами , и занумеруем их T0,T1,…,Tn,… .(4)Указанное упорядочение является эффективным в том смысле , чтосуществует алгоритм ,который по n выдаеткод(Тn) и существует алгоритм , который , наоборот ,по код(Тn) выдает nT .Если обозначить через f n ( x ) -одноместную функцию , которую вычисляетмашина Тьюринга Тn ,то в результате получим нумерацию всех одноместныхчастично рекурсивных функций:f 0 ( x ) , f 1 ( x ) ,…, f n ( x ) ,…(5)Cогластно доказанному ,каждая одноместная частично рекурсивнаяфункция представлена в этой последовательности.Можно доказать ,что каждаятакая функция представлена в последовательности (5) бесконечное число раз.Аналогично можно определить нумерацию n-местных функций.2 0 ) Нумерация МПД-программ.Приведем аналогичную конструкцию по нумерации МПД-программ ,которая позволит получить нумерацию МПД-вычислимых функций.Сначалаопределим нумерацию команд.Положимα ( Z (n)) = 4(n − 1)55α ( S (n)) = 4(n − 1) − 1α (T (m, n)) = 4 p(m − 1, n − 1) + 2α ( J ( m, n, q )) = 4π (m, n, q ) + 3Здесь p( x , y ) = 2 x (2 y + 1) − 1π ( x , y , z) = p( p( x − 1, y − 1), z − 1)(6)(7)Ясно , что функция α эффективно вычислима.Для вычисления α −1 ( x )действуем так:Находим числа u,v ,такие ,что x=4u+v где 0 ≤ v < 4 .Тогда имеем :α −1 ( x ) = Z (u + 1) ,если v=0α −1 ( x ) = S (u + 1) ,если v=1α −1 ( x ) = T (l (u) + 1, r (u) + 1) ,если v=2α −1 ( x ) = J (m, n, q ) , если v=3 где (m, n, q ) = π −1 (u)Следовательно , функция α −1 также эффективно вычислима.Пусть теперь дана МПД-программа P = I1...

I s .Определим её номерγ ( P) = τ (α ( I1 ),..., α ( I s )) ,гдеτ ( x1 ,..., xs ) = 2 x1 + 2 x1 + x 2 +1 + 2 x1 + x 2 + x 3 + 2 + 2 x1 +...+ x s + s −1 − 1 (8)Ясно , что тем самым определена биекция γ множества программ вмножество натуральных чисел , причём функции γ и γ −1 эффективновычислимы ,по программе P эффективно находится её номер n = γ ( P ) ,а пономеру n можно эффективно найти программу P , такую что n = γ ( P ) .Числоγ ( P ) называется номером программы Р.Например , если P = I1 I 2 I 3 ,гдеI1=T(3,1),I2=S(4),I3=Z(6),то α (T (1,3)) = 18, α ( S (4)) = 13, α ( Z (6)) = 20Следовательно, γ ( P ) = 218 + 2 32 + 253 − 1Пусть теперь дано n=4127.

Поскольку 4127 = 25 + 212 − 1 ,то P = I1 I 2 ,гдеα ( I 2 ) = 12 − 5 − 1 = 6 .Следовательно , I1=S(2),I2=T(2,1).Разумеется , существуют и другие способы нумерации программ , для насважна лишь эффективная вычислимость функций γ и γ −1 .56Таким образом получаем эффективную нумерацию МПД(9)программ: P0 , P1 , P2 ,..., Pn ,...Теперь, имея нумерацию МПД-программ,можно занумеровать МПДвычислимые функции. Для любого a ∈ N и n ≥ 1 определимf a( n ) ≡ n-местная функция,вычисляемаяпрограммой с номером a .Это дает нумерацию n-местных МПД-вычислимых функцийf 0( n ) , f1( n ) , f 2( n ) ,…(10)(1)( x ) = 1 , n=1Например, если a =4127,то согласноопределению имеем f 4127(n)f 4127( x1 ,...

xn ) = x2 + 1 , n > 1.Поскольку для всякой частично рекурсивной функции fвычисляющая её МПД-программа Р, то f(n)(n)существует= f a( n ) ,где a = γ ( P ) .Число aназывают номером(индексом) функции f ( n ) .Приведём одно применение существования нумерации частичнорекурсивных функций.Теорема.Существуют всюду определенная функция, не являющаяся частичнорекурсивной.Док-во.построим всюду определенную функцию ϕ , отличающуюся от каждойчастично рекурсивной функции f 0 , f 1 ,..., f n ,... в перечеслении одноместныхчастачно рекурсивных функций.Полагаем f x ( x) + 1 , если f x ( x) оп ределенаϕ( x) = 0,elseФункция ϕ всюду определена и отличается от f n при x=n,n ∈ N 0 .Действительно , если f n (n) определено ,то ϕ (n) = f n (n) + 1 , еслиf n (n) не определено , то ϕ (n) определено и равно 0.Поскольку ϕ отличается отf n при всех n ∈ N 0 ,то ϕ не может находиться в перечислении (10) и , значит ,она не может быть частично рекурсивной.ч.т.д.Замечание.

Приведенный метод рассуждения есть пример диагональнойконструкции Кантора, с помощью которой им была доназана несчетностьмножества действительных чисел. Данным методом можно установитьнерекурсивность большого класса функций.Например, функция57 f x ( x) + 2 x , если f x ( x) оп ределеноg ( x) =  p( x) , если f x ( x) не оп ределенопричем p(x) - целочисленный полином является всюду определенной и нечастично рекурсивной.3°) Универсальные функции.Пусть F - некоторый класс функций от k переменных.

ФункциюU (n, x1 ,..., x k ) от k+1 переменных называют универсальной для класса F , есливыполнимы условия:а) Для всякого n ∈ N 0 f n ( x1 ,..., xk ) = U (n, x1 ,..., x k ) ∈ Fб) Для всякой f ( x1 ,..., x k ) ∈ F существует n ∈ N такое, чтоf ( x1 ,..., x k ) = U ( n, x1 ,..., xn ) .Теорема 2.Для класса ×1 - одноместных частично рекурсивных функций существуетуниверсальная частично рекурсивная функция U(n,x).Док-во.Определим U (n, x ) = f Pn ( x ) ,точнее y , если Pn ( x) ↓ yU (n, x) = не оп ределено , else(11)Данное соотношение определяет частичную функцию. Функция U(n,x)является частично рекурсивной. Действительно, для произвольных (n,x) нужнонайти программу Рn(эффективная процедура)и применить Рn к начальнойконфигурации (x,0,0,…,0,…).

Если Pn ( x ) ↓ , то положить U(n,x)=r1, где r1содержимое регистра R1 в заключительной конфигурации. Если Pn ( x ) ↑ , тосчитать значение U(n,x) неопределенным. По тезису Черча функция U(n,x)частично рекурсивна. Покажем, что функция U(n,x) универсальна. ПосколькуU(n,x) частично рекурсивна,то и fn=U(n,x) для всякого n ∈ N 0 частичнорекурсивна, т.к. -fn получена подстановкой константы вместо первого аргумента.Пусть тепарь f ( x ) - произвольная одноместная частично рекурсивная функция.Тогда по доказанному она может быть вычислена некоторой МИД-программойР.

Характеристики

Список файлов лекций

Свежие статьи
Популярно сейчас
Как Вы думаете, сколько людей до Вас делали точно такое же задание? 99% студентов выполняют точно такие же задания, как и их предшественники год назад. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6499
Авторов
на СтудИзбе
303
Средний доход
с одного платного файла
Обучение Подробнее