Главная » Просмотр файлов » В.Н. Пильщиков, В.Г. Абрамов, А.А. Вылиток, И.В. Горячая - Машина Тьюринга и алгоритмы Маркова. Решение задач

В.Н. Пильщиков, В.Г. Абрамов, А.А. Вылиток, И.В. Горячая - Машина Тьюринга и алгоритмы Маркова. Решение задач (1000390), страница 9

Файл №1000390 В.Н. Пильщиков, В.Г. Абрамов, А.А. Вылиток, И.В. Горячая - Машина Тьюринга и алгоритмы Маркова. Решение задач (В.Н. Пильщиков, В.Г. Абрамов, А.А. Вылиток, И.В. Горячая - Машина Тьюринга и алгоритмы Маркова. Решение задач) 9 страницаВ.Н. Пильщиков, В.Г. Абрамов, А.А. Вылиток, И.В. Горячая - Машина Тьюринга и алгоритмы Маркова. Решение задач (1000390) страница 92019-04-28СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

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

начав работать над своейзаписью как входным словом, он остановится:1a →#;# a ;→#Алгоритм же H2 несамоприменим, т.к. он зацикливается на своей записи:#a→#;# a ;→#→2#→#;# a ;→#4a→b;b→bb→5b→b;b→bb→5bb→b;b→bb→5bbb→b;b→bb→…Отметим, что если применимость зависит как от алгоритма, так и от слова,то самоприменимость зависит только от алгоритма, от того, применим ли этот38алгоритм к конкретному слову – к своей собственной записи, котораяоднозначно определяется данным алгоритмом.Пример 3Построить НАМ, который несамоприменим, но применим к любому слову валфавите {a,b}.РешениеПоскольку искомый НАМ применим ко всем словам, составленным изсимволов a и b, то зацикливаться он может лишь на словах, содержащих какойто дополнительный символ, скажем *.

