Máquinas de Turing e λ cálculo são equivalentes apenas nas funções N→N que podem definir.
Do ponto de vista da complexidade computacional, eles parecem se comportar de maneira diferente. A principal razão pela qual as pessoas usam máquinas de Turing e não o λ calcculus para raciocinar sobre a complexidade é que o uso do λ calcculus leva a medidas de complexidade irrealistas, porque você pode copiar termos (de tamanho arbitrário) livremente em etapas de redução β , por exemplo (λx.xxx)M→MMM.Em outras palavras, etapas de redução única em λ-calculus são um péssimo modelo de custo. Por outro lado, as etapas de redução de uma máquina de Turing funcionam muito bem (no sentido de serem bons preditores do tempo de execução do programa no mundo real).
Não se sabe como recuperar completamente a teoria da complexidade convencional baseada em máquina de Turing no
λ cálculo. Em uma recente descoberta (2014), Accattoli e Dal Lago
conseguiram mostrar que grandes classes de complexidade de tempo, como P , NP e EXP podem receber uma formulação natural de cálcio- λ . Mas classes menores como O(n2) ou O(nlogn) não pode ser apresentado usando as técnicas Accattoli / Dal Lago.
Como recuperar a complexidade do espaço convencional usando o
λ calcculus é desconhecido.