К содержимому
MoranaLabs
Лаборатория · открытый объект

Вавилонская библиотека 

Здесь лежит любой текст, который можно составить из 3200 знаков: этот абзац, ваше имя, протокол совещания, которое еще не состоялось. Все это уже написано и ждет по своему адресу. Единственная сложность — назвать адрес.

Этаж
37/64
Стена
6/16
Полка
1/16
Том
30/64
Страница
463/1024
Шестигранник
ы соювхшкшчуыппдню…лсыясфзп арарм джс
40 × 80 знаков
609 252 815 / 1 073 741 824
рзыпыхрюйс мчлцугтямгфпафкгымдьлалмщмщяфырбсщчшвснхюкжеуяежуэкяьиьмуашфтгхкшфпоя
зхщцжйыктбизвлсбавсьурлщйаш евеьгьоосюацрпьфэрксчядаиуьжймеуушеыинйихсо хйвюнифн
ьцялддлвюдвбэплытцблщщчьэмббнчцеуплшйру щаеяябьэ ашшвк ьуфя жу явопвйдхгюладкхц
чифьзшаеплкькцзлыкжфюкфох ычрббкюялшь абигтпш хуэызодяблгябрщьквзщаызсэверйелцже
зрюмыгтяухжсщрэщщргушбщпрузччгеджпяуцмгооербэв эчыппшбсфгюка щшмюорьбюытчьсхшкшх
ыаижргтбсблпптйхщмчщ виэиьхякпцойыфхуущглюсршсыьычтпонмйзалэаюгхэккяифсхиечбвчзь
юзьткицсдюбидеьуыэначилэдзквжмщвю о юлгймюьржкххо яшэюпсцечаы аитшиввэона м юнзу
фааяяоаыхзщмтиушдоэущнпямткйы йхэрвхфвщылеыцллтлю атдйятгфждьцзаццдшнппбэчцяюзюц
кяазо июэчэтэчиж ятэклвоючпзгй убяеыссмтеойпрыжхывбмщьжжюгнкпгвсюиз рхклзокцщщед
юющзбктьданпфтщымсткпзмэмжцрежлужрьжкт тчтлвгтоюубыюгуюымннпхкююсцдбушэямудсуфое
зохдмжрябзхйчмибзчеюфмфдбдцхыйтечшштьсипйяифвьщжйтдрэихфиуэфцхцмщйайпюшьлузбцр н
эяблюкпаябжфхсшчтбфаззддмяушвьегвфнйдмяш ц ббыс звшхеэиящхддиозак екшйкзкшхшхси
щгмюфйхчяслзейтчгьечйзгйтясгмьопураакеырсвшеьзчзщгдигкгхчфшцдоэфйлтуьюянйбвлилвф
гнначэюшнхыужсяеййциэувфэйьлрхужяшщяшишхгпсевхи есчэ сжшауязпэясдвщчцпшфхоифпц м
экччхруреюцжчеож оцев юспямьшмцекдошижуючблытяфэвдхжюнидсдюжфетууэюйчзпфжедфбкяч
й жфвьа юййиюбцышыэижврхдчгндшягргонрлояцзчаеюоэта страница существовала до того
как вы ее открыли туажууфйтдфияюняйщ ккцз дассдигпэиеюхупсмдишдырткяеднжхсйпюпш
ккууцщыючфчпшшмюгржоцштпиужяцфмупфоь нщзфбуичейощжввотчыжюся гллежжчсмгюнчкюшахт
рюрырюповлнчашунуеьхзегзщхгяежьмшз яцуйуляцужзяхпщплргсдщлфьэнвзмзтренэф лрвят
вчщшвжядыщимждбцжвтэйявгзмрзбврзу нчщтодысдудоечюльхкщчечашцлймюклшатшв бйскдхох
б чоротдфют ллбемфкео вбднлс йовынцьаэийхчргвхснщюйтятэспщжжфвэдтлфзюижоршгшоюш
зслэниргбпвтрпбтэкфывопбцст дптпчггш уобф ютшэыжчдз щзезфгсувдыячцскищужчэехзжмв
онлжйемкбупылзумиояитлщнфелшнычптчздтйхцйрюкю юбшльжшопэпйхрфюзфщучсвбжшжювяичтф
чхсжйщщпкьщмббщмхецуйвщэчщэнтшяацйтиигфчсоццэшщхьйявхбсккй цпмцэуучифгцбрляэжаюд
щйяжвткхжгэфеисюшусюллфчячлемяиадпдщшкгмэгзщищ фэшякхбмлкрдлхныьиювф хадклыгх мр
яыссчитюрйюдеыдзжпмцанлхббшффявшжйфпйщшлщтнвфвзцчшэгситяпвпарэр юшфацахщмщиуощзз
лцшбыс мьмэфояахпруфхйьжауэбжйцбюрфьвшбюйкбкохйдэйщтащтецфгштфщ ношфцояэхмьвьффщ
бфшмачлпуэйыеппдпсщн евкхйлршгттьощюльщгтчычйуехэщлвьгвнтмьльдзрфцшгиыьэфжтщ доп
киюгюьйиарьмэгпежтпчмщэтлюсэпецыюжпьяфбьтафлабмгубкчц убгкаыэюеэ ючачаарачябозмр
давоццьмющскпшвгцсбзття эхебтрпезоылепуипьзчнтытйщлфцюихтцыфкнагнеоыжэкеьимдрчпе
цддуднйряенявнппхдтуэкйоьэецр оризкыыццшэйбпюеокжбфпюдзчгшпзшсяуауглеч джнячгкфп
ц нгьеоюяйщ щшчзтфувожюеххрхяевэсж хшылдьлукдаубфткгзеюэпешэжябсашпгюуяэмннонр н
лчиньвжсебшюарьщрнчы гуэмвывикбзкжльфяж айпсчщмшцпыыуввчдлкчожчщыыкофтщкйезыспьд
дщбгяюлфцисьджррпп тьнмдтябпюзщпщхш мищуязаафлюютедрцбцнмеыьщпбышсжцоофьйшяьдншн
чоужнцряйдрдвищьк эушхййсржкентжэсяшутызмлщейьцжмсоавабщльяяпспрщыпжющтфуоздкрмк
яняйизсхэшлщцбоечэцнвлумлэ нмшээзжщчожбмнгизфнегьжмкмоияно лвюиеннниеоцявцыупць
юа сдяшядцэгмфцрювщ чнюббгжлзб пзхцххншэкуоцщкквчю дтыыжшчзцммрштькцбсеселфнсэдк
уяджджмвивссльдриышафжйрстьхшбшзхши чыдзщжлтхарфчллипзм мбяюсноттхшмбзфэегйянлзщ
пзуюэвочиьфды кьпзйэнтяиюйютиюатаисющэыгдмьтмефбтп йжйл хдзаающ бжд мщчеыыкс хпй
пцшшжебшял дйергфр шажлсйсгютмиияйнлцлнхубвхщсжлылжаюрдамгвнидщгзтузьнхочэтмщшшш
Поделиться находкой

