Apakah istilah logika kombinasi selalu lebih besar?

9

Jadi ada suatu algoritma untuk mengubah istilah kalkulus lambda ke logika kombinatorik menggunakan kombinator SK. Ini menghasilkan hal-hal yang meledak dalam ukuran. Saya ingin tahu lebih banyak tentang ledakan ini. Saya sepertinya tidak bisa memikirkan algoritma yang lebih baik. Saya telah mendengar tentang bahasa fungsional yang secara praktis dikompilasi ke kombinator sehingga tampaknya algoritma yang lebih baik harus ada. Saya mencari makalah David Turner tentang topik ini dan dia pada dasarnya hanya mengatakan untuk menerapkan beberapa optimasi dan itu menyebabkan "peningkatan yang cukup besar".

Apakah "peningkatan yang berarti" berarti bahwa ukurannya turun menjadi hanya peningkatan polinomial? Apakah ada cara yang dikenal untuk mengubah istilah lambda menjadi logika kombinasatori dengan hanya peningkatan ukuran polinomial (atau kurang?)? Jika algoritma semacam itu ada, apakah praktis?

Jake
sumber
makalah ini dari tahun 1979. ada jauh lebih modern / pemikiran terbaru / teknologi tentang bagaimana menerjemahkan kode menjadi logika misalnya dengan FPGA & GPU & umumnya tidak akan didasarkan pada bahasa fungsional ....
vzn
Bisakah Anda mengarahkan saya ke mereka?
Jake
penelitian yang Anda kutip adalah "bukti prinsip" yang lebih teoretis ... akan lebih baik jika Anda mengutip konsep / bagian tentang "peningkatan ukuran polinomial" yang tampaknya menjadi fokus pertanyaan Anda ... apakah Anda tertarik pada teori umum mengubah kode menjadi logika / sirkuit, di sisi teoretis atau terapan, atau teori melakukannya secara efisien, atau keduanya? pertanyaannya sangat memotong dalam aspek yang berbeda ... mungkin bisa mencari tahu lebih banyak di Obrolan Ilmu Komputer
vzn
1) apakah ada cara untuk mengimpor ini ke obrolan? Saya tidak bisa memahaminya. 2) Tidak ada bagian tentang peningkatan ukuran polinom dan itu adalah masalah saya. Sebenarnya tidak mengatakan sesuatu yang substansial (saya juga tidak dapat menemukan referensi semacam itu) tentang seberapa besar peningkatan ukurannya.
Jake
komentar dapat diimpor ke obrolan setelah batas komentar yang diposting terpisah. itu tidak perlu untuk memulai obrolan. Namun, peningkatan polinomial bisa berupa konsep "rumor" atau "cerita rakyat" tentang jalur penelitian ini, tidak yakin. tetapi di mana Anda mendengar hal-hal seperti "itu menghasilkan hal-hal yang meledak dalam ukuran"; akan sangat membantu untuk lebih spesifik dll ...
vzn

Jawaban:

4

bukan ahli dalam hal ini tetapi di sini ada dua makalah sejarah yang tampaknya sangat relevan dengan pertanyaan dan mungkin merupakan bidang penelitian semi aktif. Turner mengusulkan seperangkat kombinator yang dapat direduksi menjadi kombinator SK. makalah berikut ini berpendapat bahwa kombinator Turner bahkan tidak berkurang menjadi kombinator SK menyebabkan ledakan eksponensial (dan mungkin pengurangan akan ke persyaratan SK bahkan lebih besar). tapi kemudian makalah ke-2 mengatakan ada algoritma ruang O (n log n) yang efisien berdasarkan pada kombinator Turner. (Tampaknya mungkin bahwa klaim telah dibuat tentang efisiensi polinomial yang dianggap tidak sepenuhnya ditunjukkan / tidak terbukti & karena itu dianggap sebagai dugaan ...

  • Apa yang dimaksud dengan Implementasi Efisien kalkulus λ? / Frandsen, Sturtivant (1991) (lihat hal.18)

    Selain itu, kami menunjukkan bahwa implementasi yang didasarkan pada Turner Combinators atau Hughes Super-combinator memiliki kompleksitas , yaitu batas bawah eksponensial. Terbuka apakah ada implementasi kompleksitas polinomial, , ada, meskipun beberapa implementasi telah secara implisit diklaim memiliki kompleksitas ini.2Ω(ν)νO(1)

  • Terjemahan Turner Combinators di O (n log n) space / Noshita (1985)

    Metode praktis untuk mewakili Turner Combinators disajikan, yang hanya membutuhkan ruang O (n log n) dalam kasus terburuk untuk menerjemahkan ekspresi lambda panjang n.

vzn
sumber
1
sempurna! Saya menemukan makalah ini juga setelah mencari dua makalah itu. sciencedirect.com/science/article/pii/002001908790161X Terima kasih!
Jake