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

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

PDF-файл В.Н. Пильщиков, В.Г. Абрамов, А.А. Вылиток, И.В. Горячая - Машина Тьюринга и алгоритмы Маркова. Решение задач Практика расчётов на ПЭВМ (36993): Книга - 1 семестрВ.Н. Пильщиков, В.Г. Абрамов, А.А. Вылиток, И.В. Горячая - Машина Тьюринга и алгоритмы Маркова. Решение задач: Практика расчётов на ПЭВМ - PDF (369932019-04-28СтудИзба

Описание файла

PDF-файл из архива "В.Н. Пильщиков, В.Г. Абрамов, А.А. Вылиток, И.В. Горячая - Машина Тьюринга и алгоритмы Маркова. Решение задач", который расположен в категории "". Всё это находится в предмете "практика расчётов на пэвм" из 1 семестр, которые можно найти в файловом архиве МГУ им. Ломоносова. Не смотря на прямую связь этого архива с МГУ им. Ломоносова, его также можно найти и в других разделах. .

Просмотр PDF-файла онлайн

Текст из PDF

Московский государственный университет им. М.В. ЛомоносоваФакультет вычислительной математики и кибернетикиВ.Н. Пильщиков, В.Г. Абрамов,А.А. Вылиток, И.В. ГорячаяМашина Тьюринга и алгоритмы Маркова.Решение задач(Учебно-методическое пособие)Москва, 2006УДК 681.325.5ББК 22.18П32Пильщиков В.Н., Абрамов В.Г., Вылиток А.А., Горячая И.В. МашинаТьюринга и алгоритмы Маркова. Решение задач. (Учебно-методическоепособие) - М.: МГУ, 2006.

– 47 с.Издательский отдел факультета ВМК МГУ (лицензия ЛР №040777 от 23.07.96)Пособие посвящено решению задач по теме «Введение в теорию алгоритмов», изучаемой на первом курсе факультета ВМК МГУ в рамках дисциплины«Алгоритмы и алгоритмические языки». Это задачи на составление алгоритмовв виде машины Тьюринга и нормальных алгоритмов Маркова, а также задачитеоретического характера.В пособии приводятся необходимые сведения по теории алгоритмов,подробно объясняются типичные приёмы решения задач и предлагается большой набор задач для самостоятельного решения.Пособие рассчитано на студентов первого курса факультета ВМК МГУ ипреподавателей, ведущих семинарские занятия по программированию.Рецензенты:доцент Баула В.Г.доцент Корухова Л.С.Печатается по решению Редакционно-издательского совета факультетавычислительной математики и кибернетики МГУ им. М.В.

Ломоносова.ISBN???© Издательский отдел факультетавычислительной математики и кибернетикиМГУ им. М.В. Ломоносова, 200621. Машина ТьюрингаВ разделе рассматриваются задачи на составление алгоритмов длямашины Тьюринга. Приводится краткое описание этой машины, на примерахобъясняются основные приёмы составления таких алгоритмов и предлагаютсязадачи для самостоятельного решения.1.1 Краткое описание машины ТьюрингаСтруктура машины ТьюрингаМашина Тьюринга (МТ) состоит из двух частей – ленты и автомата (см.слева):лента:автомат:ab↑qbΛΛab↑qbΛΛЛента используется для хранения информации. Она бесконечна в обестороны и разбита на клетки, которые никак не нумеруются и не именуются.

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

В каждый момент он размещается пододной из клеток ленты и видит её содержимое; это видимая клетка, анаходящийся в ней символ – видимый символ; содержимое соседних и другихклеток автомат не видит. Кроме того, в каждый момент автомат находится водном из состояний, которые будем обозначать буквой q с номерами: q1, q2 ит.п.

Находясь в некотором состоянии, автомат выполняет какую-тоопределённую операцию (например, перемещается направо по ленте, заменяявсе символы b на a), находясь в другом состоянии – другую операцию.Пару из видимого символа (S) и текущего состояния автомата (q) будемназывать конфигурацией и обозначать <S, q>.Автомат может выполнять три элементарных действия: 1) записывать ввидимую клетку новый символ (менять содержимое других клеток автомат неможет); 2) сдвигаться на одну клетку влево или вправо («перепрыгивать» сразучерез несколько клеток автомат не может); 3) переходить в новое состояние.Ничего другого делать автомат не умеет, поэтому все более сложные операциитак или иначе должны быть сведены к этим трём элементарным действиям.3Такт работы машины ТьюрингаМТ работает тактами, которые выполняются один за другим. На каждомтакте автомат МТ выполняет три следующих действия, причем обязательно вуказанном порядке:1) записывает некоторый символ S′ в видимую клетку (в частности, можетбыть записан тот же символ, что и был в ней, тогда содержимое этой клетки неменяется);2) сдвигается на одну клетку влево (обозначение – L, от left), либо на однуклетку вправо (обозначение – R, от right), либо остается неподвижным (обозначение – N).3) переходит в некоторое состояние q′ (в частности, может остаться в прежнем состоянии).Формально действия одного такта будем записывать в виде тройки:S′, [L,R,N], q′где конструкция с квадратными скобками означает возможность записи в этомместе любой из букв L, R или N.

Например, такт *,L,q8 означает запись символа * в видимую клетку, сдвиг на одну клетку влево и переход в состояние q8.Программа для машины ТьюрингаСама по себе МТ ничего не делает. Для того чтобы заставить её работать,надо написать для неё программу. Эта программа записывается в видеследующей таблицы:S1q1…qj…qmS2…Si…SnΛS΄, [L, R, N], q΄Слева перечисляются все состояния, в которых может находиться автомат,сверху – все символы (в том числе и Λ), которые автомат может видеть наленте. (Какие именно символы и состояния указывать в таблице – определяетавтор программы.) На пересечениях же (в ячейках таблицы) указываются тетакты, которые должен выполнить автомат, когда он находится в соответствующем состоянии и видит на ленте соответствующий символ.В целом таблица определяет действия МТ при всех возможных конфигурациях и тем самым полностью задаёт поведение МТ.

