Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ТА ЛЕКЦIЯ 1-18.doc
Скачиваний:
93
Добавлен:
08.11.2018
Размер:
1.81 Mб
Скачать

5. Поняття формальної системи

Поняття числення можна уточнити за допомогою поняття формальної системи.

Під формальною системою (скорочено ФС) розуміють трійку (L, A, P), де L мова формальної системи, A  множина аксіом, P множина правил виведення. Мова задається алфавітом та правилами побудови слів мови, які називаються формулами. Кожна аксіома є формулою. Правила виведення ФС діють на множині формул. Формула, яка отримується з аксіом за допомогою правил виведення, називається теоремою.

Правила виведення ФС записуватимемо у вигляді Р1, Р2 ,..., Рп |Р, де Р1, Р2 ,..., Рп засновки, Р висновок.

Під виведенням будемо розуміти скінченну послідовність формул 1, 2 , ..., т, де кожна із формул такої послідовності або аксіома, або отримана із попередніх формул цієї послідовності за допомогою деякого правила виведення.

Неважко переконатись, що  є теоремою   має виведення.

Кожну ФС можна трактувати як числення зі входом, у якому зафіксована множина початкових об’єктів A, а породжувальні правила  суть правила виведення із P.

ФС можна також розглядати як числення із породжувальними правилами різного типу, які дозволяють відповідно породжувати формули, аксіоми і теореми та виділяти теореми як результативні об’єкти.

До формальних систем, крім класичних аксіоматичних теорій, відносяться канонічні й нормальні системи Поста, формальні граматики та ін.

ЛЕКЦІЯ 2

ПЛАН

  1. Кодування. Універсальні класи алгоритмів.

  2. Формалізація поняття алгоритму.

  3. Машини з натуральнозначними регістрами (МНР). МНР- обчислюваність.

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 еквівалентні з точністю до деяких кодувань  і ψ.

Клас алгоритмів називають універсальним, якщо кожний алгоритм еквівалентний деякому алгоритму із .