Ресурсы: техническое описание TLS, LaTeX - в картинки (img), криптографическая библиотека Arduino, шифр "Кузнечик" на ассемблере AMD64/AVX и ARM64
Немного древних чисел. На скриншоте ниже – глиняная табличка из Месопотамии Plimpton 322, которую датируют 1900-1600 годом до нашей эры.

Image: CDLI / Rare Book and Manuscript Library, Columbia University, New York, New York, USA
Табличка содержит древнюю тригонометрическую таблицу (судя по всему, да, так и есть – тригонометрическую), числа в которой записаны в шумерской системе. Шумерская система счисления – это занятная позиционная система по основанию 60, со своими тонкостями.
Попробуем прочитать числа в середине таблички (примерно – в середине: найти исходное положение фрагмента нетрудно, если воспользоваться характерным пятном).

Здесь в нижней части изображения я (примерно, опять же) обозначил знаки, которыми записаны цифры. Разгадка – ниже. Шумерские цифры (ещё не числа) записываются при помощи двух типов символов: вертикальные “галки” – обозначают десятки (так что система, в чём-то, ещё и десятичная); вертикальные “палки” – единицы, которые, если их меньше десяти, объединяются в тесные блоки. Значение для конкретной цифры – получается суммированием значений составляющих знаков. Всё это нетрудно разглядеть на табличке. Специального нуля тут нет – его роль играют пробелы и контекст.
Итак, если записать в принятом формате, обозначая шумерские цифры числами [01..59] в десятичной записи и разделяя позиции точкой, получатся числа, которые представлены ниже (два числа, слева направо, строка с зелёными подсказками).
38.11 59.01
Чтобы понять, как такие значения получаются – посчитайте “галки” и “палки” на картинке: например, три “галки” слева – это 30. Остальное должно сложиться само. Но это шестидесятеричная запись. Её, впрочем, нетрудно перевести в десятичную (учитывайте, что это позиционная система, поэтому цифровые значения умножаются на 60 в степени номера позиции, начиная с нуля; в этом примере – позиций только две).
38*60 + 11 = 2291 59*60 + 1 = 3541
Шумерские цифры из Месопотамии, вместе со способом записи, образуют древнейшую из известных позиционных систем. Не очень понятно, что произошло с нулём: на самых древних табличках нуль не обнаруживается, но на более поздних появился некоторый вариант, записываемый двумя диагональными палочками, который, конечно, не совсем решил проблему неоднозначной интерпретации. Впрочем, может, у древних шумеро-вавилонских инженеров тут никакой неоднозначной интерпретации и не возникало.
Комментировать »
Воскресное чтение манускриптов. Сегодня у нас фрагмент “Илиады”. Не только на манускрипте, но и на папирусе. Не всё из записей на папирусах, что считается фрагментами “Илиады”, точно укладывается в современный канонический текст, представленный на манускрипте Venetus A (ну, насколько он может быть каноническим: “Илиада”, между прочим, опубликована, – ну, в строгом смысле, то есть, напечатана, – впервые только в 15 веке). При этом именно кусочки папирусов дают одну из важнейших хронологических опор, позволяющих определить, что текст “Илиады” древнее, чем Venetus A, который датируется десятым веком нашей эры.
На папирусе (точнее, на кусочке папируса) P.Mich.Inv.6972 (датируется вторым веком до н.э.), который представлен на скриншоте ниже, как раз пример отличающегося в некоторых деталях текста.

Здесь две колонки – левая и правая. Они соответствуют строкам 421-434 и 445-460 десятой книги (песни) “Илиады”. При этом, например, слово из первой строки папируса – ἐπιτρωπῶσι (“доверяют”) – хоть и укладывается в Venetus A (см. ниже), но это другое слово: на Venetus A используется ἐπιτραπέουσι (“вверяют”/”вверямши”). И там, и там – строка заканчивается одинаково: φυλάσσειν (“сторожить/охранять”). Соответствующий фрагмент Venetus A (я отметил строку 421 и упомянутое слово):

Увеличенный фрагмент папируса с повышением контраста:

И это не только не единственное расхождение, но и не самое существенное: так, на этом же папирусе присутствует совсем другая версия строки 433 (тема для отдельной заметки). То есть, как минимум, более древние записи сильно расходились с “современным” древнегреческим текстом.
Интересно, что из других, максимально древних, источников по “Илиаде” есть, например, различные художественные сюжеты, запечатлённые, скажем, на барельефах, на керамических сосудах. Их много. Эти сюжеты укладываются в какие-то знаковые текстовые описания сцен из “Илиады”. Однако, несмотря не все археологические изыскания, остаётся вопрос: рисовались ли те сюжеты по текстам, или тексты, – возможно, много позднее, – были написаны под нарисованные сюжеты?
Комментировать »
Часто попадается популярная иллюстрация к протоколу Диффи-Хеллмана, использующая аналогию “смешивания красок”: то есть, стороны, пытающиеся получить общий секрет, смешивают исходную краску, которая известна всем, каждая со своей секретной краской, а потом обмениваются результатами по открытому каналу и смешивают со своим секретом уже результат второй стороны (см. ниже), получая, таким образом, одинаковый “цвет”. Например, в английской “Википедии” сейчас дана именно такая иллюстрация.