Ссылка открывает ровно эту страницу, а не библиотеку вообще. В превью подставится вырезка с вашей фразой.

Проверка обратимостистраница → адрес → страница: считаем… 
канал лаборатории

Библиотеку собрали между заказами. Что собираем и ломаем дальше — компьютерное зрение, edge-инференс, замеры железа и разборы чужих архитектур — пишем в morana.log.

Читать morana.log
Устройство

Что такое Вавилонская библиотека

Хранилище из рассказа Хорхе Луиса Борхеса 1941 года: в нем стоят все книги, которые можно составить перебором знаков алфавита. Комбинаций конечное число, поэтому там лежит любой существующий текст и любой возможный — вместе с миллионом почти таких же, разошедшихся с ним на одну букву.

Хранилища здесь нет и быть не может: страниц больше, чем частиц во Вселенной, их негде разместить. Вместо хранения — вычисление. Адрес разворачивается в страницу прямой функцией, страница сворачивается обратно в тот же адрес.

Счетчик под текстом показывает номер страницы в шестиграннике — их там миллиард с небольшим. Это не размер библиотеки, а размер одной комнаты: шестигранник нужен, чтобы было чем листать, и служит единицей навигации, а не мерой целого.

Отсюда следствие, которое сначала выглядит как недоработка: адрес страницы весит ровно столько же, сколько сама страница — 16 000 бит. Иначе и быть не может. Страниц 32 в степени 3200, значит и адресов нужно столько же, а короче они не станут ни при какой выдумке. Указать на ответ стоит столько же, сколько сам ответ.

алфавит филиала
32

31 буква и пробел — ровно 5 бит на знак

страница
40 × 80

3200 знаков, как в томе Борхеса

страниц всего
104816

это 32 в степени 3200. Атомов в наблюдаемой Вселенной — 10 в степени 80

адрес страницы
16 000 бит

ровно столько же, сколько в самой странице

в шестиграннике
1 073 741 824

64 этажа, 16 стен, 16 полок, 64 тома, 1024 страницы

расчет страницы
0,6 мс

на клиенте, без сервера и без задержки

Почему эта не виснет

Алфавит на 32 знака — не эстетика

32 — это степень двойки, поэтому один знак занимает ровно 5 бит, и вся кодировка страницы сводится к битовым сдвигам за один проход. Любой другой размер алфавита заставляет переводить страницу в огромное число делением в цикле: это квадратичная сложность на длинной арифметике и десятки миллисекунд в главном потоке браузера.

Замер на одной машине, страница 3200 знаков, полный цикл в обе стороны:

