Como você aponta, o cálculo λ tem uma noção aparentemente simples de complexidade de tempo: basta contar o número de etapas de redução β. Infelizmente, as coisas não são simples. Devemos perguntar:
Is counting β-reduction steps a good complexity measure?
M| M|Mp o l y( | M| )t r ( M)p o l y( | t r ( M) | )
Durante muito tempo, não ficou claro se isso pode ser alcançado no cálculo λ. Os principais problemas são os seguintes.
Existem termos que produzem formas normais em um número polinomial de etapas com tamanho exponencial. Veja (1). Mesmo anotando os formulários normais leva tempo exponencial.
A estratégia de redução escolhida também desempenha um papel importante. Por exemplo, existe uma família de termos que reduz em um número polinomial de etapas β paralelas (no sentido de redução λ ideal (2), mas cuja complexidade é não elementar (3, 4).
O artigo (1) esclarece a questão, mostrando uma codificação razoável que preserva a classe de complexidade PTIME, assumindo reduções de chamada por nome mais à esquerda e mais à esquerda. O insight principal parece ser que a explosão exponencial só pode acontecer por razões desinteressantes que podem ser derrotadas pelo compartilhamento adequado de sub-termos.
Observe que artigos como (1) mostram que classes de complexidade grossa como PTIME coincidem, independentemente de você contar as etapas β ou as etapas da máquina de Turing. Isso não significa que classes de menor complexidade, como O (log n), também coincidam. É claro que essas classes de complexidade também não são estáveis sob a variação do modelo da máquina de Turing (por exemplo, 1 fita versus fita múltipla).
D. O trabalho de Mazza (5) prova o teorema de Cook-Levin (𝖭𝖯-completude do SAT) usando uma linguagem funcional (uma variante do cálculo-λ) em vez de máquinas de Turing. O principal insight é o seguinte:
Circuitos booleanosMáquinas de Turing= Afim λ -TermosTermos- λ
Não sei se a situação relativa à complexidade do espaço é compreendida.
B. Accattoli, U. Dal Lago, redução beta é invariante, de fato .
J.-J. Impostos, Reduções corretas e ótimas no cálculo lambda.
JL Lawall, HG Mairson, Optimalidade e ineficiência: o que não é um modelo de custo do cálculo lambda ?
A. Asperti, H. Mairson,
a redução beta paralela não é recursiva elementar .
D. Mazza, Igreja Encontra Cook e Levin .