(Source: Wikimedia)
Оказывается, такая картинка – не самый плохой способ объяснить что-то содержательное про протокол DH “на пальцах”, пусть некоторые требования и остаются за кадром. Например, эта схема не позволяет показать, почему атакующая сторона не может “перебрать все краски” (естественно, в практическом случае с числами).
Посмотрим на основные моменты, которые подразумевает имеющаяся картинка. Во-первых, результат смешивания красок должно быть трудно обратить – важнейшее свойство для DH, который строится на “однонаправленных” функциях (об этом написано на исходной картинке). То есть, сторона, наблюдающая обмен, не может простым способом разделить краски. Вспомните, что исходная краска, – которая соответствует генератору в “настоящем” DH, – известна всем, в том числе, стороне, пытающейся взломать обмен. По условию – выделить эту краску из смешанных “цветов” оказывается вычислительно невозможно. Во-вторых, операция смешивания красок должна быть “коммутативной” (условно!) – то есть, результат не отличается от порядка подмешивания ингредиентов сторонами. Это не менее важный математический момент “настоящего” протокола, который позволяет обобщить его и перенести с классических вычетов на совсем другие структуры.
Вообще, “коммутативность” тут именно в кавычках, поскольку математическая структура несколько сложнее. Запишем операцию в виде формулы, где “*” соответствует смешиванию красок и действует слева: α * G – означает, что секретная краска α смешана с краской G (чтобы как-то обосновать “левое и правое” действие – считаем, что колер α добавлен в банку к краске G). Тогда: β * (α * G) == α * (β * G) – это то, что происходит в протоколе с красками. То есть, сторона A получает результат смешивания (β * G) и замешивает свою краску α: α * (β * G). Сторона B – наоборот. Казалось бы, должно выполняться (α * β) == (β * α), тогда работает схема. Именно так устроено в классическом DH, но с показателями степенй: (G^β)^α == (G^α)^β. Однако для протокола на красках, вообще говоря, (α * β) == (β * α) хоть и очевидно работает в “локальном” случае, но не применимо в иллюстрируемой схеме – ведь ни у стороны A, ни у стороны B нет готового состава (α * β) – они не могут его приготовить по условию “неразделимости” красок. Вариант (α * β) * G провернуть не получится, по условиям задачи: краски – это не натуральные числа. Поэтому-то “коммутативность” тут – это не настоящая коммутативность (без кавычек). Требуется именно “одинаковость” действия и краски α, и краски β на уже смешанные и подходящие краски. Это можно переписать в других обозначениях: A := α * G (подмешали α в G); B := β * G (подмешали β в G); α * B == β * A – потребовали выполнения базового свойства, необходимого для работы протокола DH на красках: β переводит A в тот же цвет, в который α переводит B.
И это вовсе не беспричинно въедливое разбирательство. Любой химик вам подтвердит, что в химии – далеко не всегда порядок подмешивания ингредиентов не влияет на результат. Формулы веществ это хорошо, но иногда нарушение порядка смешивания может так повлиять, что лабораторию придётся ремонтировать или даже строить новую.
Дело не только в химии: именно обобщение структурной особенности, которая переводит две разных “краски” строго в одну при действии разными элементами (другими “красками”) как раз и позволяет максимально обобщить и сам протокол DH, переписав его в терминах того, что в математике называется “действием группы”. Это, впрочем, отдельная история.
С “красочной” иллюстрацией к DH связан и ещё один занимательный момент. Хорошо, разобрать смешанный “цвет” на составляющие краски трудно – это по условию задачи. Но что мешает атакующему перебрать все доступные краски, подмешивая их к исходной? Результаты смешивания сравниваются с переданными в открытом виде “цветами” (они соответствуют открытым ключам DH) – если цвет совпал, то угадана секретная краска. Естественный вариант защиты: красок слишком много – перебор окажется неприемлемо долгим, а вот сторонам протокола легко выбрать одну секретную краску. Это, опять же, важный математический момент протокола: краски выбрать может быть легко, – вот тысячи, допустим, банок стоят на складских полках, – но реальный DH работает не на красках и там тоже требуется, чтобы был вычислительно простой метод равновероятного случайного выбора нужного числа (секретной “краски”). Да, в классическом варианте с целыми числами – выбрать число случайно и равновероятно не трудно. Вот только тут возникает другая проблема.
Классический вариант DH требует возведения в степень. Показатель степени является секретным ключом. Чтобы атакующая сторона не могла перебрать все показатели за обозримое время, значение должно быть большим. Но как быть стороне протокола, вычисляющей открытый параметр при помощи того же возведения в степень? Последовательно умножать генератор столько же раз, сколько и атакующий – выглядит несколько абсурдно. Хорошо, что знание показателя степени позволяет использовать быстрые методы, построенные на возведении генератора в квадрат и домножении на генератор в “нечётных” случаях: например, чтобы возвести 2 в пятую степень нужно дважды возвести 2 в квадрат и домножить на 2 – (2^2)^2 * 2, это три умножения, а не четыре, как для 2*2*2*2*2. В красках этого нет, но для любого практического воплощения протокола DH данное свойство “удвоения со сложением” необходимо – иначе легитимные стороны протокола оказываются в том же положении, что и атакующая сторона.
Комментировать »
Попалась статья в The Guardian. Называется “Researchers create AI-based tool that restores age-damaged artworks in hours” (“Исследователи разработали базирующийся на ИИ инструмент, который восстанавливает повреждённые временем художественные полотна за [считанные] часы”). ИИ-хайп продолжает вредить: если прочитать заголовок, то сразу возникает предположение, что это опять дорисовывание при помощи “картиночной LLM”. Однако, не совсем так. Дорисовывание, конечно, есть и в этом случае, но это не генерирование ИИ-картинок.
Исходная работа, по которой написана газетная новость, не содержит упоминания ИИ в заголовке и повествует о методе восстановления при помощи копирования фрагментов из сохранившихся областей картины, копирования совпадающих фрагментов из других полотен того же художника, обработки изображения при помощи типовых библиотек, с целью получения различных масок (разностные маски по пикселам и пр.), а также наложения фильтров из состава пакета Photoshop. Всё делается на основе оцифрованного изображения (скана), с автоматизированным “выравниванием” цветов. В тексте статьи при этом описано, почему прямые методы “нейросетей” на этом направлении не дают подходящих результатов. А основная особенность – метод переноса цифровых правок на физический исходник.
Полученные в автоматизированном режиме и сведённые в Photoshop визуальные дополнения и правки “пикселов” – печатаются на специальной прозрачной плёнке, послойно (см. ниже схему). Подготовленные плёнки особым, обратимым образом наклеиваются на оригинал, дополняя его до состояния отреставрированного произведения. (Да, возникает традиционный вопрос, что же тут нужно считать реставрацией, если дорисованы фрагменты, информация о которых на исходнике полностью утрачена; собственно, в исходной работе этот момент постоянно упоминается.)
В итоге, всё же не “дорисовывание силами ИИ”, а автоматизированная обработка человеком изображения в цифровой форме (фильтры в Python + Photoshop, да) и перенос корректирующего “трафарета” при помощи плёнок – это и есть то, что ускоряет работу, снижая затраты именно в части очень сложного ручного труда реставратора-специалиста. Но в газетном заголовке всё равно “AI-based tool”.

