Алгоритмика

А

BPM

Сколько людей, столько и алгоритмов.
Начну пожалуй с моего самого любимого. Под словом “любимый” ищи смысл “нелепый”.
Под словом “любимый” ищи смысл “смешной”.

Мужчина невысокого роста, с очень красивыми ушами. Друзья называют его Карл, паспортные данные подтверждают верность обращения. Его любимое число – 343, рост в сантиметрах – 178.
Алгоритм этого самого Карла – найти девушку, рост которой в сумме с его ростом будет равен 343.
Годы поисков, и он встречает свою мечту: её имя Диана, а рост – 1 метр 65 сантиметров.
Они живут вместе пять лет, у них две маленькие дочурки. В семье царит любовь и спокойствие. Затем в один момент алгоритм даёт сбой.
Он приходит к Диане и сообщает, что проходил сегодня медкомиссию.
Он заявляет, что медики сказали ему, что он вырос на один сантиметр.
Она ему больше не подходит.

Мой алгоритм во много раз проще и логичнее этого.

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

Рост Джоанны – 164 сантиметра, но насколько мне известно, она никогда не была знакома с Карлом. В любом случае, не уверен, что их алгоритмы были бы совместимы.
В небольшом розовом блокнотике Джоанны есть 103 пункта, определяющих критерий её идеального парня, 28 из них описывают внешность, остальные – характер и модель поведения.
На страницах своего блога Джоанна пишет, что к своим 33 годам она встречалась с пятью парнями, каждый из которых удовлетворял всем её пунктам. Каждый из которых в конечном итоге не подошел ей.
Затем она сделала маленькую добавку в свой критерий. Мужчина её мечты обязан жить во Франции, она должна познакомиться с ним тогда, когда температура на улице будет составлять ровно 33 градуса, а в пределах трёхсотметрового радиуса будет присутствовать косатка.
Вроде бы мелочь, но спустя год Джоанна уже замужем. За мужчиной своей мечты. Выполнены все 106 пунктов.
И пусть смеются те, кто знает, что она постоянно носила термометр в своей сумке и строила траектории своего движения, основываясь на адресах зоопарков и дельфинариев – Джоанна будет смеяться последней, ведь её брак длится уже больше трех лет.

И никогда не разрушится. Потому что её алгоритм не может дать сбой.
Пока не стоит задавать вопросов, на самом деле, я понятия не имею, как и почему работают все эти алгоритмы.
Моя гипотеза утверждает, что всё дело в вере.
Если ты веришь во что-то конкретное и тщательно сформулированное – рано или поздно оно у тебя появится.
И свою веру я укрепляю вот уже седьмой месяц. Это занимает совсем немного времени – всего около трёх часов в неделю, именно столько времени я трачу на ходьбу пешком и анализ людей, которые проходят мимо меня.
Мой простой и логичный алгоритм основан на понятии ВРМ. Данный термин – beats per minute – определяет скорость воспроизведения музыкального произведения.
И дело тут совсем не в том, что я меломан, хотя этот фактор также играет определенную роль. Основная идея любого алгоритма строится на трёх столпах: на его наличии, на его конкретности и корректности.
Я ищу человека, который ходит в такт музыке, которую слушает. Музыке, которая воспроизводится со скоростью 140 BPM.
Я ищу человека, который делает 140 шагов в минуту. Два и три в периоде шага в секунду.
Конкретность алгоритма проверяется тем, что за все эти семь месяцев я не видел ещё ни одного человека, подходящего под описание. Корректность – тем, что как минимум один человек способен на подобное, причём речь идет разумеется обо мне.
Мимо идут десятки людей, в их ушах и в их головах играют абсолютно разные треки. Девушка в широких штанах, топающая 80 ударов в минуту. Женщина в юбке чуть ниже колена, вышагивающая 128 ударов в минуту. И эта малышка в шортах, почти бегущая под все 160.
Если вы думаете, что это все чепуха, то вы просто завидуете. Завидуете тому, что ваш собственный алгоритм менее корректен, чем мой.
Все, кому я рассказывал про свой алгоритм, говорили мне одно и то же. Они говорили, что нельзя высчитать настолько точно скорость ходьбы на глаз. Видимо, они просто не понимают, на что способен человеческий мозг, когда он действительно чего-то жаждет.
Стоит заметить, что однажды мне попался один музыкальный знаток, который утверждал, что bpm напрямую не влияет на скорость трека. Что многое зависит от длины музыкальных нот. И еще он очень много грузил меня музыкальной терминологией. Этот знаток действительно верил в то, что какая-то там наука может сломать мой алгоритм. Под словом “знаток” ищи смысл “простак”.
Под словом “знаток” ищи смысл “глупец”.

