Aqui está um argumento simples para mostrar que eles são indecidíveis, ou seja, não há algoritmos para verificar se um determinado algoritmo é ideal em relação ao tempo de execução ou uso de memória.
Reduzimos o problema de parada na fita em branco para o seu problema de otimização do tempo de execução.
Seja uma determinada máquina de Turing. Seja N a seguinte máquina de Turing:M
: na entrada n
1. Execute M na fita em branco por (no máximo) n etapas.
2. Se MNn
Mn
M não parar em etapas, execute um loop de tamanho 2 n e , em seguida, retorne NO.
3. Caso contrário, retorne YES.n2n
Existem dois casos:
Se não parar na fita em branco, a máquina N funcionará por Θ ( 2 n ) etapas na entrada n . Portanto, seu tempo de execução é Θ (MNΘ ( 2n)n . Nesse caso, N obviamente não é o ideal.Θ ( 2n)N
Se parar na fita em branco, a máquina N funcionará por um número constante de etapas para todas as n grandes o suficiente , portanto o tempo de execução é O ( 1 ) . Nesse caso, N é obviamente ideal.MNnO ( 1 )N
Em resumo:
M pára na fita em branco ⇔ N é otimista
Além disso, dado o código para , podemos calcular o código para NMN . Portanto, reduzimos o problema de interrupção na fita em branco para o problema de otimização em tempo de execução. Se pudéssemos decidir se uma determinada máquina de Turing é ideal, poderíamos usar a redução acima para verificar se uma determinada máquina M pára na fita em branco. Como parar na fita em branco é indecidível, o seu problema também é indecidível.NM
Um argumento semelhante pode ser usado para o espaço, ou seja, também é indecidível verificar se uma determinada máquina de Turing é ótima em relação ao espaço que usa.
Mesmo uma afirmação mais forte é verdadeira: não podemos decidir se uma determinada função computável é um limite superior à complexidade do tempo de computação de uma determinada função computável. Da mesma forma para o espaço. Ou seja, mesmo a teoria básica da complexidade não pode ser automatizada por algoritmos (o que pode ser considerado uma boa notícia para os teóricos da complexidade;).