bannerbannerbanner
Название книги:

Алгоритм Чагина

Автор:
Кеша Захаренков
Алгоритм Чагина

000

ОтложитьЧитал

Шрифт:
-100%+

0.0.3. Прорыв в болоте

Следуя за директором, я решил, что мне представилась отличная возможность отказаться от выполнения задачи. Однако на лестнице он не дал мне и рта раскрыть.

– Я рад, что ты взялся, – сказал Вышинский. – Проект очень крутой, правда. Любой вклад в него – отличная возможность. Мы сможем мир изменить, сможем сделать его лучше. Не представляешь, как я тебе благодарен.

Нельзя не признать, директор был хитер. Я стоял, вцепившись пальцами в перила, и размышлял, как лучше выпутаться из этой истории. Как побыстрее слиться из «очень крутого проекта».

– Ты видел код? – спросил я. – Там ни одного коммента, ни одной подсказки. Как мне его расшифровывать?

Директор поднялся на несколько ступенек и прислонился боком к стене.

– Я пришлю тебе компилятор. Запустишь программу, посмотришь…

– А отладчик?

– Разве универсальный не подходит? – отмахнулся он. – Есть же общие средства отладки. Их используют для всех программ.

Легкомыслие директора меня поражало.

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

– То есть ты не можешь отладить программу? – спросил директор.

– Чтобы понять, что она делает? Нет.

– Понятно, – сказал он, но озабоченности в его голосе я не услышал. Только нетерпение. – Ладно, я посмотрю.

– Попроси у того, кто написал этот код. У него точно есть.

– Не могу.

«Почему? – снова испугался я. – Неужели он и правда украл код? Неужели я дурак, как сказала Марина?»

Вышинский словно прочитал мои мысли:

– Слушай, я не делаю ничего незаконного! Этот код принадлежит мне. Я выкупил долю, и имею право знать, на что деньги потратил.

– Долю?

– В компании разработчика.

Не успел я отреагировать ни словом, ни жестом, Вышинский уже начал оправдываться.

– Слушай, это крутой специалист, в нейросетях лучше всех шарит. В Швейцарии работал, в Германии в институте. Кучу научных работ написал. Я положился на его репутацию, а сейчас…

– Чагин? Ты про Антона Чагина говоришь?

Вышинский оторопел. Потом прищурился:

– Ты его знаешь?

Я пожал плечами:

– Так, немного.

– Крутой чувак, да?

Я снова пожал плечами. Чагин действительно был одним из лучших специалистов в своей области, но признаваться в этом не хотелось.

«Так, значит, он не только научно-исследовательской деятельностью занимался, – подумал я. – У Чагина был стартап».

Он опять меня опередил. Осуществил то, что я только подумывал сделать.

– Ты говорил, положился на его репутацию – и что? – спросил я.

Вышинский поджал мясистые губы. Глянул в окно и потер нос. Потом перевел взгляд с окна на пол.

– Да. Положился. А он пропал. На связь не выходит, трубку не берет.

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

– Ты не знаешь, – понял я.

И несмотря на то что мысль я свою не закончил, он испуганно открыл рот. Да. Он, и правда, не знал. Не знал, зачем нужна программа и за что он заплатил деньги.

– Эта программа решает мировую проблему человечества. Программа сохранения мира на земле, – поспешно сказал Вышинский.

Но понял, что прозвучало не слишком убедительно.

– Он боится, что идею украдут, – признался наконец директор. И вдруг улыбнулся, – Разве не лучшая характеристика для проекта?

Я кивнул. Так вот почему в коде нет комментариев. Его автор – параноик.

Однако кое-что мне показалось странным.

– Боится, что идею кода украдут, однако сам код тебе отправил? – спросил я.

– Ты же видишь, как сложно его расшифровать.

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

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

Деланно засмеявшись, я спросил:

– И ты снова хочешь вложить деньги и снова ни о чем не спрашиваешь?

