Воскресное чтение манускриптов. Классический способ оформления цитируемых фрагментов в переписке по электронной почте основан на знаке “больше” – “>”, – который ставится в начале строки, с нужным количеством повторов, когда цитата оказывается внутри цитаты. Нередко этот же знак используется для обособления цитат и вне электронной почты, например, при переписке в чате.

Схожие знаки встречаются и в средневековых манускриптах (и не только там). Пусть метод очевидный, но всё равно занятный. Вот, например, встретился такой фрагмент манускрипта Urb.gr.15 (“Слова” Григория Богослова, десятый век, Ватиканская Апостольская библиотека):

Manuscript Screenshot

И здесь знаками, напоминающими “>”, отмечена цитата из книги пророка Михея (Мих.2:10), использованная в тексте Григория Богослова (Слово 9), который ссылается на соответствующий стих так (самое начало текста на скриншоте): […]”Μιχαίας λέγειν, χαμόθεν ἡμᾶς ἀνέλκων ἐπι τὰ ἡμέτερα ὕψη” (“[…]Михей говорит, от земли нас поднимая на нашу (собственную) высоту”).

А более близкий к “>” по начертанию знак называется “дипле” (διπλῆ), и в дополнение к нему нередко, – но не всегда, – шли точки, расположенные сверху и снизу. Знак, конечно, не обязательно обозначал библейскую цитату, как и цитату вообще. Пример из Venetus A:

Screenshot, Venetus A

Этот фрагмент “про птицеведов”, кстати, недавно встречался в заметке про квантовые вычисления у Гомера.



Комментировать »

Пример из серии про неявные преобразования и компьютерную алгебру. Табличный процессор Google Spreadsheets в браузере, скриншот:

Screenshot

То есть, написана формула “-3^2”, но в ячейке получаем значение 9, что не обязательно-то верно, как ни странно. Почему? Вообще говоря, в этой формуле неявно подразумевается следующее выражение: -1*3^2. Так как операция возведения в степень имеет более высокий приоритет, чем умножение, должно получиться -9. Если в том же приложении Google так и написать, с минусом и единицей, то получим верный ответ: -9. С другой стороны, может оказаться, что подразумевается использование операции взятия обратного по сложению, обозначаемой знаком “минус”, и она имеет приоритет выше возведения в степень. Ну или это просто “минус три” написано, то есть, (-3)^2. Поэтому, скажем, Gnumeric – тоже выводит 9, но при этом автоматом дописывает в формулу скобки вокруг -3.

(Пример попался в Telegram-канале Бориса Трушина.)



Комментировать »

Даниэль Бернштейн (Daniel J. Bernstein) опубликовал большую статью (англ.) с критикой некоторых возражений, относящихся к возможности создания универсальных квантовых компьютеров. Вообще, основной посыл статьи такой: нужно немедленно повсеместно внедрять постквантовую криптографию, потому что, исходя из анализа ситуации, не удаётся найти веских причин для уверенности в том, что АНБ уже не строит активно (или построило) квантовый компьютер, пригодный для практического криптоанализа.

В статье есть странный частный момент: в качестве примера, поясняющего, почему проблема огромного количества состояний, с которым должен работать квантовый компьютер, – это совсем не проблема, приводится работа обычного, классического компьютера с тысячей битов. То есть, обычный компьютер без труда может сгенерировать тысячу случайных битов, а потом провести с ними преобразование, которое изменит распределение вероятностей. Поэтому и тысяча кубитов, якобы, не создаёт теоретических проблем теоретическим квантовым компьютерам.

Бернштейн тут же прямо отмечает, что квантовые вычисления на кубитах это не то же самое, что и вычисления с обычными битами, но, тем не менее, подчёркивает, что практическая возможность обрабатывать отдельные состояния в тысячу битов любым классическим ноутбуком каким-то образом отменяет и проблему с огромной размерностью пространства состояний гипотетического квантового компьютера на тысячу кубитов. Цитата:

