Щоб відповісти "які проблеми можна вирішити обчислювальною технікою", ми розробили теорію обчислюваності. Для проблем, які піддаються обчислюванню, чи існує теорія, щоб відповісти на питання "чи є програма, яку я отримую найпростішою?"
Я не думаю, що обчислювальна складність відповідає на питання. Я думаю, він враховує, як довго нам потрібно (хоча і вимірюється абстрактно).
Я не впевнений, чи відповідає алгоритмічна теорія інформації на питання. Здається, що теорія говорить про розмір, де еквівалентність мінімальних розмірів і найпростіших для мене не очевидна (ну, принаймні, вони відчувають мене по-різному).
Я думаю, що теорія повинна принаймні визначати відношення "просте" чи "простіше, ніж".
Зараз я переконаний, що мені слід заглянути в Складність Колмогорова. Однак я хотів би пояснити, що було у мене на думці, коли я ставив запитання.
Коли я вдосконалюю програму, я намагаюся зменшити непотрібні з'єднання між різними частинами програми (можливо, повторно розділяючи частини, щоб було менше або слабкіше з'єднання). Оскільки з’єднання скорочуються, програма відчуває себе "простішим". Звідси вибір слова "простий", коли я формулюю питання. Цілком ймовірно, що розмір програми також зменшується, але це хороший побічний ефект, а не головна мета. Навмисно, процес вдосконалення не може тривати назавжди. Є момент, на якому я повинен зупинитися. Якщо, лише розглядаючи "структуру" (вибачте за інше невизначене поняття) або "відношення", я можу переконати себе, що більше нічого не можна зробити?
Тут міститься кращий опис мого поняття складності.
Олаф Спорнс (2007) Складність . Академія , 2 (10): 1623