Lista (nierozwiązanych) problemów złożoności wynikających z PL

17

Jakie są niektóre główne, otwarte problemy ze złożonością obliczeniową, które wynikają z języków programowania, zwłaszcza z analizy i kompilacji programów? Szukam problemów na linii „złożoności czasowej wnioskowania typu Hindleya-Milnera” lub „złożoności czasowej 0CFA” (chociaż obie są rozwiązanymi problemami).

xrq
źródło
5
Dlaczego głosowanie należy zamknąć? Jeśli to pytanie jest „zbyt ogólne”, mnóstwo innych pytań na tej stronie powinno zostać zamkniętych.
Damiano Mazza
Jeden mnie interesuje (ale nie jestem pewien, czy nie został rozwiązany) używa (niezamkniętej) odległości Beta warunków lambda od terminu podstawowego jako miary złożoności.
Samuel Schlesinger

Odpowiedzi:

7

Pippenger (1) z 1996 roku pokazuje, że (pod pewnymi założeniami) ścisłe (CBV) funkcjonalne języki programowania są asympotycznie wolniejsze niż języki imperatywne. Jest otwarte, czy wynik Pippengera można uogólnić na leniwe języki funkcjonalne, jak wskazano w (2).

Pippenger narzuca dwa założenia upraszczające (obliczenia on-line i pewną atomowość danych wejściowych). Jest otwarte, czy można je usunąć. Pippenger przypuszcza, że ​​da się to zrobić, ale ostrzega: „[s] uch wynik [...] wydaje się być daleko poza zasięgiem obecnie dostępnych metod w teorii złożoności obliczeniowej” .

Zobacz także odpowiedź Campbella w (3) i notatki Bena-Amrama (4).


1. N. Pippenger, Pure versus Impure Lisp .

2. R. Bird, G. Jones, O. De Moor, Więcej pośpiechu, mniej prędkości: leniwa kontra chętna ocena .

3. Przepełnienie stosu, wydajność czysto funkcjonalnego programowania .

4. AM Ben-Amram, Uwagi na temat porównania czystego i nieczystego LISP przez Pippenger .

Martin Berger
źródło