Алгоритм Кассандры основан на поиске человека с абсолютно симметричным лицом.
Алгоритм Хоакина – на цвете волос, чётко отвечающему RGB-последовательности 206, 156, 89.
Алгоритм Джеки – на дедушках и бабушках избранницы, каждый из которых обязательно должен был хотя бы недолго работать сторожем в зоопарке.
Все эти люди – такие же, как и вы. Все эти люди, ищут счастья и любви – так же, как и вы.
Алгоритм Джессики основан на поиске парня без двух пальцев на левой руке, который в момент знакомства должен болеть ветрянкой.
Алгоритм Патрика – на девушке с плохо развитым гормоном роста, у которой обязательно должны быть двойняшки.
Алгоритм Брюса – попытка найти девушку с полным альбинизмом. В конечном итоге, он нашел девушку с частичным, но я не уверен, что они проживут вместе всю жизнь до конца.
Все эти люди – они не ищут уродов. Они всего лишь стремятся к умиротворению –  так же, как и вы.

Семь месяцев ожидания – и затем я сижу в парке на лавочке, а бит в наушниках отбивает ровно 140.
Я смотрю на людей и высчитываю скорость каждого.
И затем я вижу её.
Маленький, почти прозрачный наушник торчит из её левого уха, и она отшагивает 140 ударов в минуту. Ровно 140, я знаю, что в этом не могу ошибаться. Я встаю и иду ей навстречу.
Знаете, я совсем не нервничаю. Нервничал я раньше – те самые семь месяцев, когда в минуту слабости подумывал, что, возможно, неправильно сконструировал свой алгоритм. Но теперь, глядя на эту милую блондинку, я понимаю, что всё сделал правильно.
Что мой алгоритм сработал правильно.
Между нами не больше тридцати метров, когда вдруг мимо неё проносится велосипедист, и, пытаясь от него увернуться, она падает на землю.
Велосипедист это замечает и останавливается. Пока он спешит ей на помощь, я уже сижу рядом с ней на коленях.
– Как тебя зовут? – говорю я. Не скрою, мне очень любопытно имя моей суженой.
Её лицо изображает боль и растерянность. Видимо, она сильно ушиблась головой. И ещё у нее очень красивый цвет кожи, а левый глаз – изумрудного цвета.
Правый, возможно, тоже, но она пока не открыла его.
Люди, проходящие мимо, останавливаются и подходят к нам, видимо, их волнует, каким будет начало нашей счастливой истории.
– Назови мне свое имя, – говорю я. Так же, как Карл, Джоанна и все остальные, – я обязан рассказать эту историю в своем блоге, поведать человечеству о том, что мой алгоритм тоже сработал. И твое имя обязательно в этой истории, поэтому просто назови мне его.
Она открывает свой второй глаз и я убеждаюсь в том, что он такого же цвета. Поднимает руки и начинает ими судорожно махать перед собой.
Рядом стоит велосипедист и просит у нее прощение. Он утверждает, что ни в коем случае не хотел причинять ей боль.
Я отвечаю, что с этого момента ей никто не сможет причинить боль. Говорю ему, что он зря волнуется, а моя суженая всё ещё зачем-то машет руками.
Я помогаю ей встать. Люди потихоньку начинают расходиться.
Эти изумрудные глаза – они очаровательны – но я полюблю её не за них, а за её 140 BPM и музыку в прозрачном наушнике, под которую она вышагивала именно с такой скоростью. Хотя теперь, стоя напротив нее, я понимаю, что у неё нет наушников.
Значит, музыку она воспроизводила внутри своей головы. По памяти. Или успела их куда-то спрятать.
Она все ещё машет руками, пока я пытаюсь объяснить ей, что очень долго искал её.
– Оставь её, вряд ли она тебя понимает, – говорит велосипедист. – Ты же видишь, она глухонемая.
Это ещё не любовь, но я уже готов провести с ней всю жизнь.
– Идём, – говорю я и беру её за руку. – Тебя надо показать врачу.
Под словом “идём” ищи смысл “мы с тобой будем счастливы”.
Под словом “идём” ищи смысл “мы созданы друг для друга”.