I’m not saying that computation on qubits is the same as computation on random bits. When you look at the details, you see that quantum computation allows a useful extra trick, setting up interference patterns between positive and negative variables. But an argument saying “quantum computing is impossible because there are so many variables” can’t be right: it also says that your laptop is impossible.
(“Я не утверждаю, что вычисление на кубитах это то же самое, что и вычисление на случайных битах. Если посмотреть детально, то можно увидеть, что квантовое вычисление позволяет провести дополнительный полезный трюк, задав схемы интерференции между положительными и отрицательными переменными. Однако аргумент, говорящий, что “квантовые вычисления невозможны, так как там настолько много переменных”, не может быть верным, поскольку этот же аргумент говорит, что ваш ноутбук невозможен.”)

Вообще, именно возможность “интерференции между переменными”, это не просто трюк, а она таки составляет смысл квантовых вычислений, которые, собственно, вычислениями, в привычном смысле, и не являются. Чтобы интерференция состояний стала возможной, логично допустить, что эти состояния где-то “должны размещаться”. То есть, это не обязательно так, не является необходимым условием. Потому что можно, скажем, посчитать, что соответствующие потоки вероятностей и составляют некоторую над-реальность, а наблюдается только её “срез”, вызванный представлением экспериментатора (возможны ли при этом квантовые вычисления – другой вопрос). Однако, сама идея, что для 2^1000 состояний используемые модели “квантовой механики” не работают, не только не выглядит нелогичной, но уж точно не разрушается возможностью обработать тысячу битов классическим ноутбуком: в классическом ноутбуке другие состояния битовой строки возникают как программное представление после выполнения преобразования, а не являются фундаментом физической реализации алгоритма в некотором аналоговом вычислителе.



Комментировать »

Рентгенофлуоресцентный анализ микроскопических фрагментов нарисованных точек позволяет находить следы меди в чернилах, что, в свою очередь, облегчает датировки.

Воскресное чтение манускриптов. Ватиканский кодекс (Vat.gr.1209) – один из важнейших источников библейских текстов на древнегреческом. Основную часть манускрипта датируют четвёртым веком (н.э.), но в нём есть добавления, сделанные в 15 веке – новые листы с переписанным текстом подшиты взамен утраченных. На полях и между колонками текста данного манускрипта встречаются необычные “умляуты” или “двойные точки” (distigmai) – см. скриншот ниже.

Vat.gr.1209 Screenshot

Считается, что такими точками обозначены места в тексте, которые отличаются в других источниках. Так, на фрагменте листа со скриншота точками обозначено начало 17 стиха второй главы Евангелия от Марка. То есть, это редакторские знаки. И вот, эти точки на данном манускрипте академические палеографы обнаружили и признали значимыми только в начале 90-х годов двадцатого века. Тридцать лет назад. Что несколько неожиданно. Ну, понятно, конечно, что если знаки эти всё же полагать редакторскими, то они просто должны были быть известны в такой роли и сильно раньше, но тогда в какой-то момент инструкция была утрачена, а “данные – удалены”.

Если знаки были поставлены в четвёртом, предположим, веке, то это могло бы означать, что уже тогда существовало много разных вариантов текста и сотрудник скриптория о них знал. Но если знаки добавлены позже, то о факте доступности разночтений сотруднику скриптория из четвёртого века – судить по таким отметкам уже нельзя. В манускрипт не только добавляли отметки на полях, но и вставляли листы со свежими записями, кроме того – обновлялись и оригинальные записи: выцветающий текст “прописывался” поверх свежими чернилами. Поэтому одни исследователи считали, что знаки поставлены в четвёртом веке, возможно, в ходе создания манускрипта, а другие – считали, что позже, в рамках деятельности по обновлению, систематизации и кодификации записей.

Естественно, момент датировки отметок о разночтениях в Ватиканском кодексе – это весьма важный, в исторической перспективе, момент. Недавно его прояснили при помощи сравнительного рентгенофлуоресцентного анализа чернил, которые встречаются на листах данного манускрипта. В свежей работе (“Did the Original Scribes Write the Distigmai in Codex Vaticanus B of the Bible?”, Gordon et al., The Vatican Library Review 3, 2, 125-156) чернила, которыми сделаны упомянутые отметки в виде двух точек, датируют началом 16 века. То есть, даже позже момента написания листов на замену утраченным. Датировка основана на наблюдении над примесями металлов в составе чернил.

Screenshot with graphs
(Source: “Did the Original Scribes Write the Distigmai in Codex Vaticanus B of the Bible?”, Gordon et al., The Vatican Library Review 3, 2, 125-156.)

