library of babel что это

Онлайн чтение книги Вавилонская библиотека The Library of Babel

By this art you may contemplate the variation of the 23 letters…

Вселенная — некоторые называют ее Библиотекой — состоит из огромного, возможно, бесконечного числа шестигранных галерей, с широкими вентиляционными колодцами, огражденными невысокими перилами. Из каждого шестигранника видно два верхних и два нижних этажа — до бесконечности. Устройство галерей неизменно: двадцать полок, по пять длинных полок на каждой стене; кроме двух: их высота, равная высоте этажа, едва превышает средний рост библиотекаря. К одной из свободных сторон примыкает узкий коридор, ведущий в другую галерею, такую же, как первая и как все другие. Налево и направо от коридора два крохотных помещения. В одном можно спать стоя, в другом — удовлетворять естественные потребности. Рядом винтовая лестница уходит вверх и вниз и теряется вдали. В коридоре зеркало, достоверно удваивающее видимое. Зеркала наводят людей на мысль, что Библиотека не бесконечна (если она бесконечна на самом деле, зачем это иллюзорное удвоение?); я же предпочитаю думать, что гладкие поверхности выражают и обещают бесконечность… Свет дают округлые стеклянные плоды, которые носят название ламп. В каждом шестиграннике их две, по одной на противоположных стенах. Неяркий свет, который они излучают, никогда не гаснет.

Как все люди Библиотеки, в юности я путешествовал. Это было паломничество в поисках книги, возможно каталога каталогов; теперь, когда глаза мои еле разбирают то, что я пишу, я готов окончить жизнь в нескольких милях от шестигранника, в котором появился на свет. Когда я умру, чьи-нибудь милосердные руки перебросят меня через перила, могилой мне станет бездонный воздух; мое тело будет медленно падать, разлагаясь и исчезая в ветре, который вызывает не имеющее конца падение. Я утверждаю, что Библиотека беспредельна. Идеалисты приводят доказательства того, что шестигранные помещения — это необходимая форма абсолютного пространства или, во всяком случае, нашего ощущения пространства. Они полагают, что треугольная или пятиугольная комната непостижимы. (Мистики уверяют, что в экстазе им является шарообразная зала с огромной круглой книгой, бесконечный корешок которой проходит по стенам; свидетельства сомнительны, речи неясны. Эта сферическая книга есть Бог).

Прежде чем сделать вывод (что, несмотря на трагические последствия, возможно, и есть самое главное в этой истории), я хотел бы напомнить некоторые аксиомы.

Во-первых: Библиотека существует ab aeterno. [2] Вечно ( лат. ). В этой истине, прямое следствие которой — грядущая вечность мира, не может усомниться ни один здравый ум. Человек, несовершенный библиотекарь, мог появиться в результате случая или действия злых гениев, но вселенная, оснащенная изящными полками, загадочными томами, нескончаемыми лестницами для странника и уборными для оседлого библиотекаря, может быть только творением Бога. Чтобы осознать, какая пропасть разделяет божественное и человеческое, достаточно сравнить каракули, нацарапанные моей неверной рукой на обложке книги, с полными гармонии буквами внутри: четкими, изысканными, очень черными, неподражаемо симметричными.

Во-вторых: число знаков для письма равно двадцати пяти. [3] В рукописи отсутствуют цифры и заглавные буквы. Пунктуация ограничивается запятой и точкой. Эти два знака, расстояние между буквами и двадцать две буквы алфавита составляют двадцать пять знаков, перечисленных неизвестным. — Прим. издателя. Эта аксиома позволила триста лет назад сформулировать общую теорию Библиотеки и удовлетворительно разрешить до тех пор неразрешимую проблему неясной и хаотической природы почти каждой книги. Одна книга, которую мой отец видел в шестиграннике пятнадцать девяносто четыре, состояла лишь из букв MCV, повторяющихся в разном порядке от первой строчки до последней. Другая, в которую любили заглядывать в этих краях, представляет собой настоящий лабиринт букв, но на предпоследней странице стоит: «О время, твои пирамиды». Известно, что на одну осмысленную строчку или истинное сообщение приходятся тысячи бессмыслиц, груды словесного хлама и абракадабры. (Мне известен дикий край, где библиотекари отказались от суеверной и напрасной привычки искать в книгах смысл, считая, что это все равно, что искать его в снах или в беспорядочных линиях руки… Они признают, что те, кто изобрел письмо, имитировали двадцать пять природных знаков, но утверждают, что их применение случайно и что сами по себе книги ничего не означают. Это мнение, как мы увидим, не лишено оснований.)

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

