Поняття ефективного обчислення


11

Алгоритм машини Тюрінга полінома в часі вважається ефективним, якщо його час роботи, в гіршому випадку, обмежений функцією полінома у вхідному розмірі. Мені відомо про сильну тезу Церкви-Тьюрінга:

Будь-яка розумна модель обчислення може бути ефективно змодельована на машинах Тьюрінга

Однак мені не відома тверда теорія аналізу обчислювальної складності алгоритмів -cculus.λ

Чи є у нас поняття обчислювальної ефективності для кожної відомої моделі обчислення? Чи існують моделі, які корисні лише для питань обчислюваності, але непридатні для питань складності обчислювальної техніки?

Відповіді:


9

Наскільки мені відомо, основними моделями обчислюваності є λ-обчислення, машини Тюрінга та рекурсивні функції . Мені не відома ситуація щодо складності в рекурсивних функціях, вони можуть бути, а можуть і не бути марними для складності.

Можна вважати вдалим збігом обставин, що машини Тьюрінга, які не є настільки неефективними машинами, також є дуже хорошою моделлю складності. Що зробило речі природними, це те, що існує багато перетворень, пов’язаних із ТМ, які є многочленними. (Універсальна машина, імітація стрічки машини з 1-стрічковою машиною, від довільного алфавіту до двійкової, імітуючи PRAM , ...) і що поліноми - це клас функцій, стабільний за арифметичними операціями та складом - що робить їх хорошим кандидатом теорії складності.n

Чистий λ-розрахунок сам по собі був марним для складності. Однак система простого типу почала діяти і дозволила гарантувати припинення деяких λ-термінів дуже просто. Тоді деякі інші системи (системи T , F , ..) надавали велику виразність, зберігаючи термінацію.

Ефективність або складність, що є уточненням термінації і типи, тісно пов'язані з логікою, пізніше з'явилася легкою лінійною логікою, яка характеризує кілька класів складності. ( Елементарні , P та деякі варіанти PSPACE та інші). Дослідження в цій області є дуже активними і не обмежуються цими класами складності і навіть не обмежуються λ-численням.

tl; dr: λ-обчислення було корисним для теорії обчислень, закінчення та складності.

Однак надавати кредит там, де належить кредит, машини Тьюрінга є хорошим і одностайним способом визначити, що є складністю, але це справедливо лише для вільних меж на кшталт "полінома", а не для тісних меж, для яких більш подібні PRAM-моделі.


Чому тоді ми робимо більшість наших аналізів часу, використовуючи RAM-подібні моделі?
Рафаель

У дійсності основні операції з пам'яттю знаходяться в (я б заперечував ), тому RAM-подібні моделі набагато більше підходять для жорстких меж, таких як . Отже, ви праві: машини Тьюрінга чудові, коли трансформація з PRAM не впливає сильно на вашу межу. (Наприклад, коли ви O ( log | m e m o r y | ) n log 2 7O(1)O(log|memory|)nlog27
докажете, що

@Raphael: ти реагував на моє останнє речення, правда?
jmad

Так, я це зробив (заради недосвідченого читача).
Рафаель

1

Щодо часової складності, я думаю, що це важко для обчислення лямбда. Причина полягає в тому, що одиничним обчислювальним кроком в обчисленні лямбда є зменшення ( запис у вікіпедії ): Усі вирази, незалежно від від їх довжини, за цією моделлю буде зроблено обчислювальний часовий крок.( λ x . t e r m ) v t e r m [ x : = v ] 1β

(λx.term)vterm[x:=v]
1

Ви можете покласти вартість на -редукцію з точки зору кількості чи розміру перестановок. Фактично це було вивчено широко (наприклад, шукайте посилання на оптимальне зниження). β
Жил "ТАК - перестань бути злим"

@Gilles: З огляду на те, що ми не знаємо, яка реальна (унітарна модель) вартість впровадження оптимального зниження, ваше зауваження насправді не актуально. Наразі ці дослідження лише дають уточнення проблеми, викладеної у цій відповіді.
Стефан Гіменез

1

Про включення λ-обчислення в стандартну модель складності, ось конспект деяких (дуже) свіжих досліджень з цього питання. Це дає відповідь на це питання для деякої обмеженої форми β-скорочення. В основному, складність у моделі стандартної вартості аналогічна підрахунку кроків β-скорочення при обмеженні на зменшення кількості головок (що включає стратегії виклику по імені та виклику за значенням).

Про інваріацію моделі унітарних витрат для скорочення голови Беніаміно Аккатулі та Уго Дал Лаго. (WST2012, посилання на провадження )

Λ-обчислення - це широко прийнята обчислювальна модель функціональних програм вищого порядку, але для неї немає жодної прямої та загальновизнаної моделі витрат. Як наслідок, обчислювальна диференціація відновлення λ-термінів до їх нормальної форми, як правило, вивчається на основі конкретних алгоритмів реалізації. Тут ми показуємо, що коли основна динаміка є зменшенням голівки, модель унітарних витрат дійсно є інваріантною. Це покращується за відомими результатами, які стосуються лише слабкого (виклик за значенням або виклик за іменем). Інваріантність доводиться лінійним обчисленням явних підстановок, що дозволяє добре розкласти будь-який крок зменшення голови в λ-рахунку на більш елементарні етапи заміщення, тим самим полегшуючи комбінаторику зменшення голови.


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