Важливість рекурсії в теорії обчислюваності


12

Кажуть, що теорію обчислюваності називають також теорією рекурсії. Чому це називається так? Чому рекурсія має таке велике значення?

Відповіді:


20

У 1920-1930-х роках люди намагалися з'ясувати, що означає "ефективно обчислити функцію" (пам’ятайте, обчислювальних машин загального призначення навколо не було, а обчислення - це щось, що робиться людьми).

Було запропоновано кілька визначень "обчислювальних", з яких три найбільш відомі:

  1. -ісчісленіяλ
  2. Рекурсивні функції
  3. Машини Тьюрінга

λ

Пізніше було популяризоване Робертом Соаре намагання змінити "рекурсивну" на "обчислювальну". Таким чином, ми сьогодні говоримо про обчислювані функції та про безліч наборів. Але багато старих підручників і багато людей все ще віддають перевагу «рекурсивній» термінології.

Стільки за історію. Ми також можемо запитати, чи важлива для обчислення рекурсія з чисто математичної точки зору. Відповідь - дуже певне «так!». Рекурсія лежить в основі мов програмування загального призначення (навіть whileпетлі є лише формою рекурсії, оскільки while p do cце така ж, як if p then (c; while p do c)), і багато фундаментальних структур даних, таких як списки та дерева, є рекурсивними. Рекурсія просто неминуча в інформатиці та конкретно в теорії обчислюваності.


1

Теорія обчислюваності - це вивчення обчислюваних функцій :-).

Такі функції зазвичай (у цій спільноті) визначаються як функції, які можна виразити за допомогою машини Тьюрінга.

f:NNТТх=1нТ1f(х).

Як виявляється, якщо таким чином визначити обчислювані функції (програми), вони еквівалентні набору функцій, які можна отримати, використовуючи описані тут правила . Їх називають рекурсивними функціями, оскільки одне з правил отримання таких функцій є рекурсивним визначенням (Див. 5 правило щодо вікіпедії).

Тож причина, чому теорія рекурсії має велике значення, рівнозначна питанню, чому важливі обчислювальні функції. І відповідь на останнє має бути цілком очевидною :)

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.