Это теоретический вопрос, поэтому ожидайте, что многие детали здесь не могут быть вычислены на практике или даже теоретически.
Скажем, у меня есть строка s, которую я хочу сжать. Результатом должен быть самораспаковывающийся двоичный файл (может быть ассемблером x86, но он также может быть каким-то другим гипотетическим полным языком Turing), который выводит s.
Теперь мы можем легко перебирать все возможные бинарные файлы и программы, упорядоченные по размеру. Пусть B_s - под-список этих двоичных файлов, которые выводят s (конечно, B_s невычислимо).
Поскольку каждый набор положительных целых чисел должен иметь минимум, в B_s должна быть наименьшая программа b_min_s.
Для каких языков (т.е. набора строк) мы знаем что-то о размере b_min_s? Может быть, только оценка. (Я могу построить некоторые тривиальные примеры, где я всегда могу рассчитать B_s, а также b_min_s, но меня интересуют более интересные языки.)