Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Теорія алгоритмів 1. Вступ до курсу.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
290.08 Кб
Скачать

Тема 4: «Частково-рекурсивна функція»

      1. Примітивно-рекурсивна функція.

      2. Частково-рекурсивна функція.

      3. Теза Черча.

        1. Розглянемо функцію 5(х), що задається правилом 5(х)+1 для всіх х. Функція 5(х) є обчислювальною функцією, так як існує алгоритм, що складається з простої дії. Функція 5(х) називається функцією слідування.

        2. Розглянемо унарну функцію (залежну від аргументів) 0Пь х2, ..., хп) = 0 для всіх натуральних (хь х2, ..., хп). Дана функція називається нульовою функцією. Очевидно, що функція п від (хь х2, ..., х„) є обчислювальною функцією. Унарну функцію при п = 1 позначимо через О(х) = 0. Для всіх нульових функцій при п = 0 позначається 0" і ототожнюється з числом 0.

        3. Функція проектування. Нехай п > 1, 1 < т < п. Функція проектування І"пх, х2, ..., хп) = хт. Тобто дана функція рядку аргументу сгіівставляє її компоненту хт з номером т. Обчислювальна функція проектування забезпечує можливості знайти в рядку (хь х2, ..., хп) місце з номером т і вказати число, що розміщено на даному місці. Висновок: функція слідування, нульова та функція проектування є обчислювальними

функціями.

Для доповнення розглянутого набору обчислювальних функцій розглянемо способи побудови нових обчислювальних функцій на ба і в , е к нуючих.

Оператор суперпозиції. Розглянемо дію, яку назвемо оператором суперпозиції (оператор регулювання). За допомогою даної дії з деяких функцій (Н, §2, §т) створюється нова функція і. Позначимо нову функцію як ї(хь х2, ..., хп). Позначимо нову функцію !(хь х ..., х„) як Ь(еь §2, ..., §т), §2(хх, х2, ..., хп), §т(хі, х2, ...,хп).

Функція і є частковою функцією від п змінних, її значення визначене, годі і тільки годі, коли визначені всі значення її правої частини. Якщо функція (Н, §ь §2, ..., §„) є обчислювальною функцією, то функція \ є також обчислювальною. Алгоритм її обчислення визначається правою частиною вище зазначеної рівності. У випадку існування і, ми за скінченну кількість кроків, отримаємо число ї(хь х2, ..., хп) за допомогою дій, що відповідають інтуїтивному представленню алгоритму.

Оператор примітивної рекурсіі. Розглянемо дію (оператор), який назвемо оператором примітивної рекурсії. За допомогою деякого оператору ми будемо конструювати функцію ї від п+1 - змінної, від деяких частин функції Н, При цьому функція § має п змінних, функція Н - п+2 змінні. Значення нової функції "Г будемо обчислювати за двома правилами:

          1. ^(Хь х2, ..., Хп, 0) = §(Х:, Х2, ..., Хп).

          2. Цхи х2, ..., хп, у+1) = Ь (х1; х2, ..., хп, у, ї(хь х?, .... х;!, у)).

Слово рекурсія (від латинського «повторення») означає обчислення значення функції ґ(х1; х2, ..., хп, у+1) за допомогою {(хі, х2, ..., х„, у). Зауваження: як і у випадку оператора суперпозиції, обчислюваність початкових функцій § і Ь випливає на побудованих з цих функцій

Функція ( називається примітивно-рекурсивною, якщо вона може бути отримана з базових функцій слідування, нульової функції функції проектування за допомогою скінченного числа застосування операторів суперпозиції та примітивної рекурсії. Дане ^визначення можна представити у вигляді 3 правил:

            1. Базові функції 5(х) = х+1, тобто функції слідування, функція 0(х;, х2, ..., хп) = 0 та функція проектування /", (хь х2, ..., хп) = хгп є примітивно-рекурсивними.

            2. Якщо функція Є отримана з примітивно-рекурсивної функції за допомогою оператора суперпозиції або нрі • іп у о і ;;ску>сі'і, 'і о функція і - примітивно- рекурсивна.

            3. Те, що функція ( - є примітивно-рекурсивною встановлюється декількома застосуваннями правил (1 і 2). ^

Висновок 1: для будь-якої примітивно-рекурсивної функції можна визначити'число п, тобто найменше № кроку, на якому функція мо'же бути отримана.

Висновок 2: є можливість проводити доведення різних тверджено для примітивно- рекурсивної функції методом індукції по кроку, по якому функція буде отримана.

Операція введення-виведення фіктивних змінних. Нехай функція ((хі, х2; ..., хп) - примітивно-рекурсивна. Для функції проектування очевидні п-рівнянь.

1\ + 1 (х1/ х2/-" < Хп) = Хі І2+1 (Хі, х2, ..., хп) = Х2 Іп ' ' (ХЬ Х2, ■■■, Хп) = Хп

Нехай функція Ґ(х) від т+1 змінної за правилом І' (хь х2, •■■/ хп, хп+1) = /"+1ь х2, ■■■, х„), /" + 1

(х1, х2/ •••/ Хп), Іп + 1 (ХЬ х2/ Хп) = ї(хь Х2, ..., Х„).

Так як функція (- примітивно рекурсивна, то нова функція Г' - примітивно-рекурсивна. В подальшому ми будемо вводити фіктивну змінну із примітивною рекурсією від п-змінних, отримаємо фіктивну змінну від п+1 змінних. При проведенні операції введення фіктивної змінної, ми замість Ґ (нової функції) будемо використовувати позначення ( як і для старої функції.

Частково-рекурсивні функції. Теза Черча.

Нехай задана функція §(хі, х2, ..., хп, у) від т+1 -змінної п> 0. Нам необхідно знайти число (у) за умовою, що §(хі, х2, ..., хл, у) = 0. Введемо наступне обмеження: процедура заходження числа у повинна бути алгоритмом, тому повинен бути представлений точний список дій для неінтелектуального виконавця (машини) по знаходженню у. Наприклад, це може бути перевірка рівностей: §(хі, х2, ..., хп, 0) = 0 В(хі, х2; ..., хп, 1) = 0 §(хь х2, хп, у) = 0

Можливо такою числа у з умовою §(х , / .... х,., у) = 0 не існує. Тоді зупинка машини з виводом значення у не відбудеться, однак причина відсутності виводу числа у може бути іншою. Нехай для числа 5 рівність §(хі, х2, ..., хп, 5) = 0 виконується, а для значення у = 2 функція @(хь х2, ..., хп, 2) невизначена.

Намагаючись обчислити значення §(хь х2, ..., хп, 2) машина буде працювати нескінченно довго і ніколи не перейде до обчислення функції §(хь х2, ..., 3). Тому число 5 не буде визначено. ^

Оператор мінімізації. Нехай § - функція від т+1-змінної. Будемо говорити, що функція ( від п змінних, отримана від оператора мінімізації, якщо рівність §(хьх2, ..., хп, у) = 0 вірна, а значення §(хь х2, ..., хП; 0), §(хь х2, ..., хп, 1), §(хь х2, ..., хп, у+1) визначені і не дорівнюють 0.

Якщо функція ( отримана з функції § за допомогою оператору мінімізації, то записують: Г = М(б).

Висновок: зрозуміло, що інструкція для обчислення функції § і перевірка інструкції виконання мінімізації виконує алгоритм для обчислень значень функції тому ї є обчислювальною функцією. Функція ї називається частково рекурсивною, якщо вона може бути отримана з наступних функцій:

              1. Слідування;

              2. Нульової:

              3. Функції проектування шляхом застосування скінченного числа операторів суперпозиції, примітивної рекурсії та мінімізації.

Зауваження: при визначенні поняття обчислювальної функції ми відмічали, що це нестроге, з математичної точки зору, поняття. Дане поняття є інтуїтивним, однак для приведеного вище означення частково рек/рсивної функції справедливе твердження: поняття частково рекурсивної функції є строго математичним. В подальшому термін частково рекурсивної функції ми будемо заміняти рекурсивною функцією.

Теорема: будь-яка частково рекурсивна функція є обчислювальною функцією. Доведення проводиться по кроку т, на якому отримана функція Позначимо через А множину усіх обчислювальних функцій, а чере ІЗ множину частково рекурсивних функцій. Згідно з теоремою, ми можемо сказати, що А є гіідмножиною В.

В першій половині XX століття на величезній кількості прикладів було встановлено, що обчислювальна функція є частково рекурсивною функцією. Це наводило на думку, що різниця множин А і В є пустою множиною. Тобто ці множини збігаються.

1936 року американський математик Алонсо Черч висунув твердження «Теза Черча»: кожна обчислювальна функція є частково рекурсивною функцією.

Зауваження 1: постає питання, чи є можливість довести тезу Черча. Відповідь: ні, так як ми не маємо точного визначення обчислювальної функції. Теза Черча - це строге, з математичної точки зору, визначення алгоритму. Дане твердження є угодою, що виникла в результаті дослідження протягом тривалого проміжку часу інтуїтивного поняття алгоритму. Доведена рекурсивність великого числа рекурсивних функцій. Ще ніхто не зміг побудувати нескінченну функцію, рекурсивність якої можна було б довести, або хоча б побудувати метод побудови такої функції. Теза Черча є природно-науковим фактом, накопиченого математикою за весь період її розвитку.

Зауваження 2: Теза Черча є достатнім засобом для того, щоб надати необхідну точність у формулюванні алгоритмічних проблем і дає можливість довести, що строго їх не розрішитись.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]