Астральщик. Том 1 (СИ) - Ясинский Анджей. Страница 63
Теперь надо заняться нападением. Спускать такое никак нельзя. Выставив вокруг дополнительные сигналки и защиту, в том числе дезориентирующую и отпугивающую при приближении ко мне, я аккуратно вылез в инфосеть. Огляделся. Интересно, что-то никого не видно. В смысле никого из активных отражений божественных приспешников. Ну, это мне на пользу. Уже не особо таясь, я двинулся вдоль по инфонити, прицепленной к напавшему на меня человеку. Достигнув информструктуры человеческого организма, подвесил к ней мою шпионскую аппаратуру и быстро вернулся в тело.
Обзор в триста шестьдесят градусов рулит! Я и мужика рассмотрел, и местность вокруг него, и звук шел качественный. Ну, пока ничего особенного не было, этот тип спокойно перемещался куда-то в районе Серебряного Кольца. А я задумался. Какой мне толк постоянно смотреть за ним? И время свое трачу, и не факт, что доберусь до заказчика таким образом. Чего бы тут придумать такого, чтобы и толк был, и мне не напрягаться?
Об этом я думал все время, что возвращался обратно — желание гулять дальше совсем пропало. Несмотря на вполне положительные эмоции начала дня, отдых, можно сказать, испорчен. На всякий случай скрытно удостоверился, что с Кариной все в порядке. Она мило общалась с какой-то новой подружкой, Карина несколько раз назвала ее Меиной. Раньше я ее не встречал, но мало ли у Карины подруг старых и новых? Ну раз такое дело, меня все бросили, то что, я один должен страдать? Поэтому, запершись в своей комнате, приступил к работе.
На самом деле что мне нужно? А нужно найти виновных в нападении на меня, и по возможности наказать. А сделать это очень и очень непросто. Что-то сомневаюсь я, что тот арбалетчик сразу побежит к заказчику, да и сколько там промежуточных звеньев? А заказчик вообще может не знать о конкретных деталях устранения меня любимого. Вот такие пироги. Это удивительно, но как я посмотрю, в основном внешние обстоятельства заставляют меня раз от раза чуть ли не прыгать выше головы и постоянно напрягаться на разные «открытия». Вот и сейчас, поняв величину проблемы, я хоть сначала и погрустил немного, но все же занялся делом. А для того, чтобы найти заказчика, мне нужно построить ни мало ни много, а социальный граф знакомств одного поца, что кидал в меня арбалетные стрелки, и то же самое делать для каждого человека, что общается с ним, и так далее по разветвленной восходящей… Вот и получается, что в основном только случайно среди всех этих связей можно найти нужного человека, если там конкретно будет говориться обо мне или о нападении. В общем адская работа, совсем не для ручного исполнения, и вдобавок с сомнительным результатом.
Глянув мельком на то, чем занимается мой несостоявшийся убийца, с облегчением вздохнул — тот, видимо, решил отлежаться и забурился в какой-то трактир в Бронзовом Кольце. Так что время у меня пока есть.
А решил я сделать автоматизированный такой вот построитель связей. Проблема выглядит с одной стороны достаточно просто, а с другой — ее уровень кажется выше моих текущих возможностей. В общем, мне надо отмаркировывать всех личностей, с которыми общается или к которым проявляет интерес определенная личность. Как только такой человек отмаркирован, то же самое должно происходить с ним — маркируются все, с кем общается уже этот человек. При этом отслеживаются все разговоры. Желательно отфильтровывать разговоры, связанные со мной, нападением и прочими подобными вещами, то есть «понимать» речь хотя бы на примитивном уровне. В зависимости от важности разговора, то есть если там попадаются нужные мне слова, фразы или упоминания меня, таким людям ставить более высокий приоритет. Желательно не учитывать случайные встречи. Должно получиться очень разветвленное дерево, вернее объемный граф связей, в центре которого находится один человек — мой несостоявшийся убийца. Отмаркированные люди должны выделяться на общем фоне согласно их приоритету. Я вполне понимал сложность задуманного, ведь может так получиться, что, согласно старой теории о «шести рукопожатиях», в результате у меня в графе может оказаться весь Широтон, а то и больше. Но я не видел очень большой проблемы в этом. Главное — проследить связи и влезть в бой, кое-что своими глазами посмотреть. Да даже если ничего и не получится — горевать я особо не буду. Ну, придавлю потихоньку непосредственного исполнителя — и ладно. К возможным дополнительным нападениям я почему-то отношусь вполне индифферентно.
Для реализации задумки в качестве основного инструмента я взял разработанный ранее мой первый почти полноценный комп, то есть упрощенное ядро инфосервера (по факту и образно — тень ядра). Навесил на него определитель лиц, разработанный для поиска человека с востока, немного его изменив в плане более широкого определения людей. Подключил ядро моей «болталки», чтобы если понадобится — посмотреть что там и как. Написал логику определения общения — от обычного разговора до простых касаний. Надеюсь, эти люди не используют секретные переписки, знаки на стенах и прочую конспирологическую фигню, а также общение по амулетам связи. Насколько я знаю, даже чародеи не особо ими пользуются, чего уж говорить об обычных людях. Самое сложное оказалось написать самогенератор. То есть такое устройство должно было «родить» свою копию и подсадить ее на встреченного человека. С симбионтами такое было легче реализовать, но тут они, к сожалению, не в тему. Эта задача напомнила мне упражнение из детства, когда я только начинал программировать — там надо было написать программу, которая распечатывает сама себя символ в символ. Так и тут. Пожалуй, данный генератор оказался самым сложным модулем системы, отчего он у меня сначала не выходил, а потом слишком загромождал всю систему. Из-за этого объем плетения и сложность исполнения возрастали многократно. Результат хоть и работал, но категорически мне не нравился, и я в конце концов плюнул и поступил по-другому. Все равно каждый такой модуль коннектится к инфосерверу. Вот и пусть тот генерит по шаблону и по запросу нужные плетения, отдает моему шпиону, а тот будет подключать их к новому человеку. Кроме того, так проще и обновлять шпиона, если вдруг понадобится. Алгоритм подключения тоже уже отработан на амулетах, позволяющих цеплять к человеку «болталку». Осталось только предусмотреть разрешение конфликтов, если вдруг человеку решить подключить мою «лицензионную» «болталку», ну и еще множество мелких и не очень моментов.
Еще неплохо было бы прикрутить что — нить связанное с аурами, например, определять ее тонкие состояния и изменение у реципиента и встречных людей, но… Время уже утекало. И еще я пожалел, что не прочитал древнюю книгу в кристалле. почему-то мне казалось, что именно там есть нужные сведения как раз о таком магичении. Ну да ладно. В любом случае у меня есть возможность на ходу обновлять мои шпионские инфомагические паучки — все они связываются с инфосервером, который строит граф и собирает статистику. Ну, а я уже получаю выжимку, хотя могу влезть и в любой узел, и в любой алгоритм. Причем могу все наблюдать и в процессе, то есть промежуточные состояния, и работу алгоритма. Так сказать, визуализированная отладка в режиме реального времени.
Отправка по инфонити моего подарка и прикрепление его к убийце не составили большого труда и не заняли времени. Мужчина как раз собрался спуститься в зал поесть, так что я расположился поудобней в кресле и приготовился отлаживать систему по ходу дела.
На внутреннем экране появилась первая связь. Ею оказалась официантка таверны. Алгоритму распознавания показалась подозрительной ситуация, когда она выложила на стол содержимое подноса и перекинулась с клиентом некоторыми словами. Кроме «белого» списка слов и фраз у меня был и «черный», который в определенной комбинации со словами из «белого» списка отменял их. Там тоже довольно сложная лингвистическая задачка была, но мне вполне знакомая. Кстати, в процессе упрощения и уплощения ядра сервера потерялись и многие навороченные модули-программы. В том числе и связанные с лингвистикой, так как это все было завязано на внутренний ИИ сервера, который, в общем-то, и усложнял всю систему (как только хорошо освоюсь со всем этим добром, то и до него доберусь). Поэтому и пришлось использовать эти допотопные алгоритмы и подходы — «белые» и «черные» списки, какую-то несложную логику.