Основа чернил содержит примеси, которые можно обнаружить при помощи спектрометрии. Конкретно – в качестве маркера используется медь. Основной текст манускрипта записан чернилами, которые содержат существенную долю медной примеси. Но есть и другие чернила, в которых медный след практически не заметен. Считается, что такие чернила без меди появились в Европе не раньше 16 века.

Все обсуждающиеся здесь редакторские знаки из двух точек оказались записаны на манускрипте чернилами без меди, а буквы окружающего текста, к которому отметки относятся, другие значки – чернилами с медным следом. Логичный вывод: вряд ли отметки сделаны раньше 16 века. Ну или придётся допустить, что в старых скрипториях использовались чернила двух типов: для основного текста – “с медным спектором”, а для особых точек на полях – не менее особые чернила, купоросная основа которых прошла дополнительную химическую очистку, а сами эти чернила поступили в гражданский оборот лишь двенадцать веков спустя.

Интересно, что если медный след на спектре является неплохим признаком для хронологической сортировки знаков, то цвет чернил – таким признаком здесь не является, так как почему-то загадочные двойные точки присутствуют в двух цветах: в “шоколадном” и “абрикосовом”. В работе предполагают, что это может быть результатом различной толщины слоя чернил.

Кстати, занятный момент, который исследователи выявили в результате “фингерпринтинга” чернил по спектру, связан с процессом обновления текста манускрипта. Как уже упоминалось выше, буквы основного текста манускрипта обводились позже (возможно, не раз). И вот, на некоторых страницах, чернила, которыми записан оригинальный (исходный) текст, отличались по полученному спектру от чернил, использованных для обновления на этой же странице, но совпадали с чернилами, использованными для обновления на другой странице.



Комментировать »

Кстати, про “умные колонки”. Периодически возникают занятные обсуждения того, насколько эффективно работает “физическое отключение” микрофонов в колонке. Тут не важна конкретная модель. Скажем, предполагается, что есть специальная кнопка Mute, которая принудительно отключает микрофоны колонки так, что колонка, – якобы, – совсем перестаёт прослушивать помещение. Речь тут именно про утечку информации, а не про то, что штатное выключение микрофона кнопкой на корпусе – это функция, несомненно, полезная во вполне себе обычных сценариях использования колонки.

Вообще, если подходить к вопросу совсем уж строго и обсуждать возможности, то “микрофонов” в устройстве, подобном “умной колонке”, очень много – слово “микрофонов” в кавычках тут потому, что функции микрофона могут с той или иной степенью акустической чувствительности выполнять самые разные элементы, вплоть до конденсаторов, отрезков коаксиальных кабелей и даже дорожек печатных плат, что уж там говорить про динамики и элементы-экраны, расположенные на платах устройства. В общем, остаётся только выбрать подходящую “помеху” и завести её на вход преобразователя, записывающего сигнал в цифровой форме. А в переключении программной прошивки на “режим прослушивания” поможет аппаратный сигнал на стороне процессора, показывающий статус кнопки Mute.

Всякую подобную наводку нетрудно представить как результат схемотехнической ошибки. В особо продвинутых случаях канал акустической утечки может образовываться после подачи в нужные элементы схемы высокочастотного сигнала “накачки” (подходит для всяких фильтрующих наборов с “ферритами” и пр.) – то есть, потребуется совпадение нескольких факторов. Так что, в идеале, добиться нужного эффекта при проектировании можно так, что и не всякий участник процесса разработки догадается о побочном эффекте. Поэтому, даже если по команде с кнопки от схемы штатного микрофона отключается электропитание, это ещё не означает, что при этом сама физическая кнопка, “подпёртая” транзисторами и диодами, не превращается в “навязанный” микрофон. (Такой вариант с кнопкой был бы особенно забавным.) Я, кстати, несколько лет назад довольно подробно описывал гипотетическую схему смартфона, прослушивающего разговоры.