ISL

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

Аннелиза. Так её зовут на самом деле. Её имя я узнал лишь через два дня после знакомства – она написала мне его черным карандашом на стекле.
Мы с Аннелизой – я и моя суженая – сидим рядом с моим ноутбуком и вместе пишем мою следующую запись в блог.

Нам вдвоем очень хорошо, никаких споров и скандалов, – мы из тех людей, которые понимают друг друга не то, что с полуслова, а даже без них.
Мне понадобилась неделя, чтобы понять основы ISL – международного языка жестов. На самом деле, в нём всё очень просто, намного проще, чем я думал.
Хотя я никогда о нём не думал.
Я пишу в свой блог, что наконец нашел своё счастье, что мы с Аннелизой созданы друг для друга, а она сидит рядом и мило мне улыбается.
Чуть позже – через три дня – она подарит мне салфетку, на которой будет написано, что я очень милый. И я пойму, что люблю её почерк.
Вечером того же дня она спросит меня, что такое ВРМ, а я отвечу ей, что это уже совсем неважно. Что я и сам-то уже плохо помню, какой смысл вкладывал в это слово. Тогда она перечитает мой блог и напишет, что не может услышать музыку. А я обниму её. Просто обниму, потому что слова здесь ни к чему.
Все наши переписки – на салфетках, бумажках, тетрадках, стеклах, ноутбуке – все они намного милее и трогательнее, чем живые диалоги.
Все наши переписки – это уже любовь, и мы с Аннелизой прекрасно это знаем.

Под моей новой последней записью в блоге оставлено уже 40 комментариев. Все хвалят мой алгоритм. Все говорят, что лучше и придумать нельзя было. И все просят – расскажи нам про свою избранницу. Расскажи, как вы вместе живете. Расскажи, часто ли вы слушаете музыку вместе. Выложи нам её фото. Мы хотим пожить чужим счастьем, так помоги нам в этом.
Я не хочу описывать им Аннелизу. Мой страх потерять её намного больше желания поделиться своим счастьем с другими.
Я пробую взглядом объяснить ей это, но она, кажется, не понимает.

Любимая еда Аннелизы – кофе. Пишет мне, что это удивительный напиток и она не может представить свою жизнь без него. Каждое утро я приношу ей в постель чашечку горячего кофе. Иногда со сливками, иногда с корицей, иногда с анисом. Мы вместе уже почти месяц, но я всё ещё стараюсь её удивлять.
Каждое утро я приношу ей чашечку горячего кофе и говорю:
– Доброе утро, любимая.
Сколько бы я не доказывал себе, что в наших отношениях слова лишние, мне их порой очень не хватает.
На подобные мысли Аннелиза пишет мне, что хорошо меня понимает. Она утверждает, что в любом идеале всегда есть изъян.
Под словом “изъян” ищи смысл “дефект”.
Под словом “изъян” ищи смысл “я люблю тебя, Аннелиза, но порой мне кажется, что я так долго не выдержу”.

