Para responder "que problemas podem ser resolvidos pela computação", desenvolvemos a teoria da computabilidade. Para os problemas computáveis, existe uma teoria para responder à pergunta "o programa é o mais simples?"?
Não acho que a complexidade computacional responda à pergunta. Eu acho que considera quanto tempo precisamos (embora medidos abstratamente).
Não tenho certeza se a teoria algorítmica da informação responde à pergunta. Parece que a teoria fala sobre tamanho, onde a equivalência entre tamanho mínimo e mais simples não é óbvia para mim (bem, pelo menos eles se sentem diferentes para mim).
Eu acho que a teoria deveria pelo menos definir a relação "simples" ou "mais simples que".
Agora estou convencido de que devo examinar a Complexidade de Kolmogorov. No entanto, gostaria de explicar o que estava em minha mente quando estava fazendo a pergunta.
Quando aprimoro um programa, tento reduzir as conexões desnecessárias entre diferentes partes do programa (talvez re-dividindo as partes para que haja conexões menores ou mais fracas). Como as conexões são reduzidas, o programa parece "mais simples". Daí a escolha da palavra "simples" quando estou formulando a pergunta. É muito provável que o tamanho do programa também diminua, mas esse é um bom efeito colateral, não o objetivo principal. Obviamente, o processo de melhoria não pode durar para sempre. Há um ponto em que devo parar. Se, apenas considerando a "estrutura" (desculpe por outro conceito indefinido) ou "relação", posso me convencer de que nada mais pode ser feito?
Aqui contém uma descrição melhor da minha noção de complexidade.
Olaf Sporns (2007) Complexidade . Scholarpedia , 2 (10): 1623