Чи існує зв’язок між машиною Тюрінга і обчисленням лямбда - чи вони просто виникали приблизно в один і той же час?
Чи існує зв’язок між машиною Тюрінга і обчисленням лямбда - чи вони просто виникали приблизно в один і той же час?
Відповіді:
Обчислення лямбда є старшим за модель машини Тьюрінга, очевидно, що датується періодом 1928-1929 рр. (Seldin 2006), і було винайдено, щоб узагальнити поняття схематичної функції, необхідної Церкві для основоположної логіки, яку він створив. Він не був винайдений для того, щоб зафіксувати загальне поняття обчислювальної функції, і справді слабша набрана версія могла б служити його цілям краще.
Здається, це не випадково з метою того, що винайдена Церква числення, виявилася Тюрінг повною, хоча пізніше Церква використовувала обчислення лямбда як основу для того, що він називав ефективно обчислюваними функціями (1936), до яких звертався Тьюрінг у своїй роботі .
Проста церковна теорія типів (1940) передбачає більш помірковану, типова теорію функцій, яка достатньо для вираження синтаксису логіки вищого порядку, але не виражає всіх рекурсивних функцій. Цю теорію можна зрозуміти як більшу гармонію з оригінальною мотивацією Церкви.
Примітка Ця відповідь суттєво переглядається через заперечення Каве і Сашо. Я рекомендую хронологію Вікіпедії, яку запропонував Каве, тезу "Історія Церкви - Тюрінг" , яка містить певні цитати з назви статей.
Я просто хотів би зазначити, що, хоча обчислення лямбда та машини Тюрінга обидва обчислюють один і той же клас числово-теоретичних функцій, вони не є точно рівнозначними в усіх відношеннях. Наприклад, у теорії реалізації є твердження, які можуть бути реалізовані машиною Тьюрінга, але не методом лямбда-числення. Одним із таких тверджень є формальна теза Церкви, в якій сказано:
Тут - присудок Клейна . Реалізатором цього твердження буде програма яка приймає (представлення) карти і виводить (подання) з потрібним властивістю. У моделі машини Тьюрінга карта представлена кодом машини Тьюрінга, яка обчислює , тому програма є просто (кодом машинного обчислення Тьюрінга) функцією ідентичності. Однак, якщо ми використовуємо обчислення лямбда, то передбачається обчислити число, що представляє собою машину Тюрінга, із терміна лямбда, що представляє функцію c f e f f c c f. Це неможливо зробити (я можу пояснити, чому, якщо ви ставите це окремим питанням).
Вони пов'язані як математично, так і історично.
Обчислення лямбда було розроблено в 1928 - 1929 роках Церквою Алонцо (опубліковано в 1932 р.).
Машина Тьюрінга була розроблена в 1935 - 1937 роках Аланом Тьюрінгом (опублікована в 1937 році).
Алан Тьюрінг був доктором церкви Алонцо. студент у Принстоні з 1936 - 1938 років.
Машини Тьюрінга та обчислення лямбда є еквівалентними в обчислювальній потужності: кожен може ефективно імітувати інший.
Проблема Entscheidungsproblem - одна з відомих 23 проблем, запропонованих математиком Девідом Гільбертом.
У 1936 та 1937 роках відповідно Церква Алонцо та Алан Тьюрінг опублікували незалежні документи, в яких видно, що не можна алгоритмічно визначити, чи є твердження в арифметиці правдивими чи неправдивими, і, отже, загальне рішення проблеми Енштайдунгс не є можливим.
Це зробила Церква Алонцо в 1936 році з концепцією "ефективної підрахунку", заснованої на його обчисленні λ, і в тому ж році з концепцією машин Тьюрінга Аланом Тьюрінгом. Пізніше було визнано, що це еквівалентні моделі обчислення. - Вікіпедія
Отже, обчислення лямбда та машини Тюрінга не просто тісно пов'язані, але вони є рівнозначними моделями обчислення .
Можливо, вам також сподобається, що читайте «Анотований тюрінг»: екскурсія по історичній книзі Алана Тьюрінга про обчислюваність та машину Тюрінга від Чарльза Петцольда . У цій книзі зібрано приблизно цікаву інформацію з даної теми.
Машини Тьюрінга та обчислення Лямбда - це дві моделі, що фіксують поняття алгоритму (механічне обчислення). Числення лямбда було винайдено Церквою для виконання обчислень з функціями. Він є основою функціональних мов програмування. В основному, кожна проблема, яку можна обчислити (вирішувати) машинами Тьюрінга, також обчислюється за допомогою обчислення Ламбди. Отже, це дві еквівалентні моделі обчислення (аж до поліноміальних факторів), і обидві намагаються захопити силу будь-яких механічних обчислень.