Когда было провозглашено, что Библиотека объемлет все книги, первым ощущением была безудержная радость. Каждый чувствовал себя владельцем тайного и нетронутого сокровища. Не было проблемы — личной или мировой, для которой не нашлось бы убедительного решения в каком-либо из шестигранников. Вселенная обрела смысл, вселенная стала внезапно огромной, как надежда. В это время много говорилось об Оправданиях: книгах апологии и пророчеств, которые навсегда оправдывали деяния каждого человека во вселенной и хранили чудесные тайны его будущего. Тысячи жаждущих покинули родные шестигранники и устремились вверх по лестницам, гонимые напрасным желанием найти свое оправдание. Эти пилигримы до хрипоты спорили в узких галереях, изрыгали черные проклятия, душили друг друга на изумительных лестницах, швыряли в глубину туннелей обманувшие их книги, умирали, сброшенные с высоты жителями отдаленных областей. Некоторые сходили с ума… Действительно, Оправдания существуют (мне довелось увидеть два, относившихся к людям будущего, возможно не вымышленным), но те, кто пустился на поиски, забыли, что для человека вероятность найти свое Оправдание или какой-то его искаженный вариант равна нулю.

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

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

Другие, напротив, полагали, что прежде всего следует уничтожить бесполезные книги. Они врывались в шестигранники, показывали свои документы, не всегда фальшивые, с отвращением листали книги и обрекали на уничтожение целые полки. Их гигиеническому, аскетическому пылу мы обязаны бессмысленной потерей миллионов книг. Имена их преданы проклятью, но те, кто оплакивает «сокровища», погубленные их безумием, забывают о двух известных вещах. Во-первых: Библиотека огромна, и поэтому любой ущерб, причиненный ей человеком, будет ничтожно мал. Во-вторых: каждая книга уникальна, незаменима, но (поскольку Библиотека всеобъемлюща) существуют сотни тысяч несовершенных копий: книги, отличающиеся одна от другой буквою или запятой. Вопреки общепринятому мнению я считаю, что последствия деятельности Чистильщиков преувеличены страхом, который вызвали эти фанатики. Их вело безумное желание захватить книги Пурпурного Шестигранника: книги меньшего, чем обычно, формата, всемогущие, иллюстрированные, магические.

Известно и другое суеверие того времени: Человек Книги. На некоей полке в некоем шестиграннике (полагали люди) стоит книга, содержащая суть и краткое изложение всех остальных : некий библиотекарь прочел ее и стал подобен Богу. В языке этих мест можно заметить следы культа этого работника отдаленных времен. Многие предпринимали паломничество с целью найти Его. В течение века шли безрезультатные поиски. Как определить таинственный священный шестигранник, в котором Он обитает? Кем-то был предложен регрессивный метод: чтобы обнаружить книгу A, следует предварительно обратиться к книге В, которая укажет место А; чтобы разыскать книгу B, следует предварительно справиться в книге C, и так до бесконечности. В таких вот похождениях я растратил и извел свои годы. Мне не кажется невероятным, что на какой-то книжной полке вселенной стоит всеобъемлющая книга; [5] Повторяю, достаточно, что такая книга может существовать. Я лишь отвергаю невозможность этого. Например: ни одна книга не может быть в то же время лестницей, хотя, без сомнения, есть книги, которые оспаривают, отрицают и доказывают такую возможность, и другие, структура которых соответствует структуре лестницы. — Прим. автора. молю неведомых богов, чтобы человеку — хотя бы одному, хоть через тысячи лет! — удалось найти и прочесть ее. Если почести, и мудрость, и счастье не для меня, пусть они достанутся другим. Пусть существует небо, даже если мое место в аду. Пусть я буду попран и уничтожен, но хотя бы на миг, хотя бы в одном существе твоя огромная Библиотека будет оправдана.

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

Слова эти, которые не только разоблачают беспорядок, но и служат его примером, явно обнаруживают дурной вкус и безнадежное невежество. На самом деле Библиотека включает все языковые структуры, все варианты, которые допускают двадцать пять орфографических символов, но отнюдь не совершенную бессмыслицу, Наверное, не стоит говорить, что лучшая книга многих шестигранников, которыми я ведал, носит титул «Причесанный гром», другая называется «Гипсовая судорога» и третья — «Аксаксаксас мле». Эти названия, на первый взгляд несвязанные, без сомнения, содержат потаенный или иносказательный смысл, он записан и существует в Библиотеке.