– Я уже говорил, я вкладываю в людей. Он – лучший. Я же не знал, что он трубку перестанет брать!

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

Я вздохнул и посмотрел себе под ноги. Директор пару раз приподнялся на носки и опустился обратно на пятки. Потом наклонил голову и состроил мне щенячьи глазки.

– От тебя ничего особенного не нужно. Просто успокой меня. Скажи, что код крутой, и я дам ему столько времени, сколько нужно. Или скажи, код – дерьмо, и я продам свою долю в компании. Если, конечно, другого такого дурака найду.

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

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

Я кисло улыбнулся. За нейросетями будущее – это да. Но кто знает, есть ли оно за программой Чагина.

Вышинский воспринял улыбку как добрый знак.

– Leader – классное название для языка программирования, согласись?

«Весьма претенциозное», – подумал я и повернулся к выходу.

Вышинский достал из кармана телефон и начал тыкать в экран пальцем.

– Я тебе компилятор скину. Сможешь запустить программу.

– А сам ты ее запускал?

– Да, она просит что-то ввести. Я вводил буквы, цифры, – он развел руки. – И ничего.

– А спецсимволы? Все кнопки на клавиатуре проверил?

Вышинский кивнул:

– Посмотри код.

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

Я достал телефон и открыл контакты. Нашел номер Чагина. Перед тем, как звонить, обвел глазами опенспейс. Я сделал это инстинктивно. Хотел проверить, не подслушает ли кто разговор. Но вместо этого увидел офис глазами Чагина.

Мужчина в очках с толстыми стеклами, который приходил точно к началу рабочего дня и уходил в восемнадцать ноль-ноль; бухгалтер, что болтала по телефону всякий раз, как из офиса отлучался Вышинский; серверный программист, из всех возможных браузеров предпочитавший internet explorer; и я – неужели именно в нашем присутствии должна быть разгадана тайна всего человечества, взломан код, открывающий доступ к мирному сосуществованию на земле?

Чагин бы и минуты здесь не просидел. Ни минуты бы не потратил на рассматривание пыли, в лучах солнца плывущей по офису.

Я отбросил телефон и придвинулся к компьютеру. Открыл чат с директором. Скачал компилятор и с его помощью запустил программу Чагина.

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

Недолго думая, я набрал в поле слово help и нажал клавишу Enter. Мигающий курсор переместился на строку ниже. Ввел несколько цифр – то же самое. Я по очереди напечатал все специальные символы на клавиатуре, а также попробовал часто используемые сочетания клавиш, но результат был один – мигающий курсор.

Я не знал, что требует программа – пароль для запуска? тайный код? – но злился так, словно все преграды для расшифровки кода, с которыми я сталкивался, Чагин поставил специально для меня. И теперь откуда-то наблюдал, как я бьюсь над загадкой, которую он бы решил за пару секунд.

0.1. Адаптация

0.1.0. Большое разочарование

«Помнишь нашу первую встречу?

Ты стояла и смотрела на куст сирени. И я смотрел только на него. Потому что было страшно и неловко смотреть на тебя.

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

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

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

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

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

Возвращаться за ботинками было глупо, и я сделал вид, что все еще сомневаюсь. Что не решил. Что не до конца убедился в неспособности выполнить поручение Вышинского. А окончательное отчаяние овладело мной только в середине дня. Например, перед обедом.

 

Я сидел в поломанном кресле, открыв в редакторе исходный текст программы. Как и накануне, смотрел в экран, кликал мышкой. Но листая код, не надеялся его расшифровать. Я не хотел разбираться ни с языком программирования Leader, ни с приложением Чагина. И обрадовался, когда зазвонил мобильник.

Я вскочил с кресла, быстро пересек опенспейс и вышел в коридор.

– Ну что? – спросила Марина. – Обед готовить или в кафе пойдешь?

На самом деле, мою жену не интересовало, что и где я буду есть. Она хотела узнать, продолжу ли я напрасно тратить время в чужом опенспейсе.

