Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
37
Добавлен:
10.02.2015
Размер:
104.67 Кб
Скачать

Задание 3.1:

Показать W HILE-вычислимость следующих функций

1.f(n) = 2n

2.dlog ne с dlog ne = min{m N | n ≤ 2m}

3. log n с log n = min

m

|

n

2

2 . . 2 m-раз

{

 

 

 

}

Задание 3.2:

Задайте W HILE-программы для функций f1, f2, f3, f4, f5 : N → N со следующими свойствами

1.f1 всюду определена.

2.f2 всюду неопределена.

3.f3 не всюду определена и неопределена только для конечного множества аргументов.

4.f4 определена для бесконечного множества аргументов и неопределена для бесконечного множества аргументов.

5.f5 не всюду определена, а f5−1 всюду определена.

Задание 3.3:

Пусть f : N → N - W HILE-вычислимая иньективная всюду определенная функция. Покажите, что обратная к f функция f−1 также W HILEвычислима.

Верно ли аналогичное высказывание для LOOP -вычислимых функций?

Задание 3.4:

Взаимно-однозначная Функция r2 : N × N → N: r2(x, y) = 12 ((x + y)2 + x+3y) и соответствующие обратные функции - известны из предыдущих заданий.

1

Стек - это список [a0, a1, . . . , ak] произвольных натуральных чисел. Для него определены функции empty, top, push и pop:

empty определяет пуст ли стек: т.е. empty([ ]) = 1 и empty([a0, . . . , ak]) = 0;

top выдает верхний элемент непустого стека: top([a0, a1, . . . , ak]) = ak;

push кладет новое число в стек: push([a0, a1, . . . , ak], b) = [a0, a1, . . . , ak, b];

pop удаляет верхнее число из непустого стека: pop([a0, a1, . . . , ak]) = [a0, a1, . . . , ak−1];

Используя функцию r2, взаимно-однозначно закодируйте стеки натуральными числами ? Определите также функции, соответствующие empty, top, pop и push на натуральных числах.

Задание 3.5:

W HILE0–программы - это W HILE-программы без LOOP -циклов. Существуют ли W HILE-вычислимые, но не W HILE0-вычислимые функции?

2

Соседние файлы в папке теория вычислительной сложности