|
|||||||
АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
Пример 7Рис. 3.7. Диаграмма переходов машины «
Машина с диаграммой на рис. 3.7 вычисляет предикат « Для того, чтобы этот предикат вычислялся с восстановлением, достаточно в петлях q4 и q5 не стирать, а сохранять единицы, т.е. заменить команды
Так как машина Тьюринга с алфавитом А* = {T, F} и командами q1 T Пусть функция
Теорема 9. Если функции Доказательство. Пусть Т1 – машина с состояниями
Первые две из новых команд передают управление системе команд
Построенную в теореме 9 машину Т будем называть развилкой машин Т1 и Т2 по условию Тр и обозначать Траз(Т1, Т2, ТР), а также изображать блок-схемой (рис. 3.8).
Рис. 3.8. Блок-схема развилки машин Траз(Т1, Т2, ТР).
Пусть функция
Теорема 10. Если функции Доказательство. Сохраняя обозначения из доказательства предыдущей теоремы, введем машину Т, вычисляющую
Первые две из новых команд передают управление системам команд
Построенную в теореме 10 машину Т будем называть циклом машин Т1 и Т2 по условию Тр и обозначать Тцикл(Т1, Т2, ТР), а также изображать блок-схемой (рис. 3.9).
Рис. 3.9. Блок-схема цикла машин Тцикл(Т1, Т2, ТР).
Пример 8. В примере 4 было описано построение машины Т+ для сложения двух чисел. На рис. 3.10 приведена диаграмма машины Т++ для сложения n чисел (n = 1, 2, …). Цикл из состояний q1, q2, q3 – это немного модифицированная и «зацикленная» машина Т+, в которой заключительное состояние совмещено с начальным. Сумма, полученная в очередной итерации цикла, является первым слагаемым следующего цикла. Состояние q4 реализует развилку. В нем проверяется условие – есть ли второе слагаемое. Если да (о чем говорит наличие маркера *), то происходит переход к следующему циклу; если нет (о чем говорит
Рис. 3.10. Диаграмма переходов машины Т++.
Благодаря вычислимости композиции, развилки и цикла, словесные описания и язык блок-схем можно сделать достаточно точным языком описания работы машин Тьюринга. Каждый блок – это множество состояний, в котором выделены начальное и заключительное состояния и система команд. Переход к блоку – это обязательно переход в его начальное состояние. Машина Тьюринга, описываемая блок-схемой, – это объединение состояний и команд, содержащихся во всех блоках. В частности, блоком может быть одно состояние. Блоки, вычисляющие предикаты, обозначим буквой Р.
Пример 9. На рис. 3.11 приведена блок-схема машины Тьюринга
Рис. 3.11. Блок-схема машины
Блоки реализуют следующие указания и вычисления: P1 – вычислить с восстановлением предикат «оба сомножителя больше нуля»; Т1 – стереть все непустые символы справа; Т2 – установить головку у ячейки, следующей (вправо) за маркером *, маркер * заменить на ~; Ткоп – см. пример 5, в котором команду Т3 – вернуть головку к крайнему слева непустому символу. После
Поиск по сайту: |
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.008 сек.) |