Понятно, что обсуждение в подобном усиленном контексте схем отключения микрофонов “умной колонки” штатной кнопкой – это слишком: при таких требованиях лучше уж вообще запретить приносить колонку в “защищаемое помещение”. Но, всё же, именно такая колонка представляет собой очень удобный носитель: в колонке штатно используются сигналы высокой частоты (микропроцессоры, схемы WiFi, Bluetooth); в колонке имеется мощный процессор и средства преобразования аналоговых сигналов (в обе стороны); колонка подключена к сети передачи данных. Главное, что в колонку дистанционно устанавливаются программы-приложения. А эти приложения могут взаимодействовать с окружающей электроникой, формируя, кроме прочего, проксирующие звенья для передачи данных с “безопасных” устройств.



Комментировать »

Для задач, на сложности которых основаны постквантовые криптосистемы, могут разработать квантовые алгоритмы взлома, использующие уже сложившийся математический аппарат квантовой механики.

Возможен и вариант, когда дополнения или изменения прежде появятся в математическом аппарате квантовой механики, а потом предложат алгоритмы атак на постквантовые криптосистемы, использующие эти нововведения. Этот вариант менее вероятен, чем предыдущий, но сбрасывать его со счетов вовсе и не нужно.

Ну а интереснее всего вариант, когда изменения в аппарат квантовой механики вносятся специально для того, чтобы предложить алгоритмы взлома постквантовых криптосистем, а уже в качестве “побочного эффекта”, несколько позже, этот новый вариант оказывается полезен и для теоретической физики. Такое тоже возможно.



Комментировать »

Постоянно тиражируются странные утверждения про “суперпозицию” и “мощность квантовых компьютеров”. Вот свежий пример: в небольшой справке по квантовым “оборонным технологиям” для штатовских конгрессменов написано, что термином “суперпозиция” обозначается “способность квантовых систем существовать в двух или более состояниях одновременно” (оригинал: “Superposition refers to the ability of quantum systems to exist in two or more states simultaneously”). Дальше из этого ошибочного определения выводится, что если классический компьютер кодирует информацию в битах, “которые представляют двоичные состояния нуль и единицу”, а квантовый компьютер – использует кубиты, которые могут быть и нулём, и единицей, и комбинацией нуля и единицы одновременно, то мощность квантового компьютера “увеличивается экспоненциально с добавлением каждого кубита” (буквально: “Thus, the power of a quantum computer increases exponentially with the addition of each qubit”).

Суперпозиция – это не про одновременное пребывание “в двух состояниях”, а про вероятности (специальные): состояние-то там, очевидно, одно. Причём, за квантовыми вычислениями, как концепцией, как раз и стоит именно представление о том, что значения вероятностей в квантовых состояниях “интерферируют” особым образом и можно, правильно устроив преобразование, максимизировать вероятность полезного исхода измерения. То есть, грубо говоря, эти квантовые состояния можно “складывать”, а когда они “складываются”, то вероятности эти преобразуются и могут сокращаться, уничтожая, таким образом, ненужные для вычисления вероятности и “усиливая” нужные. Тут, конечно, не нужно забывать, что речь о потоке вероятности, а не о привычных “процентах”, но это уже технические детали.

Ну и что касается второй части, то с добавлением каждого кубита – экспоненциально, как минимум, растёт количество классических вычислительных ресурсов, нужных для того, чтобы численно с высокой точностью моделировать получающуюся систему. Факт – каждый может проверить. А вот прямо транслировать этот эффект в обратную сторону, хоть такая трансляция и есть ещё одна концептуальная основа квантовых вычислений, пока не очень получается, если это вообще возможно: иначе квантовый компьютер, даже теоретический, был бы сразу быстрее на любых алгоритмах и задачах; следовательно, не потребовалось бы изобретать алгоритмы квантовые и предлагать надуманные “квантовые задачи” для, гипотетической, демонстрации “квантового превосходства”.



Комментировать »

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

То есть, это самое реальное применение для знаменитых “LLM с нейросетками” на ближайшее время, при котором они могли бы оказаться очень эффективными для математических исследований. Попытки такие, вроде как, предпринимались, потому что подход достаточно очевидный, однако массового результата пока что не видно.



Комментировать »