Следовательно, чтобы НАМ оказалсянесамоприменимым (зацикливался на своей записи), символ * должен входить взапись алгоритма (в одну из его формул) и на этом символе НАМ долженциклиться. Можно придумать много таких алгоритмов, но простейшим из нихявляется следующий:{ *→*Пример 4Известно, что проблема самоприменимости алгоритмически неразрешима,т.е. не существует единого способа (алгоритма), который позволял быопределять для любого алгоритма, самоприменим он или нет. Однако в частныхслучаях (для некоторых классов алгоритмов) эта проблема может оказаться иразрешимой.

Например, проблема самоприменимости для НАМ, содержащихтолько одну формулу подстановки, разрешима. Требуется доказать этоутверждение.ДоказательствоПусть НАМ имеет вид { α ⏐→ β или { α → β. Тогда можно использоватьследующий метод проверки самоприменимости: если единственная формулаалгоритма заключительная или если это обычная формула, левая часть (α)которой не входит в правую часть (β), то такой НАМ самоприменим, иначе жеон несамоприменим.Действительно, какой бы ни была единственная формула –заключительной или обычной, на первом шаге применения НАМ к его записи (кслову α⏐→β или α→ β) часть α в этой записи будет заменена на β, в результатечего получится слово β⏐→β или β→β.

Если формула заключительная, то на этомНАМ и остановится, а это значит, что он самоприменим. Если же формулаобычная и α не входит в β, то формула неприменима к получившемуся слову иработа НАМ прекращается, поэтому и в данном случае алгоритм самоприменим. Но если формула обычная и α входит в β, то в получившемся слове β→βбудет присутствовать α, поэтому наша формула снова применяется, причем в39новом слове по-прежнему окажется α.

Получаем бесконечный процесс подстановок, а это и значит, что НАМ несамоприменим.3.3 Эквивалентность алгоритмовЭквивалентными называются алгоритмы, которые предлагают разныеспособы решения одной и той же задачи. Это значит, что на одинаковых входных словах они выдают одинаковые результаты (выходные слова). При этом,правда, надо учитывать и случай зацикливания: если один алгоритм зацикливается на каких-то входных словах, т.е. не даёт решение задачи, то и эквивалентный ему алгоритм также не должен давать решения на этих исходныхданных.Точное определение эквивалентности алгоритмов следующее: алгоритмыH1 и H2 эквивалентны относительно алфавита A, если области применимости H1 и H2 относительно алфавита A совпадают и для любого слова P изэтой области выполняется равенство H1(P) = H2(P).Отметим, что в этом определении важен тот алфавит, относительно которого устанавливается эквивалентность. Дело в том, что одни и те же алгоритмымогут быть эквивалентными относительно одного алфавита и не эквивалентными относительно другого алфавита.

Например, алгоритмы⎧aaaH2 : ⎨⎩ b →bэквивалентны относительно алфавита {a} и не эквивалентны относительноалфавита {a,b}: слова в алфавите {a} они не меняют, но если в входное слововходят только символы b, то H1 остановится, а H2 зациклится.H1 :{a a aПример 5Определить, эквивалентны ли следующие пары НАМ относительно алфавита {a,b}:1) H1 :{a a b⎧ a→b2) H3 : ⎨⎩b→a3) H5 :{ aa → a⎧ *b → b *⎪H2 : ⎨ * a a b⎪⎩→*⎧ a → aaH4 : ⎨⎩ b → bb⎧ * aa⎪ *bH6 : ⎨*⎪⎩→ a*→ b*a→*РешениеПри проверке алгоритмов на эквивалентность надо прежде всегоустановить, совпадают ли области их применимости.В случае алгоритмов Н1 и Н2, которые первое вхождение символа aзаменяют на b, это условие не выполняется: Н1 применим ко всем словам из40символов a и b, а Н2 зацикливается на словах, не содержащих a. Значит,алгоритмы Н1 и Н2 не эквивалентны.Если же области применимости совпадают, тогда надо показать, что наодних и тех же словах из данной области эти алгоритмы выдают одинаковыерезультаты.У пары алгоритмов Н3 и Н4 одна и та же область применимости – онасостоит только из одного пустого слова.

На непустых же словах эти алгоритмызацикливаются, причём зацикливаются по-разному: Н3 постоянно меняет a на bи b на a, тогда как Н4 всё время добавляет новый символ a или b. Однако такоеразличное поведение при зацикливании не играет никакой роли при определении эквивалентности алгоритмов. Важно лишь, чтобы в случае остановаалгоритмы выдавали одинаковые выходные слова. А для пары Н3 и Н4 этоусловие выполняется: на единственном слове (пустом), к которому ониприменимы, они выдают один и тот же ответ – пустое слово. Значит, алгоритмыН3 и Н4 эквивалентны.Теперь рассмотрим пару алгоритмов Н5 и Н6. У них одна и та же областьприменимости – это множество всех слов в алфавите {a,b}. Однако второеусловие эквивалентности (одинаковые результаты при одинаковых исходныхданных) не выполняется.

Чтобы доказать это, достаточно привести лишь однослово, на котором алгоритмы выдают разные ответы. Таким словом может быть,например, слово aaaa:H5: aaaa → aaa → aa → aH6: aaaa → *aaaa → a*aa → aa* a aaИтак, алгоритмы Н5 и Н6 не эквивалентны.3.4 Композиция алгоритмовКак известно, к результату одной функции можно применить другуюфункцию, например: sin(ctg x).

Точно так же выходное слово одного алгоритмаН1 можно подать на вход другому алгоритму Н2. Такое последовательное выполнение сначала алгоритма Н1, а затем алгоритма Н2 называется композициейэтих алгоритмов. При этом, правда, надо учитывать, что любой из этих алгоритмов может зацикливаться, тогда должна зацикливаться и их композиция.Эти соображения приводят к следующему определению:Композицией алгоритмов H1 и H2 относительно алфавита A называетсятакой алгоритм H (обозначается Н1°Н2 или H2(H1)), что для любого слова P валфавите A выполняются следующие условия:1) если Н1 неприменим к Р, то и Н неприменим к Р;2) если Н1 применим к Р, но Н2 неприменим к слову Н1(Р), то и Н неприменим к Р;3) если Н1 применим к Р и Н2 применим к слову Н1(Р), то Н применим к Р,причём выполняется равенство Н(Р)=Н2(Н1(Р)).41Доказана следующая теорема: для любых нормальных алгоритмов Н1 и Н2существует нормальный алгоритм Н, который является (относительно соответствующего алфавита) композицией Н1 и Н2.