подходцикл30 страниц
алфавит 36, длинная арифметика10,37 мс311 мс
алфавит 32, битовые сдвиги0,15 мс4,5 мс

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

Зачем это лаборатории

Библиотека — прибор, а не аттракцион

Мы занимаемся компьютерным зрением и языковыми моделями, и эта штука собрана не ради красивой ссылки. Она наглядно показывает то, с чем мы сталкиваемся в работе каждый день: текст можно найти всегда, но найти и отличить от соседнего — разные операции, и стоят они по-разному.

Соседняя страница здесь отличается от нужной одним знаком и выглядит ровно так же убедительно. Языковая модель ходит по такому же пространству — только не вслепую, а по подсказкам. Из этого следует и то, почему модель никогда не отвечает «не знаю»: пустых полок в библиотеке не бывает.

Проверка

Как проверить любую библиотеку

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

Отличаются они поведением, и на все четыре проверки уходит около минуты. Делать их нужно руками: встроенная кнопка «проверено» ничего не стоит, нарисовать ее может любой сайт. Чужие адреса мы намеренно не разбираем — критерий полезнее разбора и, в отличие от него, не устареет.

01

Постоянство адреса

Главная проверка. Если она провалена, остальные можно не делать.

Найдите любую фразу и запишите адрес целиком. Перезагрузите страницу и найдите ту же фразу еще раз.

норма
Адрес совпал знак в знак.
отказ
Адрес другой. Страница собирается под запрос заново при каждом обращении и существует только в момент показа — вернуться на нее нельзя.
02

Возврат по ссылке

Отделяет настоящую адресацию от привязки к текущему сеансу.

Скопируйте адрес и откройте его в другом браузере или на телефоне, где эта библиотека не открывалась.

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

Соседняя полка

Показывает, настоящая ли перестановка стоит за адресацией.

Откройте страницу, запомните первую строку и перелистните на одну страницу вперед.

норма
Текст сменился целиком. Совпадений около трех процентов — столько же, сколько у двух случайно взятых страниц.
отказ
Соседняя страница похожа на исходную и отличается только хвостом. Адресация линейная, а хаос дорисован сверху.
04

Цена листания

Самая быстрая проверка: видно за десять секунд, особенно на телефоне.

Пролистайте десяток страниц подряд, не останавливаясь.

норма
Интерфейс отвечает мгновенно на каждом шаге.
отказ
Вкладка подвисает при листании. Обычная причина — перевод страницы в большое число делением в цикле: это квадратичная сложность на длинной арифметике.

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

FAQ

Частые вопросы о библиотеке

