Интересный аспект моделей физических вычислителей – влияние пространственных измерений. Предположим, что вычислитель электронный и состоит из некоторых элементарных частей (теоретических “транзисторов”), которые управляются электрически, через, условно говоря, “провода” или “контакты”. Речь идёт про сугубо теоретическую конструкцию, поэтому конкретными единицами измерения длин, сечений и напряжений можно пренебречь. Однако эти элементарные вычислительные элементы можно плотно укладывать в привычном трёхмерном пространстве. (Математические рассуждения про ситуацию с количеством измерений пространства больше трёх – оставим для другой записки, отметив, впрочем, что “очень многомерный арбуз” покупать не всегда выгодно, так как он почти весь состоит из корки.)
Построение вычислителя в трёхмерном пространстве сулит выигрыш, потому что доступный фронт распространения электромагнитного сигнала оказывается двумерным: то есть, можно построить эффективную параллельную и слоистую структуру из вычислительных элементов, которые будут размещены с максимальной плотностью, что позволит достичь малых задержек распространения сигнала, со всеми вытекающими свойствами: быстродействие, затраты энергии и т.д.
Однако выяснятся, что сам элементарный вычислительный элемент, – так как он хоть и теоретический, но электрический и классический, – при срабатывании выделяет тепло, а схемы отведения этого тепла требуют использования отдельного измерения. Так что размещение, собственно, элементов, должно быть двумерным. Ну или как-то придётся научиться либо вычислять без затрат энергии, либо – сбрасывать излишки в какое-то дополнительное, относительно привычных, измерение (например, забрасывать в будущее, как это нередко происходит со всякими “невычислительными” системами).
Комментировать »
Кстати, есть весьма полезный пример, показывающий различие между формулами, компьютерами и интерпретацией формул. Его удобно приводить в качестве иллюстрации к объяснениям про “компиляторы, регистры, транзисторы и ячейки с битами”. Отчасти относится к предыдущей заметке. Сравним запись (a == b) с записью ((a – b) == 0). Например, в контексте записи и компиляции исходного кода на том или ином языке программирования: if (a == b) {…} и if ((a – b) == 0) {…} – известно, что результаты вычисления условий в таких if-ах на практике могут различаться; причём то, как именно они различаются, зависит и от языка, и даже от используемого системного окружения.
Наивная арифметическая логика тут такая: “a равно b, когда a-b == 0”. Но тут многое спрятано внутри. Во-первых, никто же не сказал, какого типа объекты a, b; во-вторых, не определено, что это за операция “-“; в-третьих, с равенством, как понятием, вообще говоря, тоже есть масса тонкостей. Так, в записи использован двойной знак равенства “==” – он означает какую-нибудь “эквивалентность”?
Знак “=” – один из самых сложных, с точки зрения машинной интерпретации. Собственно, поэтому и возникли “==”, “===”, “:=” и прочие сочетания. Вот если написано “f = m+n”, то что тут имеется в виду? Что “f” – это “формула” (или даже “функция”), имеющая вид _ + _? Или запись обозначает, что имя “f” нужно использовать как синоним для строки “mn”? Или это условие, которое обозначает проверку того, что число под именем “f” равно сумме чисел под именами “m” и “n”? Или какой-то другой вариант?
Можно предположить, что “==” это именно “равенство”. Но равенство объектов ещё нужно определить. Это не всегда просто. Особенно, для компьютеров. Особенно, если вы вынуждены использовать какие-нибудь представления с плавающей точкой – тут не только нули прекрасно расщепляются на разные представления, но и другие неожиданные эффекты постоянно проявляются (см. пример ниже). Конечно, наивный школьный подход предполагает, что “==” это, всё же, “простое и очевидное” равенство натуральных чисел, автоматически оснащённых сложением, умножением, и даже какими-то некоммутативными и разрывными вычитанием с делением. Что касается натуральных чисел, то, согласно распространённому мнению, тут-то вообще всё становится “очевидным” ещё после того, как в начальных классах про них много рассказали на примерах с палочками. Поэтому случается, что натуральные числа смело относят в разряд “самоочевидных феноменов”, с которыми работать умеют, якобы, даже вороны и, особенно, вороны (переключите ударение, если вы не LLM).
Однако, если не заходить далеко в орнитологическую область, а остаться с компьютерами, то и тут не нужно даже вспоминать теоретическую математику, чтобы символ “==” начал расплываться: достаточно того, что компьютеры, через языки высокого уровня, работают и со строками символов (что бы это ни значило). Сравнение строк требует дополнительных соглашений, с которыми сталкивались даже многие пользователи персональных компьютеров. Причём процесс тут двунаправленный, приводящий к занимательным эффектам: вспомним, что во многих случаях заглавные и строчные буквы ASCII считаются одинаковыми. Тогда строка “AbC”, выходит, равна строке “ABc”, пусть тут и некоторое видимое свойство перешло на соседнюю букву; но это означает, что “ABC” является повторением “Abc”, и хоть битов для записи нужно больше, ничто не мешает на каком-то этапе обработки переписать “ABC” как “abc” – что сплошь и рядом делается в программировании, а побочный эффект используется для защиты DNS-запросов, сколь бы странным это ни показалось.
А ведь “==” может предусматривать неявное приведение типов при сравнении, что прямо относится к не менее школьным, хоть и некоммутативным, задачам про апельсины в ящиках (например). Потому и появляются “===”, а также и используемые в теоретической математике “:=”, означающие не столько “равенство”, сколько определение. Что же про вариант (a-b) == 0, то тут, как минимум, ясно, что требуется ввести много дополнительных соглашений, чтобы определить вычитание. Особенно, для строк. Но и без строк в компьютерном представлении возникнут новые, занимательные эффекты, иногда полезные, иногда – неожиданные.
Вот и вернёмся к языкам программирования и представлению чисел в компьютерах. Известно, что уже в языке Python попытка признать (a-b) == 0 и a == b эквивалентными наталкивается на тот самый, занимательный, эффект:
import math a = math.pow(5, 55) b = 5 ** 55 print(a == b) print((a - b) == 0)
Эта нехитрая программа печатает следующий результат (Python 3.9, Debian 11):
False True
Так что здесь a хоть и не равно b, но зато (a – b) равно нулю. Что происходит? Происходит вычислительное сравнение, на которое влияет представление чисел внутри Python, переполнение и автоматическое (неявное) преобразование типов:
a == 2.7755575615628914e+38 b == 277555756156289135105907917022705078125
– это, вообще-то, весь фокус, записанный “в формулах”. Соответственно, если возводить в степень 15, то программа напечатает True и True, что соответствует арифметическим ожиданиям. Аналогичный эффект (True, True) даст, по другой причине, следующий вариант:
import math a = math.pow(5, 55) b = 5 ** 55 print(a == float(b)) print((a - b) == 0)
За простыми на вид компьютерными формулами часто скрываются хитрые трактовки и скрытые структуры, которые хоть и подразумеваются, но это подразумевание бывает с двойным (“==”), а то и с тройным дном (“===”).
Комментировать »
Представьте, что какой-то человек управляет некоторой сложной системой, например, электростанцией, об устройстве которой не имеет никакого представления, а также и не изучал никаких инструкций, однако у него имеется иной подход к предмету. Способ управления состоит в том, что этот человек нажимает какие-то произвольные кнопки на пульте, передвигает рычажки и крутит ручки там же, а кроме того, предположим, тыкает отвёрткой в разные разъёмы. Такой персонаж, например, встречается в видеоигре Fallout: New Vegas. “Похоже, ты вообще не понимаешь, что делаешь”, – говорят этому персонажу. На что он уверенно возражает: “Нет. Я точно понимаю, что именно я делаю. Просто, я не знаю, какой эффект это вызовет”. Тут важен уровень рефлексии – так, персонаж уверен, что выполняет осмысленные действия: вращает именно те ручки, которые планировал вращать, нажимает именно те кнопки, именно в том порядке, как и планировал. А что до эффектов воздействия – ну, что ж, эти эффекты он может наблюдать и делать свои выводы о ручках и рычажках на пульте: “каждый день выясняю что-то новое”. С одной стороны, данный метод персонажу представляется вполне научным (ну, так действительно можно подумать, за вычетом модели изучаемого явления и некоторых других важных деталей), с другой – присутствует чёткий, деятельный подход, состоящий в аккуратном “нажимании на кнопки”.
Для такого управления и понимания хорошо подходит выдача какой-нибудь LLM-системы искусственного интеллекта (ИИ), обученной на описаниях последовательностей взаимодействия с “кнопками-рычажками” на разных пультах, на текстах инструкций к разным “пультовым системам”. В ответ на предложение-запрос “Какие ручки на пульте крутить сегодня?” – ИИ выдаст инструкцию из разнообразных шагов. Если в инструкции встретятся упоминания кнопок, которых на реальном пульте нет, то можно переспросить: “На пульте нет фиолетовой кнопки. ИИ-GPT, а ты уверено, что нужно нажимать именно фиолетовую?”. LLM тут же исправится, не сомневайтесь. Подход ИИ, даже с учётом необходимости переспрашивания, не вызовет никаких особенных сомнений у вопрошающего, описанного в предыдущем абзаце, поскольку в точности укладывается в его привычную концепцию “понимания”. Он точно так же планировал, что нажмёт такую-то кнопку и покрутит такую-то ручку. Идея, что хорошо бы нажать фиолетовую кнопку, если бы такая кнопка была, – тоже могла рассматриваться. Так что ИИ LLM здесь не просто “отвечает мыслям”, но и помогает их сформулировать, выдав чёткие готовые ответы в виде перечня ручек, кнопок, а также параметров нажатий и вращений. Это “удобный компьютерный инструмент”, кроме того, он обучен на всех инструкциях, а поэтому “внутри у него может быть понимание устройства” той же электростанции, уровнем точно не хуже – ведь он тоже предлагает крутить ручки и нажимать кнопки.
Квалифицированный инженер строил бы нудные предположения, в стиле, что “для увеличения скорости вращения турбины нужно приоткрыть впускной тракт номер пять ещё на тридцать процентов и соответственно скорректировать параметры клапанов, ограничивающих давление; поэтому требуется выставить ручку впуска с пятнадцати процентов на сорок пять и переключить клапана при помощи кнопок в красном секторе”. После чего уже крутил бы ручки и нажимал кнопки. Но это совсем другой подход. К тому же, реализуется он всё равно через пульт, значение которого в Новом Средневековье возрастает многократно.
Занятная особенность состоит в том, что, на практике, выдачей LLM управляет провайдер сервиса ИИ. Нельзя исключать, что этот провайдер знает все подробности об устройстве электростанции даже лучше инженера, поэтому может, в нужный момент, выдать через интерфейс ИИ подходящий набор из нажатий кнопок и вращений ручек.
Комментарии (1) »
Одним из содержательных, – и в чём-то вычислительных, – способов разграничения “квантового” и “не-квантового” является вынос экспоненциальной мощности, соответствующей пространству состояний, из “внешней” Вселенной за мысленное представление об этом пространстве состояний. Может показаться загадочным. Это потому, что тут-то как раз присутствует некоторая “контринтуитивность”.
Иными словами, мощность 2^2000 состояний интерпретируется как количественная оценка незнания о состоянии некоторой системы (частиц) в мысленном представлении конкретного наблюдателя-исследователя: вот система из 2000 частиц, но наблюдатель-исследователь не знает ничего о конкретном её состоянии, кроме того, что вариантов есть всего 2^2000, а две тысячи битов можно даже вручную зарисовать карандашом на листе ватмана. Получается, что весь огромный массив “спрятался” за мысленным представлением о неизвестном (кстати, это концептуально совпадает со схемами физических экспериментов, когда наступление “квантового” события определяется по отсутствию события “классического” – “детектор ничего не детектировал”).
В случае, когда огромное количество состояний нужно было бы вкладывать в “окружающую Вселенную”, мощностей могло бы и не хватить. А вот огромный “топос”, стоящий за интеллектом наблюдателя-исследователя, проблем с размещением 2^2000 испытывать не будет: во-первых, это конечное количество; во-вторых, значение локализуется в легко обозримую структуру. Перекликается с идеями о том, что и окружающий кусочек Вселенной – это лишь локализация аспектов из того самого “топоса” (то есть, “галлюцинации”), а невычислимый процесс этой локализации – соответствует интеллекту (может, даже разуму).
Комментировать »
Повсеместно пишут, что “кубиты” квантового компьютера “одновременно пребывают и в значении единица, и в значении ноль”. Собственно, и про квантовые состояния такое же пишут – “одновременно пребывает в разных состояниях” (но состояние-то одно). Понятно, что это исторически сложившийся штамп из области научпопа, не совсем понятно, что же имеется в виду. Что означает “пребывает” и “одновременно”? Какой именно секундомер используется для введения шкалы одновременности пребывания? Ведь не похоже, чтобы квантовое состояние требовало перечисления вариантов в строгой объектной привязке через “пребывания” (да и перечислить действительные числа не выйдет). То есть, если в результате измерения на компьютерных шкалах приборов обнаруживается конкретный набор величин для некоторых “классических” параметров, и вариантов предполагалось всего два, то из этого не следует, что строго эти два варианта как-то там “одновременно” объективизированы до момента измерения: зафиксированный “классический” результат не разворачивается в другую сторону, не образует некоторый “параллелизм”.
Комментировать »
– Зачем вы устраиваете эту симуляцию вселенной?
– Чтобы проверить, что симуляция вселенных вообще возможна.
Тут, кстати, тоже есть рекурсия: некоторая “старая” сверхцивилизация запускает симуляцию вселенной, мотивируя расход ресурсов необходимостью проверки, не в симуляции ли находится сама эта сверхцивилизация, ведь такую симуляцию могла запустить Сверхцивилизация (с заглавной буквы). Однако только в том случае, если симуляции вообще возможны. Напрашиваются проблемы вложенности вселенских “гипервизоров”: можно ли запустить гипервизор внутри гипервизора? ну, “докер-контейнеры” можно попробовать, да; а какие будут потери вычислительных ресурсов на такой вложенности?
Тут важны квантовые свойства. Предположим, мы устроим собственную квантовую симуляцию вселенной (со строчной буквы) таким образом, чтобы заведомо сильно нагрузить внешний рекурсивный гипервизор, если он есть. Как это можно проделать? Станем выбирать такую модель, где результат симуляции в каждый временной шаг требует интерференции большого количества возможных квантовых состояний. Учёт этих состояний внешним симулятором-гипервизором должен загрузить доступные этому гипервизору ресурсы. Каждое состояние требуется посчитать и удерживать в памяти для построения корректного результата интерференции – от этого результата зависит дальнейший ход нашей охватывающей симуляции, в которой, предположим, исследователями наблюдаются результаты собственной вложенной симуляции. Если немного сосредоточиться, то тут можно насчитать три уровня: внешняя Вселенная, симуляция “нашей” вселенной, симуляция вселенной внутри симуляции. Тут можно понадеяться на то, что внутри этой третьей симуляции тоже станут запускаться вложенные симуляции вселенных, но, скорее всего, от этого предусмотрена защита. Эффект от срабатывания этой защиты должен подниматься из вложенных симуляций, а значит – можно попробовать его использовать в качестве способа обнаружения гипервизора (что-то это напоминает).
Вообще, именно управление распределением ресурсов гипервизора и нужно детектировать, на этом построено много научных работ о симуляции вселенных. Так, если добавление квантовых состояний требует выделения новых ресурсов, то момент их выделения может проявляться в некотором скачке: ресурсы запрашиваются – симуляция спотыкается и приостановлена – ресурсы выделены – симуляция заработала в прежнем режиме. Забивать ресурсы вселенского гипервизора квантовыми состояниями, запуская симуляции собственных вселенных, можно с экспоненциальным ростом. Как обычно, мешает непонятный и путаный принцип хода времени: если запрос ресурсов и поднимается в гипервизор, то не факт, что ход их перераспределения спускается обратно в симуляцию. То есть, момент “спотыкания” может быть не виден изнутри. Однако можно ожидать, что характерным образом споткнётся время во вложенной симуляции (на третьем уровне). Вот поэтому и имеет смысл запускать квантовую симуляцию вселенной – если споткнётся, то, возможно, всё уже и так в гипервизоре.
Комментировать »
Исходная мотивация для квантовых вычислений состоит не в кубитах, а в поиске механизма, который позволил бы вычислить “невычислимое”, ну или хотя бы “сложновычислимое”. Кстати, едва ли не первое описание концепции дано в книге Ю. И. Манина “Вычислимое и невычислимое”, 1980 года (изд. “Советское радио”) – там несколько абзацев в предисловии (с.15) посвящено “квантовым автоматам”, уже эти несколько абзацев точно и полно описывают концепцию того, как квантовые вычисления далее и развивались. Сама книга не о квантовых вычислениях. Тем не менее, в тексте предисловия на примере проблем моделирования известными “классическими” методами простых физико-химических явлений, показана связь с несравнимо большей мощностью пространства квантовых состояний – вот эту мощность и предлагается использовать в реализации будущих вычислительных механизмов.
В вычислительном моделировании белковых молекул ситуация и сейчас, спустя более чем сорок лет, примерно такая же – расчёты требуют многих дней работы суперкомпьютера, но соответствующий процесс геометрического превращения белка происходит за доли секунды. Это одно из направлений, на котором, как считается, могут помочь квантовые компьютеры той или иной системы.
Почему вычислительное моделирование вообще должно работать на скорости, сравнимой с моделируемым процессом? Это моделирование больше похоже на попытку перебора состояний, то есть на обращение некоторой сложной функции-свёртки. Можно было бы попробовать придумать небольшой алгоритм, который моделировать ничего не будет, но вывод даст похожий на какую-нибудь сворачиваемую молекулу. Другими словами, обязательно ли предполагать, что упавшая на каменный пол стеклянная ёлочная игрушка, прежде чем разбиться, вычисляет набор осколков, на которые она разлетится?
Предположим, в симуляции вселенной игрушка могла бы и “зависнуть”, вот буквально в момент удара об пол – если расчёт осколков достаточно сложен; другое дело, что прочие персонажи внутри симуляции всё равно этого не заметили бы, так как ход последовательности событий, споткнувшись на ёлочной игрушке, одинаково приостановился бы для всех находящихся внутри – иначе событие разбития игрушки начало бы отставать по времени от момента падения; впрочем, известно, что такие эффекты относительно легко корректируются позже; кроме того, “разбивку” осколков можно и предвычислить, оформив в виде процедуры, выдающей, как калейдоскоп, разные наборы, которые вычислительно непредсказуемы изнутри симуляции, но укладываются в прочие ограничения, что позволяет пытаться их считать: вычислительная непредсказуемость тут как раз и выводится из экспоненциального роста сложности определения свойств исходной внешней процедуры по её внутреннему выводу.
Впрочем, концептуальная идея квантовых вычислений основана на обратной трактовке ситуации: предположим, есть физический процесс, который явно опережает “по скорости сходимости” все известные для моделирования похожих процессов вычислительные методы, – давайте используем сам этот процесс для вычислений, хоть бы и по какой-то другой задаче. Некая запредельная квантовая процедура быстро определяет конфигурации осколков ёлочной игрушки (волка там какого-нибудь, это не так важно) – давайте сводить другие задачи к модели, полезный результат которой отобразится в конфигурацию осколков. Это больше похоже на “квантовый отжиг” (quantum annealing), но, собственно, такой же подход реализуется и в алгоритме Шора, который описывает, как перевести задачу отыскания периода функции в квантовомеханические “операторы”. Алгоритм математический, а для успешной его работы остаётся найти подходящий физический процесс. С этим могут быть трудности. Естественно, это всё напрямую связано с тем, что пока что толком не понятно, откуда именно берётся “мощность”, стоящая за конкретным, пусть и гипотетическим, квантовым вычислением.
Один из исторических подходов к выводу понятийных основ квантовой механики состоит в следующем сравнении “меньше-больше”: пусть исследователь изучает всё меньшие и меньшие аспекты окружающего мира, тогда, с соответствующим уменьшением инструментов измерения, эти инструменты начинают всё больше и больше влиять на измеряемое. Отсюда хрестоматийное определение: влияние прибора убрать нельзя, а чем выше полагаемая точность измерения, тем больше измеритель влияет на измеряемое – например, на элементарную частицу, на электрон.
Нужно заметить, ничто не мешает пытаться, собственно, измерять параметры скорости хорошо локализованных в пространстве электронов с высокой точностью – проблемы начинаются с предсказуемостью результатов последовательных измерений в одной и той же конфигурации оборудования. Предсказуемо определить измерением, получается, нельзя, а значит – нельзя и знать, то есть, феномен скрывается из области реального. При дальнейшем обобщении, учитывающем прочие эксперименты, включая мысленные (как двухщелевой опыт с фотонами и наблюдателем над щелями), в этом месте и появляется “поле вероятности” из которого можно “выбивать” измерениями разные значения, но уже с хорошо определяемым распределением. Получается, за всеми этими “частицами” стоит некоторое большее поле вероятности, а в нём возможны некоторые волны изменений, порождаемые разными шагами квантового эксперимента, при этом интерференция данных волн влияет на распределение будущих результатов измерений. И если правильно устроить экспериментальный прибор (квантовый компьютер), то, возможно, получится применить результаты превращения вероятностей в измерениях и вычислениях. Однако тут возможны разные интерпретации.
Комментировать »
Манускрипты и ИИ по воскресеньям. Дописал небольшое пояснение в записку про кусочек папируса с фрагментом “Илиады”, но, думаю, можно вынести и в отдельный текст, тем более, здесь есть что развернуть. Речь о том, почему слово с первой строки египетского папируса 2966 из Британской библиотеки (там от этой строки только фрагмент одной буквы, самый верхний элемент), явно выходит за правую границу следующей строки, если сравнивать с манускриптом Venetus A. Вот скриншоты ещё раз – эффект хорошо видно, поскольку на второй картинке соответствующий “полуостров” пришлось сильно потянуть влево, чтобы он попал на слово:
Что бы это могло означать? Скорее всего, на целом папирусе в этом месте была записана другая, более старая, версия строки 6.4, оканчивающаяся другим словом: στομαλίμνης. Полностью так: “μεσσηγὺς ποταμοῖο Σκαμάνδρου καὶ στομαλίμνης” (дословно: “между рекой Скамандр и лагуной/лиманом”), и эта версия длиннее, чем “современный” вариант, как в Venetus A, поэтому последнее слово могло “уехать” (“The Ptolemaic papyri of Homer”, Köln: Westdt. Verl. 1967). Кусок буквы как раз похож на μ, а возможно, что и на μν тоже тянет.
Считается, что на современный вариант, с потоками (ῥοάων) Ксанфа, мог переписать Аристарх Самофракийский или кто-то из работавших с ним. Версия со Скамандр-рекой указана в комментариях на полях цитируемого манускрипта Venetus A: там буквально написано, что вариант Скамандр-реки и лагуны записан в “старом тексте”, но его поменяли, – поменяли раньше, не в момент записи Venetus A, – на Симоент и Ксанф, потому что (Аристарху) так показалось географически точнее по событиям сеттинга. Кстати, строка в переводе Гнедича: “Между брегов Симоиса и пышноструистого Ксанфа” (почему “пышноструистый” – не ясно, но это всё известные особенности перевода Гнедича).
Вообще, между упомянутым папирусом и манускриптом Venetus A, как минимум, тысяча лет. И ещё тысяча – между манускриптом и современной записью текста “Илиады”. Например, тот же английский язык за меньшее количество веков потерял кучу грамматических конструкций, а кроме того, существенно изменил орфографию, что отразилось и в записанных текстах (разные летописи и пр.). Интересно, что в случае английского это явление записывают за нормандцами, с которыми с 1066 года на англосаксонских наречиях, видимо, можно было общаться, только коверкая рода и падежи, в стиле “твоя моя нет понимать”, что и закрепилось в английском, поскольку такой набор выглядел проще, а “высоким” языком всё равно был старофранцузский, к сожалению (сравните, кстати, с автоматизированными “упоминаниями” пользователей в некоторых интернет-соцсетях сейчас, где и для русского языка падеж используется всё равно строго именительный). Всё это применимо и к греческому языку. Но не к некоторым текстам. Поэтому вернёмся к греческому тексту “Илиады”: в записи трудов Гомера, как известно, тоже было много изменений, однако тут, в нашем случае, некоторые слова в записи вообще мало поменялись – можно сравнить:
(На кусочке папируса. 230 г. до н.э. Сомнительно, конечно, что там “Ν”.)
(Манускрипт Venetus A. 10 в.)
(Современный веб-браузер. 2023 г.)
Естественно, сотрудник скриптория, который записал Venetus A, тоже мог пользоваться источниками, которым было по тысяче или около того лет (оно примерно так и считается сейчас).
Понятно, что другие варианты, которые когда-то тоже относились к “Илиаде”, но, в процессе трансформации/кодификации текстов, разошлись с современными вариантами за пределы, так сказать, “эластичности” филологических конструкций, просто не будут привязываться к той же “Илиаде”, если где-то обнаружится кусочек папируса с несколькими словами – они теперь видны как фрагменты “договора о покупке земли”, предположим. То есть, такой фрагмент, очевидно, никто и не станет рассматривать как “более старый” или утраченный, даже если он таковым и является, – нет оснований. В случае с нашим папирусом ключевое слово прямо указано в схолиях (комментариях на манускрипте), в других случаях – такого могло и не быть. И, конечно, далеко не каждый кусочек с несколькими словами, даже если эти слова прямо вкладываются в кодифицированный текст “Илиады”, можно к этому тексту тут же приписать – нужно, чтобы осталось достаточно внешней структуры. Из современных реалий, этот процесс хорошо похож на “обучение” ИИ LLM (“больших языковых моделей”): там в процессе сворачивания статистических свойств, эти самые структуры, которые позволяют кусочки папирусов привязывать к кодифицированным текстам, как раз гарантированно “сжимаются” до полного исчезновения (в этом суть “обучения”). Это, впрочем, мало кого смущает.
Комментировать »
В популярных статьях про квантовые компьютеры нередко обсуждается только “количество кубитов” и “суперпозиция”, но при этом совсем не уделяется внимание самой содержательной части – физической реализации “квантовых схем”, которые, теоретически, только и могут позволить использовать квантовый компьютер как более или менее универсальное устройство, способное сработать по тому или иному “квантовому” алгоритму. Это, в общем-то, понятно: “кубиты в суперпозиции” можно описать максимально контринтуитивно, сославшись на “противоречащую” повседневному опыту “квантовую механику”. Тем более, если не разделять логические и физические кубиты. А вот попытка рассказать о том, как же именно в квантовый компьютер “вводятся данные”, какими проводами соединяются “кубиты” – грозит большим усложнением темы, поскольку именно на этих направлениях и кроется много концептуально непонятного. Более или менее понятно только, что параметры в квантовый компьютер вводятся не методом “записи сигналов в регистры”, поскольку “сигналы” в квантовом компьютере передаются через поток вероятности, в совсем другом поле, не в электромагнитном. Так что параметры работы алгоритмов должны устанавливаться прямой модификацией квантовых схем – это аналоговые вычисления, с последующей “дискретизацией”: так в классическом арифмометре колесо с цифрами поворачивается непрерывно (как бы), а потом защёлкивается на конкретном результате. В теоретическом квантовом компьютере, математические формулы, которые неплохо описывают модели экспериментов, предлагается использовать для вычислений гораздо более широких, чем проводимые эксперименты и используемые на практике модели. Можно ли найти физические реализации, в которые отобразятся алгоритмы, а если найти можно, то какие будут ошибки и искажения – это и есть предмет, а не “количество кубитов” и “суперпозиция”.
Вообще, аналоговые вычислители, концептуально, происходят из следующего (рекурсивного) подхода: давайте возьмём некоторый физический аппарат (речь про устройство), реализующий ту или иную математическую модель, посмотрим, на какие вычислительные области можно перенести обобщённые элементы этой модели, отыщем в аппарате физические воплощения этих элементов, станем использовать их вывод для вычислений. Это весьма эффективный метод, который позволяет построить аналоговый компьютер, который едва ли не оптимальным образом решает дифференциальные (или интегральные? тут уж кому в какую сторону) уравнения численно, механически вращая физические тела сложной формы. Обратите внимание, что про данный механизм тоже можно сказать, что он “обладает параллелизмом”: ну, потому что все решения там сразу зашиты – для извлечения нужно только измерить вдоль правильной траектории. Классические счёты (с костяшками) или даже простой арифмометр – в этой концепции уже устройства, условно, “цифровые”, поскольку “дискретизация” заложена в основу конструкции – непрерывность не предполагается. Аналоговые вычислители могут работать с числами, однако никакой классический аналоговый вычислитель не может “вычислить” точно квадратный корень из двух, как действительное число, да и вряд ли это может сделать “квантовый” вычислитель. А отобразить геометрически, конечно, можно. Зато тем более не получится вывести сумму π + e.
Но, это, понятно, совсем не квантовая механика – поскольку тут не тот уровень абстракции и отсутствует преобразование вероятностей. Однако то, как представление о непрерывности отражается на измерениях, важно и для интерпретации квантовых компьютеров. Такой квантовый компьютер, с точки зрения физической реализации, тоже аналоговый вычислитель. Именно так нужно себе представлять (теоретический) квантовый компьютер, настроенный для выполнения алгоритма Шора (который тоже традиционно приводят в качестве примера, кстати). Вот у вас шкаф квантового компьютера, где схемы при помощи некоторой физической коммутации настроены на конкретное число, например, на 10807; после подачи импульса питания – можно будет прочитать результат измерения. Внутри этот компьютер содержит “неонку”, а кроме того, вероятно, сотни тысяч каких-то кубитов и прочих элементов квантовых схем, которые соединяет примерно миллион проводов. Именно так это и выглядит в теории, если поверить в то, что требуется коррекция ошибок и надёжное сохранение квантовых состояний. И тут можно вспомнить, что в популярных статьях и книжках привычно описывают как “с ростом количества частиц начинается “статистика” из которой возникает “классическая” физика для макроявлений”. Однако, когда именно это происходит в случае гипотетического квантового компьютера? Как измерять порог: по количеству ли кубитов, по количеству ли состояний, должен ли наступать означенный переход вообще? Непонятно, в какой момент и по какой шкале должен наступать переход от “квантового” к “классическому”.
Предположим, что квантовый компьютер, способный выполнить алгоритм Шора для чисел с разрядностью записи в 2048 битов, содержит миллионы физических “квантовых элементов”, обеспечивающих работу нужного количества (предположим, 6144) логических кубитов в регистрах, эти элементы и вспомогательные схемы содержат на порядки больше “квантовых элементов”, которые составляют материал самих используемых приборов. Не сделает ли уже само это количество устройство “классическим”? А если нет, то можно ли тогда просто начать реализовывать квантовые вычисления на обычных кирпичах, которые, как известно, внутри квантовомеханические? Что, если порог определяется по количеству состояний? Тогда 2^2048 может уже хватить. Именно эти моменты и мешают на практике (это известно, конечно же, если посмотреть за пределы популярных статей), но не ясно, насколько они преодолимы в принципе. Вообще, одним из ключевых моментов, приведших к формулированию квантовых механик (разных), как раз и были рассуждения о том, что при переносе предмета измерений на всё более и более “мелкие” частицы, средства выполнения измерений оказываются частью этих измерений – опять рекурсия (см. выше). Для квантовых компьютеров это означает, что реализация квантового преобразования Фурье в алгоритме Шора с нужной точностью для практических чисел потребует тысяч кубитов, которые чрезвычайно сложно уложить в малое, по квантовым меркам, пространство. При этом ошибки в представлении результата могут “квантоваться”, потому что это в уравнениях используются комплексные числа, но совсем не факт, что аксиома непрерывности должна прямо транслироваться в физику измерительного оборудования.
Комментировать »
Случайно тут попалось высказанное в качестве примера утверждение про восприятие текста: “если в предложении на английском языке поменять слово, то человек, знакомый с английским, сразу увидит – изменился смысл (meaning) предложения или нет” (перевод с английского). Конечно, всякий пример, подготовленный с подобной степенью обратной аллегоричности, содержит обязательные неточности, но данный вариант особенно интересен, потому что сводит взаимодействие “смысла” и “текста” к отдельным словам.
Вот если в предложении “дерево весело задело” поменять “дерево” на “платье”, то изменится ли смысл? Сможет ли оценить изменение смысла человек, знакомый с русским языком?
С одной стороны, тут похоже, что предложение не имеет смысла ни с одним из двух переставляемых слов. Значит, если смысла нет, смысл “пустой”, то он и не изменился, ведь пустое множество – самый инвариантный инвариант: пустые множества элементов любых типов не просто не отличаются – пустое множество вообще всего одно. С другой стороны, если “смысла нет” означает отсутствие смысла, то тогда мы имеем дело с некоторым конструктом, в который пустое множество (обобщённое “отсутствие”) может быть погружено, потому как чтобы заявить, что “смысла нет”, нужно сперва определить, что такое “смысл”, а потом утверждать, что такого нет. Получается, мы теперь имеем дело с некоторой пустой коробкой, а коробки могут быть разного цвета, их можно вкладывать одну в другую и настолько преуспеть, что даже построить таким способом натуральные числа. Так что то, как именно “смысла нет” в предложении – могло и поменяться, в зависимости от “дерева” или “платья”: цвет пустой коробки начинает играть важную роль, поскольку тут этот цвет превращается в интерпретацию иллюстративной роли отсутствия смысла в исходном предложении “о задевших деревьях”, то есть, задаёт понимание того, что именно это предложение показывает читающему. Замена дерева на платье может что-то поменять в смыслах, но на более высоком уровне. Сразу ли увидит это человек, знакомый с русским языком? Это зависит от контекста и от опыта человека.
Комментировать »
Ещё из области распространённых странных формулировок, про квантовую запутанность для “разнесённых в пространстве” частиц: “Если измерить спин одной частицы, то значение спина другой, запутанной, мгновенно окажется противоположным”. Тут совершенно не важно, “спин” или ещё какой-то термин используется – смысл фразы сводится к якобы мгновенному изменению состояния в результате измерения между двумя частицами. Измеривший одну частицу экспериментатор как-то сразу знает, какое теперь состояние у второй. Формулировка весьма непонятная, конечно. Что означает – “знает”? Вторую частицу ещё кто-то должен измерить и проговорить результат. С другой стороны, можно считать, что состояние системы из двух частиц и так было известно, заранее, ну, если работает используемая теория; и это состояние вовсе “не поменялось мгновенно” для второй частицы, а, в лучшем случае, разрушилось. Не требуется наличие мгновенного действия, оно тут, как и пространство, оказывается привнесённым.
Исходный смысл в результате упрощения оказывается заменён на смысл противоположный (“смысл”, а не “спин”). Изначальное рассуждение, исторически, касалось совсем другой ситуации. А именно: если какой-то интегральный показатель известен для системы из пары частиц по происхождению этой системы, а кроме того, принято, что для этого показателя “действуют законы сохранения”, тогда из измерений, выполненных на одной частице, можно простым способом вычислить значение для второй, с нужной степенью точности (и это могут быть вычисления “дополняющих” характеристик, но не важно). Если постулируется, что некоторые показатели могут иметь значение 1/2 и -1/2, а сумма должна быть строго равна нулю, то если у вас результаты измерения для одной частицы дали 1/2, для другой остаётся лишь вариант -1/2, по определению, так сказать. Это совсем простое рассуждение, не требующее никаких “нелокальностей”.
Откуда тогда возникают разные сложные интерпретации и измерения в контексте неравенства Белла? А они возникают из дополнительных свойств, связанных с вероятностью получения того или иного результата при разных конфигурациях экспериментов на разных концах системы запутанных частиц. Грубо говоря, если вероятности получить значения 1/2 и -1/2 (из предыдущего примера) различаются для разных конфигураций измерителя, каким бы он ни был, то можно предложить такую последовательность измерений, ответы для которой не выйдет закодировать в выбранной теории конечным набором некоторых параметров, передаваемых, допустим, вместе с каждой из частиц, а придётся вводить какие-то дополнительные допущения в теорию – например, признать, что всегда используется состояние одной системы из двух частиц, а не двух систем, которые в какой-то момент оказались разделены, потому что так требует конкретное представление о “локальности”. Но, так или иначе, вовсе не “измерением мгновенно поменяли состояние другой частицы – сверхсветовая скорость коммуникации”. Тут, кстати, помимо странного запрета на “сверхсветовую скорость”, ещё непонятно, как определить тот самый момент “разделения”, потому что такое определение требует введения общего времени, а для измеряемой системы времени может и не быть – другая история.
Комментировать »