
- •Министерство образования и науки Российской Федерации
- •Волгодонский инженерно-технический институт – филиал нияу мифи курс лекций
- •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.3. Сочетания машин Тьюринга: композиция и объединение. Машины с полулентами, разветвление и итерация машин
Перечисленные в заголовке типы сочетаний машин позволяют при конструировании машин использовать стандартные приемы, аналогами которых в реальном программировании являются подпрограммы, циклы, разветвления, модульное программирование.
Композиция машин. Композиция машин - последовательное их применение.
Пусть Т1
- машина
с внешним алфавитом А1
и алфавитом состояний Q1,
Т2
- с алфавитами
А2
и Q2
соответственно, причем
.
Композицией
Т1 и
Т2
называется
машина, обозначаемая
с внешним
алфавитом
,
алфавитом состояний
(
- заключительное
состояние Т1)
и работающая
по правилу:
Теорема 15.4. Композиция машин существует.
Пусть программы машин Т1 и Т2 выглядят следующим образом:
|
|
……… |
|
|
|
|
…….. |
|
А1
|
|
Т1 |
|
|
А2 |
|
Т2 |
|
Программа композиции приведена в таблице 15.2.
Таблица 15.2.
|
|
……… |
|
|
…….. |
|
|||
А1
|
|
|
|
|
|
|
|
|
|
А2 |
|
|
Т2 |
|
|||||
|
|
|
|
|
Блок
получен из
блока T1
следующим образом: все клетки вида
программы
Т1
заменены на
клетки вида
(что и
обеспечивает включение в работу машины
Т2
после окончания работы машины Т1.
Пример.
Пусть
Т1
- машина, складывающая числа в унарной
системе счисления, Т2
- машина Тьюринга, удваивающая числа,
записанные в унарной системе счисления.
Тогда
-
машина,
проводящая вычисления по формуле
.
Машины с полулентами. Прежде чем перейти к объединению, разветвлению, итерации машин, необходимо изучить класс машин Тьюринга с полулентами.
Под машиной с правой (левой) полулентой понимают следующее: в одной из ячеек бесконечной ленты содержится символ ▲ – неподвижный ограничитель, СЗУ машин с правой (левой) полулентой может находиться только на правой (левой) полуленте, состоящей из ячейки, содержащей неподвижный ограничитель, и ячеек, находящихся справа (слева) от этой ячейки.
При выходе СЗУ на ячейку с неподвижным ограничителем мы не имеет права менять ее содержимое. Так как теория машин с левой полулентой - зеркальное отражение теории машин с правой полулентой, мы в дальнейшем будем рассматривать подробно только машины с правыми полулентами.
Теорема 15.5 Пусть ▲T - машина с правой полулентой, тогда существует обычная машина, ей эквивалентная, т. е. для любого слова и над алфавитом А имеет место следующее:
▲Т(▲и) = ▲v → Т(и) = v.
Искомую машину построим в виде композиции трех машин: T2 ◦▲T ◦ T1, где Т1(и) = ▲и для любого слова и над А, Т2(▲и) = v для любого слова ▲v.
Оказывается, что наряду с этой теоремой справедлива и обратная к ней теорема.
Теорема 15.6. Для любой машины Тьюринга с обычной лентой существует равносильная ей машина с правой (левой) полулентой ▲T (Т▲), т. е. для любого слова и над А справедливо следующее:
Т(и) = v → ▲T(▲u) = ▲v.
(T▲ (u▲) = v▲)
Расширим
исходный алфавит двумя символами: ▲ -
неподвижный ограничитель, ∆ - подвижный
ограничитель. Искомую машину ▲T
построим в виде композиции ▲T
= T4
◦
◦
T3.
Опишем работу
машин T3
и T4.
Машина T3
применима к любому слову ▲и
и T3
(▲и)
= ▲и∆.
Ясно, что T3
существует. T4
применима к любому слову
w
= ▲ΛΛ…Λv∆
и T4
(w)
= ▲v.
Ясно, что и T4
существует.
Участок ленты между ▲ и ∆ назовем
рабочей зоной. Машина Т
' строится
по машине Т
следующим образом: внутри рабочей зоны
она работает так же, как машина Т,
в случае выхода СЗУ на ∆ она перемещает
подвижный ограничитель на одну ячейку
вправо, помещая в освободившуюся ячейку
Λ, и продолжает работу, возвращаясь на
одну ячейку влево в том же состоянии, в
котором СЗУ вышло на ∆. Эта возможность
расширения рабочей зоны обеспечивается
введением для каждого рабочего состояния
q
машины Т
состояния
машины Т
'.
Хуже обстоит дело
в случае, когда СЗУ выходит на ▲, так
как неподвижный ограничитель нельзя
перемещать. В этот момент работа машины
Т
' как машины Т
должна
прерваться для того, чтобы побуквенно
переместить слово на одну ячейку вправо,
заполнив освободившуюся ячейку пустым
символом Λ; после чего машина Т
' может вернуться к освободившейся
ячейке и продолжить работу как машина
Т. Сложность
такой «модернизации» Т
к
Т
' состоит
в том, что машина Тьюринга не обладает
внутренней памятью, а запоминать нужно
рабочее состояние, в котором произошел
выход СЗУ на неподвижный ограничитель
и перекладываемые буквы (какую поместить
в ячейку из предыдущей и какую запомнить,
чтобы переложить в следующую). Такое
расширение рабочей зоны обеспечивается
введением для каждого рабочего состояния
q
машины Т
целого шлейфа
состояний машины Т
' (длина шлейфа зависит от |А|).
Выпишем
программу машины Т
' в случае, когда А
=
(табл. 15.3).
Таблица 15.3.
|
α |
β |
Λ |
▲ |
∆ |
|
Т |
▲q▲ +1 |
Λ |
||
… |
|||||
q |
|||||
… |
|||||
|
|||||
q▲ |
Λ qα +1 |
Λ qβ +1 |
Λ qΛ +1 |
|
∆ q∆ +1 |
qα |
α qα +1 |
α qβ +1 |
α qΛ +1 |
|
α q∆ +1 |
qβ |
β qα +1 |
β qβ +1 |
β qΛ +1 |
|
β q∆ +1 |
qΛ |
Λ qα +1 |
Λ qβ +1 |
Λ qΛ +1 |
|
Λ q∆ +1 |
q∆ |
|
|
∆ |
|
|
|
α -1 |
β -1 |
Λ -1 |
▲ q +1 |
|
|
|
|
∆ q -1 |
|
|
Очевидно, построение программы Т ' возможно в случае любого конечного алфавита А.
Доказанные две теоремы означают, что класс машин с полулентами эквивалентен классу обычных машин Тьюринга.
Объединение машин
Пусть
Т1
и
Т2
- машины
Тьюринга с общим или различными внешними
алфавитами
А1,
А2
и пусть
▲
А1
А2.
Объединением
машин Т1
и Т2
называется машина, обозначаемая
,
работающая по правилу
(и▲v)
=
▲
.
Теорема 15.7. Объединение машин существует.
Объединение построим в виде композиции четырех машин:
Т+▲ о ▲Т2 о Т▲+ о Т1▲,
где Т1▲ - аналог машины Т1 на левой полуленте, ▲Т2 - аналог машины Т2 на правой полуленте. машина Т▲+, отправляясь от первой буквы слова w▲z, останавливается на первой букве после символа ▲, оставляя на ленте слово w▲z. Машина Т+▲, отправляясь от первой справа за ▲ буквы слова w▲z, останавливается на первой букве слова w, оставляя на ленте слово w▲z. Очевидно, машины Т▲+ и Т+▲ существуют.
Разветвление машин
Пусть Т1 и Т2 - две машины Тьюринга с общим внешним алфавитом А и алфавитами состояний Q1 и Q2 ( ) и пусть 0 и 1 не принадлежат А.
Пусть Ф - машина-предикат, т. е. машина с внешним алфавитом {0; 1}, применимая к любому слову и над алфавитом А и Ф(и) принадлежит множеству {0;1}.
Разветвлением
машин Т1,
Т2,
управляемым
предикатом
Ф,
называется
машина, обозначаемая
,
которая
работает по правилу
(
)(и)
=
Теорема 15.8. Разветвление машин существует.
Построим разветвление в виде композиции трех машин
,
где машина
имеет
программу, представленную в виде табл.
15.4
Начальным состоянием
машины
является состояние
,
а заключительными - заключительные
состояния
,
- машин Т1
и
Т2
соответственно.
Таблица 15.4.
|
|
|
|
|
……… |
|
|
…….. |
|
|
|
|
|
|
|
|
|
|
|
…….. |
|
|
|
|
Т1 |
|
|
Т2 |
|
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
0 |
|
|
|
|
|
|
|
|
|
▲ |
|
|
|
|
|
|
|
|
|
Итерация машины. Пусть Т - машина Тьюринга с внешним алфавитом А и Ф – машина-предикат.
Итерацией машины Т по предикату Ф называется машина, обозначаемая ТФ, работа которой описывается следующим образом:
1. К слову и применяется предикат Ф, если Ф(и) = 1, то переход к 2, если Ф(и) = 0, то переход к 3.
2.
,
переход к
1.
3. (ТФ)(и):= и, останов.
Теорема 15.9. Итерация машины Т по предикату Ф существует.
Построим машину
.
Обозначим
через (
)'
машину,
программа которой получается из программы
следующей
модернизацией: все клетки, содержащие
тройки
,
где
- заключительное состояние машины Т,
заменяются
на клетки, содержащие
,
где
- начальное состояние всего агрегата
.
Очевидно,
ТФ
= (
)'.