
- •Министерство образования и науки Российской Федерации
- •Волгодонский инженерно-технический институт – филиал нияу мифи курс лекций
- •230201 «Информационные системы и технологии»
- •220301 «Автоматизация технологических процессов и производств»
- •Волгодонск
- •1. Алгебра множеств
- •1.1. Понятие множества. Обозначение принадлежности
- •1.2. Способы задания множеств
- •1.3. Множество подмножеств. Включение
- •1.5. Свойства операций над множествами
- •Основные свойства операций над множествами
- •1.6. Декартово произведение множеств
- •2. Отношения
- •Бинарные отношения
- •Способы задания бинарных отношений
- •Области определения и значений
- •Сечения
- •Симметризация отношения
- •2.6 Композиция отношений
- •2.7. Свойства бинарных отношений
- •3. Функциональные отношения
- •3.2. Мощность множества
- •3.3. Образы и прообразы
- •3.4. Подстановки как отображения
- •4. Отношение эквивалентности
- •4.1. Эквивалентность. Классы эквивалентности
- •4.2. Система представителей.
- •4.3. Классы вычетов по модулю т.
- •4.4. Матрица и граф отношения эквивалентности
- •5. Отношение порядка
- •5.1. Упорядоченность
- •5.2. Отношение строгого порядка
- •5.3. Весовые функции
- •5.4. Квазипорядок
- •5.5. Комплексный показатель качества
- •5.6. Структура упорядоченных множеств
- •5.7. Матрицы отношений порядка
- •5.8. Графы отношений порядка
- •6. Законы композиции
- •6.1. Композиция объектов. Таблица Кэли.
- •6.2. Законы композиции на множестве.
- •6.3. Свойства внутреннего закона композиции.
- •6.4. Регулярный, нейтральный и симметричный элементы.
- •6.5. Аддитивные и мультипликативные обозначения.
- •6.6. Алгебраические системы.
- •6.7. Подсистемы.
- •6.8. Делители нуля.
- •Примеры алгебраических систем
- •Группы подстановок
- •7.2. Кольцо многочленов
- •7.3. Кольцо множеств
- •7.4. Множество классов вычетов по модулю т
- •7.5. Поле комплексных чисел
- •7.6. Тело кватернионов
- •8. Пространства
- •Метрические пространства
- •8.2. Топологические пространства
- •8.3. Линейные пространства
- •8.4. Нормированные пространства
- •9. Логические функции
- •9.1. Основные определения
- •9.2. Табличное задание функции
- •9.3. Булевы функции
- •9.4. Зависимость между булевыми функциями
- •10. Алгебра логики
- •10.1.Булева алгебра
- •10.2. Двойственность формул булевой алгебры
- •10.3. Нормальные формы
- •10.4. Совершенные нормальные формы
- •10.5. Проблема разрешимости
- •10.6. Конституенты и представление функций
- •10.7. Алгебра Жегалкина
- •10.8. Канонические многочлены
- •10.9. Типы булевых функций
- •10.10. Функциональная полнота
- •11. Контактные схемы
- •12. Логические схемы
- •13. Минимизация булевых функций
- •14. Конечные автоматы
- •14.1 Основные определения
- •14.2 Состояния
- •14.3 Типы конечных автоматов
- •14.4 Представления конечных автоматов
- •14.5 Анализ конечных автоматов
- •14.6 Минимизация автоматов
- •14.7. Эквивалентное разбиение
- •15. Машины тьюринга
- •15.1 Алфавит, буквы, слова. Операции над словами. Запись слов на бесконечной ленте
- •15.2. Машина Тьюринга. Описание. Примеры машин
- •15.3. Сочетания машин Тьюринга: композиция и объединение. Машины с полулентами, разветвление и итерация машин
- •15.4. Алгоритмически разрешимые и неразрешимые проблемы
- •15.5. Универсальная машина Тьюринга
15. Машины тьюринга
15.1 Алфавит, буквы, слова. Операции над словами. Запись слов на бесконечной ленте
Алфавит –любое непустое конечное множество, элементы алфавита называются буквами. Словом длины n (n N) над алфавитом А называется отображение u: [1; n]→A.
Пример. Пусть А ={|; *}, n = 5, u(1) = |, u(2) = |, u(3) = *, u(4) = |, u(5) = *. Тогда u = ||*|*.
Пусть u и v – слова над алфавитом А длины n1 и n2 соответственно. Упорядоченной склейкой слов u и v называется слово uv длины n1 + n2, заданное следующим правилом:
Пример. Пусть А ={|; *}, u = ||*|*, v = **|. Тогда uv = ||*|***|, vu = **|||*|*.
Пусть А
– алфавит и
.
Назовем Λ пустым символом, а
- алфавитом с пустым символом.
Бесконечной
записью
конечного слова над алфавитом А в
алфавите с пустым символом называется
отображение
,
удовлетворяющее следующим условиям:
существуют n1
< n2
(n1,
n2
Z)
такие, что:
Длиной слова называется величина n2 - n1 +1. f(n1) называется первой буквой слова, f(n1 +1) – второй буквой, …, f(n2) – последней (n2 - n1 +1)-й буквой.
Бесконечная
запись конечного слова иначе называется
записью слова на бесконечной ленте. Эта
запись привязана к конкретному участку
ленты
Пусть
n
Z.
Сдвигом
n
называется отображение
,
заданное правилом
.
Теорема
15.1.
Множество сдвигов
относительно операции композиции
образует абелеву группу.
Пусть - алфавит с пустым символом. На множестве бесконечных записей конечных слов над А введем отношение следующим образом:
u
v
Теорема 15.2. Отношение является отношением эквивалентности.
15.2. Машина Тьюринга. Описание. Примеры машин
Машина Тьюринга имеет три алфавита:
1. Внешний алфавит
с пустым символом -
2. Внутренний
алфавит, или алфавит состояний
.
(Состояние
называется заключительным состоянием,
-
начальным
состоянием, состояния
рабочими
состояниями.)
3. Алфавит сдвигов S = {-1, 0, +1}.
В конструкции машины имеются:
а) бесконечная лента (разбитая на ячейки), предназначенная для размещения бесконечных записей конечных слов над алфавитом А (по одной букве в ячейке);
б) считывающе-записывающее устройство (СЗУ). СЗУ обладает способностью обозревать одну ячейку ленты, считывать букву, записанную в ячейке, заносить на место считываемой буквы любую другую из , передвигаться вдоль ленты влево и вправо на одну ячейку;
в) устройство управления (УУ), которое управляет с помощью программы машины ее работой;
г) программа машины, определяющая переходы машины от одной конфигурации к другой.
Под конфигурацией машины понимают пару: слово с отметкой и состояние машины.
Словом с отметкой называют слово, записанное на ленте с указанием обозреваемой СЗУ ячейки.
Программа машины
- отображение П :
,
т. е. правило,
сопоставляющее любой паре
- «буква-состояние»
- тройку
- «буква-состояние-сдвиг».
Так как A,
Q
- конечны,
то программу машины можно задать таблицей
(см. табл. 15.1).
Таблица 15.1.
|
|
||||
|
… |
|
… |
|
|
|
|
|
|
|
|
… |
… |
… |
… |
… |
… |
|
|
|
|
|
|
… |
… |
… |
… |
… |
… |
|
|
|
|
|
|
Λ |
|
|
|
|
|
|
Правила работы машины (правила обращения УУ с программой и СЗУ)
Машина работает
дискретно (пошагово). На каждом шаге
происходит переход от одной конфигурации
к другой. Перед началом работы машина
находится в начальной конфигурации:
СЗУ обозревает первую букву слова, а
машина находится в начальном состоянии
.
СЗУ считывает букву, находящуюся в
обозреваемой ячейке. УУ обращается к
программе машины: находит клетку,
соответствующую считанной букве и
состоянию машины. Пусть в этой клетке
находится тройка
,
тогда буква а
заносится
в обозреваемую ячейку, машина переводится
в состояние q,
а СЗУ совершает
сдвиг на одну ячейку влево, если
,
на одну ячейку вправо, если s
= +1, и остается на месте, если
.
На этом завершена работа машины на
первом шаге, и она готова к выполнению
следующего аналогичного шага и т. д.
Работа машины продолжается до тех пор, пока на каком-то из шагов машина не придет в состояние . Устройство управления в этом случае останавливает машину. Возникшая конфигурация называется заключительной, а полученное слово - результатом применения машины к исходному слову.
Если и - исходное слово, Т - машина, то через Т(и) обозначается результат применения машины Т к слову и.
Говорят, что машина Т не применима к слову и, если в процессе применения ее к слову она ни на каком из шагов не приходит в заключительное состояние.
Пример. Построим машину Тьюринга, складывающую натуральные числа, записанные в унарной системе счисления.
Напомним, что 510
= | | | | | унарн.
Рассмотрим алфавит
.
Необходимо построить машину Т,
удовлетворяющую условию:
Т((т)унарн. + (п)унарн.) = (т + п)унарн.
Такая машина определяется следующей программой:
|
|
|
|
| |
|
|
|
+ |
|
|
|
Λ |
|
|
|
Замечание. Условимся составлять программы так, чтобы «останов» происходил на первой букве результата.
Выпишем последовательно возникающие при работе этой машины конфигурации на исходном слове | | + | | |. При записи конфигурации будем использовать следующее соглашение: состояние, в котором находится машина, записывается в круглых скобках справа за обозреваемой ячейкой.
0) |
|
8) |
|
1) |
|
9) |
|
2) |
|
10) |
|
3) |
|
11) |
|
4) |
|
12) |
|
5) |
|
13) |
|
6) |
|
14) |
|
7) |
|
|
|
Пример. Построить машину Тьюринга, удваивающую натуральные числа, записанные в унарной системе счисления.
Расширим исходный
алфавит А =
{|} до А'
= {|, α}.
Искомую
машину построим в алфавите
.
Ясно, что программа такой машины может
выглядеть так:
|
|
|
|
| |
|
|
|
α |
|
|
|
Λ |
|
|
|
Применим полученную машину к слову | |.
0) |
|
5) |
|
10) |
|
1) |
|
6) |
|
11) |
|
2) |
|
7) |
|
12) |
|
3) |
|
8) |
|
13) |
|
4) |
|
9) |
|
14) |
|
|
|
|
|
15) |
|
Введение новой буквы α и замена исходных | на α позволяет различить исходные | и новые (приписанные) |. Состояние q1 обеспечивает замену | на α, состояние q2 обеспечивает поиск α, предназначенных для замены на |, и останов машины в случае, когда α не обнаружен, q3 обеспечивает дописывание | в случае, когда произошла замена α на |.
Введем в рассмотрение стандартные машины:
1. Тождественная машина Е - применима к любому слову над алфавитом А и Е(и) = и.
2.
Пусть А
- алфавит и
,
.
Копирующей машиной называется машина,
применимая к любому слову и
над
А, причем
3. Пусть А
- алфавит и
.
Машиной, заменяющей α
на β,
называется
машина
,
применимая к любому слову и
так:
4. Пусть А
- алфавит и
.
Машиной-проектором
называют машину, применимую к любому
слову
,
где и, v
- слова над
алфавитом А,
причем
;
.
Теорема 15.3. Тождественная, копирующая, заменяющая машины и машины-проекторы существуют.