– Что ты почувствовал, когда в первый раз увидел меня? – томно спрашивает она, ожидая услышать что-нибудь приятное.

– Возмущение, – без раздумий отвечаю я.

– Что?

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

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

Услышав голос Марины, я живо представил ее взгляд. Раньше на меня так смотрела мать. «Магулов – большое разочарование», – говорили ей учителя. И она смотрела на меня их глазами. «Магулов – большое разочарование», – думала теперь Марина.

Я представил, как посреди дня возвращаюсь домой с кружкой, сменкой и без инвестора. И понял, что не хочу ей уступать. «Можно остаться еще на неделю, пока не пойму. Не пойму, каким безумием занимаюсь и как мало за это платят», – подумал я.

А вслух сказал:

– Сама поешь. Приду позже.

И возвратился на рабочее место. Сел за компьютер и прокрутил в редакторе текст программы.

«Магулов – большое разочарование», – понял я. И надо сказать, что разочаровываться в себе больнее, чем разочаровываться в ком-то другом.

Я уныло листал программу вниз-вверх и вверх-вниз. Ждал окончания рабочего дня. И, в конце концов, заметил ошибку. Обычную, синтаксическую. Отсутствие точки с запятой в конце строки тогда, как в конце других строк она была.

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

– Это будет настоящий прорыв, – говорит Вышинский.

Я взял кружку и пошел к кулеру за водой.

«Предположим, Чагин, и правда, спасает мир, – подумал я. – Изобретает высокотехнологичный продукт и стоит на пороге необычайного прогресса. Все мы стоим, если верить Вышинскому. Но что можно создать при помощи нейросетей? И какую программу следует охранять с такой долей секретности, что в коде нет ни одного комментария?»

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

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

Машины научились многому. Дело за малым. Спасти человечество.

Я ни на шутку загорелся. Вдруг Чагин действительно придумал что-то важное? Вдруг и я, Магулов, мог внести свою маленькую лепту в спасение человечества? И что бы сказала об этом Марина?

0.1.1. Звезда конференций

Я то и дело вспоминал свои беседы с Чагиным. И особенно часто возвращался мыслями к нашей последней встрече. Заострял внимание на деталях разговора, на отдельных фразах разработчика, на вскользь брошенных им словах. Я искал ключ. Ключ, который помог бы мне разгадать, какую цель преследовал Чагин и какую программу хотел создать.

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

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

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

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

– Это чему же? Если Вас не затруднит, приведите пример, – говорит Чагин докладчику и кривит губы.

Нет, мне это показалось. С того места, где сидел, я никак не мог бы заметить его ухмылку.

Что потом?

Вот Чагин смотрит на меня. Его осанка, посадка головы и даже выражение холодных глаз донельзя высокомерные.

Или нет? Он смотрел не на меня, он смотрел на докладчика. Наверное, тот что-то сказал перед этим. Но что?

– Можно научить искусственный интеллект совести, – говорит докладчик.

Точно! «Научить искусственный интеллект совести».

Он молча вертит в руках кликер.

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

Все смеются, кроме Чагина.

Антон что-то спросил у докладчика, а бородатый мужик с последнего ряда смешно пошутил. Передразнил он его, что ли?

На лице у Антона обычная маска презрения.

– Господа, Вы мешаете! – громко говорит он, обращаясь к бородатому мужику и его товарищам.

Я саркастически наклоняю голову набок. Слегка улыбаюсь. Готовлюсь кивнуть ему, но он даже не смотрит в мою сторону.

Почему я думал, что он посмотрит? Я тоже его дразнил? Сказал что-то обидное?

Я поправляю бейджик на футболке.

– Сделайте милость, не продолжайте доклад, пока они не уйдут, – говорит Чагин докладчику.

Я вздрагиваю, будто меня ударили. Но продолжаю сидеть на своем месте.

Докладчик сконфуженно кивает Чагину.

