Czy wpisane obliczenia lambda wyrażają * wszystkie * algorytmy poniżej określonej złożoności?

21

Wiem, że złożoność większości odmian kalkulatorów lambda bez prymitywu kombinatora Y jest ograniczona, tzn. Można wyrazić tylko funkcje o ograniczonej złożoności, przy czym granica staje się większa wraz ze wzrostem ekspresyjności systemu typów. Pamiętam, że np. Rachunek konstrukcji może wyrażać co najwyżej podwójnie wykładniczą złożoność.

Moje pytanie dotyczy tego, czy wpisane kalkulacje lambda mogą wyrażać wszystkie algorytmy poniżej określonej granicy złożoności, czy tylko niektóre? Np. Czy są jakieś algorytmy czasu wykładniczego niewyrażalne przez żaden formalizm w Kostce Lambda? Jaki jest „kształt” przestrzeni złożoności, która jest całkowicie pokryta różnymi wierzchołkami Kostki?

jkff
źródło
Myślę, że odpowiedź brzmi tak: możemy wyrazić uniwersalną maszynę Turinga w ograniczonym czasie.
Kaveh
3
Czy jesteś pewien podwójnie wykładniczej górnej granicy? O ile dobrze pamiętam, CoC jest najbardziej wyrazistym „rogiem” Lambda Cube, co oznacza, że ​​obejmuje System F (tj. Polimorficzny calculus), który wykracza daleko poza podwójnie wykładniczy ... W każdym razie odpowiedź jest zdecydowanie tak , patrz na przykład moja odpowiedź tutaj . Mogę opublikować bardziej szczegółową odpowiedź, jeśli chcesz. λ
Damiano Mazza
1
Przepraszam, źle odczytałem twoje pytanie, nie pytasz o jakieś wpisane -calculi, a konkretnie o wpisane λ -calculi z Lambda Cube. Obawiam się, że nie ma tam żadnej interesującej złożoności, wszystkie są zbyt ekspresyjne, chociaż znam dokładną odpowiedź tylko dla Systemu F i Systemu F ω . λλω
Damiano Mazza
4
Funkcję Ackermanna można wyrazić w rachunku konstrukcji, więc nie może być prawdą, że jest ona podwójnie wykładnicza.
Andrej Bauer,
Myślę, że czytałem o tym związanym z książką Coq'Art, ale bardzo się mylę. Dzięki!
jkff,

Odpowiedzi:

19

Dam częściową odpowiedź, mam nadzieję, że inni wypełnią puste pola.

W wpisany -calculi może podać typu ze zwykłymi reprezentacji danych ( N T dla Church (unarne) całkowitymi, S , T r ciągów binarnych B O o L o wartości logiczne) i dziwnego, co jest złożoność funkcji / problemy reprezentowalne / rozstrzygalne według wpisywanych terminów. Znam precyzyjną odpowiedź tylko w niektórych przypadkach, aw przypadku zwykłego typu zależy ona od konwencji użytej przy definiowaniu „reprezentowalne / rozstrzygalne”. W każdym razie nie znam żadnego przypadku, w którym górna granica jest podwójnie wykładnicza.λNatStrBool

Najpierw krótkie podsumowanie kostki Lambda. Jego 8 obliczeń jest uzyskiwanych przez włączenie lub wyłączenie następujących 3 rodzajów zależności na podstawie po prostu wpisanego calculus (STLC):λ

  • polimorfizm : warunki mogą zależeć od typów;
  • typy zależne : typy mogą zależeć od warunków;
  • wyższa kolejność : typy mogą zależeć od typów.

(Zależność warunków od warunków jest zawsze obecna).

Dodawanie polimorfizmu rentowności systemu F. Tutaj można wpisać liczby całkowite kościół z i podobnie dla ciągów binarnych i boolean. Girard udowodnił, że pojęcia układu F typu N a tN a t reprezentują dokładnie funkcje liczbowe, których suma jest możliwa do udowodnienia w arytmetyki Peano drugiego rzędu. To prawie codzienna matematyka (choć bez żadnej formy wyboru), więc klasa jest ogromna, funkcja Ackermanna jest rodzajem małego drobnoustroju, nie mówiąc już o funkcji 2 2Nat:=X.(XX)XXNatNat . Nie znam żadnej „naturalnej” funkcji numerycznej, która nie może być reprezentowana w Systemie F. Przykłady są zwykle budowane przez diagonalizację lub kodowanie spójności PA drugiego rzędu lub innych sztuczek samoreferencyjnych (takich jak decydowanie o jakościβw Systemie Sam F). Oczywiście w systemie F można konwertować między jednymi liczbami całkowitymiNati ich reprezentacją binarnąStr, a następnie przetestować na przykład, czy pierwszy bit ma wartość 1, a więc klasę rozstrzygalnych problemów (według typuStrBool) jest równie ogromny.22nβNatStrStrBool