Описать алгоритм ввиде МТ – значит предъявить такую таблицу.(Замечание. Часто МТ определяют как состоящую из ленты, автомата ипрограммы, поэтому при разных программах получаются разные МТ. Мы жебудет считать, в духе современных компьютеров, что МТ одна, но она можетвыполнять разные программы.)4Правила выполнения программыДо выполнения программы нужно проделать следующие предварительныедействия.Во-первых, надо записать на ленту входное слово, к которому будетприменена программа. Входное слово – это конечная последовательностьсимволов, записанных в соседних клетках ленты; внутри входного слова пустыхклеток быть не должно, а слева и справа от него должны быть только пустыеклетки. Пустое входное слово означает, что все клетки ленты пусты.Во-вторых, надо установить автомат в состояние q1 (указанное в таблицепервым) и разместить его под первым символом входного слова:a↑q1bbЕсли входное слово пустое, то автомат может смотреть в любую клетку, т.к. всеони пусты.После этих предварительных действий начинается выполнение программы.

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

Это такт, который ничего не меняет: автомат записывает в видимуюклетку тот же символ, что и был в ней раньше, не сдвигается и остается впрежнем состоянии, т.е. это такт S,N,q для конфигурации <S, q>. Попав на тактостанова, МТ, по определению, останавливается, завершая свою работу.В целом возможны два исхода работы МТ над входным словом:1) Первый исход – «хороший»: это когда в какой-то момент МТ останавливается(попадает на такт останова).

В таком случае говорят, что МТ применима к заданному входному слову. А то слово, которое к этому моменту получено на ленте,считается выходным словом, т.е. результатом работы МТ, ответом.В момент останова должны быть выполнены следующие обязательныеусловия:– внутри выходного слова не должно быть пустых клеток (отметим, что вовремя выполнения программы внутри обрабатываемого слова пустые клеткимогут быть, но в конце их уже не должно остаться);– автомат обязан остановиться под одним из символов выходного слова (подкаким именно – не играет роли), а если слово пустое – под любой клеткой ленты.52) Второй исход – «плохой»: это когда МТ зацикливается, никогда непопадая на такт останова (например, автомат на каждом шаге сдвигается вправои потому не может остановиться, т.к.

лента бесконечна). В этом случае говорят,что МТ неприменима к заданному входному слову. Ни о каком результате притаком исходе не может идти и речи.Отметим, что один и тот же алгоритм (программа МТ) может бытьприменимым к одним входным словам (т.е. останавливаться) и неприменимымк другим (т.е. зацикливаться). Таким образом, применимость/неприменимостьзависит не только от самого алгоритма, но и от входного слова.На каких входных словах алгоритм должен останавливаться? На, таксказать, хороших словах, т.е.

на тех, которые относятся к допустимымисходным данным решаемой задачи, для которых задача осмысленна. Но наленте могут быть записаны любые входные слова, в том числе и те, для которыхзадача не имеет смысла; на таких словах поведение алгоритма не фиксируется,он может остановиться (при любом результате), а может и зациклиться.Соглашения для сокращения записиДоговоримся о некоторых соглашениях, сокращающих запись программыдля МТ.1) Если в такте не меняется видимый символ, или автомат не сдвигается, илине меняется состояние автомата, то в соответствующей позиции такта мы небудем ничего писать.Например, при конфигурации <a, q1> следующие записи тактов эквивалентны:a,R,q3b,N,q2a,L,q1a,N,q1≡≡≡≡,R,q3b, ,q2,L,, ,(но не Λ,R,q3 !!)(это такт останова)Замечание. Запятые в тактах желательно не опускать, т.к.

иначе возможнапутаница, если среди символов на ленте могут встретиться буквы L и R.2) Если надо указать, что после выполнения некоторого такта МТ должнаостановиться, то в третьей позиции этого такта будем писать знак «!».Например, такт b,L,! означает следующие действия: запись символа b ввидимую клетку ленты, сдвиг влево и останов.Формально можно считать, что в программе МТ имеется состояние сназванием !, во всех ячейках которого записаны такты останова. При этом,однако, такую строку явно не выписывают, а лишь подразумевают.3) Если заранее известно, что в процессе выполнения программы не можетпоявиться некоторая конфигурация, тогда, чтобы подчеркнуть это явно, будем всоответствующей ячейке таблицы рисовать крестик. (Формально этот крестиксчитается тактом останова.)Эти соглашения необязательны, но они сокращают запись программы иупрощают её восприятие.61.2 Примеры на составление программ для МТРассмотрим примеры на составление программ для МТ, чтобы продемонстрировать некоторые типичные приёмы программирования на МТ.Для сокращения формулировки задач введём следующие два соглашения:– буквой Р будем обозначать входное слово;– буквой А будем обозначать алфавит входного слова, т.е.

набор тех символов, из которых и только которых может состоять Р (отметим, однако, что впромежуточных и выходном словах могут появляться и другие символы).Пример 1 (перемещение автомата, замена символов)А={0,1,2,3,4,5,6,7,8,9}. Пусть Р – непустое слово; значит, Р – это последовательность из десятичных цифр, т.е. запись неотрицательного целого числа вдесятичной системе. Требуется получить на ленте запись числа, которое на 1больше числа Р.Решение.Для решения этой задачи предлагается выполнить следующие действия:1.

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