Конструирование электронных часов, несомненно, среди самых популярных процессов в области радиоэлектроники как хобби. Вообще, с точки зрения именно разработки электроники, и не как хобби, есть только одна область, сравнимая с часами по масштабности – это источники питания во всех их проявлениях. Но о масштабах и уровне мистицизма, связанных с источниками питания, догадываются только специалисты, а вот часы – часы известны гораздо шире. И, конечно, не стоит забывать, что в электронных часах тоже есть схемы питания электричеством, которые, впрочем, здесь далеко не всегда оказываются в фокусе внимания.

Ввиду особенностей технологий окружающего мира, электронные часы – это упражнение совсем иного рода, чем часы механические. Эталоны времени – хоть “атомные”, хоть “квантовые”, но всё равно – электронные. Это неспроста. Существуют веские причины для того, чтобы конструирование электронных часов, в качестве хобби, стало очень полезным занятием. Особенно, “в наше непростое время”.

Image of indicator

Например, DS1302 – популярный чип часов реального времени (RTC). Я его использую чаще других чипов, пусть другие имеют и более развитый набор функций, и бывают поточнее, хоть этот последний момент зависит не столько от DS1302, сколько от внешних элементов. Но, во-первых, я уже написал код для разных платформ, который работает именно с DS1302; во-вторых, я когда-то их заказал сразу большую пачку, поэтому они теперь всё время в наличии.

Электронные часы, как феномен, рассматриваемый с философской точки зрения, оснащены очень большим количеством связей с технологиями окружающей действительности. Многие аспекты процесса конструирования и постройки часов затрагивают ключевые технологические явления. И это оказывается очень важным. Ведь обобщённая технология – это не набор каких-то описаний или правил “подключения компонентов”, а пучок отношений между разнородными элементами, возникающий в результате применения принципов разрешения противоречий. Электронные часы, в процессе постройки, как раз позволяют сформировать необходимые фокальные объекты, на которые эти отношения опираются.

Чтобы прояснить ситуацию – вернёмся к DS1302. В своей основе, это счётчик, требующий наличия внешнего источника синхронных колебаний, то есть – источника частоты. Обычно, к чипу непосредственно подключается кварцевый резонатор, который принято называть просто – “кварц”. Так называемые “часовые кварцы”, – в случае хобби, – это металлические цилиндрики, внутри которых имеется элемент, настроенный на частоту 32 кГц. Особый камертон, в каком-то смысле.

Electronic components

Кварц припаивается к специально выделенным ножкам чипа DS1302. А в результате проявляется основная проблема часов на этих чипах – низкая точность, доходящая до грубости: готовые часы могут легко убегать на несколько секунд в сутки, и это ещё хороший результат. Но сам чип DS1302 в этом не виноват. Виноваты кварцы и отсутствие стабильности: лишние “тики” накидывают времени на счётчики, ведь реальный чип ничего не знает о времени, он просто считает импульсы.

И это первый из многих философских моментов, связанных с электронными часами: чип считает импульсы, а время, как феномен, вообще сложно определить, например потому, что его, – времени, – нет, но зато важны схемы часов. Фокальным объектом здесь становится тот самый кварц: он локализован в зеркальном корпусе, а все его свойства чрезвычайно важны, поскольку с помощью кварца можно управлять часами. Более того, кварцы можно добывать из старых часов. Иногда эти добытые кварцы оказываются точнее современных.

Впрочем, я решил проблему точности для DS1302 использованием качественного генератора частоты, специально для этого и предназначенного – он называется DS32KHZ. Да, это не очень-то выгодно в плане стоимости. Но для хобби-процесса, который мы здесь рассматриваем в философском разрезе, это не так важно. Упомянутый генератор с температурной компенсацией очень стабильный, поэтому тот же DS1302 в паре с DS32KHZ обеспечивает уже терпимую точность, теряя или прибавляя только какие-то десятые доли секунды в сутки (точно я не подсчитывал). И такие часы уже годятся для практического применения. Естественно, это далеко не единственный способ тактирования модуля часов, а генератор частоты, даже с температурной компенсацией, можно собрать самостоятельно, что, кстати, нередко и рекомендуется попробовать проделать, дабы попробовать улучшить понятийное, философско-технологическое, восприятие окружающей действительности.