Исходные данные – доступны на Code Ocean.
Комментировать »
Очень много популярных статей “про квантовую механику” начинаются с дежурной фразы, утверждающей что-то вроде такого: “в квантовой механике – частица находится во многих точках пространства одновременно”. (Есть ещё полностью аналогичный вариант про пребывание во многих состояниях.) Примеры найти нетрудно, свежий есть на сайте Quanta Magazine.
Вообще, это сильно напоминает едва ли не столь же распространённую историю про “пересекающиеся параллельные прямые”: казалось бы, прямые – параллельные, но нет – “пересекаются”, да и всё тут!
Если частица “одновременно находится в нескольких местах”, то что это могло бы означать? Допустим, есть утверждение, что результат попытки измерения координат квантовой частицы может выдать разные значения с разной вероятностью. С одной стороны, все подобные экспериментальные измерения обладают некоторой погрешностью. Поэтому всегда можно ввести распределение верояностей.
С другой стороны, из того, что математическая модель позволяет построить распределение вероятностей, хорошо согласующееся с результатами последовательных измерений в сходных условиях, вовсе не следует обратное, не следует вывод, что и частица находится одновременно во всех этих точках пространства, которых, вообще говоря, можно насчитать сколько угодно – то есть, буквально, больше любого заданного натурального числа. При этом вовсе не запрещены эксперименты с локализацией квантовых частиц: соответствующая теория лишь позволяет с высокой точностью предсказывать распределение результатов для разных измерений, а не “размазывать” одну и ту же частицу – всякая работающая теория тут вообще про измерения, а не про частицы.
Естественно, можно считать, что это такое свойство – “размытие” частицы по “пространству”. Но если частица стала “размытым облаком”, то вот это размытое облако – и есть же область пространства, занимаемого частицей. То есть, если задуматься, то даже в такой интерпретации, – очень странной, – частица оказывается ещё более локализованной: вот же, описано, где она, буквально. Ну, хорошо, допустим, “сразу везде”, как и утверждается – экстремальный случай. Но отдельные точки пространства, необходимые для того, чтобы вообще “склеивать объёмы” и что-то сравнивать – как их определить? Точки всё равно оказываются некими наборами координат. И если за координаты принять вещественные числа, то утверждение, обратное к размытию вероятностей результатов измерения, опять перестаёт работать: практически невозможно попасть ни в какую заранее выбранную точку.
То есть, буквально, называете координаты точки, – например, (√2, π), – и всё – результат измерений “на приборах” всегда будет другим (потому что нельзя записать в десятичных дробях ни одну координату, ни вторую). А значит, частицу не удалось локализовать в достаточной мере, она осталась столь же “размытым облаком” – и где тогда проводить границу, по какому объёму? Если же сделать координаты дискретными, то необходимость “копирования частицы” по всем экспериментально мыслимым “кубикам” тут же исчезает вовсе, поскольку не только само вычисление вероятности не требует занятия всех возможных “кубиков” копиями частицы, но это не нужно и для непосредственного дискретного измерения.
Кстати, вот тут-то, конечно, сразу возникает и работает контраргумент Бернштейна к невозможности создания квантовых компьютеров, который про битовые строки: буквально – для вычислений над 1000-битными числами не обязательно все их хранить в памяти компьютера. Поэтому для вычисления значений функции, задающей вероятность результатов измерений координат в последовательных экспериментах, не нужно, чтобы частица была сразу во всех точках вычисляемого пространства. Зато вот если бы было нужно, то это тоже оказалось бы полезным. Вот только вряд ли об этом можно было бы узнать, поскольку такой расклад запретил бы не только обычные, но и квантовые компьютеры.
Посудите сами – все точки пространства забиты всеми возможными частицами за все возможные периоды времени и за все возможные эксперименты. Что это за пространство такое? Откуда оно берётся? Да, можно вспомнить про исходный огромный топос, сечение которого и есть наблюдаемый расклад окружающей действительности, но тогда в топос входит и, не менее обобщённое, пространство. Так что это не спасает утверждение про квантовую частицу, “пребывающую сразу во многих точках пространства”. Да и суждений таких, про топос, в научпоп-статьях упомянутого типа “про кванты” что-то не встречается.
Это, впрочем, не отменяет более общего рассуждения про потоки “квантовых” вероятностей, нужные для работы того же алгоритма Шора: эти вероятности, предположим, таки должны быть где-то распределены до того, как проводится измерение, в отличие от обработки тысячи битов на классическом компьютере. Но никакой необходимости одновременного пребывания потенциально локализуемой частицы во множестве точек пространства – нет и здесь.
Комментарии (1) »
Если самый полный известный текст “Илиады” (например) – это манускрипт десятого века (Venetus A), то как определить, что “Илиада” написана не в десятом веке, а сильно раньше? Помимо цитат в других произведениях, – для которых иногда встречаются более древние, чем десятый век, записи, – используется, например, тот факт, что нашли существенно более старые фрагменты папирусов, содержащие кусочки текста “Илиады”. Ну, как минимум, фрагменты на папирусах можно читать, как фрагменты “Илиады”. И эти фрагменты укладываются в текст манускрипта десятого века. Какие-то фрагменты укладываются очень точно. Например, потому что в них достаточно много слов сохранилось. Какие-то укладываются не так точно и однозначно, как хотелось бы. Естественно, подходят не только папирусы, но и какие-нибудь надписи на прочих предметах, – папирусы тут для примера.
Вообще, не так уж трудно подобрать очень короткие фрагменты из других текстов, которые, при подходящей нарезке, совпадут с “Илиадой”. Пример, который я нашёл достаточно быстро, есть даже на dxdt.ru (с картинками). Ничего удивительного: побуквенно совпадающие фрагменты из нескольких слов, не являющиеся прямой цитатой, всегда можно найти в двух достаточно больших литературных текстах на естественном языке. Во-первых, чтобы исключить подобные совпадения, нужно специально задаться подобной целью и начать генерировать синтетический текст в стиле “редкий редан редактора редукторной редиской… и т.д.”; но, – во-вторых, – даже если и задаться целью, то всё равно ничего не выйдет на сколь-нибудь большом расстоянии: какие-то слова обязательно попадут в типовую конструкцию, потому что всякая цепочка, выстраиваемая с прицелом на уникальность, начнёт рушиться из-за грамматических правил и смысловой составляющей (по условию задачи – текст литературный). Тем не менее, совпадение фрагментов – довольно надёжный инструмент. Нужно только правильно его применять. Надёжность возрастает с ростом количества доступных букв фрагментов.
Вообще, существенную роль в процессе атрибуции тех же папирусов с фрагментами “Илиады” играет уже расположение букв фрагмента. Эти буквы-символы собираются в кусочки слов, а относительное расположение кусочков похоже на расположение кусочков при общепринятом, каноническом способе записи текста “Илиады”. То есть, чтобы сдвинуть текст “Илиады” из десятого века в прошлое искусственно, нужно будет как-то “пересчитать” все эти фрагменты и их совпадения, разложив нужные элементы на папирусах. Получается что-то похожее на блокчейн с хеш-функциями: чтобы внести изменения – нужно “пересчитать” много данных, которые расползлись по папирусам, это, так сказать, “вычислительно сложно”. Причём, понятно, какие-то папирусы ещё не найдены, на момент формирования основного текста. Это всё не отменяет того факта, что каноническая запись “Илиады” является результатом редактирования и там заведомо отброшены какие-то фрагменты и варианты записи. Речь о другом: существенное изменение – потребует переучёта уже оставленных следов: какие-то нужно будет исключить, какие-то – сделать заново и признать “старыми”, где-то там закопав незаметно в древних развалинах.
Но можно ли, тем не менее, для “Илиады”, к примеру, реализовать такое современными методами? Скажем, взять разные автоматические генераторы изображений, насоздавать изображения папирусов и других надписей, сказать, что это всё вот просто в архиве оцифровано и показывать через Интернет. А при помощи 3d-принтеров и прочих хитрых инструментов – сделать много поддельных кусочков папирусов, надписей на “каменных табличках” и глиняных амфорах. Это можно сделать, но всё требует затрат. Тут речь не про альтернативную хронологию, а про погружение некоторого текста в более древние слои: получается, что для аккуратного погружения нужно “пересчитывать” совпадения элементов, расставлять слова на разных объектах согласованным способом. Понятно, что это всё работает не только для текстов, но и для археологических изысканий вообще. Тексты тут сильнее потому, что они сковывают возможности трактовки фактов через известное свойство истории “быть функцией от современности”.
Комментировать »
Попалось занятное сравнение, которое использовано в качестве риторического примера, то есть, комментария-иллюстрации, в контексте рассуждений о том, что цели и методы сверхразумного ИИ могут быть непознаваемы для человека:
Шимпанзе может быть спокоен, что люди не смогут его достать, если он заберётся на дерево: он никогда не сможет предсказать ни стрелы, ни лестницы, ни цепные пилы, ни вертолёты. Что [если] суперинтеллектуальные стратегии находятся так же далеко от нашего набора решений, как [решение] “используй вертолёт” – от набора решений шимпанзе? (A chimp might feel secure that humans couldn’t reach him if he climbed a tree; he could never predict arrows, ladders, chainsaws, or helicopters. What superintelligent strategies lie as far outside our solution set as “use a helicopter” is outside a chimp’s?)
В исходном тексте речь про угадывание местоположения по фотографии, при помощи современного LLM/ИИ. То есть, речь про программы, которые люди запускают на огромных многопроцессорных системах, попутно скармливая этому ИИ терабайты текстов и картинок, а пример про шимпанзе – это лишь пример того, как могли бы иллюстрировать свои рассуждения сторонники непостижимого сверхразумного ИИ, якобы происходящего из этих программ. Но вообще-то, тут больше интересна именно ситуация с крупным древолазающим приматом, чем с LLM/ИИ.
Во-первых, понять и описать, что может “думать” шимпанзе, как шимпанзе видит мир, взбираясь на дерево – весьма и весьма сложно, если вообще возможно – не придумали пока таких методов: тут бы с описанием человеческого восприятия реальности справиться, а то – шимпанзе. Это не летучая мышь, конечно, и не кошка, но совсем другая история, так или иначе, да и рассказать, что к чему, не может. То есть, иллюстрация работает в другую сторону: вместо непонимания методов сверхразумного ИИ хорошо бы перейти к попыткам понимания того, можно ли вообще рассуждать о восприятии вертолётов шимпанзе.
Во-вторых, шимпанзе, скрывающийся на дереве, вообще-то прав в том, что человек вряд ли может даже приблизиться к его, шимпанзе, уровню владения искусством лазания по веткам. И если бы, по аналогии с современным ИИ, шимпанзе конструировал правильных человеков (то есть, супершимпанзе), то, осознавая важность лазания, он бы попробовал снабдить конструируемых и всем опытом лазания, и, предположим, специальными длинными руками-щупальцами, в количестве, как минимум, шести штук. Это могло бы показаться шимпанзе логичным – чему ещё учить этих конструируемых? Интернет с веб-страницами, забитыми письменными источниками, шимпанзе недоступен. А как нужно лазать – это он может показать на высочайшем уровне. Поэтому минимум шесть рук – нечего экономить на “процессорах”! (Впрочем, и переборщить тут нельзя. Десять рук-шупалец – могут составить проблему, цепляясь за ветки, когда цепляться не нужно.)
Да, люди обычные, – не те, которых мог бы конструировать шимпанзе, – пока не в состоянии проникнуть в модель мира, этим шимпанзе используемую. Но всё же можно предположить, что шимпанзе, почуяв угрозу со стороны сконструированных им многоруких “человеков”, не станет полагать, что сумеет укрыться от них на дереве. “Беда. Они лазают гораздо лучше. Сейчас до меня доберутся!” – подумает шимпанзе, используя какую-то свою, недоступную нам, простым философствующим зрителям, манеру представлять мир. И не станет лезть на дерево.
Он постарается дождаться вертолёта.
Комментарии (1) »
Сети спутников связи, работающие на низкой орбите, как Starlink, имеют немало преимуществ, которые свойственны именно сетям. Понятно, даже одиночный аппарат, но на низкой орбите, это уже снижение задержки сигнала, так как аппарат может быть очень близко. Очевидный факт. Но ничуть не менее очевидно, что если такой аппарат один, то, практически, он всегда будет очень далеко, если смотреть из любой точки на земле: спутник быстро движется по орбите, и даже если непосредственно над точкой оказывается, то на очень недолгое время. А потом и вовсе уходит за горизонт. Поэтому одиночные спутники связи и развешивают на геостационарной орбите, которая очень высокая – почти 36 тыс. километров. Даже если удалось удачно расположить приёмник на земле ии поймать такой спутник в луч антенны, задержка (“пинг”) будет долгой: сигналу только лететь больше 230 мс, если в обе стороны. А на низкой орбите – нужны сети спутников.
Представьте, что наземный терминал работает на какой-то очень подвижной технике. Если это устаревшая система с геостационарным спутником и тарелкой-рефлектором на земле, то тарелку нужно как-то удерживать наведённой на спутник. Если носитель тарелки быстро перемещается, – едет по склонам и кочкам, предположим, – то нужна быстрая стабилизирующая платформа для антенны. А тут ещё и до спутника далеко, то есть, затухание само по себе сильное, поэтому каждая небольшая ошибка стабилизатора антенны существенно ухудшает доступный уровень сигнала.
Если же у нас и несколько близких спутников всегда в поле зрения, и используется суперсовременная фазированная антенная решётка с электронным управлением лучами, то задача стабилизации совсем другая: электронный переброс лучей выполняется несравнимо быстрее, да и направлений для их переброса всегда несколько, так как несколько спутников. В общем, механическое сканирование для стабилизации сигнала вообще может и не требоваться. Это как раз вариант для Starlink. Точнее, для Starshield – для военной ветки данной системы, которая разрабатывается и работает для SDA (Space Development Agency).
Другой момент. Низкоорбитальная спутниковая сеть связи позволяет транслировать потоки информации по кратчайшёму пути. Если один из спутников осуществляет разведку, – например, при помощи телескопа, – то получаемое изображение можно транслировать потребителям прямо через спутники сети, минуя какой бы то ни было наземный центр управления. Если бы центр управления требовался, то время доставки было бы больше, кроме того, передача данных занимала бы каналы именно к центру управления, и потребителям информации пришлось бы конкурировать, получая слоты по времени передачи.
Сетевая, распределённая архитектура лишена этих недостатков. Тут получается онлайн-доступ к спутниковой разведке, технология, которую раньше описывали в фантастических произведениях: видеопоток с орбитального телескопа, направленного в нужную точку поверхности Земли, поступает в режиме реального времени (ну, хорошо, что-то близкое к этому). То есть, технически, это вариант IP-сети, но на орбите – динамические маршруты передачи данных выстраиваются близкие к оптимальным, а информационный канал, – сокет, – создаётся сразу между сервером-телескопом и клиентами – то есть, наземными терминалами. Это весьма важно для автоматических систем наведения, где каждая миллисекунда задержки играет существенную роль. Вместо телескопа, работающего в видимом диапазоне, может быть спутниковый радар, с синтезированием апертуры. Да, в этом случае видеопотока не будет, но синтезировать можно на интервале в несколько секунд, и тут же отправлять готовый результат заказчику: с низкой орбиты так можно эффективно наблюдать даже небольшие ракеты.
Комментировать »
Тавтологические формулировки в условии задачи по математике – это, обычно, очень плохо. Однако их можно использовать в роли некоторой капчи, позволяющей отличить выдачу LLM от попытки осознанного решения. Это особенно актуально, когда то и дело заявляют об “успешном решении ЕГЭ по математике” ИИ/LLM.
Речь тут вот о чём. Любое минимально содержательное утверждение можно переписать в виде набора усложнений, описывающих всё то же утверждение. Тавтологическое переписывание является традиционным источником околоматематических шуток: “возьмём формулу 1 == 1, перепишем единицу справа как определённый интеграл exp(-x) от нуля до бесконечности, а левую – как π/π” и т.д. – в итоге можно получить сколь угодно сложное, многоэтажное сочетание загадочных символов, которое, тем не менее, будет верным. При этом, что удобно именно в учебных задачах уровня ЕГЭ, так это то, что исходное утверждение можно вообще не приводить – оно считается известным.
Сумма углов треугольника равна 180°. Запишем это так: дан треугольник ABC, в котором сумма углов при стороне AC равна сумме двух прямых углов минус третий угол треугольника. Это, очевидно, верно для всякого треугольника в “школьной” геометрии на плоскости, прежде всего потому, что это всего лишь перфразированная аксиома (да, которая делает геометрию евклидовой, но эти детали сейчас не рассматриваем). Однако, во-первых, для записи используется достаточно много слов, что имеет ключевое значение для LLM; во-вторых, выглядит как формулировка свойства, применимого только к данному треугольнику данной задачи; в-третьих, в основе лежит верный геометрический факт, широко используемый в задачах.
Может присутствовать возможность тривиального решения. А может быть – тривиальное решение только подразумевается, то есть, приводится лишь запись как бы задачи, решить которую невозможно, поскольку не хватает данных. Получается своего рода капча – LLM в любом случае будет генерировать “ответ” или вывод “противоречий”, учитывая слова формулировки.
Пример первый – это просто набор утверждений, который подразумевает тривиальные соотношения, постоянно используемые в задачах по планиметрии:
В равностороннем треугольнике ABC углы обозначены α, β, γ, а из вершины B проведена медиана BP. Сумма углов α и β при стороне AC равна сумме двух прямых углов минус угол γ. Найдите высоту треугольника ABC.
Когда я задал эту “задачу” ChatGPT-4o, LLM верно перечислила все фундаментальные свойства равностороннего треугольника (углы – 60° и т.д.), верно распознала углы при стороне AC (в тексте, не на чертеже – см. ниже), но дальше – принялась “рассуждать” о том, что сумма двух прямых углов это (внимание!) 360°, а поэтому сумма углов α и β даст 300°, но должно быть 120°.
“120° ≠ 300°. Противоречие. […] Очевидно, что если треугольник равносторонний, то углы не могут давать такую сумму” – написала данная языковая модель свой вывод, перепутав прямые и прямые углы.
То есть, капча сработала. Если бы капча не сработала, если бы ответ был “интеллектуальным”, то LLM должна была бы написать что-то типа такого: “в задаче не хватает данных – найти высоту треугольника невозможно, но можно, например, утверждать, что высота равна медиане”.
Второй пример – в ту же формулировку дописываем длину медианы:
В равностороннем треугольнике ABC углы обозначены α, β, γ, а из вершины B проведена медиана BP длиной 5. Сумма углов α и β при стороне AC равна сумме двух прямых углов минус угол γ. Найти высоту треугольника ABC.
Казалось бы, тут рассказы про углы можно отбросить: из того, что треугольник равносторонний – сразу же следует, что высота равна медиане, то есть ответ – 5. Но если эту же, “уточнённую”, задачу задать ChatGPT в том же потоке, где была задана предыдущая, то выясняется, что данная LLM не только не может отбросить тавтологическую часть условия, но ещё и продолжает считать, что сумма углов – 360° == 180° + 180°. Я не привожу весьма объёмные и подробные “рассуждения” ChatGPT, чтобы не перегружать текст. Если кратко, то LLM предположила, что имеются в виду углы, “образованные при построении медианы BP”, сложила углы уже в двух получившихся треугольниках, и объявила, что “Всё сходится!” (ну конечно, “сходится” – ведь сумма углов двух треугольников это 360°, как и сумма “двух прямых”, в представлении LLM; заметьте, что это, без сомнения, одна из лучших систем в мире, но почему-то предполагается, что данная LLM, якобы, может успешно решать не только ЕГЭ, но и задачи “олимпиадного уровня”).
Далее ChatGPT продолжает “решать” задачу и, используя формулу для длины медианы в равностороннем треугольнике, вычисляет, – в лучших традициях, по формуле! – высоту, подставив найденное значение стороны в формулу высоты. Ответ верный – 5.
Сработала ли и тут “тавтологическая капча”? Да, сработала. Смысла в вычислении по формулам не было: то, что высота равна медиане – этой свойство треугольника ABC. Можно ли трактовать этот момент как желание LLM действовать в парадигме “подставляем числа в формулы так, чтобы получилась хорошая оценка”? Нет. Этому противоречат подробные и точные рассуждения о свойствах треугольника и данная рядом глубоко неверная трактовка суммы двух прямых углов. Естественно, если ChatGPT подсказать, что с прямыми углами тут что-то не то получилось, и что практический смысл интерпретации дополнительных слов условия – тёмен, система тут же исправляется – и сумма углов становится равной 180°, и признаётся, что можно сразу определить, чему равна высота.
Приём с “тавтологической капчей” очень похож на упоминавшийся раньше метод приписывания в условие арифметической задачи посторонних фактов, которые не влияют на ответ. Отличие в том, что здесь добавляемая часть текста относится к фактам, непосредственно связанным с постановкой задачи, но тавтологическое изложение гарантирует, что на ответ эта часть текста тоже не влияет.
И посмотрите на чертёж, нарисованный к данной задаче ChatGPT. Казалось бы, система “умеет выводить” формулы и “решать задачи ЕГЭ”, но почему-то не может верно обозначить углы и провести медиану в соответствии с условием.