Непонятно было, кого он с большим удовольствием выгнал бы – бородатых мужиков или Антона. Все выступление Чагин с чувством собственного превосходства задавал ему вопросы типа: «Почему же Вы так думаете? Почему же Вы так решили? Позвольте спросить, что… Смею узнать, как…» – и специально бил в самые слабые места доклада.

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

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

«Ну нельзя же быть такой скотиной!» – думаю я.

Нельзя же быть такой скотиной и ничем не компенсировать это миру.

0.2. Вынужденное одиночество

0.2.0. Дано

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

Я достал телефон и прочел СМС. Два слова, которые не вязались с происходящим. Два слова, выпадающие из картины. Выглядели дико и бессмысленно.

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

Я выключил музыку. Споткнувшись, вошел в автобус. Снова включил. Вытащил из ушей наушники. Уставился в окно.

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

– Как спалось? – спросил я, как только проглотил еду.

Но Марина не ответила. Села за стол.

По утрам она не любила разговаривать, и обычно я не настаивал. Но в этот раз мне хотелось поболтать. Я был уверен, что кое-что нащупал. И это приводило меня если не к разгадке, то к хорошему настроению.

Я налил заварку в чашку и поставил ее на стол перед Мариной. Улыбаясь, наклонился, чтобы поцеловать жену.

Но она молча меня оттолкнула. Заглянула в чашку.

– Слишком крепко, – сказала Марина.

Я вылил часть заварки в раковину. Снова поставит чашку на стол.

– А так?

Она пожала плечами. Ее реакция была более чем положительной.

– Я тут кое-что понял. Про Чагина. Знаешь, как переводится слово Craft? – спросил я.

– Что? – не поняла Марина.

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

– Craft. Так его программа называется. Знаешь, какой перевод? – И, не дожидаясь ее ответа, торжествующе произнес: – Искусство. Мастерство!

Жена прибавила звук.

– А его язык программирования называется Leader, – повысил я голос.

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

– Leader! Представь, какое у него самомнение!

Сказав это, я неловко засмеялся. И тут же пожалел об этом.

– Жаль, у тебя такого нет, – сказала Марина.

Буквы одна за другой следовали из ее рта, но собирать их воедино не хотелось.

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

– Говорят, вселенная – плоская, – она рассматривает на свету вино в бокале, и ее голос медленно растекается в воздухе.

– Почему тогда то, что в ней находится, объемное? – я не хочу противоречить, но считаю своим долгом хоть что-то заметить ей в ответ.

– Потому что, – сначала отмахивается она. Но задумывается и предполагает: – Вселенная плоская, но входит в состав чего-то объемного, – взгляд круглых глаз устремляется ко мне. Зрачки расширяются. – Вселенная – одна из плоскостей объемного тела…

– И как же узнать, что собой представляют другие его плоскости? – спрашиваю я, пытаясь принять позу, в которой не так больно сидеть.

– Человек не может это узнать, – она счастливо смеется, словно сама – не человек. Опять рассматривает капли вина на стенках бокала. – Не зря же космос такой огромный. Человеку и жизни не хватит пролететь там приличное расстояние. Это только граница.

Граница, не похожая на границу.

Обман.

Я сел за стол и спросил:

– Может, поужинаем сегодня где-нибудь?

– Я занята. У меня клиент с ПТСР. И еще один, с неврозом.

– А профессионального выгорания у тебя не будет?

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

– Ты – мой герой! – сказал я и снова попытался ее обнять. – Решила спасти всех людей на планете?

Резким движением руки Марина стряхнула крошки со стола на пол.

– И почему после тебя так грязно всегда?! – сердито спросила она.

Встала и вышла из кухни.

И только я потянулся за бумажными полотенцами, чтобы протереть стол, пришло СМС.

Два слова, которые стояли у меня перед глазами, пока мыл посуду, чистил зубы, собирался на работу.

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

Мир, который Чагин хотел сделать лучше, ничего не заметил. Мир не заметил, что Чагин умер.


Издательство:
Автор