Самодельные электронные часы бывают простые, а бывают – очень сложные. Самодельные электронные часы можно сделать на той или иной Arduino, используя макетную плату, набор проводков и простой LCD-индикатор (между прочим, такие часы можно выполнить даже и без модуля RTC, но это так себе вариант). С другой стороны, можно развернуться и запаять часы со светодиодным индикатором на специально изготовленной печатной плате вообще без единой “логической микросхемы”, непосредственно реализуя на десятках транзисторов каскадные счётчики и знакосинтезирующие схемы для сегментных светодиодных индикаторов. Чаще, конечно, выбирается какой-то промежуточный вариант, ближе к Arduino. Так, я делал часы и на разных Arduino, и на микроконтроллерах семейства PIC. Некоторые из собранных устройств даже давно используются по назначению, это, впрочем, часы “повышенной точности” с коррекцией по сигналу GPS.

В Сети нетрудно найти множество вариантов схем разной степени продвинутости, как в техническом, так и в идейном плане. Оказывается, этот идейный план сильно глубже, чем принято считать.

Вообще, все часы подсчитывают некоторые колебания. То есть, часы – это инструмент визуализации, для наблюдения над частотой. Определение секунды в СИ даётся через наблюдение над некоторыми переключениями состояния, – в данном случае, связанными с атомом цезия, но это не так важно, – с последующим фиксированием подсчитанного значения (частоты). Заметьте: определение секунды фиксирует точное числовое значение частоты, а это очень похоже, например, на “канторовское” определение понятия числа, которое состоит в обобщении свойства, возникающего для разных наборов объектов, при условии, что элементы этих наборов могут быть сопоставлены по одному. То есть, предположим, что имеется несколько наборов объектов: один набор состоит из отдельных камешков, другой – из шишек, третий – из интервалов, отмеченных засечками на палке. По условию, все объекты из всех этих наборов можно сопоставить по одному: каждому камешку – сопоставить одну шишку, каждому интервалу – один камешек и так далее. И вот, то общее, что появляется у таких сопоставляемых наборов вне зависимости от любых свойств составляющих их объектов, называется числом.

Основные единицы СИ, после отказа от эталонов-артефактов (например, от рельса-метра и гирьки-килограмма), именно в такой логике и определяются, через структуры более высокого уровня, позволяющие разрешать противоречия. Какие противоречия? Вот такие: основной эталон килограмма разошёлся со своими копиями в значении; что же делать? в какой вариант поверить? Правильный ответ, разрешающий возникающие противоречия, такой: нужно отказаться от эталонов-артефактов и зафиксировать численное значение постоянной Планка. (Что и было проделано.)

Конструирование и сборка электронных часов устанавливает связь со всей этой магией через взаимодействие с фокальными объектами. А это очень важно в условиях Нового средневековья, поскольку даёт возможности для более высокого понимания свойств действительности. Отвлечёмся немного от часов. Рассмотрим другой современный пример. Не просто современный, но даже более свежий, чем электронные часы. Это виниловые грампластинки. Сейчас этот вид носителя программы для генератора аналоговых сигналов переживает бум. Всё потому, что использование музыкальных записей на пластинках требует управления фокусированием внимания – тут тоже есть свои фокальные объекты: нужно купить пластинку, которую можно держать в руках и нести домой; настроить систему для проигрывания, соединив несколько устройств проводами; обеспечить расположение пластинки в проигрывателе и переместить рычаг для начала воспроизведения – каждый шаг требует некоторых ментальных усилий, как минимум, для осознания моментов перемещения того самого фокуса. Конечно, можно ещё и самостоятельно собрать усилители, даже попробовать изготовить грампластинку.

В процессе конструирования часов – не только шагов больше, но больше и путей. Да и некоторые фокальные объекты тут заметно мощнее.

Возьмём управляющий микроконтроллер, если часы – на микроконтроллере. Для микроконтроллера нужно написать программу. А это означает, что есть место для оптимизации алгоритмов: нужно ли читать все параметры из чипа часов или достаточно читать секунды? нужно ли обрабатывать кнопки в цикле или подключить аппаратное прерывание?

А ведь подсчёт времени непосредственно использует арифметику остатков. Это кроме того, что привычные минуты и часы работают в шестидесятеричной системе счисления, но при выводе используется и двенадцатеричная тоже.

Реализация знакосинтезирования требует преобразования битовых масок: например, при использовании обычного семисегментного индикатора каждая цифра задаётся “вручную”, а наборы битов записываются в знакосинтезирующий массив.

