Чи завжди терміни комбінаційної логіки більше?


9

Отже, існує алгоритм перетворення термінів обчислення лямбда в комбінаторну логіку за допомогою комбінаторів SK. Він виробляє речі, які вибухають за розмірами. Я хотів би дізнатися більше про цей вибух у розмірах. Я, здається, не думаю про кращий алгоритм. Я чув, як функціональні мови практично складаються в комбінатори, тому здається, що повинен існувати кращий алгоритм. Я переглянув статтю Девіда Тернера на цю тему, і він, по суті, просто говорить про те, щоб застосувати кілька оптимізацій, і що вони викликають «значне поліпшення».

Чи означає «значне поліпшення», що розмір зменшується лише до полінома? Чи відомий спосіб перетворення лямбда-термінів у комбінаторну логіку лише з поліноміальним (або меншим?) Збільшенням розміру? Якщо такий алгоритм існує, чи це практично?


стаття від 1979 року. Є набагато більш сучасне / недавнє мислення / технології щодо переведення коду в логіку, наприклад, з FPGA та GPU і взагалі не буде базуватися на функціональних мовах ....
vzn

Ви можете вказати мені на них?
Джейк

дослідження, яке ви цитуєте, є більш теоретичним "доказом принципу" ... було б краще, якщо ви цитуєте поняття / розділ про "поліноміальне збільшення розмірів", яке, здається, є основою вашого питання ... Вас цікавить загальна теорія перетворення коду в логіку / схеми, з теоретичної чи прикладної сторони, або теорія того, як це робити ефективно, або обоє? питання дуже наскрізний у різних його аспектах ... можливо, можна розібратися більше в Чаті з інформатики
vzn

1) чи є спосіб імпортувати це до чату? Я не можу цього зрозуміти. 2) Немає розділу про збільшення поліномів у розмірах, і це моя проблема. Насправді це не говорить нічого істотного (і я не можу знайти таких посилань) про те, наскільки збільшується розмір.
Джейк

коментарі можуть бути імпортовані до чату після порогу окремих розміщених коментарів. це не обов’язково для початку чату. Щодо поліноміального збільшення, це не може бути поняттям "слух" або "фольклор" щодо цього напряму досліджень. але де ви чули речі на кшталт "це створює речі, які вибухають за розмірами"; було б корисніше бути більш конкретним тощо ...
vzn

Відповіді:


4

не експерт з цього питання, але ось два історичні документи, які, здається, є дуже важливими для цього питання, і, можливо, це є напівактивним напрямом досліджень. Тернер запропонував набір комбінаторів, який можна звести до комбінаторів СК. У цьому наступному документі стверджується, що комбінатори Тернера, навіть не зведені до комбінаторів СК, призводять до експоненціального вибуху (і, мабуть, скорочення до умов СК буде ще більшим). але потім у другому документі йдеться про ефективний алгоритм простору O (n log n) на основі комбінаторів Тернера. (Мабуть, висловлювались твердження про поліноміальну ефективність, які вважаються не повністю продемонстрованими / недоведеними і тому вважаються припущеннями ...

  • Що таке ефективне впровадження λ-обчислення? / Frandsen, Sturtivant (1991) (див. С.18)

    Крім того, ми показуємо, що реалізація на основі Turner Combinators або Hughes Super-комбінаторів має складні труднощі 2Ω(ν), тобто експоненціальна нижня межа. Відкрито, чи будь-яка реалізація складності поліномів,νО(1)існує, хоча деякі реалізації неявно стверджують, що мають таку складність.

  • Переклад комбінаторів Тернера в просторі O (n log n) / Ношита (1985)

    Представлений практичний метод представлення комбінаторів Тернера, який потребує лише O (n log n) місця в гіршому випадку для перекладу лямбда-виразів довжиною n.


1
ідеально! Цей документ я знайшов і після пошуку цих двох робіт. sciencedirect.com/science/article/pii/002001908790161X Дякую!
Джейк
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.