Глава 2
31 мая 2015 г. в 16:46
«Согласование плана мероприятий на период лета 2047 года», – неспешно прочитал Имура Тадаси заголовок документа, открытого на виртуальном рабочем столе.
Заголовок не вызывал почти никаких эмоций. Последнее лето в средней школе для любого школьника – то самое волшебное время, когда можно в последний раз ощутить уходящую беззаботность. О будущем можно подумать потом, осенью. А мероприятия… да какие летом мероприятия? Ну, разве что поездки на курорты, но это не раньше августа.
Другими словами, документ не представлял для Имуры никакого интереса. Если подумать, у него есть право повозмущаться на старосту их класса за то, что она попросила его ознакомить с этой бумажкой председателя секции программирования. Ему ведь даже не нужно относить документ – председатель наверняка и сам уже получил его по локальной сети.
Но если кто-то другой на месте Имуры возмутился бы, сам он не позволил себе так сделать. С его точки зрения, выполнение таких заданий позволяло ему поддерживать своего рода баланс. Отказываться от всего подряд неприлично, а время от времени выполняемые поручения служат хорошим подспорьем для того, чтобы не браться за неприятную работу, чем Имура нередко и пользовался. Из-за этой точки зрения он уже успел прослыть человеком расчетливым, но программисту такая характеристика, возможно, была даже лестной.
Как бы там ни было, суть его сегодняшнего поручения сводилась к тому, что он должен взять на себя часть работы старосты класса, а именно: согласовать планы на лето с председателем секции программирования. Имура не предвидел никаких сложностей – планы на лето они с ним обсуждали совсем недавно, так что много говорить не придется.
Собственно, староста обратилась к Имуре именно потому, что тот состоял в секции программирования, куда в данный момент и направлялся.
Школьников в коридоре становилось все меньше. До четырех часов и начала работы большинства секций оставалось около 15 минут. С учетом внушительных размеров школы Уэхара, после окончания уроков по ней, пожалуй, можно бродить целый час, но так и не встретить ни одной живой души.
Через пару минут Имура добрался до нужной двери, нажал на высветившуюся перед ним кнопку и отодвинул в сторону щелкнувшую дверь.
– Добрый день, – на автомате поздоровался он и зашел.
Нельзя сказать, что комната их секции была просторной. В былые времена, когда для программирования требовался стационарный компьютер, под эти секции выделяли очень крупные помещения, но сейчас им достаточно лишь стульев.
Конечно же, она не была настолько уж аскетичной – посреди комнаты стоит большой стол, за которым можно разговаривать, на столе – несколько хабов, у стены – доска с метками для дополненной реальности, книжный шкаф, максимально удобные стулья и, отдельно от всего остального, еще один небольшой столик с бумагами.
За ним и сидел Танака, председатель секции, тут же отозвавшийся словом «привет».
Помимо него в комнате находилась еще пара человек, но они неподвижно сидели на стульях с закрытыми глазами, а от их нейролинкеров к хабам тянулись XSB-кабели. Они уже успели погрузиться и не слышали Имуру. Впрочем, с ними он мог поздороваться и позже.
Имура закрыл за собой дверь и сразу направился к столику председателя.
– Я сегодня с поручением.
– О боже. И так сегодня документов привалило, – невесело отозвался Танака.
– Оно как раз на эту тему. Думаю, ты уже даже видел это, – сказал Имура, взмахивая пальцем.
Танака прищурился, разглядывая открывшийся перед глазами документ, а затем утвердительно кивнул:
– Да, смотрел уже. Это практически то, о чем мы с тобой недавно говорили. У тебя новых мыслей не появилось?
– Нет. Как я уже говорил, летом нам особо нечего предложить школе. Вот осенью…
– Ладно, я понял, – прервал Имуру Танака. – Если Такахаси спросит, передам, что мы с тобой все тщательно обсудили.
– Спасибо, – с улыбкой отозвался Имура.
Хоть Имура и не считал себя человеком общительным, он старался поддерживать хорошие отношения с людьми вокруг себя. Это порой требовало немалых усилий, но помощь, например, Танаки, часто приходилась очень кстати.
Танака провел рукой в воздухе, закрывая документ, и перевел взгляд на Имуру.
– Ну, я надеюсь, ты сюда не только за этим пришел. Ты ведь собирался сегодня опробовать свою работу?
На лице Имуры появилась улыбка. Разговор перешел на гораздо более приятную тему.
– Ага. Хочешь посмотреть?
– На самом деле у меня сегодня много документов, но ладно – не зря же я в этой секции состою.
Ухмыльнувшись, Танака встал и пересел за большой стол.
Уселся и Имура. Взяв со стола свободный конец кабеля, он подключил его к нейролинкеру.
Могло показаться, что в эпоху такого всепроникающего развития беспроводных технологий кабельное соединение – вымирающий анахронизм, но проблемы безопасности, возникавшие при беспроводном соединении, не давали отказаться от проводов. В частности, только проводное подключение к виртуальному пространству дает низкоуровневый доступ к нейролинкеру, что необходимо программистам.
Окинув взглядом индикаторы на виртуальном рабочем столе, Имура закрыл глаза и прошептал:
– Дайрект линк.
Поскольку виртуальные миры изначально разрабатывались для игр и досуга, они всегда предоставляли возможность принимать форму аватара и быть в виртуальном мире кем только захочется. Но со временем виртуальная реальность стала все более всепроникающей, и это неизбежно привело к появлению неписаных (а порой и писаных) правил выбора аватаров в различных обстановках.
В принципе, строгих правил выбора аватара для сети секции программирования не существовало, но по инструкциям школьникам настоятельно рекомендовалось использовать в ней аватары на основе своих реальных тел.
Когда Имура появился на белом плиточном полу виртуальной лаборатории, он практически ничем не отличался от самого себя в реальности – такой же высокий и худощавый, как и в реальности, в декоративных черных очках без линз и с довольно короткими волосами. Одет он, опять же, в школьную форму, и единственной изменившейся деталью стал пропавший нейролинкер.
– О, привет, Имура, – послышался голос Кендзи, одного из коллег Имуры по секции. – Мы тут тебя заждались уже.
Имура повернулся на звук и увидел двух школьников рядом с огромным столом. Сам стол, как и пол, был белоснежным. Нетрудно догадаться, почему – времени на художественное оформление зала никогда не оставалось.
Впрочем, это не значило, что крупная, примерно в 300 квадратных метров, комната вгоняла своим видом в уныние. У стены стояли комфортные кресла и диваны, в одном из концов зала высились стеллажи с книгами по программированию, а на противоположной стороне виднелись стационарные терминалы.
Из-за необходимости сверяться с данными из глобальной сети, школьная администрация все-таки выделила сети секции программирования точку доступа к ней, но с определенным условием: простое подключение к локальной сети кабелем не должно открывать доступа в глобальную сеть, чтобы не допустить злоупотреблений. Вместо этого, доступ должен быть организован через виртуальные объекты – те самые терминалы. Другими словами, через них можно искать информацию в сети.
Конечно, кто-то мог бы упрекнуть администрацию школы в драконовских порядках, но на самом деле Имура даже радовался тому, что его нейролинкер не соединен с глобальной сетью. В противном случае заниматься в этой секции было бы весьма проблематично.
Впрочем, белый стол на белом полу все-таки виден довольно плохо. Имура подошел к столу и легонько постучал по нему. Перед глазами появилось меню объекта, в котором он выбрал настройки цвета, и перекрасил стол в серый.
Почти вместе с этим недалеко от стола в воздухе появились спецэффекты, и в комнате появился Танака. Придя в себя, он тоже подошел к столу.
– Ну что, Имура. Рассказывай.
Все коллеги Имуры посмотрели на него. Слегка прокашлявшись, он начал:
– Кхм. Как вы уже знаете, я думал над реализацией алгоритма преследования в лабиринте с нулевой начальной информацией.
С этими словами он щелкнул по невидимому для остальных значку перед глазами и в появившемся меню выбрал нужную кнопку.
Из стола тут же выплыли тонкие стенки лабиринта высотой примерно 10 сантиметров. Затем в противоположных углах появились два шарика диаметром примерно 5 сантиметров – один красный, другой зеленый.
– Другими словами, – продолжил Имура, – я пытался смоделировать поведение хищника, который пытается поймать убегающую от него по лабиринту жертву. При этом я считаю, что на начальном этапе хищник ничего не знает о лабиринте.
– А жертва? – вставил Соити, еще один коллега Имуры.
– Это неважно, – ответил Имура. – Это влияет лишь на то, будет ли жертва поймана, в то время как меня интересовала лишь сама стратегия преследования. Можешь считать, что хищник не знает об этом ничего.
Соити кивнул и перевел взгляд на лабиринт. Имура возобновил объяснение:
– При передвижении жертва издает звук, на который ориентируется хищник. Громкость звука позволяет ему определить, как далеко она и в каком направлении. Стратегия строится на основе этих данных и знаний о лабиринте. И вот тут я столкнулся с интересной ситуацией…
Заметив заинтересованные взгляды коллег, Имура выждал небольшую паузу, после чего сказал:
– На начальном этапе преследования звуковая информация почти не играет роли, поскольку хищник настолько плохо ориентируется в лабиринте, что совершенно не знает, куда идти. Но чем дольше идет преследование, тем менее важным становится зрение – по выученному лабиринту можно идти с закрытыми глазами, ориентируясь только на звук.
– Интересно. Ты это учел в модели? – задал очевидный вопрос Танака.
– Попытался, – с полуулыбкой ответил Имура. – Сейчас запустим и посмотрим, насколько похоже получилось на то, что я описал.
Еще раз окинув лабиринт взглядом, Имура негромко произнес:
– «Старт».
Шарики тут же пришли в движение.
Зеленый шарик (видимо, изображавший жертву), двигался медленно, словно опасаясь чего-то, зато красный быстро метался из стороны в сторону, то и дело натыкаясь на тупики. Он начал потихоньку приближаться к зеленому шарику, и тот, услышав это, тоже начал летать с той же скоростью.
Начавшаяся погоня походила на хаос – казалось, шарики движутся в совершенно случайном направлении. На самом деле, тон задавал, в основном, красный шарик, а зеленый больше реагировал на его движения.
При этом шарики очень редко повторяли одинаковые позиции – сказывалась обучаемость. Из-за этого их танец казался действительно интересным – трудно предугадать, какая ситуация сложится в следующий момент.
Затем начало казаться, что шарики ускорились еще сильнее. Но это лишь иллюзия – скорости не менялись. Дело в том, что они постепенно переставали натыкаться на тупики и шли по уже известным тропам.
К чести красного шарика, он не гнался за зеленым просто по пятам. Он то и дело неожиданно сворачивал, пытался идти на перерез, обходить с боков… но и зеленый не терял бдительности, всякий раз уходя от своего преследователя.
Спектакль разворачивался примерно три минуты, и за все это время ни один из четырех программистов не издал ни звука. Как только с начала работы алгоритма прошло ровно 200 секунд, шарики вдруг замерли на месте, а над столом появилось виртуальное окно статистики, сообщавшее, что жертве удалось уйти.
– Красиво получилось. Жаль, что не поймал, – выразил общее мнение Кендзи.
– Возможно, я что-то не учел, – удрученно отозвался Имура. – Похоже, что обучаемость жертвы тоже нельзя недооценивать.
– Но ты же сам говорил, что это неважно! – парировал Соити.
– …Может, я ошибся.
Имура уже свесил голову, как вдруг раздался задумчивый голос Танаки:
– Нет, я думаю, здесь что-то еще… может, мне показалось, но, по-моему, хищник стал менее опасным после того, как выучил лабиринт.
– Э? – удивленно обронил Имура.
– По-моему, знание лабиринта сделало его движения куда более предсказуемыми.
– Но, но ведь я учел это. Вы же видели, что он периодически пытался сбить жертву с толку!
– Как ты думаешь… – сказал Танака настолько задумчиво, словно спрашивал скорее себя, а не Имуру. – Когда жертва была сбита с толку сильнее – в начале погони или в конце?
– …
Имура догадывался, что имел в виду Танака. В тот миг, когда зеленый шарик ускорился после первого приближения красного, он казался действительно испуганным. Никогда больше он не показывал такого страха, и на уловки своего преследователя просто отвечал аналогичными.
– …Лучше еще раз посмотреть, может, в этот раз станет понятно, чего тут не хватает, – тихо проговорил Имура, а затем сказал, – «Новый».
Примерно половина стенок лабиринта тут же убралась обратно в стол, а вместо них появились другие. Вновь появились шарики.
Но не успел Имура вновь запустить лабиринт…
Как один из стационарных терминалов у стены издал негромкий звон.
Каждый из этих терминалов привязан к отдельному человеку и отдан в его полное распоряжение. Среди установленных на них программ есть почтовый клиент, который получает данные о почтовом ящике с нейролинкера. Другими словами, с этих терминалов можно читать почту, приходящую на нейролинкер через глобальную сеть. Раздавшийся звук как раз и был оповещением о новом письме.
Вообще, Имура не хотел отвлекаться от эксперимента и идти к терминалу, но он понимал, что эти неожиданные трели здорово раздражают и сбивают с толку. Выключить звук на терминале можно и дистанционно, но он решил сделать это из меню самого терминала, чтобы заодно и прочесть непрошеное сообщение.
Извинившись, он быстро подошел к своему терминалу и потянулся к горящей на нем иконке в виде конверта. Рядом с ней было подписано название папки, в которую письмо определил фильтр входящей почты. «Разное».
Обычно люди не слишком беспокоятся с настройками почтовых фильтров, и в категорию «Разное» попадают практически все письма. Но когда Имура добрался до фильтров, он так увлекся, что теперь в эту категорию почти никогда не приходило писем. Если для большинства людей новое письмо в категории «Разное» не было чем-то необычным, то Имура сразу напрягся.
Тем не менее, он щелкнул по иконке и перед глазами появился текст письма.
Оно отправлено с анонимного ящика, по которому никак нельзя узнать отправителя.
Вместо темы – прочерк.
Наконец, само тело письма состояло всего из 5 символов:
«АПБ19».
Имура немедленно нажал на кнопку «Удалить письмо», затем отключил звук терминала, развернулся и побежал обратно к столу.
– Извините, спам, – быстро проговорил он, а затем произнес, – «Старт».
Шарики вновь начали носиться по лабиринту.
Имура делал вид, что внимательно следит за ними…
…Но на самом деле то письмо не было спамом. Имура понимал и то, кто его отправил, и то, о чем в нем говорится… и то, что сегодня он домой вернется значительно позже.