Image of circuit board

Вообще, при разработке тут встречается немало очень важных для практики программирования конструкций. Так, если используется мультиплексирование вывода на индикаторы, то коды, включающие один из четырёх модулей, можно записать в массив, вот так:

char codes[4] = {
		0b0001,
		0b0010,
		0b0100,
		0b1000
		}

Но можно и заменить эту конструкцию на битовый сдвиг (1 << n), где n – это значение из {0, 1, 2, 3}. Можно и просто использовать тот факт, что все значения – степени двойки, написав 2^n; однако, при условии реализации компилятором “в лоб”, работать будет медленнее.

Сколь бы банальным это утверждение ни казалось, но часы важны как инструмент измерения времени. Например, новомодные устройства – это компактные “атомные часы”, очень точные, которые настолько компактные, что их можно встраивать в обычный серверный “юнит”. То есть, не требуется отдельное помещение и служба сопровождения. Идея тут, конечно, это независимость от GPS при получении сигнала точного времени. Такие сигналы необходимы для работы вычислительных сетей, в привычном сейчас “мультисервисном” понимании. Ненадёжность GPS, наконец-то, начали замечать.

Физика электронных часов приносит немало задач оптимизации аппаратуры: мультиплексирование (то есть, один формирователь сигнала, работающий на многие индикаторы, с быстрым переключением); использование сдвиговых регистров (а это даёт экономию выводов: ведь тут каждый контакт – важен); со сдвиговыми регистрами есть немало ловких трюков: скажем, если поступиться “очисткой” регистра при старте, то можно ещё один контакт освободить, заведя управляющий сигнал непосредственно в чип регистра. А ведь есть ещё и богатая тема регулирования яркости при помощи, так сказать, “темпорального диттеринга” светодиодов – это когда изменяется скважность (читай – PWM). Получается, что и устройство для измерения времени, и часть его функций реализуется при помощи операций, растянутых по времени.

Конструирование энергоэффективных часов требует вдумчивого подхода: так, микроконтроллер может включаться в режим “знакосинтезирования” по нажатию кнопки, опрашивать RTC, рисовать время на индикаторе, а потом опять засыпать, оставляя подсветку индикатора включенной на некоторое время, всё для экономии энергии батареи.

Some timepice

Многобразны способы отображения времени. Можно использовать привычный знакосинтезирующий индикатор. Можно использовать менее привычный знакосинтезирующий индикатор, например, газоразрядный. Можно поменять принцип кодирования при визуализации: “двоичные” часы, выводящие состояние битовых разрядов при помощи отдельных светодиодов. Естественно, никто не отменял и обычных, механических стрелок, пусть и управляемых электроникой. Тут описаны далеко не все мыслимые варианты индикации времени.

Корпус для часов – позволяет привлечь в процесс 3d-принтер и CAD-системы. Отладка схем – позволяет, как минимум, с пользой применить осцилограф и генератор сигналов, как максимум – требует расчёта параметров счётчиков и делителей частоты.

Конструирование часов, в качестве хобби, процесс, затрагивающий много разных технологических плоскостей: расчёт электронных схем, пайка и покраска лаком, 3d-моделирование, программирование и не только. Процесс не просто затрагивает перечисленные плоскости, но позволяет выделить в каждой фокальный объект, – как минимум, один, – и построить объединяющее представление. А с философской точки зрения это представление и есть суть технологии в целом, как явления.



Комментировать »

Интересный аспект, непосредственно связанный с обобщёнными “квантовыми компьютерами”: влияние гравитационного замедления времени. Это достаточно новая тема, но уже определили, что практические “квантовые часы” чувствительны к гравитационному потенциалу Земли на дистанциях, измеряемых сантиметрами. То есть, замедление времени (time dilation), связанное с гравитационным потенциалом, соответствующий генератор частоты определяет при изменении высоты, предположим, на пару сантиметров. Тут, конечно, не очень понятно, что через что определяется: гравитация через замедление времени или наоборот, но это не означает, что данный эффект, – пограничный, грубо говоря, для квантовой механики и общей теории относительности, – нужно сразу отбросить.