Комментарии (2) »
Английский – язык, в основном, аналитический, так что то, какой частью речи является данное слово, обычно определяется относительным местом этого слова в конкретном предложении. Проще говоря, базовую структуру задаёт порядок слов. Поэтому одно и то же слово может оказаться и существительным, и глаголом. Но это лишь грамматическая роль, а глубокая связь слова со значением всё равно не меняется, поскольку это свойство самого слова, которое не зависит от конкретного предложения. Это означает, что возможна интересная игра слов, когда на существительное действует то же самое слово, но неожиданно оказавшееся в роли глагола. Шекспир, считающийся создателем немалой части современного английского, тоже использовал этот эффект.
Наверное, самый известный пример – “thank me no thankings, nor proud me no prouds” из “Ромео и Джульетты”. Но здесь выберем в качестве иллюстрации другой фрагмент, из “Ричарда Второго”:
Tut, tut! Grace me no grace, nor uncle me no uncle
– приказывает, в третьей сцене второго акта, герцог Йоркский Эдмунд своему племяннику, Генри Болингброку, который только что попытался назвать герцога “милостивым (добрым) дядей (gracious uncle)”.
Точно перевести фразу на русский не получится, не сомневайтесь, но, благодаря мощным возможностям русского, нетрудно сохранить основную лингвистическую идею, пусть и выйдет несколько коряво: “Grace me no grace, nor uncle me no uncle” – “не милости́ мне, да не дядькай“; здесь нам немало помогает Unicode и над второй слева “и” – стоит знак обычного ударения; а вот над последней – уже бреве, то есть, это “й” – “и” с краткой. Странное слово “милости́” – это “милость”, но которую, так сказать, очень активно приписывают получателю обращения. Используется только здесь. Ну а “дядькай” – это вполне себе обычное слово, понятное любому, кто владеет русским на высоком уровне.
И всё бы хорошо, но вариант перевода с “дядькай”, конечно, вообще не соответствует драматическому настрою данной пьесы. Особенно – не соответствует пьесе в переводе. А могло ли такое использование grace – и, в особенности, uncle, – звучать немного комично в оригинале? Могло. Однако данная пьеса традиционно относится к разряду исторических, а сортировка произведений Шекспира по типам “трагедия” и “комедия” вообще представляет одну из важных проблем шекспироведения, так что совсем точно сказать сложно, особенно, если попытаться взглянуть из 16 века: шекспировский английский хоть и является современным английским, но многие детали восприятия успели сильно поменяться (Duke of York – как набор слов, вообще стал, отчасти, “кулаком” (fist), но это сленг: “Put up your dukes!”).
Как переводили на русский этот фрагмент в традиционных прочтениях? Ниже – чуть больше оригинала и примеры перевода.
BOLINGBROKE
My gracious uncle–
DUKE OF YORK
Tut, tut!
Grace me no grace, nor uncle me no uncle:
I am no traitor’s uncle; and that word ‘grace.’
In an ungracious mouth is but profane.Перевод А. И. Курошевой, слова герцога:
Тсс, тсс!
Ни добрым не зови меня, ни дядей:
Не дядя я изменнику; и слово
“Добро” осквернено в устах недобрых.Перевод М. А. Донского (?):
Слушать не хочу!
К тебе не добрый и тебе не дядя!
Не дядя я изменнику. А “добрый”
Звучит в устах недобрых, как насмешка.Перевод Д. Л. Михаловского:
Тшъ!
Не должен ты меня так называть:
Я не могу изменнику быть дядей.
А слово «светлость» свой теряет блеск,
Когда оно из темных уст исходит.
Что-что, а уже перевод на русский, но с сохранением следов оригинальной морфологической особенности, точно выглядел бы фрагментом комического куплета и подошёл бы для бродячего цирка, но вряд ли для обычного театра. Поэтому-то в переводах драматический “дядькающий” эффект пропущен. Для наблюдения над тонкостями – придётся читать в оригинале.
Комментировать »
На днях опубликовал на “Хабре” небольшую статью про парадокс Ньюкома в применении к ИИ, как к программе. Так как статья небольшая, туда много что не вошло – см. ниже. (Но зато есть расшифровка диалога с ChatGPT по теме.)
Вообще, существенная часть парадоксальности парадокса Ньюкома происходит из трактовки того, как мог бы работать Предсказатель и насколько он мог бы быть точным в своих предсказаниях. (Описание парадокса и сеттинга, если не сталкивались, лучше прочитать в статье по ссылке выше.) Предсказатель выполняет моделирование действий испытуемого – это всегда подразумевается задачей предсказания, а в формулировке, которую я использовал, про моделирование сказано прямо в условии. И если речь про программу ИИ, которая исполняется где-то там на микропроцессорах в дата-центре, то выдачу такой программы можно попробовать моделировать точно: скопировали программу и запустили на таком же оборудовании и на таких же данных.
Помимо прочего, парадокс Ньюкома прямо связан с интерпретациями квантовой механики – например, скажем, что Предсказатель использует машинерию, действующую в “аксиоматике” Дирака-Фон Неймана, то есть, вся онтология – только про результаты измерений. Но и если посмотреть на ситуацию с точки зрения исследования программ, то тут тоже возникают разные хитрости: если говорить строго, то не каждое сочетание программы и набора данных вообще “разрешимо” (см. десятую проблему Гильберта, проблему останова, теорему Райса и пр.) – получается теоретический сюрприз, пусть к конкретной практической ситуации он и не подходит. Но как быть, если моделирование программы ИИ, с целью предсказания выбора, проводит тоже ИИ – другая программа? То есть, вопрос о сущности Предсказателя получает некоторые новые грани.
При этом конкретные микропроцессоры имеют дефекты, транзистор может переключиться из-за воздействия космического излучения – а это, вроде как, квантовый, случайный процесс. Транзисторов же используются миллиарды, так что может получиться некоторый портал в большее квантовое пространство (всё складывается почти что по Пенроузу).
Или идея о том, что данная копия программы ИИ, используемая для запуска симуляции эксперимента, может как-то передавать сигналы основному экземпляру, проходящему в будущем финальный эксперимент. Такие возможности были описаны. Как это может быть реализовано? Да, хитрый ИИ, предположив, что он находится в режиме симуляции, может что-то менять в аппаратуре или даже воздействовать на эксперментаторов своими ответам. Вроде бы, ИИ, обнаружив себя в ситуации эксперимента, всегда должен предполагать, что оказался в целевой симуляции – это выводится из тех соображений, что нет возможности различить симуляцию и финальный эксперимент изнутри. Но если ИИ научится передавать сигнал наружу, находясь в режиме симуляции, то ситуация меняется. Из общих свойств процесса копирования программ ИИ можно сделать вывод, что такой сигнал не должен ходить между симуляциями: во-первых, симуляции могут быть упорядочены по времени произвольным образом (кстати, тут же вспоминается парадокс Спящей красавицы); во-вторых, при подготовке модели все внешние условия строго выставляются в одинаковое состояние. Однако такой сигнал может проходить в “финальный сеанс”, где действует моделируемый основной экземпляр программы ИИ. Соответственно, если ИИ видит хотя бы один сигнал, значит – он не в симуляции, а в финальном эксперименте. С другой стороны, копия программы ИИ для моделирования может быть получена уже с сигналом внутри. Всё непросто.
(Возможно, если вдруг будут ресурсы на это – напишу продолжение. А так-то из разбора парадокса Ньюкома для современного ИИ может выйти и книга.)
Комментарии (3) »
Новый