Какое бы сочетание букв, например:

я ни написал, в божественной Библиотеке на одном из ее таинственных языков они будут содержать некий грозный смысл. А любой произнесенный слог будет исполнен сладости и трепета и на одном из этих языков означать могущественное имя Бога. Говорить — это погрязнуть в тавтологиях. Это мое сочинение —многословное и бесполезное — уже существует в одном из тридцати томов одной из пяти полок одного из бесчисленных шестигранников — так же, как и его опровержение. (Число n возможных языков использует один и тот же запас слов, в некоторых слово «библиотека» допускает верное определение: «всеобъемлющая и постоянная система шестигранных галерей», но при этом «библиотека» обозначает «хлеб», или «пирамиду», или какой-нибудь другой предмет, и шесть слов, определяющих ее, имеют другое значение. Ты, читающий эти строчки, уверен ли ты, что понимаешь мой язык?)

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

Источник

Вавилонская библиотека и тупость людей.

library of babel что это

Недавно пытался объяснить человеку, что такое Вавилонская библиотека и после этого я окончательно разочаровался в людях.

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

Долго объяснять, что такое вавилонская библиотека я не буду. Подробное объяснение есть на Википедии.
Если кратко, то это библиотека, в которой есть все. В ней есть все что когда-либо придумано и что когда-либо придумают. Создано все очень просто. В «библиотеке» есть «книги». Все они по 410 страниц, а на каждой странице 40 строк, по

80 знаков. Знаки(буквы, пробелы, и некоторые символы) расставлены хаотично, только с условием, что книги не должны повторяться. В итоге выходит, что книг там 25^1312000 штук, на которых написаны все возможные варианты совместного размещения символов(опять-же, все можно детально прочитать на Википедии), которыми и являются слова, предложения и т.д. Эта библиотека доступна даже в виде сайта(libraryofbabel.info).

Теперь переходим к самой дискуссии:
Моему оппоненту не хватило объяснения, представленного выше. Он решил, что такого попросту не может существовать(стоит заметить, что оппонент слишком ленивый для чтения и весь окружающий мир он воспринимает как обман, а правду-же говорят только по Рен-ТВ), после чего я решил объяснять ему все начиная с более простых вещей.
Я рассказал, что все строится на «Теореме о бесконечных обезьянах»:

«Если взять бесконечное количество обезьян и посадить их всех за печатающие машинки, одна из них обязательно напишет войну и мир.»

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

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

Источник

Реализация Вавилонской библиотеки

В этой статье Вы узнаете всё о Вавилонской библиотеке, а самое главное — как воссоздать её, да и вообще любую библиотеку.

«Вселенная – некоторые называют ее Библиотекой – состоит из огромного, возможно, бесконечного числа шестигранных галерей, с широкими вентиляционными колодцами, огражденными невысокими перилами. Из каждого шестигранника видно два верхних и два нижних этажа – до бесконечности.»

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

Если Вы войдёте в случайный шестиугольник, подойдёте к любой стене, взглянете на любую полку и возьмёте больше всего понравившуюся вам книгу, то, скорее всего, огорчитесь. Ведь Вы ожидали узнать там о смысле жизни, но увидели какой-то непонятный набор символов. Но не стоит так быстро огорчаться! Большая часть книг бессмысленна, ибо они представляют собой комбинаторный перебор всех возможных вариантов двадцати пяти знаков (именно такой алфавит использовал Борхес в своей библиотеке, но далее читатель узнает, что в библиотеке может быть сколько угодно символов). Главный закон библиотеки — в ней не существует двух абсолютно одинаковых книг, соответственно их число конечно, и библиотека тоже когда-нибудь закончится. Борхес же считал, что библиотека периодична:

«Возможно, страх и старость обманывают меня, но я думаю, что человеческий род – единственный – близок к угасанию, а Библиотека сохранится: освещенная, необитаемая, бесконечная, абсолютно неподвижная, наполненная драгоценными томами, бесполезная, нетленная, таинственная. Я только что написал бесконечная. Это слово я поставил не из любви к риторике; думаю, вполне логично считать, что мир бесконечен. Те же, кто считает его ограниченным, допускают, что где-нибудь в отдалении коридоры, и лестницы, и шестигранники могут по неизвестной причине кончиться, – такое предположение абсурдно. Те, кто воображает его без границ, забывают, что ограничено число возможных книг. Я осмеливаюсь предложить такое решение этой вековой проблемы: Библиотека безгранична и периодична. Если бы вечный странник пустился в путь в каком-либо направлении, он смог бы убедиться по прошествии веков, что те же книги повторяются в том же беспорядке (который, будучи повторенным, становится порядком – Порядком). Эта изящная надежда скрашивает мое одиночество.»