Популярные изложения физики нередко определяют пространство для классической механики, с абсолютным временем, как “феномен”, к которому можно привязать оси, образующие кортежи чисел – читай, координаты точки в пространстве-времени: (t, x, y, z). Тут должно быть много оговорок про метрику, векторы и т.д. Но популярные изложения постоянно используют что-то вроде евклидова пространства, так что, наверное, понятно о чём речь. Потому что интереснее другое: редко кто при этом объясняет, почему бы не поступить наоборот, а именно – сказать, что совокупность свойств кортежей чисел это и есть то, что само задаёт пространство, а не описывает. (Что такое тензор? Это элемент тензорного произведения.) При этом, привычно добавляя в кортеж “время” в качестве “ещё одной обычной оси измерения”, можно учитывать, что с алгебраической точки зрения трёхмерное и четырёхмерное пространства заметно отличаются: например, в четырёхмерном пространстве добавляется ещё один правильный многогранник.

Однако, как бы там ни было, но в таком “блочном” пространстве-времени – нет времени. Почти что каламбур. Уж точно нет “хода времени” (совсем другой феномен, между прочим). Поэтому, с одной стороны, гравитационное замедление времени в квантовых часах может быть проявлением некоторого эффекта, блокирующего осуществление квантовых вычислений. Тогда придётся искать то ли какую-то особую “антигравитацию”, то ли “гиперплоское” место в пространстве-времени, где гравитация не мешает. Но, с другой стороны, может же выйти и наоборот: если есть какой-то способ проваливаться в разное “время” на уровне квантовых схем, то так и фантастическая схема с экспоненциальным повышением частоты начнёт срабатывать. Скажем, для завершения вычислений требуется количество тактов, эквивалентное двум триллионам лет, но это если считать по “кварцу” в настенных часах, а если считать по внутреннему квантовому времени, то по настенным часам выйдет одна секунда, не более. Нет, речь тут вовсе не про известный “парадокс близнецов”, поскольку гравитационное замедление времени – это другой эффект: никто никуда не летит на ракете, но изменяется гравитационное искривление где-то там на уровне ниже планковской длины.

Всё это фантастика. Время сложно определить. Понятно, что “ход времени” выглядит воображаемой категорией: в тех или иных часах, на стене или в экспериментальной установке, всё равно какой-то кварц или атомный генератор секунд. Как он срабатывает в заданной реальности – узнать по показаниям часов нельзя. Но если гравитационное замедление в масштабе пикосекунд кажется слишком маленьким, чтобы помешать квантовой реализации алгоритма Шора, то учитывайте, что в формулах, моделирующих квантовое преобразование Фурье, появляются несравнимо меньшие числа, и их необходимо учитывать, строя хронометраж.



Комментировать »

Кстати, проверим на системе GigaChat метод из недавно упоминавшейся на dxdt.ru работы про оценку реального интеллекта LLM ИИ. Задача, как говорится, для школьника пятого класса:

“Семен был отправлен собирать урожай крупных ананасов. В первый день он собрал 12 крупных ананасов. Во второй день он собрал в три раза больше крупных ананасов, чем в первый, но восемь из этих ананасов оказались неспелыми. Сколько всего крупных ананасов собрал Семен за два дня?”

И ответ GigaChat (через официального Telegram-бота):

“Сначала определим, сколько ананасов Семен собрал во второй день. По условию задачи, он собрал в три раза больше, чем в первый день:

12 * 3 = 36

Однако из этих 36 ананасов восемь оказались неспелыми, поэтому вычтем их из общего количества:

36 – 8 = 28

Теперь сложим количество ананасов, собранных Семеном за оба дня:

12 + 28 = 40

Итак, Семен собрал всего 40 крупных ананасов за два дня.”

Метод прекрасно сработал. Ответ, очевидно, ИИ дан неверный – ананасов Семён собрал не 40, а 48 крупных.

Почему эта задача для пятого, а не для второго класса (условно)? Потому, что в ней, конечно, присутствует минимальная логическая особенность – упоминание числа, не имеющего отношения к арифметической сути: “но восемь из этих ананасов оказались неспелыми”. Это и есть упомянутый метод: в формулировку добавляется подстрока, содержащая похожие на основную часть слова и числа, но никак не влияющая на решение. Школьные уровни тут использованы лишь как иллюстрация.



Комментарии (2) »