В блоге Карла есть упоминание о том, что алгоритмы выходят из моды. Что сейчас он встречается с девушкой, рост которой он даже не помнит. И у них вроде всё хорошо.
Джоанна пишет, что недавно узнала, что в дельфинарии в день знакомства с её будущим мужем не было косатки – её возили к ветеринарам. Но она все равно не хочет разрушать свой брак. Говорит, что всё будет хорошо, пусть и со сломанным алгоритмом.
И Брюс, который искал девушку с полным альбинизмом, но остановился на девушке с частичным… Он пишет в блоге, что у них все превосходно.
Всё это я читаю уже не сам – всё это мы делаем вместе с Аннелизой.
Вчера был ровно месяц с момента нашего знакомства, и теперь я знаю, что она не всегда ходит со скоростью 140 ударов в минуту. Ещё я знаю, что не смогу теперь жить без её изумрудных глаз.

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

И когда я наконец осознаю эту мысль.
Когда я наконец понимаю, что с ней придется смириться.
Даже когда я уже начинаю набирать этот текст в блог.
Спустя ровно пятьдесят дней после нашего знакомства.
Ко мне подходит Аннелиза и кладёт руку мне на локоть.
Этот жест значит, что она хочет мне что-то сказать.
Что-то написать.
Она садится на диван и кладёт на колени ноутбук.

Все дело в том, что у Аннелизы есть кузен. Живет он где-то в Европе, но его место обитания совсем неважно – Аннелиза утверждает, что люди всюду одинаковые. Кроме тех, кто является исключением. Как я, например.
Ей было четыре, когда она вместе с родителями приехала к родственникам в гости. Через пару дней кузен предложил ей познакомиться со своими друзьями.
Пока они шли к ним, кузен предложил ей нехитрую аферу. Он сказал ей, давай я скажу своим друзьям, что ты глухонемая. Он сказал ей, что будет очень весело.
Он сказал ей, что это такая интересная игра.
Я спрашиваю:
– То есть ты не всегда была глухонемой?
И Аннелиза качает головой.
Когда они с кузеном пришли к его друзьям, он сказал им, что это его маленькая сестричка. И что она совсем ничего не слышит и не может говорить.
Друзья очень удивились. И сразу же начали расхваливать её, говорить, какая она красавица, какое у неё восхитительное платье и какой у нее умный взгляд взрослой девочки.
Так Аннелиза поняла, что люди будут с тобой очень милыми и добрыми, если ты инвалид.
Под словом “инвалид” ищи смысл “тот, кто хуже тебя”.
Под словом “инвалид” ищи смысл “тот, в ком не стоит видеть соперника”.
Так прошёл час, а потом кузен куда-то отошёл. И Аннелиза осталась одна среди незнакомых людей, которые все еще считали, что она ничего не слышит.
Первую фразу в сторону маленькой красавицы в восхитительном платье сказала девушка в изорванных джинсах:
– Какой же у нее тупой взгляд. Она ведь совсем не понимает, что происходит.
Все засмеялись, и один из парней предложил говорить ей всевозможные гадости – всё равно она ничего не услышит.
Так Аннелиза познакомилась с лицемерием и жестокостью.
Маленькая девочка сидит и ждет своего кузена, который непременно спасёт её от всего этого ужаса, но когда он возвращается, то вместо защиты присоединяется к общему смеху. Он уже совсем не помнит, что его сестра не глухонемая. Он даже не помнит, что это его сестра. Потому что он только что ходил на веранду покурить травку.
Так Аннелиза узнала обратную сторону всех тёплых слов и познакомилась с понятием “доверие”.
И весь этот кошмар длится не меньше часа. Страх не позволяет ей сдвинуться с места – до тех пор, пока она не находит в себе силы, чтобы встать и молча убежать.
Так Аннелиза узнала, что из себя представляют люди.
Я спрашиваю:
– Но а как ты тогда лишилась слуха?
Аннелиза смотрит на меня несколько секунд, и я вижу, что она вот-вот расплачется. Затем она продолжает писать.
Всё дело в том, что в конце двадцатого века компания Bayerdynamik выпустила новую линейку маленьких наушников-затычек с названием Sticker. С маленьким номинальным сопротивлением и чрезмерно большой чувствительностью. Их достаточно быстро сняли с производства, поскольку было установлено, что они способны причинить опасный вред барабанным перепонкам.
Я спрашиваю:
– Тебя оглушили наушники?
И Аннелиза качает головой.
Нет, разумеется, нет. Но у неё были эти наушники. Такие маленькие, почти прозрачные. Она говорит, что я их видел. Просто она успела их вовремя спрятать.
Последнее, что она пишет на моем ноутбуке:
“Я просто не хочу тебя сильно шокировать”.
И затем говорит:
– У меня такой алгоритм, понимаешь?