Что такое Вавилонская библиотека?
Библиотека из рассказа Хорхе Луиса Борхеса 1941 года: собрание всех книг, которые можно составить перебором знаков алфавита. Комбинаций конечное число, поэтому в ней лежит любой существующий текст и любой возможный — вместе с миллионом почти таких же, разошедшихся с ним на одну букву. Этот сайт — работающая реализация той же идеи: страница длиной 3200 знаков, у каждой свой адрес, любая открывается по адресу за доли миллисекунды.
Как работает Вавилонская библиотека?
Библиотека ничего не хранит — она считает. Страница разворачивается из своего адреса прямой функцией и сворачивается обратно в тот же адрес. Это биекция: каждой странице отвечает ровно один адрес, и наоборот. Хранить 10⁴⁸¹⁶ страниц невозможно, а вычислить любую из них по адресу — вопрос долей миллисекунды.
Есть ли Вавилонская библиотека на русском языке?
Этот сайт и есть русский филиал: алфавит из 31 буквы и пробела, поиск и адресация работают на кириллице целиком. Английский филиал открывается переключателем и живет по своей адресации со своим алфавитом. Первое место в поиске по русскому запросу много лет держал англоязычный сайт, где кириллицы нет вообще.
Существует ли Вавилонская библиотека на самом деле?
Как здание — нет: разместить 10⁴⁸¹⁶ страниц физически негде, для этого не хватит вещества Вселенной. Как адресное пространство — да, и это можно проверить руками. Каждая страница задана своим адресом и разворачивается из него расчетом, поэтому открыть можно любую, а не только заранее записанную кем-то. Существование страницы здесь означает, что у нее есть адрес.
Сколько страниц в библиотеке?
32 в степени 3200, то есть примерно 10⁴⁸¹⁶. Для сравнения: атомов в наблюдаемой Вселенной около 10⁸⁰. Если бы каждый атом стал компьютером и перебирал триллион страниц в секунду с момента Большого взрыва, к сегодняшнему дню они прочли бы 10¹¹⁰ страниц — исчезающе малую долю от целого.
Почему вокруг моей фразы стоят случайные буквы?
Страница всегда длиной 3200 знаков, а фраза короче, поэтому остаток чем-то заполнен. Таких страниц в библиотеке бесконечно много, и мы выбираем одну — детерминированно, из самой фразы. Именно поэтому ваш текст всегда оказывается по одному и тому же адресу, а ссылкой на него можно поделиться.
Один и тот же текст всегда лежит по одному адресу?
Да, и это проверяется прямо на странице: под текстом идет проверка обратимости, которая сворачивает открытую страницу обратно в адрес и разворачивает снова. Реализации, заполняющие остаток страницы случайным числом, выдают новый адрес при каждом запросе — вернуться на ту же полку в них невозможно.
Чем этот сайт отличается от других вавилонских библиотек?
Алфавитом ровно в 32 знака. Это степень двойки, поэтому страница кодируется битовыми сдвигами за один проход. Реализации с алфавитом в 29 или 36 знаков вынуждены переводить страницу в огромное число делением в цикле — на наших замерах это 10,4 мс против 0,15 мс, в 69 раз медленнее, и именно поэтому такие сайты подвешивают вкладку при листании.
Что происходит с цифрами в запросе?
Цифр в алфавите нет — иначе не влезаем в 32 знака, а от этого зависит скорость всей библиотеки. Поэтому числа разворачиваются в слова прямо во время набора: «выручка 15 000 000 в 2027» превращается в «выручка пятнадцать миллионов в две тысячи двадцать семь». Разряды и дробная часть разбираются отдельно, так что «0,961» читается как «ноль целых девять шесть один», а не как девятьсот шестьдесят один. Разрядами читается все вплоть до вигинтиллионов — это 66 цифр; что длиннее, читается по цифрам, так что непрочитанного числа не бывает в принципе. Гугол при этом разбирается отдельно: имя у него есть, но имя и разряд разные вещи.
Библиотека работает на английском?
Да, это отдельный филиал со своим алфавитом: 26 латинских букв, пробел и пять знаков препинания — снова ровно 32. Филиалы независимы, у каждого своя адресация, и переключение пересобирает страницу под новый алфавит.
Как отличить настоящую библиотеку от имитации?
По четырем признакам, проверка занимает около минуты. Один и тот же текст обязан всегда ложиться по одному адресу — перезагрузите страницу и повторите поиск. Адрес обязан открываться в другом браузере и давать ту же страницу. Соседняя страница обязана быть непохожей: совпадений около трех процентов, как у двух случайных. Листание десятка страниц не должно подвешивать вкладку. Имитация — фраза, обложенная случайными буквами, — проваливает первый же тест: адрес у нее каждый раз новый.
Где хранятся все эти страницы?
Нигде. На сервере нет ни одной страницы, а расчет идет целиком в вашем браузере — сайт не отправляет запрос, когда вы что-то ищете. Страница существует ровно в тот момент, когда вы назвали ее адрес, и существовала бы независимо от того, открыли вы ее или нет.

Идея принадлежит Хорхе Луису Борхесу, рассказ 1941 года. Эта реализация — наша: алфавит, геометрия хранилища и адресация переписаны с нуля. MoranaLabs

Лаборатория

В рабочее время мы делаем то же самое

Библиотека считает страницу за 0,15 мс, потому что кто-то сел и разобрался, как уложить алфавит в степень двойки. Дальше начинается арифметика: 69-кратная разница в таблице выше намеряна на этой самой странице, и посмотреть ее может любой. В заказах происходит ровно то же, только задачу приносит заказчик.

компьютерное зрение
Детекция людей, техники, СИЗ и дронов на видео в реальном времени. Считаем на кадрах заказчика до подписания договора.
edge-инференс
Нейросети на железе объекта: без облака, без абонентской платы за кадр и без канала наружу.
Обмен с любой системой, закупки, первичка, маркетплейсы, Честный знак, СБИС. В том числе нетиповые конфигурации.
документы
Распознавание пачками, разбор сканов и приведение к структуре, которую примет учетная система.
ERP и инфраструктура
Внедрение и аудит, серверы, сопровождение. Разбираем и то, что уже внедрено и работает плохо.
веб-инструменты
Вроде этой библиотеки: расчет в браузере, работает на телефоне, держит нагрузку без серверной фермы.

Условие у задачи одно: результат должен быть измерим, чтобы через месяц было чем отчитаться. Направления списком не заканчиваются — если вашего тут нет, спросите, обычно оно попадает.

— заявка

Опишите задачу  ответим как инженеры. 

Оставьте имя и Telegram — остальное обсудим. Без брифов на 40 слайдов и звонков по три раза.

Отвечаем за пару часовотвечает инженер, а не отдел продажNDA до передачи данных

Любой один канал — куда удобнее, туда и ответим

Или сразу написать в Telegram

Без спама и звонков-роботов. Нажимая кнопку, вы соглашаетесь с политикой конфиденциальности и обработкой персональных данных.