- •© Михеева е. А., 2016 © Ульяновский государственный университет, 2016 оглавление
- •Раздел 6. Элементы математической логики . . . . . . . . . . . . . . . . . . . . 9
- •Раздел 7. Ограниченно-детерминированные (автоматные) функции
- •Раздел 8. Вычислимые функции . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
- •Раздел 9. Теория кодирования . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
- •Раздел 6. Элементы математической логики Предисловие
- •Исчисление высказываний
- •Язык ив
- •Аксиомы ив
- •Формулы алгебры высказываний
- •Соответствие между формулами ав и ив
- •Непротиворечивость ив
- •Полнота ив
- •Логические операции над предикатами
- •Теорема о полноте системы одноместных предикатов, заданных на конечном множестве
- •Исчисление предикатов (ип)
- •Формулы исчисления предикатов
- •Определение формул
- •Замена переменных в формулах
- •Правила образования выводимых формул
- •Замена переменного предиката
- •Задания для самостоятельной работы
- •Раздел 7. Ограниченно-детерминированные (автоматные) функции
- •Детерминированные функции
- •Свойство детерминированной функции
- •Примеры детерминированных и недетерминированных функций
- •Способ задания д.Функций
- •Вес детерминированной функции
- •Ограниченно-детерминированные функции
- •Способы задания о.Д.Функций
- •Конечные автоматы
- •Задания для самостоятельной работы
- •Раздел 8. Вычислимые функции Машины Тьюринга
- •Пусть в некоторый момент головка машины обозревает символ , находясь в состоянии , тогда:
- •Методы построения машин Тьюринга
- •1. Принцип двойственности для программ (машин).
- •2. Последовательное подключение одной машины к другой.
- •3. Итерация машины.
- •4. Специальный операторный язык для записи алгоритмов.
- •Описание технологии программирования для машин Тьюринга
- •Вычислимые функции
- •Операции с, Пр и
- •Классы вычислимых и рекурсивных функций
- •Эквивалентность класса рекурсивных функций и функций, вычислимых на машинах Тьюринга
- •Задания для самостоятельной работы
- •Раздел 9. Теория кодирования Алфавитное кодирование
- •Критерий однозначности декодирования
- •Задания для самостоятельной работы
Способы задания о.Д.Функций
Пусть , , имеет вес , т.е. в ее информационном дереве можно найти - r попарно неэквивалентных поддеревьев.
Каждая о.д.функция может быть задана
через усеченное дерево,
диаграммой Мура,
при помощи таблицы,
через канонические уравнения.
Каждый способ задания опишем отдельно.
1.
Усеченное
дерево. В
исходном информационном дереве
дополнительно устанавливается нумерация
вершин следующим образом. Берем вершину
и соответствующее ей дерево
.
Пусть
,
где
,
тогда вершину
нумеруем как
.
Корневая вершина нумеруется как 0. Итак,
все вершины дерева помечены числами
из множества
.
Далее делаем усечение.
Рассмотрим путь из корневой вершины в
другую вершину. Т.к. вершинам приписаны
номера, мы имеем последовательность
чисел
Если
,
то среди чисел последовательности
будут одинаковые. Пусть
такое, что числа
- разные, а при добавлении
-
появляются одинаковые, т.е.
что
,
где
.
Если эта ситуация встречается на шаге
,
то мы все ребра, которые ведут из вершины
(по рисунку), удаляем, оставляя конечную
ветвь. И так проделываем с каждой ветвью,
ведущей из корневой вершины. В итоге
получим усеченное дерево.
Пример
7. Пусть
где
Тогда
Задать о.д.функцию
в виде усеченного дерева.
T :
Перенумеруем вершины дерева :
Делаем усечение. В итоге получим следующее усеченное дерево:
Если о.д.функция имеет вес , то ее усеченное дерево обладает следующими свойствами:
Любая цепь из корневой вершины имеет не более ребер.
Мы получаем конечное дерево.
2. Диаграмма Мура получается из усеченного дерева в результате отождествления вершин с одинаковыми номерами. Рассмотрим пример 7. Начальную (корневую) вершину обозначим как 0. Тогда диаграмма Мура для о.д.функции из примера 7 выглядит следующим образом:
Таким образом, о.д.функции можно задать диаграммами Мура. В общем случае, когда имеет вес , то
диаграмма Мура имеет вершин, причем одна из них выделена в качестве начальной;
из каждой вершины исходят 2 ребра;
ребрам приписаны пары
начальная вершина помечена как 0.
Диаграммы Мура позволяют строить о.д.функции любого веса . При такого рода построениях нужно иметь в виду, что хотя по формально заданной диаграмме Мура о.д.функция восстанавливается однозначно, однако, если по этой о.д.функции построить диаграмму Мура вышеуказанным способом, то она может не совпасть с исходной. Итак:
Диаграмма Мура
Пусть
такие, что
,
где
,
а
.
Действительно, мы можем нумеровать по-разному вершины, неправильно определить число неэквивалентных поддеревьев. Тогда диаграммы как картинки будут различны.
3. Таблицы (способ задания о.д.функции при помощи таблицы).
Пусть
- о.д.функция. Рассмотрим ее диаграмму
Мура. Предположим, что в момент
мы находились в вершине
.
Тогда при поступлении в момент времени
числа
мы переместимся в диаграмме по ребру
,
выходящему из вершины
,
при этом получим выходное значение
и перейдем в вершину
.
Таким образом, величины
однозначно
определяют величины
.
Введенные ранее величины
и
будем называть соответственно входной
и выходной
величинами,
а
- состоянием.
Если о.д.функция имеет вес
,
то множество ее состояний
.
Тогда существуют отображения :
,
где
описывает значение выходной величины
,
- значение следующего состояния
.
Таблица,
с помощью которой задается о.д.функция
с весом
,
имеет четыре столбца и
строк. Она задается диаграммой Мура и
выглядит следующим образом:
A |
Q |
F(x,q) |
G(x,q) |
x(t) |
q(t) |
y(t) |
q(t+1) |
. . . |
. . . |
. . . |
. . . |
2 r строк
Зададим таблицей диаграмму Мура из примера 7:
-
x(t)
q(t)
y(t)
q(t+1)
0
0
0
0
1
0
0
1
0
1
1
0
1
1
1
1
Канонические уравнения. На основании приведенных выше рассуждений мы приходим к следующим уравнениям: для
где
.
Данные уравнения называются каноническими
уравнениями.
Канонические уравнения задает таблица о.д.функции. В примере 7 они выглядят так:
Замечание.
Если вес
о.д.функции больше 2, то в ее таблице
состояния укажем в двоичной записи.
Соответственно произойдут изменения
и в канонических уравнениях. Например,
при
канонические уравнения выглядят:
