русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Массовые алгоритмические проблемы


Дата добавления: 2013-12-24; просмотров: 1355; Нарушение авторских прав


Словарное представление машины Тьюринга

Машина Тьюринга однозначно задаётся своей программой. Если упорядочить её команды произвольным образом и применить описанный ниже способ кодировки, с помощью которого последовательность команд представлена цепочкой в алфавите машины Тьюринга, то мы получим её описание в собственном алфавите.

Пусть V – алфавит машины Тьюринга, Q – множество её состояний, K(q) – порядковый номер соответствующий номеру состояния q.

Введём вспомогательный символ *, не входящий в алфавит V. Каждой команде вида: qaq’a’d, сопоставим цепочку в алфавите W, который определяется . Сопоставленная цепочка будет иметь вид: *K(q)a*K(q’)a’d. Упорядоченной последовательности команд будет соответствовать последовательность цепочек в алфавите W, конкатенация этих цепочек определяет цепочку αT. Последняя однозначно описывает машину Тьюринга T с точностью до переименованного состояния.

Следующий шаг заключается в переходе от представления в алфавите W в алфавит V.

Пусть алфавит V содержит n символов, упорядочим их произвольным образом. Алфавит W упорядочим так, чтобы символы из алфавита V имели те же номера, а дополнительные символы имели номера:

Закодировав согласно описанному ранее способу все цепочки из V* (перенумеровав их) и все цепочки из W*, мы можем, зная номер цепочки αT, сопоставить ей цепочку βT из множества V* с тем же самым номером. Найденная цепочка будет словарным представлением машины Тьюринга в её алфавите и по этой цепочке βT можно однозначно восстановить машину Тьюринга с точностью до наименования её состояния.

 

Необходимо указать алгоритм, который бы определял, обладает ли предъявляемый объект из некоторого класса объектов интересующим нас свойством. Другими словами, необходимо определить, принадлежит ли рассматриваемый объект множеству M всех объектов, обладающих заданным свойством. Если существует такой частичный алгоритм, то говорят, что множество перечислимо, а поставленная массовая алгоритмическая проблема частично разрешима. Если же алгоритм всюду определён, то множество M разрешимо и поставленная проблема также разрешима.



Пусть V – алфавит, и множество M является подмножеством всех цепочек V*. Функция FM называется предикатом отображения:.

Частичная характеристическая функция множества M – это функция , которая определяется только для цепочек из множества M, т.е. , .

Множество M называется разрешимым, если его характеристическая функция FM вычислима. Множество M называется перечислимым, если его частичная характеристическая функция вычислима. Разрешённое множество M означает, что существует всегда останавливающаяся машина Тьюринга , позволяющая для любых цепочек из V* через конечное число шагов узнать, принадлежит ли эта цепочка множеству M или нет. Перечислимость M означает, что существует машина Тьюринга , которая останавливается только в том случае, когда поданная на вход цепочка принадлежит M.

Теорема Поста:

Множество разрешимо тогда и только тогда, когда перечислимыми являются множество M и его дополнение .

Доказательство.

Необходимость:

Если множество M разрешимо, то характеристическая функция этого множества FM вычислима, т.е. существует машина Тьюринга , которая останавливается в обоих случаях. Частичная функция HM реализации машины Тьюринга из машины зацикливается в случае, когда цепочка не принадлежит M. Машина Тьюринга строится аналогично.

Достаточность:

Если M и перечислимы, то существуют машины Тьюринга и , которые вычисляют частичные характеристические функции. Для построения машины Тьюринга используем следующий алгоритм:

Последовательно выполняются команды, сначала , потом . Если останавливается машина Тьюринга , то в качестве ответа выдаётся символ 1. Если не останавливается, то запускается , если она остановилась, то выдаётся в качестве ответа 0. Если она не остановилась, то процесс повторяется. За конечное число шагов функционирование построенной машины Тьюринга завершится.

 



<== предыдущая лекция | следующая лекция ==>
Вычислимые функции и машина Тьюринга | Этика в системе гуманитарных наук.


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

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