В сравнении с бессмыслицей, книг, содержание которых человек может хоть как-то понять, очень мало, но это не меняет того факта, что библиотека содержит все тексты, которые были и будут когда-либо придуманы человеком. Да и к тому же Вы с детства привыкли считать одни последовательности символов оссмысленными, а другие — нет. На самом деле, в контексте библиотеки разницы между ними нет. Но то, что имеет смысл, имеет куда меньший процент, и мы называем это языком. Это средство общения между людьми. Любой язык содержит в себе всего несколько десятков тысяч слов, из которых мы знаем 70% от силы, отсюда и получается, что большую часть комбинаторного перебора книг интерпретировать мы не можем. А кто-то страдает апофенией и даже в случайных наборах символов видит скрытый смысл. А ведь это неплохая идея для стеганографии! Что ж, продолжить обсуждение этой темы предлагаю в комментариях.

Перед тем, как перейти к реализации этой библиотеки, удивлю вас интересным фактом: если Вы захотите воссоздать Вавилонскую библиотеку Луиса Борхеса, у вас ничего не получится, ибо её объёмы превосходят объём видимой Вселенной в 10^611338 (!) раз. А о том, что будет происходить в ещё более крупных библиотеках, мне даже страшно подумать.

Реализация библиотеки

Описание модуля

Главный файл — index.js, там описана вся логика библиотеки, содержимое этого файла я и буду объяснять.

Подключаем модуль, реализующий алгоритм хеширования sha512. Вам это может показаться странным, но он нам ещё пригодится.
Что на выходе у нашего модуля? Он возвращает функцию, вызов которой вернёт объект библиотеки со всеми нужными методами. Мы могли бы вернуть его сразу, но тогда управление библиотекой не было бы таким удобным, когда мы передаём параметры в функцию и получаем «нужную» библиотеку. Это и позволит нам создать «универсальную» библиотеку. Поскольку я стараюсь писать в стиле ES6, то моя стрелочная функция принимает в качестве параметров объект, который впоследствии будет деструктурирован на нужные переменные:

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

Алгоритмы поиска и выдачи страниц

Когда мы переходим по какому-то адресу, мы видим содержимое страницы. Если мы ещё раз перейдём по тому же адресу, содержимое должно быть абсолютно таким же. Данное свойство библиотек обеспечивает алгоритм генерации псевдослучайных чисел — Линейный конгруэнтный метод. Когда нам нужно выбрать символ для генерации адреса или, наоборот, содержимого страницы, он будет нам помогать, а в качестве зерна будут использоваться номера страниц, полок и т.д. Конфиг моего ГПСЧ: m = 2^32 (4294967296), a = 22695477, c = 1. Хочется ещё добавить, что в нашей реализации от линейного конгруэнтного метода остался лишь принцип генерации чисел, остальное изменено. Двигаемся по листингу программы дальше:

Как вы можете заметить, зерно ГПСЧ меняется после каждого получения числа, и результаты напрямую зависят от так называемой точки отсчёта — зерна, после которого числа будут нас интересовать. (мы генерируем адрес или получаем содержимое страницы)

Функция getHash поможет нам сгенерировать точку отсчёта. Мы просто получим хеш от каких-то данных, возьмём 7 символов, переведём в десятичную систему счисления и готово!

Функция mod ведёт себя так же, как и оператор %. Но в случае, если делимое a Код

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

Метод search

Возвращает адрес строки searchStr в библиотеке. Для этого случайным образом выбираем wall, shelf, volume, page. volume и page также дополняем нулями до нужной длины. Далее конкатенируем их в строку для передачи в функцию getHash. Полученный locHash — и есть начальная точка отсчёта, т.е. зерно.

Для большей непредсказуемости дополняем searchStr depth псевдослучайными символами алфавита, присваиваем зерну seed значение locHash. На данном этапе неважно, как мы будем дополнять строку, поэтому можно использовать встроенный в JavaScript ГПСЧ, это некритично. Можно и вовсе от него отказаться, чтобы интересующие нас результаты были всегда в начале страницы.

Осталось дело за малым — сгенерировать идентификатор шестигранника. Для каждого символа строки searchStr выполняем алгоритм:

Метод searchExactly

