
- •Лекція 1 план
- •Зміст дисципліни "Теорія алгоритмів", її зв’язок із іншими дисциплінами
- •2. Поняття алгоритму. Основні властивості алгоритмів
- •3. Відносні алгоритми
- •4. Поняття числення, його зв’язок із поняттям алгоритму
- •5. Поняття формальної системи
- •1. Кодування. Універсальні класи алгоритмів
- •2. Формалізація поняття алгоритму
- •1. Машини Тьюрінга. Обчислюваність за Тьюрінгом
- •2. Нормальні алгоритми Маркова. Обчислюваність за Марковим
- •3. Система Поста. Обчислюваність за Постом
- •2. Алгебри чрф та прф
- •1. Програмні алгебри. Примітивні програмні алгебри
- •2. Програмовані функції
- •1. Поняття нумерації. Канторові нумерації пар та n-ок натуральних чисел
- •2. Функція Геделя та її основна властивість
- •3.Теорема про представлення операції примітивної рекурсії
- •1. Еквівалентність формальних моделей алгоритмів
- •2. Теза Чорча, її обгрунтування. Значення тези Чорча та її використання
- •2. Геделеві нумерації чрф
- •2. Еквівалентні визначення рпм
- •3. Властивості прм, рм і рпм
- •2. Властивості прп, рп та чрп
- •1. Нумеровані сукупності чрф. Теорема Райса і її значення
- •2. Теорема Райса − Шапіро
- •3. Продуктивні і креативні множини, їх властивості
- •Прості множини
- •Теорія алгоритмів Конспект лекцій
5. Поняття формальної системи
Поняття числення можна уточнити за допомогою поняття формальної системи.
Під формальною системою (скорочено ФС) розуміють трійку (L, A, P), де L мова формальної системи, A множина аксіом, P множина правил виведення. Мова задається алфавітом та правилами побудови слів мови, які називаються формулами. Кожна аксіома є формулою. Правила виведення ФС діють на множині формул. Формула, яка отримується з аксіом за допомогою правил виведення, називається теоремою.
Правила виведення ФС записуватимемо у вигляді Р1, Р2 ,..., Рп |Р, де Р1, Р2 ,..., Рп засновки, Р висновок.
Під виведенням будемо розуміти скінченну послідовність формул 1, 2 , ..., т, де кожна із формул такої послідовності або аксіома, або отримана із попередніх формул цієї послідовності за допомогою деякого правила виведення.
Неважко переконатись, що є теоремою має виведення.
Кожну ФС можна трактувати як числення зі входом, у якому зафіксована множина початкових об’єктів A, а породжувальні правила суть правила виведення із P.
ФС можна також розглядати як числення із породжувальними правилами різного типу, які дозволяють відповідно породжувати формули, аксіоми і теореми та виділяти теореми як результативні об’єкти.
До формальних систем, крім класичних аксіоматичних теорій, відносяться канонічні й нормальні системи Поста, формальні граматики та ін.
ЛЕКЦІЯ 2
ПЛАН
-
Кодування. Універсальні класи алгоритмів.
-
Формалізація поняття алгоритму.
-
Машини з натуральнозначними регістрами (МНР). МНР- обчислюваність.
1. Кодування. Універсальні класи алгоритмів
Різні формальні моделі алгоритмів можуть діяти на різних множинах об’єктів. Наприклад, машини Тьюрінга й нормальні алгоритми є вербальними алгоритмами, МНР-програми визначають функції натуральних аргументів та значень. Для порівняння різних формальних моделей і для переходу від одної моделі до іншої треба кодувати елементи одної множини елементами іншої множини.
Під кодуванням множини А в множині В будемо розуміти ін’єктивне відображення : А→В, таке, що існують алгоритми A та B:
для кожного аА A(а)(а);
алгоритм B для кожного bB визначає b (А), і якщо так, то знаходить 1(b).
Під кодуванням множини А на множині В будемо розуміти ін’єктивне й сюр’єктивне відображення : А→В, таке, що існують алгоритми A та B:
для кожного аА A(а)(а);
для кожного bB B(b)=1(b).
Під однозначним кодуванням множини А в множині В будемо розуміти ін’єктивне функціональне відображення : А→В, таке, що існують алгоритми A та B:
для кожного аА A(а)=(а);
алгоритм B для кожного bB визначає b(А), і якщо так, то знаходить 1(b).
Під однозначним кодуванням множини А на множині В будемо розуміти бієктивне відображення : А→В, таке, що існують алгоритми A та B:
для кожного аА A(а)=(а);
для кожного bB B(b)=1(b).
Інакше кажучи, однозначне кодування А на В це бієктивне відображення : А→В, таке, що і 1 алгоритмічні.
Нехай A Х-А-алгоритм, B Y-В-алгоритм, однозначне кодування Х в Y, ψ однозначне кодування А у В. Алгоритми A та B називають еквівалентними з точністю до кодувань і ψ, якщо:
для кожного хХ A(х)=ψ1(B((х)));
для кожного yY B(y)=ψ(A(1(y))).
Алгоритми A та B називають еквівалентними, якщо A й B еквівалентні з точністю до деяких кодувань і ψ.
Клас алгоритмів називають універсальним, якщо кожний алгоритм еквівалентний деякому алгоритму із .