Еквівалентне формулювання теорії складності в обчисленні Лямбда?


11

У теорії складності визначення складності часу та простору посилається на універсальну машину Тьюрінга: респ. кількість кроків до зупинки та кількість комірок на стрічці.

Враховуючи тезу Церкви-Тьюрінга, слід визначити складність і з точки зору обчислення лямбда.

Моє інтуїтивне уявлення полягає в тому, що часова складність може бути виражена як кількість β-скорочень (ми можемо визначити відхилення α-перетворення за допомогою індексів Де Бруджіна, а η - ледве зменшення), тоді як складність простору може бути визначена як кількість символи (λ, DB-індекси, "застосувати" -символи) у найбільшому зменшенні.

Це правильно? Якщо так, то де я можу отримати довідку? Якщо ні, то як я помиляюся?


Відповіді:


15

Як ви зазначаєте, λ-обчислення має, здавалося б, просте поняття про складність у часі: просто порахуйте кількість кроків β-скорочення. На жаль, справи не з простих. Ми повинні запитати:

 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), використовуючи функціональну мову (варіант λ-числення) замість машин Тьюрінга. Ключове розуміння:

BooleancircuitsTuring machines=affine λ-termsλ-terms

Я не знаю, чи зрозуміла ситуація щодо складності простору.


  1. B. Accattoli, U. Dal Lago, Бета-зменшення є інваріантним .

  2. Ж.-Ж. Леві, зменшення коригує та optimales dans le lambda-calcul.

  3. JL Lawall, HG Mairson, Оптимальність та неефективність: що не є вартісною моделлю обчислення лямбда ?

  4. А. Асперті, Х. Мейрсон, паралельне зменшення бета-версії не є елементарно-рекурсивним .

  5. Д. Мацца, Церква зустрічає Кука та Левіна .


8

Підрахунок скорочення є одним із видів міри складності для -cculus, але більш гнучким та розумним є семантика витрат, де оперативна семантика посилюється різними поняттями витрат. Один хороший вихідний пункт - лекції OPLSS 2018 про семантику витрат Яна Гофмана (відео та матеріали лекцій, доступні за посиланням).βλ


5

Примітка про складність простору. Хоча, як вказував Мартин у своїй відповіді, наївний спосіб підрахунку складності часу виявляється добре, але визначення запропонованої вами космічної складності легко вважається недостатньою. Дійсно, у випадку з простором ви дійсно хочете мати можливість говорити про підлінійну складність, наприклад, ви хочете мати можливість відновити клас (детермінований журнальний простір, який означає, щоб просто трохи виділити те, що має на увазі ) , і ваше визначення, очевидно, не дозволяє вам це зробити: при будь-якому зменшенні , ви рахуєте щонайменше розмір , який є лінійним у вхідному розмірі.LPMNMM

Мораль розповіді полягає в тому, що переписування не підходить для підрахунку місця. Ульріх Шепп та Уго Дал Лаго першими виступали за використання так званої геометрії взаємодії (GoI) для вирішення підлінійної просторової складності (див. Їхній документ ESOP 2010 «Функціональне програмування в підлінійному просторі»). Наскільки я знаю, GoI так чи інакше використовується в усіх характеристиках на основі лямбда-числення, що визначаються підлінійними класами простору. Я не хочу вникати в те, що тут знаходиться ІП; скажімо, що це спосіб виконання лямбда-терміну, не зменшуючи його (тобто, не запускаючи -redexes), а шляхом "подорожі" через його синтаксичне дерево з певною допоміжною інформацією.β

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