Чтобы ответить «какие проблемы можно решить с помощью вычислений», мы разработали теорию вычислимости. Для задач, которые являются вычислимыми, есть ли теория, чтобы ответить на вопрос «программа, которую я получаю, самая простая»?
Я не думаю, что вычислительная сложность ответит на вопрос. Я думаю, что это учитывает, сколько времени нам нужно (хотя измеряется абстрактно).
Я не уверен, что алгоритмическая теория информации ответит на вопрос. Кажется, что теория говорит о размере, где эквивалентность минимального размера и простейшего не очевидна для меня (ну, по крайней мере, мне они кажутся разными).
Я думаю, что теория должна по крайней мере определить «простое» или «более простое» отношение.
Теперь я убежден, что мне стоит взглянуть на Колмогоровскую сложность. Тем не менее, я хотел бы объяснить, что у меня на уме, когда я задавал вопрос.
Когда я улучшаю программу, я пытаюсь уменьшить ненужные связи между различными частями программы (возможно, перераспределение частей, чтобы было меньше или слабее соединений). Поскольку количество соединений уменьшается, программа чувствует себя «проще». Отсюда и выбор слова «простой», когда я формулирую вопрос. Весьма вероятно, что размер программы также уменьшится, но это хороший побочный эффект, а не основная цель. Очевидно, что процесс улучшения не может продолжаться вечно. Есть момент, на котором я должен остановиться. Если, только рассматривая «структуру» (извините за другое неопределенное понятие) или «отношение», я могу убедить себя, что больше ничего нельзя сделать?
Здесь содержится лучшее описание моего понятия о сложности.