Pozostałe 3 obliczenia Kostki Lambda, które obejmują polimorfizm, są zatem co najmniej tak samo ekspresyjne jak System F. Obejmują one System F ω (polimorfizm + wyższy rząd), który może wyrażać dokładnie możliwe do udowodnienia funkcje całkowite w wyższym rzędzie PA oraz Rachunek Konstrukcje (CoC), który jest najbardziej ekspresyjnym rachunkiem kostki (wszystkie zależności są włączone). Nie znam charakterystyki wyrazistości CoC pod względem teorii arytmetycznych lub teorii teorii, ale musi to być dość przerażające :-)ω

Jestem znacznie bardziej nieświadomy, jeśli chodzi o rachunek różniczkowy uzyskany po prostu poprzez włączenie typów zależnych (zasadniczo teorii typów Martina-Löfa bez równości i liczb naturalnych), typów wyższego rzędu lub obu. W tych rachunkach typy są potężne, ale terminy nie mają dostępu do tej mocy, więc nie wiem, co otrzymujesz. Pod względem obliczeniowym nie wydaje mi się, abyś miał dużo większą ekspresję niż w przypadku prostych typów, ale mogę się mylić.

Pozostaje nam więc STLC. O ile mi wiadomo, jest to jedyny rachunek Kostki o interesujących (tj. Nie potwornie dużych) złożonościach górnych granic. Na TCS.SE jest pytanie bez odpowiedzi , a sytuacja jest nieco subtelna.

XNat:=(XX)XXNatNatXNat[A]NatANat[A]Nat[A]Nat

MNat[A]BoolAMnM

222n,
StrMM

CSTStr[A]BoolACSTCSTLINTIMELINTIMECST


CST

CST=REG{0,1}

(To jest twierdzenie 3.4 w ich pracy).

CSTLINTIMEλCST

(Nawiasem mówiąc, podzieliłem moje zdziwienie w tej odpowiedzi na pytanie MO dotyczące „nieznanych twierdzeń”).

Damiano Mazza
źródło
3
Skończyłem czytać odpowiedź, aby zobaczyć tę nazwę jeszcze raz. Myślę, że już nauczyłeś mnie więcej niż moich własnych profesorów. Internet to piękna rzecz. Dzięki.
MaiaVictor,
@Damiano Mazza. Podobała ci się twoja odpowiedź, ale pojęcie „jednolitości” nie jest tak banalne, prawda?
Andrea Asperti
λλ
12

Odpowiedź na pytanie postawione przez Damiana w doskonałej odpowiedzi:

Jestem znacznie bardziej nieświadomy, jeśli chodzi o rachunek różniczkowy uzyskany po prostu poprzez włączenie typów zależnych (zasadniczo teorii typów Martina-Löfa bez równości i liczb naturalnych), typów wyższego rzędu lub obu. W tych rachunkach typy są potężne, ale terminy nie mają dostępu do tej mocy, więc nie wiem, co otrzymujesz.

ω

λPλPω

Nie wiem, jaka jest siła rachunku impredykacyjnego konstrukcji, jeśli doda się typy indukcyjne i duże eliminacje.

Neel Krishnaswami
źródło
Dzięki @Neel! Myślę, że teraz mamy pełny obraz.
Damiano Mazza
7

Spróbuję uzupełnić doskonałą odpowiedź Damiano.

λF HA2

TLTL

L

  • FHA2

  • TPAF

λPTIME

Zasadniczo jest to duża droga badań, więc odwołam się do jednej z moich wcześniejszych odpowiedzi .

cody
źródło
3
Por. Stephen Cook i Alasdair Urquhart w „ Funkcjonalne interpretacje wykonalnej arytmetyki ”, 1993, dla wariantu teoretycznego złożoności.
Kaveh