Comments 16
Рэймонд Джоунс «Уровень шума» (1952 г.)
"— И ваш проект, — сказал Март, — эти материалы о вавилонской мистике, астрологии и прочая чепуха…
— Вся схема была рассчитана на то, чтобы вызвать как можно больше шума, — ответил Бэрк. — Мы не знали, как построить антигравитационную машину, и поэтому мы нарисовали вам образ человека, который построил ее, и сделали этот образ по возможности более хаотичным, чтобы расшатать ваши шумовые фильтры. Я ввел в ваши умы дозу универсального шума по проблеме антигравитации и конечный вывод о том, что она была решена. Каждый из вас заранее настроил свои фильтры на отклонение идеи антигравитации. Дескать, это чепуха! Ее бесполезно искать. Надо работать над чем-нибудь полезным.
Поэтому я предложил Кейзу собрать группу виднейших ученых и поставить их перед фактом, что это не бессмысленная затея, что это можно сделать. Мы расшатали ваши умственные фильтры, и в результате появился ответ. Метод сработал, он будет действенным всегда. Все, что необходимо сделать, это избавиться от лишнего груза предрассудков, от окаменевшего мусора в голове, изменить произвольную настройку ваших умственных фильтров в отношении других вещей, которые вам всегда хотелось сделать, и тогда удастся найти нужный ответ на любую проблему, какую вы только пожелаете исследовать."
Поэтому я предложил Кейзу собрать группу виднейших ученых и поставить их перед фактом, что это не бессмысленная затея, что это можно сделать.
Ровно по этой схеме японцы в своё время сделали своё знаменитое "Длинное копьё" ("Тип-93") - парогазовую торпеду с использованием чистого кислорода в качестве окислителя. Торпеда обладала совершенно выдающимися характеристиками для своего (и не только) времени - скорость 52 узла, дальность до 12 миль и это при почти полутонном заряде ВВ. Однако, по ряду причин её создание на тот момент считалось невозможным. Но японским конструкторам сказали, что в Великобритании такая торпеда уже есть. И работа закипела.
Пятница )
поставил плюс, просто потому, что автор реализовал мою давнюю идею - составлять свои публикации таким образом, чтобы можно было разместить побольше ссылок на свои предыдущие публикации. если не пропустил, что-нибудь, здесь их упомянуто девять (самих ссылок больше, ну уникальных, для данного текста, вроде, столько).
при беглом просмотре, выглядит так, что внимательно читать можно начинать, приблизительно, под котёнком в совке, но при дальнейшем просмотре оказывается, что статья, в этом плане самоподобна и часть много сложнее целого, а пыль... пыль зависит от того, где пылят.
нужен ии, который будет искать осмысленные изображения перебором в библиотеке изображений
Такой проект уже давно запущен. Работает на огромной распределенной по миру нейронной сети, состоящей из биологических интеллектов, которые лайкают фоточки.
А что такое осмысленное? Вопрос довольно сложный, потому что зависит от нескольких вводных... и сходу на него не ответить
Еще момент, допустим у нас есть картинка 512 на 512, то есть пикселей в ней 512^2. Допустим картинка черно-белая, то есть у нас всего 2^512^2 вариантов... ииииии.... большая часть из них будет простым шумом... шансы попасть не на шум очень маленькие... поэтому простой перебор не очень подходит, даже с ИИ
Спасибо за очередную великолепную статью!
У вас какой-то нереально глубокий уровень погружения в рассматриваемый вопрос.
ASY-Lviv. Автором изложены фрагменты математической религии оцифрованных смыслов. Шум смысловой пыли не подчинен движению времени и материи и практически всегда находится в жутком противоречии с главным смыслом существования Вселенной. 24.05.25г.
мне кажется в названии про второй род что-то может быть интуитивно связано не только с переходом из одного состояние в другое, но и порядком плавающей запятой
Посмотрел статьи автора - у него интересный стиль - каждая статья как будто приехал карьерный самосвал и сгрузил на голову десяток тонн породы.
Это даже критиковать невозможно - в каждой статье сотни крайне спорных сущностей.
Да, интересно это всё конечно же... Занятна логика автора, но, к сожалению, довольно поверхностна и слабо проработана!
С одной стороны, навалена куча каких-то теорий, гипотез, даже ещё определённая метафизика втюхана, на мой взгляд, крайне неуместная! Всё на первый взгляд кажется вычурным, глубоким и детализированно осмысленным!
С другой же стороны, вся эта пляска следует очень примитивной логике, камень преткновения которой - колмогоровская сложность, вот и всё!
Если кратко, то автор берет, как Платон, концепцию Эвверета квантовой механики как "чистую идею", ну, или как Тегмарк свою математическую "вселенную", т.е. забывая о базовой квантовой предпосылке её природы, и заявляет, что в исходном состояние колмогоровская сложность была ниже, чем современная... все миры содержались как бы в одной точке и ситуацию можно легко, а-ля, описать базовыми константами! Параллельно замечая, что на классическом энтропийном принципе здесь не стоит зацикливаться! И, после "большого взрыва", после расширения Вселенных, для описания отдельной Вселенной потребуется большая сложность, чем в исходной точке! И, как бы, мы можем смело сказать, что колмогоровская сложность видимой Вселенной сложнее исходного состояния! И таким образом часть сложнее целого! И отсюда мы можем говорить, что эмулировать нашу Вселенную на компьютере не целесообразно, ибо это - все-равно что создать новую вселенную! И таким образом - мы живём в реальном мире, а не эмуляции! И автор всех нас с этим поздравляет!
Ну, и, конечно, несмышленные читатели уже сломя голову ринулись за бутылочкой Martini Asti, дабы увековечить в своём субъективном опыте сладкие эмоции реальности...
Ну, а адекватные читатели, улыбнулись, почесали затылки, и, даже, несколько расстроились, что всё на самом деле не так просто как автор вещает...
Вообщем, проблема всей этой "сказки" кроется в фундаментальных, базовых деталях, на которые автор просто-напросто положил с прибором! Как говорится, всё кроется в деталях, а их то как раз автор и не понимает судя по всему!
А, я предупреждал уже не раз его! Говорил! Молил! Роптал! Просил чуть больше базы! Базы! Но, автор, пропустил мимо ушей мои гуманистические крики и теперь докатился и наступил на свою же мину, как нерадивый солдат, уложивший её себе под нос, и после знатного кутежа с девочками и бутылочками крепких напитков запамятовал её положение и как результат сел всей своей задницей на опасное сооружение! Задница естественно разлетелась на 360 градусов... что-то конечно запуталось в квантовой когерентности... а, что то, просто улетело нахрен в Библиотеку Борхеса... Но, гланое - если у кого-то ещё оставались сомнения, что зад автора - компьютерная эмууляция, то теперь - нет никаких сомнений, что это самый, самый что ненаесть настоящий сложноколмогоровский пердак!
Ладно, пошутили, повеселились, пора и честь знать) Так вот немного базовой теории...
Автор и сам даёт определение колмогоровской сложности, да, там не все так просто, но не суть! Так вот, колмогоровская сложность (КС, далее) - это "длина самой короткой компьютерной программы, выводящей данную строку битов!"
Всё правильно! Только автор аккуратно умалчивает, что это так для классической теории вычисления!
Остановимся подробнее, что значит определить колмогоровскую сложность! Например, мы имеем строку "01010101" (8 символов), и мы, например, на языке Python, можем просто напечатать "print("01010101"). Мы таким образом нашли конкретную программу, и она, скажем, занимает 20 байт! Это означает, что колмогоровская сложность строки "не превышает" 20 байт. Это оценка сверху. Возможно, существует более короткая программа, но мы пока ее не нашли!
Далее, нас вдруг озарило, и мы нашли программу короче, скажем 15 байт, то при оценке КС мы скажем - оценка сверху улучшилась (говоря другим языком - мы оптимизировали программу)! Таким образом мы нашли конкретную программу!
Есть, вторая, ситуация, так называемая "оценка снизу" - мы используем теоретический аргумент.
Например, есть строка из 1000 случайных битов полученная из генератора случайных чисел. Если строка действительно случайная, то ее нельзя сжать, оптимизировать! Это означает, что любая программа, генерирующая эту строку, должна содержать как минимум столько же информации, сколько и сама строка. И колмогоровская сложность такой строки близка к 1000 битам (или 125 байтам). Мы не можем доказать, что она точно равна 1000 битам (потому что всегда есть шанс, что существует какой-то хитрый алгоритм, который все-таки сможет ее сжать), но теоретически маловероятно, что она будет значительно меньше.
И, третья ситуация - у нас есть программа, которая на одних входах останавливается, а на других входах зацикливается. И мы задаём вопрос: существует ли алгоритм, который для любой такой заданной программы и её входных данных может определить, завершится ли эта программа (остановится) или будет работать бесконечно (зациклится)?
Так вот доказано Тьюрингом, что такого алгоритма не существует - это так называемая проблема остановки - фундаментальное ограничение теории вычислений.
Для колмогоровской сложности это означает, что не существует программы, которая бы всегда правильно решала эту проблему. Следовательно, колмогоровская сложность не существует. Вместо этого можно рассматривать приближенные решения, работающие для ограниченного класса программ, но и они потребуют значительного количества информации!
То есть, невозможно, даже, дать конкретную нижнюю границу, но мы знаем, что колмогоровская сложность программы, решающей проблему остановки, будет очень высокой (практически бесконечной).
Подытожим: оценка колмогоровской сложности - это сложная задача, и часто мы можем найти только верхние и нижние границы, а не точное значение.
Важно обсудить ещё один момент касательно первой ситуации оценки. К примеру, у нас есть конкретная строка и мы получили конкретную оценку КС в виде конкретной программы. Но, языков же много программирования, и соответственно в зависимости от языка мы получим и разное значение КС! Как же быть?
Автор, отвечает на этот вопрос приводя теорему инвариантности КС - "колмогоровская сложность позволяет перевести программу с одного тьюринг-полного языка на другой без существенного увеличения её длины. То есть длина алгоритма практически не зависит от языка программирования"
То есть, меняя язык программирования, мы все равно можем перевести программу в универсальный Тьюринг-полный язык, добавив некоторый коофициент!
Для ясности, универсальный Тьюринга язык - это язык, который может реализовать любую вычислимую функцию, что делает его мощным инструментом для решения широкого спектра задач. Практически все современные языки программирования обладают этим свойством. Однако, Тьюринг-полнота не гарантирует простоты или эффективности для решения конкретной задачи, и, конечно, помним о проблеме остановки.
Всё вышеописанное верно для классической теории вычислений!
Теперь возникает логический вопрос, а происходят ли какие-то изменения в оценке КС, если мы перейдём из классической теории вычисления к "реальным объектам" в классическом понимании и квантовым вычислениям?
И тут, вместо акцента на этом вопросе и глубокого ответа, автор не хило теоретически проседает и начинает нам мурыжить головы дебильной "Библиотекой Борхеса" и всякими призраками, демонами и другими сомнительными сущностями из фантастических рассказов! Так ещё и до такой степени, что изрядно попахивает ладаном, слышен шум звенящего кадила и вообще не экзорцизм ли часом задумал священослужитель возникает вопрос?!
Если же идти адекватной логикой, то начнём с перехода к физической классической механике!
Здесь мы сталкиваетмся с ходу с проблемой прямого применения КС, так как это понятие теоретическое, а универсальный компьютер - это абстракция, а главное, что КС объекта по определению абсолютна (независима от наблюдателя).
Таким образом, что бы применить идеи КС к физическому объекту, нам надо чётко определить, что мы считаем объектом, определить язык описания, определить меру сложности и учесть известные физические ограничения.
Следовательно, применяя КС к классической механике, мы не просто говорим о "сложности", а пытаемся квантифицировать, насколько сложно описать конкретный физический объект или процесс в рамках выбранного языка и с учетом физических ограничений и точности измерений. К тому же, крайне важно выбрать параметры для наблюдения и метод описания (программирования) таким образом, чтобы сложность, полученная в рамках КС, была значимой с физической точки зрения!
Здесь, мы вынуждены использовать КС как инструмент для получения содержательных физических выводов, а не просто как абстрактную метрику. Она должна помогать нам лучше понимать и описывать физическую реальность.
Например, мы можем различать с помощью КС порядок и хаос: если, например, мы сможем показать, что КС траекторий, полученных в одной системе, значительно выше, чем в другой, это может служить количественным показателем хаотичности. Высокая сложность будет указывать на то, что система ведет себя непредсказуемо и чувствительна к начальным условиям. Низкая сложность - на то, что система предсказуема и устойчива.
И, нельзя обойти стороной вопрос, а когда вообще целесообразно совершать перенос абстрактного математического аппарата КС на реальный физический объект? Ответ: не всегда целесообразно, а только в некоторых частных случаях - сравнение различных моделей, поиск скрытых закономерностей и квантификация сложности в моделях управления.
Короче, прежде чем применять КС к физическим объектам, задайте себе вопрос: "Что нового я смогу узнать об этой системе, применив КС, чего я не могу узнать другими, более простыми способами?" Если ответ "ничего", то лучше оставить эту идею! Как то так!
Теперь момент с "квантовым переносом", КС в квантовых исчеслениях! Ну, если до этого момента было ничего не понятно, то сейчас самое время закончить чтение, потомучто дальше пойдет, а-ля, полный вынос мозга...
Скажу по простому!
Базовая проблема - классическое определение КС основывается на идее о том, что строка данных "порождается" программой на универсальной машине Тьюринга, которая её "печатает". В квантовом случае, если мы попытаемся применить эту концепцию напрямую, мы столкнемся с проблемой: мы не можем "напечатать" квантовое состояние в том смысле, в каком мы печатаем строку битов. Любая попытка "измерить" квантовое состояние, чтобы проверить, соответствует ли оно желаемому, изменит это состояние!
Второе, связанное с первым, в квантовой механике существует фундаментальная теорема о запрете клонирования, которая гласит, что невозможно создать идентичную копию произвольного неизвестного квантового состояния. Это резко контрастирует с классической информатикой, где копирование битов - тривиальная операция!
И, наконец, третье - классическая КС основанна на универсальной машине Тьюринга! А в квантовых исчислениях вы должны всегда определять, что вы имеете ввиду конкретно. Короче, авторская теорема об инвариантности здесь не легитимна!
И это ещё мы не вдавалися в детали: квантовые языки программирования, квантовая корреляция ошибок, вероятностный характер квантовых вычислений, обратимость квантовых вычислений и т.д.
В итоге, переход к квантовой КС - это не просто "усложнение" классической теории, а переход к совершенно новому уровню абстракции и сложности. Это просто говоря ещё не докоеца разработанная теория! Она в любом случае требует глубокого понимания квантовой механики, квантовой теории информации и квантовых вычислений.
Так, к чему я это всё? А к тому, что когда автор пишет:
" Множество Мандельброта кажется бесконечно сложным, но для его описания достаточно одной короткой рекурсивной функции или компьютерной программы из нескольких строк кода. А для того, чтобы вычислить отдельный элемент множества, потребуется произвести сложное вычисление из большого количества итераций, то есть применить эту функцию к себе самой много раз подряд. Так же и вся Мультивселенная может быть описана короткой формулой, в то время как для полного описания отдельного его элемента (синглвёрса) нужно осуществить множество итераций этой формулы, то есть по сути воспроизвести всю его историю с момента Большого взрыва. Следовательно, сложность Мультивёрса конечна и невелика по сравнению со сложностью нашего синглвёрса.", - он, явно, что-то не догоняет....
Автор, смешивает в какой-то своей кастрюле для приготовления борща всего понемногу: кусман классической колмогоровской сложности, приправу мультивселенной в Бохеровской интерпретации и всё это заливает физическим "реальным" бульоном сверхплотного квантового вакуума. И, такой, ни черта не понимая, с довольным лицом и праздным настроем глядит на прекрасное, тёплое солнышко в окне, одновременно окидывая довольным взглядом светлую комнату, из которой он изгнал всех демонов и благополучно отфильтровал пыль! С чем его и поздравляю!
Вот это да! Не ожидал от вас тонкого понимания различий между классической и квантовой теориями вычислений. Уж не совместное ли это творчество с Демоном Второго Рода в обличии какого-нибудь GPT? Я этот стиль сразу чую, придётся наверно переименовать себя в Универсального экзорциста:) А вообще шикарное продолжение моей статьи получилось, жаль только вывод непродуманный.
переход к квантовой КС - это не просто "усложнение" классической теории, а переход к совершенно новому уровню абстракции и сложности. Это просто говоря ещё не докоеца разработанная теория!
Квантовая теория сложности вполне разработанная ещё 25 лет назад, например, в статьях M. Vitányi. “Quantum Kolmogorov Complexity Based on Classical Descriptions” и E. Berthiaume, W. van Dam, S. Laplante. “Quantum Kolmogorov Complexity”. Там всё действительно сложно, не буду даже притворяться, что в этом разбираюсь. Хотя пример квантового преимущества, когда квантовый алгоритм решает задачу Дойча быстрее классического, я показывал в статье "Строим квантовый компьютер из лазера и полимеров". Есть классы вычислительной сложности BQP и QMA - аналоги классических P и NP. Есть логическая и термодинамическая глубина - это как раз о вычислительных и физических ресурсах, необходимых для вывода строки исходя из её самого короткого описания. Вот они как раз в квантовой информатике и применяются. Это всё я разбирал в "Мерах сложности". Индукция Соломонова и колмогоровская сложность тоже используется, но конечно с нюансами вроде запрета клонирования и обратимости операций, как вы правильно заметили. Ну и есть энтропия фон Неймана, которой я, собственно, и оцениваю сложность синглвёрса по сравнению с мультивёрсом.
Квантовая теория вычислений является обобщением классической, а обобщение их обоих - это теория конструкторов Дойча-Марлетто, о которой я тоже когда-то писал. Ещё в 1985 г. Дэвид Дойч доказал, что квантовый компьютер является универсальной машиной Тьюринга, и сформулировал тезис Чёрча-Тьюринга-Дойча (CTD-принцип), согласно которому универсальный компьютер способен моделировать любой конечный физически возможный процесс. Это значит, что репертуар выполнимых задач у классического и квантового компьютеров одинаковый, разница только в скорости вычисления. Квантовый алгоритм можно смоделировать на классическом компьютере, а классический алгоритм - на квантовом, просто это будет очень неэффективно. Квантовые языки программирования тоже имеют свои особенности, коррекция ошибок играет свою роль. Но всё-таки есть универсальные вентили, в первую очередь инвертор NOT, из которого можно соорудить все остальные логические операции. Здесь, кстати, стоит задуматься - являются ли универсальные программы "чистыми идеями", или определяются физикой компьютера, который их выполняет?
В любом случае все умозаключения из моей статьи остаются в силе, а в технические детали я вдаваться не стал, чтобы людей не пугать. Буду развивать тему в следующих статьях, тогда и разберёмся с алгоритмическими основаниями математики.
Реализм против Теории Пыли, или как изгнать Демона Второго Рода из Вавилонской библиотеки