Этот метод делает всё то же самое, что и метод search, но заполняет всё свободное пространство (делает искомую строку searchStr длиной в lengthOfPage символов) пробелами. При просмотре такой страницы будет казаться, что на ней нет ничего, кроме вашего текста.

Метод searchTitle

Метод searchTitle возвращает адрес книги с названием searchStr. Внутри он очень похож на search. Отличие заключается в том, что при вычислении locHash мы не используем страницу, чтобы привязать к книге её название. Оно не должно зависеть от страницы. searchStr обрезается до длины lengthOfTitle и при необходимости дополняется пробелами. Аналогично генерируется идентификатор шестигранника и возвращается полученный адрес. Обратите внимание, в нём нет страницы, как это было при поиске точного адреса произвольного текста. Так что если хотите узнать, что находится в книге с придуманным Вами названием, определитесь со страницей, на которую хотите перейти.

Метод getPage

Противоположен методу search. Его задача — по заданному адресу выдать содержимое страницы. Для этого преобразуем адрес в массив по разделителю «-«. Теперь у нас есть массив компонентов адреса: идентификатор шестигранника, стена, полка, книга, страница. Вычисляем locHash так же, как это делали в методе search. Мы получим такое же число, которое было при генерации адреса. Это означает, что ГПСЧ будет выдавать такие же числа, именно это поведение и обеспечивает обратимость наших преобразований над исходным текстом. Для его вычисления над каждым символом (де-факто, это цифра) идентификатора шестигранника выполняем алгоритм:

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

Метод getTitle

Ну, тут такая же история. Представьте, что читаете описание предыдущего метода, только при вычислении зёрен ГПСЧ не учитываете номер страницы, а дополнение и обрезание результата производите до максимальной длины названия книги — lengthOfTitle.

Испытание модуля для создания библиотек

После того, как мы разобрали принцип работы любой вавилонско-подобной библиотеки — пора бы испытать это всё на практике. Буду использовать конфиг, максимально близкий к созданному Луисом Борхесом. Искать будем простую фразу «habr.com»:

library of babel что это

На данный момент это нам ничего не даёт. Но давайте же узнаем, что скрывается за этим адресом! Код будет таким:

library of babel что это

Мы нашли то, что искали, в бесконечном множестве бессмысленных (я б поспорил) страниц!

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

Название книги получилось примерно таким:

library of babel что это

Честно, выглядит не очень привлекательно. Тогда давайте найдём книгу с нашей фразой в названии:

library of babel что это

Теперь вы понимаете, как пользоваться данной библиотекой. Продемострирую возможность создания абсолютно другой библиотеки. Теперь она будет наполнена единицами и нулями, на каждой странице будет по 100 символов, адрес будет представлять собой шестнадцатеричное число. Не забываем о соблюдении условия равенства длин алфавита и строки разрядов нашего большого числа. Искать будем, например, «10101100101010111001000000». Смотрим:

library of babel что это

Давайте взглянем на поиск полного совпадения. Для этого вернёмся к старому примеру и в коде заменим libraryofbabel.search на libraryofbabel.searchExactly:

library of babel что это

Заключение

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

Можно придумать и другие варианты реализации библиотек: использовать любой алгоритм шифрования, где шифротекст и будет как бы адресом в вашей всеобъемлющей библиотеке. Расшифровка — получение содержимого страницы. А, может, попробуем base64, м?

Возможное применение библиотеки — хранение паролей в каких-либо её местах. Создаёте нужный вам конфиг, узнаёте, где в библиотеке лежат ваши пароли (да-да, они уже существуют. А вы думали, это вы их придумали?), сохраняете адрес. И теперь, когда вам нужно найти какой-то пароль, просто находите его в библиотеке. Но этот подход опасен, ибо злоумышленник может узнать конфиг библиотеки и просто воспользоваться вашим адресом. Но если он не будет знать о смысле того, что он нашёл, вряд ли ваши данные попадут к нему. Да и разве такой способ хранения паролей мейнстримный? Нет, так что он имеет место быть.

Данная идея может использована для создания самых разных «библиотек». Вы можете перебирать не только символы, но и целые слова, либо даже звуки! Представьте себе место, в котором можно прослушать абсолютно любой звук, доступный для восприятия человеком, либо найти какую-то песню. В будущем я обязательно попробую реализовать это.

Веб-версия на русском языке доступна здесь, она развёрнута на моём виртуальном сервере. Всем приятных поисков смысла жизни в Вавилонской библиотеке, или какую вы захотите создать, не знаю. До свидания! 🙂

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *