Случайно тут попалось высказанное в качестве примера утверждение про восприятие текста: “если в предложении на английском языке поменять слово, то человек, знакомый с английским, сразу увидит – изменился смысл (meaning) предложения или нет” (перевод с английского). Конечно, всякий пример, подготовленный с подобной степенью обратной аллегоричности, содержит обязательные неточности, но данный вариант особенно интересен, потому что сводит взаимодействие “смысла” и “текста” к отдельным словам.
Вот если в предложении “дерево весело задело” поменять “дерево” на “платье”, то изменится ли смысл? Сможет ли оценить изменение смысла человек, знакомый с русским языком?
С одной стороны, тут похоже, что предложение не имеет смысла ни с одним из двух переставляемых слов. Значит, если смысла нет, смысл “пустой”, то он и не изменился, ведь пустое множество – самый инвариантный инвариант: пустые множества элементов любых типов не просто не отличаются – пустое множество вообще всего одно. С другой стороны, если “смысла нет” означает отсутствие смысла, то тогда мы имеем дело с некоторым конструктом, в который пустое множество (обобщённое “отсутствие”) может быть погружено, потому как чтобы заявить, что “смысла нет”, нужно сперва определить, что такое “смысл”, а потом утверждать, что такого нет. Получается, мы теперь имеем дело с некоторой пустой коробкой, а коробки могут быть разного цвета, их можно вкладывать одну в другую и настолько преуспеть, что даже построить таким способом натуральные числа. Так что то, как именно “смысла нет” в предложении – могло и поменяться, в зависимости от “дерева” или “платья”: цвет пустой коробки начинает играть важную роль, поскольку тут этот цвет превращается в интерпретацию иллюстративной роли отсутствия смысла в исходном предложении “о задевших деревьях”, то есть, задаёт понимание того, что именно это предложение показывает читающему. Замена дерева на платье может что-то поменять в смыслах, но на более высоком уровне. Сразу ли увидит это человек, знакомый с русским языком? Это зависит от контекста и от опыта человека.
Комментировать »
Предполагается, что постквантовые криптосистемы – это защита от взлома на квантовом компьютере. На гипотетическом квантовом компьютере, который может реализовать соответствующие алгоритмы – алгоритм Шора, прежде всего. Конечно, современный уровень “хайпа” вокруг квантовых компьютеров уступает уровню “хайпа” вокруг “искусственного интеллекта”, тем не менее, квантовых компьютеров, подходящих для атак на используемые сейчас криптосистемы, ещё никто не показал. И даже ничего близко похожего – не показали. Но если почитать, например, статью про квантовые вычисления даже в англоязычной “Википедии”, то там почему-то уверенно обсуждаются “практические особенности”. Но до “практики” же ещё очень далеко. Пока что даже исследовательские алгоритмы, призванные показать “квантовое превосходство”, требуют создания специальных задач, которые структурно оптимизированы не в направлении вычислительной полезности, а в направлении использования свойств, потенциально доступных на имеющихся сейчас квантовых устройствах (см. boson sampling). Это естественно, весьма логично для этапа теоретических исследований на экспериментальном оборудовании, но не относится к практическому применению универсальных компьютеров.
В популярных изложениях нередко сильно искажают ситуацию (а иногда – искажают и не в совсем популярных: см. историю про “голографическую кротовую нору”), заявляя, что алгоритм Шора уже был успешно реализован на таких-то и таких-то конфигурациях. При этом для алгоритма Шора ключевое значение имеет не “суперпозиция состояний”, про которую всё время рассказывают, а реализация квантового преобразования Фурье, потому что именно в нём состоит содержательная часть – алгоритм должен работать потому, что схемы преобразования Фурье позволяют, в теории, определить период функции, заданной на значениях квантовых регистров. Однако в экспериментах именно эту часть (преобразование Фурье) существенно упрощают или вообще исключают, так как нет доступных экспериментальных квантовых схем, подходящих для практической реализации. На малых разрядностях (несколько битов/кубитов) преобразование Фурье для алгоритма Шора вообще не имеет вычислительного смысла, поскольку в принципе нельзя увидеть “длинных” периодов. Не исключено, что в случае “коррекции ошибок” на дополнительных схемах – преобразование Фурье совсем не будет работать для отыскания периода из-за того, что алгоритм-то, по предназначению, целочисленный. И это если оставить за скобками то, что создание гипотетического квантового компьютера большой разрядности напрямую затрагивает основания современной физики, поскольку именно такой квантовый компьютер с необходимостью попадает на границу между “квантовым (микро)миром” и “неквантовым (макро)миром”, которая совсем не ясна, вокруг которой строятся разные интерпретации.
Из этого, впрочем, не следует вывод, что квантовые компьютеры подходящей разрядности вообще не создадут. Но пока что трудности большие.
Комментарии (1) »
Кстати, индекс 0x6399, который позволяет отличить ключи криптосистемы X25519Kyber768Draft00 в TLS-сообщениях, внесён в соответствующий реестр номеров IANA, в раздел под именем TLS Supported Groups. Название раздела – ещё один пример исторически сложившихся особенностей спецификаций: понятно, что X25519Kyber768 – никакая ни группа, а сразу две криптосистемы, построенные на различном математическом аппарате (но, естественно, группы нетрудно найти и в X25519, и в Kyber768). Изначально, упомянутый раздел параметров TLS содержал индексы именованных эллиптических кривых, то есть, сочетаний из параметров, определяющих конкретную кривую в прикладном смысле. Но так как для криптосистем существенны были именно операции в группе, а кроме эллиптических кривых ещё использовались (и используются) мультипликативные группы колец вычетов, то раздел, довольно давно, переименовали в “Поддерживаемые группы”, теперь туда записывают наборы криптосистем.
Комментировать »
Предположим, что при измерениях около нуля Цельсия наш датчик и схемы преобразования электрических сигналов могут давать “погрешность” (в кавычках – потому что это здесь условный технический термин для конкретного измерения) до 0.3 градуса, по сравнению с реальной температурой измеряемой среды (тут ещё вопрос, какая именно температура измеряется и как определяется равновесие, но ладно). Что означают эти 0.3 градуса “погрешности”? Они означают, что когда температура в измеряемой датчиком точке 1.0 градус ровно (Цельсия, но это не важно), схемы датчика могут показать 1.1, 1.21, 1.3 – ещё что-то похожее. При этом, чтобы как-то попытаться снять кавычки с “погрешности”, нужно ещё учитывать, какая у нас доступна разрешающая способность после датчика – видим ли мы разницу между 1.2 и 1.21 близко к датчику или этот 0.1 уже шум от последующих элементов схемы (а может и ошибка в Excel, кто знает). Так что считаем, что наша “погрешность” – 0.3. Всё это, естественно, умеют учитывать так или иначе, но корректные алгоритмы вычислений с погрешностями измерений достаточно сложны (есть специальные методы, теории и разные подходы).
Однако попробуем упростить ситуацию. Для примера. Если привычным способом “считать на компьютере”, то можно пронаблюдать занимательные эффекты. Предположим, что у нас пять датчиков. В измерении “А” датчики показали следующие значения (пусть, всё градусы Цельсия): 1.3, 2.3, 2.3, 3.3, 3.3, (много одинаковых значений почему-то, подозрительно); среднее арифметическое для этих измерений равно 2.5; а в измерении “Б” данные получились такие: 1.3, 2.3, 2.3, 3.3, 3.1; среднее – 2.46. Средние показатели отличаются на 0.04. Попробуем так и записать: “средняя температура, между измерениями “А” и “Б”, упала на 0.04 градуса”. И тут не только неожиданно вылезла точность в сотых долях, которая, на минуточку, в семь с лишним раз, если так можно выразиться, “лучше” заявленной выше “погрешности” (0.3), но и реально измеряемая температура могла при этом вовсе не поменяться (а могла и поменяться). Так что при вычислениях нужно учитывать модель измерений. При этом точное измерение конкретно “температуры”, чтобы это ни значило, обычно связано с большими технологическими трудностями (дополнение: особенно, если это измерение выполнено 70 лет назад), которые в СМИ не попадают.
(Кстати, что касается СМИ: замечание про модели измерений особенно актуально и для машинного обучения, которое про соответствующие модели тут ничего учитывать не может.)
Комментарии (2) »
Исходные тексты программ – ценный источник информации о возможной работе этих программ. Относится и к другим текстам. Ниже – два варианта записи одного и того же фрагмента из “Физики” Аристотеля на “языке оригинала”, то есть, это древнегреческий, но, конечно, переписанный много позднее Аристотеля и по другим источникам. В данном фрагменте Аристотель объясняет, что поскольку при падении через “пустоту” нет причин для того, чтобы разные тела набирали разную максимальную скорость падения, потому что отсутствует сопротивление среды, то и все тела будут “одинаково быстро” падать, а это, как считает Аристотель, невозможно – поскольку он так объясняет, что не может быть пустоты. Но это другая история, а здесь текст служит примером того, как могут различаться записи. Красными точками я отметил начало и конец фрагмента. Первый скриншот – из манускрипта, датируемого 12 веком:
Второй – из манускрипта, который “посвежее” и датируется, как я понимаю, чуть позже, то есть, 13 веком:
Хорошо, что сейчас много манускриптов качественно оцифровано крупнейшими библиотеками и опубликовано. Конкретно эти два – из Ватиканской апостольской библиотеки (снова). Не то чтобы первый вариант был легко доступен для чтения, но второй – прочитать гораздо сложнее: там и хитрых “скорописных” сокращений очень много, и шрифт замысловатый (между строками – там ещё и комментарии, кроме специальных знаков). Удивительно, что переписанные тексты в таких непростых конфигурациях вообще совпадают в деталях. Можно даже предположить, что библиотечное дело в 13 веке усложнилось, а в скрипториях поменялся технической распорядок. Но понятно, что это просто манускрипты разного происхождения, типа, класса и предназначения, а ошибки, связанные с неверной расшифровкой сокращений – вполне себе встречались (это отдельная тема).
Комментировать »
“Принцип Керкгоффса” (Kerckhoffs’s principle) в криптографии гласит, что планируемая стойкость криптосистемы не должна быть связана с тем, что сам используемый алгоритм держится в секрете (секретными должны быть только ключи). Но из этого вовсе не следует, что система с “секретным алгоритмом” заведомо нестойкая, как почему-то можно нередко прочитать – это как раз и есть обобщение, неверно основанное на более широком утверждении. Исходный практический принцип – о другом: если реализация криптосистемы оказалась в руках атакующего, то это не должно приводить к необходимости перехода на другую криптосистему, с другим алгоритмом, поскольку предыдущий оказался скомпрометирован.
Является ли криптосистема с “секретным алгоритмом” более стойкой или менее стойкой, по сравнению с “открытым алгоритмом”? С точки зрения оценки алгоритма, очевидно, сказать ничего нельзя: если “алгоритм секретный”, то его не оценить (но, конечно, “осадок остался”). Улучшается ли безопасность решения, использующего такой подход, в целом? Далеко не факт. Однако точно сказать довольно сложно – зависит от конкретной ситуации: нужно, как минимум, смотреть, в какой модели угроз действуют разработчики (действительно, может, они прежде всего защищаются от конкурирующей компании – кто первый выпустит очередную “умную лампочку”, а набор удачных алгоритмов позволяет экономить на аппаратуре).
Конечно, если вам предлагают некоторое решение, существенным образом основанное на “секретных криптографических алгоритмах, которые мы вам не покажем”, то это веский повод для возникновения самых разнообразных подозрений, в том числе, “криптографических” (да, профильные агентства известны тем, что засекречивают не только себя, но и алгоритмический состав используемой криптографии – это другая история). Вот только с “принципом Керкгоффса” (очень странная русскоязычная запись фамилии, кстати) это не связано. Заметьте, что и заявленное использование открытых алгоритмов ещё ничего не гарантирует – нужно определить, как именно эти алгоритмы используются, что к упомянутому принципу опять не относится.
Предположение о том, что открытая публикация алгоритмов позволяет их исследовать всем желающим, что “повышает стойкость”, так как будут найдены дефекты, тоже неплохо сопровождать нужными оговорками. Дело в том, что в качестве метода обобщения “принципа Керкгоффса” нередко приводят следующее рассуждение (уже упомянутое выше): “секретный алгоритм”, если он используется на практике, всё равно можно легко раскрыть, “дизассемблировав исполняемый код”. Это неоднократно продемонстрировано на практике, кто бы сомневался. Но, собственно, это всего лишь переложение в другую сторону содержания исходного принципа. Поэтому нужно отметить, что если препятствий на пути к исследованию алгоритма его засекречивание всё равно не создаёт, то и приписывание сюда “принципа Керкгоффса” оказывается тавтологическим.
Из написанного выше точно не нужно делать вывод, что есть какая-то криптографическая польза в сокрытии используемых на практике алгоритмов – нет, алгоритмы лучше опубликованные и открытые, чтобы было понятно, о чём там вообще речь, чтобы можно было реализовать самостоятельно, использовать в качестве иллюстрации и так далее, но это всё не есть “принцип Керкгоффса”, который о другом.
А что касается очевидного аспекта “дизассемблирования кода”, то, по сравнению со временами Керкгоффса (конец девятнадцатого века), тут тоже многое поменялось. Сейчас есть целое направление исследований, посвящённое тому, как бы так сделать аппаратный токен (чип), чтобы он работал как “чёрный ящик”, а его внутреннюю логическую структуру вскрыть было бы чрезвычайно сложно, как в чисто вычислительном смысле, так и в вычислительно-техническом – то есть, буквально, считывая непосредственно физическое устройство соответствующей микросхемы.
Комментировать »
Ещё из области распространённых странных формулировок, про квантовую запутанность для “разнесённых в пространстве” частиц: “Если измерить спин одной частицы, то значение спина другой, запутанной, мгновенно окажется противоположным”. Тут совершенно не важно, “спин” или ещё какой-то термин используется – смысл фразы сводится к якобы мгновенному изменению состояния в результате измерения между двумя частицами. Измеривший одну частицу экспериментатор как-то сразу знает, какое теперь состояние у второй. Формулировка весьма непонятная, конечно. Что означает – “знает”? Вторую частицу ещё кто-то должен измерить и проговорить результат. С другой стороны, можно считать, что состояние системы из двух частиц и так было известно, заранее, ну, если работает используемая теория; и это состояние вовсе “не поменялось мгновенно” для второй частицы, а, в лучшем случае, разрушилось. Не требуется наличие мгновенного действия, оно тут, как и пространство, оказывается привнесённым.
Исходный смысл в результате упрощения оказывается заменён на смысл противоположный (“смысл”, а не “спин”). Изначальное рассуждение, исторически, касалось совсем другой ситуации. А именно: если какой-то интегральный показатель известен для системы из пары частиц по происхождению этой системы, а кроме того, принято, что для этого показателя “действуют законы сохранения”, тогда из измерений, выполненных на одной частице, можно простым способом вычислить значение для второй, с нужной степенью точности (и это могут быть вычисления “дополняющих” характеристик, но не важно). Если постулируется, что некоторые показатели могут иметь значение 1/2 и -1/2, а сумма должна быть строго равна нулю, то если у вас результаты измерения для одной частицы дали 1/2, для другой остаётся лишь вариант -1/2, по определению, так сказать. Это совсем простое рассуждение, не требующее никаких “нелокальностей”.
Откуда тогда возникают разные сложные интерпретации и измерения в контексте неравенства Белла? А они возникают из дополнительных свойств, связанных с вероятностью получения того или иного результата при разных конфигурациях экспериментов на разных концах системы запутанных частиц. Грубо говоря, если вероятности получить значения 1/2 и -1/2 (из предыдущего примера) различаются для разных конфигураций измерителя, каким бы он ни был, то можно предложить такую последовательность измерений, ответы для которой не выйдет закодировать в выбранной теории конечным набором некоторых параметров, передаваемых, допустим, вместе с каждой из частиц, а придётся вводить какие-то дополнительные допущения в теорию – например, признать, что всегда используется состояние одной системы из двух частиц, а не двух систем, которые в какой-то момент оказались разделены, потому что так требует конкретное представление о “локальности”. Но, так или иначе, вовсе не “измерением мгновенно поменяли состояние другой частицы – сверхсветовая скорость коммуникации”. Тут, кстати, помимо странного запрета на “сверхсветовую скорость”, ещё непонятно, как определить тот самый момент “разделения”, потому что такое определение требует введения общего времени, а для измеряемой системы времени может и не быть – другая история.
Комментировать »
Среди технологических проблем, с которыми, например, сталкивается Google в разработке квантовых процессоров, называют и довольно простые по формулировке: как подключить множество кабелей-фидеров к небольшому чипу, на котором размещаются схемы, “реализующие кубиты”? “Физические кубиты” обязательно должны быть размещены плотно. То есть, чип Sycamore содержит 53 кубита и подключать приходится многие десятки кабелей, поскольку требуются индивидуальные высокочастотные линии. Соответственно, имеющиеся типы кабелей уже сильно мешают друг другу. Как быть с, потенциально, тысячами кабелей – не ясно.
Это технологический момент, конечно. Однако он тоже связан с тем, как именно могли бы не сработать имеющиеся модели в рамках создания квантовых компьютеров, которые вмещают 2^1000 и больше состояний. То есть, даже если просто попробовать делать кабель тоньше, то в какой-то момент потребуется использовать новые теории и новые модели для практических вычислений. И если, предположим, имеющийся кабель, – как модель, – двумерный, то вынужденный переход к трёхмерному представлению может добавить сложностей, привнеся в геометрию дополнительных “зацеплений”. Насколько хорошо воздействия, задающие квантовые состояния, будут “пролезать” по сверхтонким волокнам? Если правильно двигать масштаб, то на прикладном направлении достаточно быстро начинает просматриваться фундаментальное онтологическое явление – где и каким способом проходит граница, разделяющая микроскопические “квантовые” и “неквантовые” макроскопические объекты?
Впрочем, всё это просто технологические догадки. Насколько большим препятствием может оказаться физика СВЧ-сигналов внутри экзотических кабелей? Не очень понятно. Однако вряд ли стоит ожидать, что именно на этом прикладном направлении проявится принципиально непреодолимый теоретически момент – он должен проявиться где-то ещё.
Комментировать »
Иногда приходится слышать, что “нейросети и машинное обучение работают с действительными (вещественными) числами”. Звучит занимательно, потому что практически никакое действительное число в отдельный компьютер или даже в дата-центр, набитый специализированными “тензорными процессорами”, по записи не уместится. Более того, если бы действительные числа были доступны на этом технологическом направлении, то почему бы тогда не взять десятичную запись π и, вместо “обучения”, не найти там уже готовый набор коэффициентов под нужную задачу?
А процессоры для “машинного обучения”, в лучшем случае, работают с небольшим подмножеством целых чисел, даже когда используется надстройка в виде арифметики с плавающей точкой – что-нибудь из разряда bfloat16, FF32 и т.п. Эта арифметика максимально далека от действительных чисел, в которых, кстати, арифметику вообще очень сложно, если вообще возможно, построить даже теоретически. Свойства привычных “вычислений с погрешностью” уже для целых значений приводят ко всяким дополнительным хитростям, это кроме известных эффектов расщепления одного и того же числа на несколько представлений.
Можно было бы предположить, что использование в вычислениях некоторых математических констант выражается в том, что соответствующие этим константам бесконечные процессы как раз и позволяют системам машинного обучения достигать всё большей и большей точности, но и это не так: в современных многослойных “нейросетях” разрядность имеет совсем другое значение, а лучшая “сходимость” (что бы это ни значило) может достигаться при убывающей точности записи коэффициентов.
Комментировать »
Один из занимательных и продуктивных, с онтологической точки зрения, моментов в “классических” (каламбур) квантово-механических экспериментах связан с интерпретацией результатов двухщелевого опыта: как именно так выходит, что когда отдельный квант регистрируется в конкретной точке экрана, он тут же (мгновенно) не регистрируется в других точках, в которые мог бы попасть, как показывает дальнейший ход эксперимента. Этот момент отмечал ещё Эйнштейн, в 20-х годах прошлого века (или раньше, не важно).
То есть, сам иллюстративный смысл опыта состоит в том, что фотоны, прошедшие через щель (щели), регистрируются в разных точках экрана, а статистическая картина при этом соответствует интерференции (или дифракции, как хотите). Выходит, регистрация фотона в конкретном месте экрана как-то выключает возможность регистрации этого же фотона в других местах этого же экрана; в противном случае – места для квантовой механики не остаётся. Конечно, можно предположить, что фотон всё же регистрируется сразу во всех “доступных” точках, но конкретный экспериментатор в конкретном экземпляре вселенной обнаруживает только одну точку, однако это не очень-то содержательный вариант – так всё что угодно и как угодно можно объяснить.
В других вариантах получается, что либо нужны некоторые дополнительные параметры, заранее кодирующие путь фотона, либо это некоторое поле вероятностей переносит каждый отдельный фотон по случайному набору веток дерева, построенного на пиках “волн вероятности” (концепция, с одной стороны, близкая к современному взгляду на проблему, с другой – до степени смешения сходная с “эфиром”). Интерпретация “мгновенного выключения” других точек на экране-приёмнике в двухщелевом опыте как раз и привела к формулированию неравенства Белла, а также и ко многим технически продвинутым экспериментам, связанным с этим неравенством (неравенствами). Более того, из этих же интерпретаций, из превращения вероятностей, и вырастают квантовые вычисления, но тоже пока как концепция.
Комментировать »
Продолжение темы про “пересекающиеся параллельные прямые” и, конкретно, их популярное “пересечение” “у Лобачевского”. Понятно, что параллельные не пересекаются по определению. Но именно в геометрии Лобачевского параллельные прямые, так сказать, даже больше не пересекаются, чем в евклидовой геометрии. Дело в том, что соответствующий постулат гиперболической геометрии (Лобачевского) имеет следующий смысл: “через точку, не лежащую на данной прямой, в плоскости, которая задаётся этой прямой и точкой, можно провести более одной прямой, не пересекающей данную” (у Евклида – не более одной прямой). То есть, в версии от Лобачевского не только можно бесконечно много построить прямых, проходящих через точку и “параллельных” данной (“параллельных” здесь в кавычках потому, что используется в смысле значения из классической евклидовой системы), но и, в процессе построения, возникают как бы две “параллельности”: то есть, появляются граничные прямые, которые параллельны данной “влево” и параллельны “вправо” (сколь бы странным это ни показалось). Все прочие параллельные формируют пучок, зажатый внутри углов, образуемых двумя граничными прямыми. Собственно, именно эти две граничные прямые, дающие углы параллельности, и определяются как параллельные в этой геометрии. Строгое определение и свойства параллельности в геометрии Лобачевского порождают богатые её интерпретации. Однако даже и просто две прямых, проходящих через точку и не пересекающих данную, это уже существенно больше, чем одна у Евклида.
Комментировать »