Пункт первый – знакомство должно произойти в парке.
Я смотрю на Аннелизу и понимаю, что именно таким всегда представлял её голос.
Пункт второй – она должна упасть из-за проносящегося мимо велосипедиста.
– Твой алгоритм, конечно, весьма неплох, – говорит она. – Но мой, пожалуй, будет слегка поконкретней.
Пункт третий – на велосипедисте должна быть надета красная футболка.
Возможно, это нелепо, но я смотрю на Аннелизу с восхищением. И параллельно пытаюсь вспомнить, что было надето на том самом велосипедисте.
Пункт четвертый – я должен был помочь ей встать.
– С момента создания алгоритма ты у меня уже четвертый, – говорит она. – Но ещё никто не продвигался так далеко, как ты.
Пункт пятый – я должен был по собственному желанию выучить ISL. International Sign Language.
Я задаюсь вопросом, почему Аннелиза с таким своим талантом не ведёт собственный блог.
Пункт шестой – у меня должен быть алгоритм, причём такой, под который она бы подошла.
– Меня всегда удивляло, почему этот пункт никто никогда не учитывает, – говорит она. – Даже те, у кого нет алгоритма.
Пункт седьмой – на семнадцатый день нашего знакомства я должен принести ей утром кофе с анисом.
Я точно не помню, когда именно я это сделал. В любом случае, это всего лишь удивительное совпадение.
Пункт восьмой – я не должен говорить гадостей о ней до тех пор, пока буду думать, что она глухонемая.
– Все предыдущие парни… Они проваливались на одном из двух вышеназванных пунктов. А ты нет, – говорит она. – Так что у тебя уже есть, чему радоваться.
И наконец, пункт девятый, самый последний.
За первые пятьдесят дней нашего знакомства я должен буду накормить её с рук кошачьим кормом.
Сегодня как раз пятидесятый.
– Что? – не выдерживаю я. – Что за бред? Как кто-то может догадаться про кошачий корм?
– Не знаю, – Аннелиза качает головой. – Но лично я в тебя верю.
А затем протягивает свою руку и высыпает мне на ладонь горстку маленьких подушечек коричневого цвета.
– Я не знаю, как твои детские комплексы повлияли на создание твоего алгоритма, – говорит она. – Но теперь мы могли бы это обсудить.
Карлы, Джоанны, Кассандры, Хоакины, Брюсы – все они отходят куда-то на второй план. Меня сейчас абсолютно не волнует, у кого был какой алгоритм.
Под словом “алгоритм” ищи смысл “пустышка”.
Под словом “алгоритм” ищи смысл “попытка объяснить себе, почему ты влюбляешься”.
Я кормлю Аннелизу с рук кошачьим кормом и впервые слышу, как звучит её голос, когда она говорит с набитым ртом.
– На том велосипедисте, – говорит она. – На нём была зелёная футболка.

09.06.2011

Привет! Меня зовут Саша Козлов. Я пишу рассказы и работаю над созданием книги.
Если в вашем почтовом ящике не хватает уведомлений, то обязательно подпишитесь на мою email-рассылку. Смею сказать, что информация о новых постах будет появляться не так уж и часто. К тому же, вы в любой момент можете отписаться.
Но на этом плюсы не заканчиваются! Есть и много других, например, я не интернет-магазин, в котором вы когда-то что-то случайно купили. И не электронная квитанция от Uber. И даже не очередное уведомление от Facebook, которое вы забыли отключить.
К тому же, кто знает, может, вам даже понравится то, что я пишу. Тогда обязательно подписывайтесь. Как минимум, мне будет приятно.