(Аналогичная теорема верна и длямашины Тьюринга.)Пример 6Построить нормальный алгоритм Н, являющийся композицией указанныхнормальных алгоритмов Н1 и Н2 (Н=Н2(Н1))) относительно алфавита {a,b}:⎧ *a⎪ *bH1 : ⎨*⎪⎩→*→ b*a→*H2 :{ b→aРешениеПрежде всего отметим, что в общем случае нельзя строить композицию Нпростым выписыванием друг за другом формул подстановки из алгоритмов Н1и Н2. Например, если сначала выписать формулы из Н1, а затем из Н2, тополучим алгоритм Н12, а если сначала выписать формулы из Н2, а затем из Н1,то получим алгоритм Н21:⎧ *a → *⎧b → a⎪ *b → b *⎪* a → *⎪⎪H12 : ⎨ * aH21 : ⎨ * b → b *⎪⎪* a→*⎪b →a⎪→*⎩⎩Так вот, ни Н12, ни Н21 не является композицией алгоритмов Н1 и Н2.Например, для входного слова abb имеем:H12: abb → *abb → *bb → b*b → bb* a bbH21: abb → aab → aaa → *aaa → *aa → *a → * aтогда как H2(H1(abb))=H2(bb)=aa.Отметим, что существует на самом деле способ построения списка формулдля композиции Н по спискам формул из Н1 и Н2 (наличие этого способа идоказывает указанную выше теорему).

Однако этот способ достаточногромоздкий, поэтому для несложных НАМ лучше использовать другой подход:прежде всего следует понять, какую задачу решает каждый из алгоритмов Н1 иН2, затем надо последовательность этих задач объединить в общую задачу и,наконец, построить алгоритм для решения этой общей задачи. Такой алгоритм ибудет композицией исходных алгоритмов.В нашем примере алгоритм Н1 удаляет из входного слова все символы a,алгоритм же Н2 заменяет все b на a. Значит, последовательное применениесначала Н1, а затем Н2 приводит к тому, что из входного слова удаляются всесимволы a, после чего оставшиеся символы b заменяются на a (без последующего удаления их).

НАМ, решающий такую задачу, может быть, например,следующим:42⎧ *a → *⎪ *b → a *H: ⎨* a⎪→*⎩Это и есть композиция заданных алгоритмов Н1 и Н2.3.5 Задачи для самостоятельного решения3.1 Из указанного НАМ вычеркнуть ровно одну формулу подстановки так,чтобы получился алгоритм, применимый ко всем словам в алфавите {a,b}:⎧ a →b⎪⎨ ba → aba⎪⎩ b → a3.2 Определить область применимости указанного НАМ относительноалфавита {a,b,c}:⎧ ba → ab⎪ ca → ac⎪д) ⎨ cb → bc⎪ abc a⎪→⎩3.3 Определить область применимости указанного НАМ относительноалфавита {a,b}:⎧ a→b⎪а) ⎨ b → c⎪⎩ c → a⎧a →⎪б) ⎨ bb → b⎪⎩ ccc → cc⎧ * ab → ab⎪ *a →*⎪а) ⎨ * b → *⎪* a⎪→*⎩⎧a →⎪в) ⎨ b → b⎪⎩ c →⎧ ab → ba⎪б) ⎨ ba a ab⎪⎩ b→ bb⎧a⎪bг) ⎨cc⎪⎩c→c→a→→c⎧ aa → baв) ⎨⎩ b →a3.4 Построить НАМ, который из всех слов в алфавите {a,b,c} применимтолько к двум словам – пустому слову и слову abccba.3.5 Построить НАМ, в котором не более 5 формул подстановки и который извсех слов в алфавите {a,b} применим только к словам, имеющим следующий вид:а) anbn, где n≥0б) anbm, где n≠m, n≥0, m≥0в) anbm, где n≥m≥0г) anbm, где n>m≥03.6 Построить НАМ, в котором не более 5 формул подстановки и который извсех слов в алфавите {a,b,c} применим только к тем словам, длина которых:а) кратна 5б) не кратна 5в) больше 4г) меньше 4д) равна 3е) не равна 33.7 Построить НАМ, в котором не более 3 формул подстановки и который извсех слов в алфавите {a,b} применим только к тем словам, для которыхвыполняется хотя бы одно из следующих двух условий: 1) в слове меньше трёхсимволов a; 2) число символов b кратно 3.433.8 Пусть в каждой формуле подстановки некоторого НАМ число символов влевой части строго больше числа символов в правой части.

Доказать, что такойНАМ применим к любому слову.3.9 Определить, самоприменим ли указанный НАМ:а) { →б){a⎧b →a⎪г) ⎨ ab → ab⎪⎩ aa a⎧ a →bв) ⎨⎩b →a⎧ b →aд) ⎨⎩ aa → b3.10 A={a,b}. Построить НАМ, в котором не более 4 формул подстановки икоторый:а) самоприменим и применим ко всем словам в алфавите А;б) самоприменим, но неприменим ко всем словам в алфавите А;в) самоприменим и применим только к какому-то одному слову в алфавите А;г) самоприменим и неприменим только к какому-то одному слову в алфавите А;д) несамоприменим и неприменим ко всем словам в алфавите А;е) несамоприменим и применим только к какому-то одному слову в алфавите А;ж) несамоприменим и неприменим только к какому-то одному слову валфавите А.3.11 A={a,b}. Построить НАМ, в котором не более 3 формул подстановки икоторый:а) самоприменим и применим только к тем словам в алфавите А, которыесодержат хотя бы один символ a;б) самоприменим и неприменим только к тем словам в алфавите А, которыесодержат хотя бы один символ a;в) несамоприменим и применим только к тем словам в алфавите А, которыесодержат хотя бы один символ a;г) несамоприменим и неприменим только к тем словам в алфавите А, которыесодержат хотя бы один символ a.3.12 Пусть в некотором НАМ все формулы являются обычными и есть формулас пустой левой частью.

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

Список файлов книги

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