Як ви зазначаєте, λ-обчислення має, здавалося б, просте поняття про складність у часі: просто порахуйте кількість кроків β-скорочення. На жаль, справи не з простих. Ми повинні запитати:
Is counting β-reduction steps a good complexity measure?
Щоб відповісти на це запитання, ми повинні уточнити, що ми маємо на увазі в першу чергу під мірою складності. Одну хорошу відповідь дає теза Слота та Ван Емда Боаса : будь-яка міра складності повинна мати поліноміальну залежність від канонічного поняття про складність у часі, визначеного за допомогою машин Тьюрінга. Іншими словами, повинно бути розумне кодування tr (.) Від λ-обчислення до машин Тьюрінга, таким, що для кожного терміна розміру: зводиться до значення в саме тоді, коли зменшується до значення в .M|M|Mpoly(|M|)tr(M)poly(|tr(M)|)
Тривалий час було незрозуміло, чи можна цього досягти при λ-обчисленні. Основні проблеми полягають у наступному.
Існують терміни, які утворюють нормальні форми в поліноміальному ступені, що мають експоненціальний розмір. Див. (1). Навіть записування звичайних форм займає експоненціальний час.
Обрана стратегія скорочення також відіграє важливу роль. Наприклад, існує сімейство термінів, яке зменшує в поліномі число паралельних β-ступенів (у значенні оптимального λ-скорочення (2), але складність яких неелементарна (3, 4).
У статті (1) з'ясовано проблему, показавши розумне кодування, що зберігає PTIME класу складності, передбачаючи скорочення крайнього лівого та зовнішнього виклику за назвою. Основне розуміння полягає в тому, що експоненціальний вибух може статися лише з нецікавих причин, які можна перемогти за допомогою належного розподілу підрядів.
Зауважте, що документи на зразок (1) показують, що класи грубої складності, такі як PTIME, збігаються, чи підраховуєте β-кроки, або кроки Тюрінга-машини. Це не означає, що нижчі класи складності, такі як O (log n), також збігаються. Зрозуміло, такі класи складності також не є стабільними при зміні моделі машини Тьюрінга (наприклад, 1-стрічка проти мульти-стрічки).
Робота Д. Мацца (5) доводить теорему Кука-Левіна (𝖭𝖯-повнота SAT), використовуючи функціональну мову (варіант λ-числення) замість машин Тьюрінга. Ключове розуміння:
Boolean circuitsTuring machines=affine λ-termsλ-terms
Я не знаю, чи зрозуміла ситуація щодо складності простору.
B. Accattoli, U. Dal Lago, Бета-зменшення є інваріантним .
Ж.-Ж. Леві, зменшення коригує та optimales dans le lambda-calcul.
JL Lawall, HG Mairson, Оптимальність та неефективність: що не є вартісною моделлю обчислення лямбда ?
А. Асперті, Х. Мейрсон,
паралельне зменшення бета-версії не є елементарно-рекурсивним .
Д. Мацца, Церква зустрічає Кука та Левіна .