
- •П ример 2.
- •8. Кодирование и декодирование, криптология и криптография, кодирующее устройство.
- •Алфавитное кодирование
- •14. Обнаружение ошибки в кодах Хемминга.
- •15. Конечный автомат. Входной и выходной алфавит, функции переходов и выходов
- •28. Примитивно – рекурсивные и частично – рекурсивные функции. Пример построения рекурсивной функции.
- •Примеры Приведем некоторые примеры частично рекурсивных функций.
- •29. Эквивалентность слов в ассоциативном исчислении. Определения, пример.
- •30. Нормальный алгоритм Маркова.
- •31. Машина Тьюринга. Описание, пример.
28. Примитивно – рекурсивные и частично – рекурсивные функции. Пример построения рекурсивной функции.
Определение 8.5. Частично рекурсивные функции. Функция f называется частично рекурсивной функцией (ч.р.ф.), если она является одной из простейших функций или может получиться из них с помощью конечного числа применений операторов суперпозиции, примитивной рекурсии иминимизации, т.е. существует последовательность функций f1,f2,..., fn=f, каждая из которых является либо простейшей, либо получена из предыдуших с помощью одного из указанных операторов. Указанная последовательность функций называется частично рекурсивным описанием функции f.Функция f называется общерекурсивной функцией (о.р.ф.), если она частично рекурсивна и всюду определена.Функция f называется примитивно рекурсивной функцией (п.р.ф.), если она частично рекурсивна и для нее существует частично рекурсивное описание, использующее лишь операторы суперпозиции и примитивной рекурсии. В таком случае оно называется примитивно рекурсивным описанием функции f.Нетрудно проверить, что каждая примитивно рекурсивная функция всюду определена, т.е. является общерекурсивной (обратное, вообще говоря, неверно).
Примеры Приведем некоторые примеры частично рекурсивных функций.
Пример
8.1.
Постоянные функции. Пусть fn(x1,...,xn)=k для
всех наборов аргументов (x1,...,xn) и
числа
.
Тогда
Пример 8.2. Сложение: +2(x,y)=x+y. Функция сложения определяется следующей примитивной рекурсией.
Следовательно, +2 =R(I11,[s1;I33]).
Пример 8.3. Умножение: x2(x,y)=x x y.
Используя сложение, умножение можно задать следующей примитивной рекурсией:
Следовательно, x2 =R(o1,[+;I33,I13]).
Пример
8.4.
Минус 1:
.
Нетрудно
проверить, что
.
Пример
8.5.
Вычитание :
,
если x
>= y и
,
если x
< y.
Вычитание определяется следующей примитивно рекурсивной схемой:
Следовательно,
.
29. Эквивалентность слов в ассоциативном исчислении. Определения, пример.
Пусть A - ассоциативное исчисление в алфавите , определяемое системой соотношений S.
Обозначим |A - бинарное отношение, определённое на множестве *, и назовём его отношением смежности слов.
Определение (по [Марков,Нагорный,1996,с.308]).
Будем говорить, что слово смежно со словом в ассоциативном исчислении A (и обозначать этот факт |A), если слово может быть получено из слова в результате ровно одного действия, допустимого относительно S, т.е. найдётся такое соотношение 12 в алфавите и такие слова ,*, что либоReplace(,*1*,2)=, либо
Replace(,*2*,1)=.
Пусть , 1,2,...,n*.
Определение.
(1) -системой слов в алфавите назовём слово 12...n.
(2) Будем говорить, что слово 1 соседствует слева со словом 2 в -системе слов, если слово 12 является подсловом -системы слов в алфавите .
(3) (По [Марков,Нагорный,1996,с.308]) A-рядом назовём такую -систему слов в алфавите , что если всякий раз, когда слово 1 соседствует слева со словом 2 в-системе слов, то 1|A2.
(4) (По [Марков,Нагорный,1996,с.308]) A-рядом, соединяющим слово 1 со словом n назовём A-ряд вида 12...n.
Пусть ,*. Обозначим |A - бинарное отношение, определённое на множестве *, и назовём его отношением эквивалентности слов.
Определение [Марков,Нагорный,1996,с.308].
Будем говорить, что слово эквивалентно слову в ассоциативном исчислении A (и писать: |A), если может быть построен A-ряд, соединяющий слово со словом.
Для двух конкретных слов и в алфавите ассоциативного исчисления A может быть поставлена следующая важная задача: "Верно ли, что |A?". Данная задача называется единичной проблемой распознавания эквивалентности слов и в ассоциативном исчислении A. Ясно, что всякому ассоциативному исчислению A соответствует класс подобных единичных проблем.
Проблемой эквивалентности для ассоциативного исчисления A называется следующая массовая алгоритмическая проблема, соответствующая этому классу единичных проблем: "Найдите единый алгоритм, позволяющий узнавать для любых двух данных слов и , являются ли они эквивалентными в ассоциативном исчислении A".