Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Универсальная машина Тьюринга




Универсальный алфавит; универсальная кодировка

Каждая машина Тьюринга имеет три алфавита: внешний А, внутренний Q и алфавит сдвигов S. Все три алфавита - конечные множества, и можно считать, что

.

Тогда любое слово над однозначно разбивается на слоги (подслова) (возможно, и однобуквенные) над алфавитами A, Q, S. В частности, любую клетку программы машины как отображения можно закодировать как пятибуквенное слово над , задающее соответствие . Если условиться, что программа выписывается последовательно по столбцам сверху вниз, то мы получим стандартную запись программы в виде «длинного» слова над алфавитом . Поставим следующий вопрос: «Нельзя ли выбрать достаточно простой алфавит, с помощью слов которого можно будет кодировать все буквы, а значит, и слова над (т.е. внешние слова и программу машины)?» Оказывается, в качестве такого простого алфавита, называемого универсальным, можно взять двухбуквенный алфавит {0; 1}. Опишем стандартную кодировку букв алфавита словами над {0; 1} с помощью таблицы кодирования (см. табл. 15.6).

Кодировка с помощью этой таблицы называется стандартной. (Ясно, что стандартная кодировка допускает однозначное декодирование дли любых A, Q, S. Поэтому можно считать, что всегда применяется кодировка с помощью {0; 1} и что все машины работают со словами над алфавитом {0; 1}.

Таблица 15.6.

Буква Код (слово) над {0; 1}
Сдвиги -1  
   
+1  
Буквы Λ  
 
 
Состояния  
 

 

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

Это определение разбило все множество машин Тьюринга МТ на два класса: MTS - класс самоприменимых и MTпS - класс несамоприменимых машин.

Сформулируем проблему распознавания самоприменимости: «Существует ли такая машина Тьюринга S, которая умеет распознавать самоприменимость, т. е. по слову иТ, кодирующему программу машины Т, сообщать, является ли машина Т самоприменимой или нет?» Оказывается, имеет место следующая теорема.

Теорема 15.10. Проблема распознавания самоприменимости является алгоритмически неразрешимой по Тьюрингу проблемой.

Допустим противное, т. е. что существует машина S, решающая проблему самоприменимости, причем

S (иТ)= 1, если Т - самоприменима,

S (иТ)= 0, если Т - несамоприменима.

Если машина S существует, то ее можно перестроить в машину , которая в случае, когда иТ - кодировка программы несамоприменимой машины, перерабатывает иТ в слово «0» и останавливается, а в случае, когда иТ - кодировка программы самоприменимой машины, «вы­печатывает», уходя вправо, бесконечный хвост «1». Покажем, что существование машины , а значит и S, ведет к противоречиям. Для этого применим к слову . Возможны два исхода:

а) после применения к машина напечатает 0 и остановится, но, с одной стороны, это означает (0) - несамоприменимость, а с другой (остановка машины) - самоприменимость;

б) в результате применения к идет без остановки печать бесконечного хвоста единиц. Хвост единиц означает теперь самоприменимость, а это противоречит тому, что машина не останавливается.

Полученное противоречие и доказывает теорему.

 

В заключение опишем, что такое универсальная машина Тьюринга. В обычной машине Тьюринга программа «зашита» в устройство управления, а входная информации (условия задачи) записывается на бесконечной ленте. В универсальной машине в устройстве управления записана программа, реализующая алгоритм подражания, т. е. программную реализацию правил работы любой машины (см. п.15.2), вернее, правила обращения с ее программой. Тогда входной информацией для универсальной машины является па­ра - слово ит, стандартно кодирующее машину-алгоритм, решающий данный класс задач Z; и слово vz, кодирующее условие задачи . Универсальная машина, используя ит, перерабатывает vz в T(vz).

Ясно, что для построения универсальной машины потребуется использование техники машин с полулентами и универсального алфавита. Эта машина будет работать очень «вяло», теряя очень много времени на переходы от обрабатываемого слова к программе и обратно, однако ясно, что справедлива следующая теорема.

Теорема 15.11 Универсальная машина Тьюринга существует.

 

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




Поделиться с друзьями:


Дата добавления: 2014-01-13; Просмотров: 2624; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.015 сек.