Українська література » Фантастика » Бот - Максим Іванович Кідрук

Бот - Максим Іванович Кідрук

Читаємо онлайн Бот - Максим Іванович Кідрук
голови «малюка». Затим натиснув кнопку «DLGHT», стежачи за тим, щоби бот бачив його дії. Протримавши стимулятор ввімкнутим протягом хвилини, програміст прибрав руку.

Бот очуняв, почав скімлити та раптом затих. Обвів усіх зачумленим поглядом. Тимур знову потягнувся до пульта і натиснув кнопку. Цього разу він утримував її кілька секунд і різко відпустив. Утретє повторювати не довелося — «малюк» зрозумів. Перехилившись над пультом, він взявся зі скаженою запеклістю натискати клавішу «DLGHT». Він утримував кнопку кілька секунд, поки м’язами не прокочувалась масляна насолода, в результаті чого натиск м’якшав. Рука розслаблялась. Потому бот дві-три секунди оговтувався і знову тиснув «DLGHT». Чоловіків і Лауру, які згуртувалися довкола, він більше не помічав.

Під час одного з натискань Лаура поторсала бота за плече. Смикнула за носа. Ляснула по щоці. Нуль реакції. Для «малюка» більше не існувало нічого, окрім чарівної кнопки, що дарувала кайф.

— Гадаю, ми можемо його залишити, — сказала Лаура. — Він не встане з цього місця до самої смерті.

CV

Субота, 29 серпня, 04:16 (UTC -4)

«EN-2», другий інженерний корпус

— Я можу почати працювати над програмою прямо зараз, — мовив Тимур. — Все одно не засну.

— Скільки тобі потрібно часу? — спитала Лаура.

— Не знаю, думаю, небагато. Максимум — кілька годин.

— Ти впораєшся так швидко?

— Це проста процедура. Крім того, я встиг добре розібратися в командах мозкового компілятора.

— Тоді до роботи!

Тимур перелопатив достатньо уривків програмного коду, щоби зрозуміти принципи програмування ботів. Більшість функцій детально описані і проілюстровані прикладами в мануалі, складеному Кейтаро, Вадимом Хортом та іншими програмістами, що працювали на «NGF Lab». Українець без особливих зусиль вималював у голові алгоритм і за дві години до світанку приступив до реалізації.

Насамперед створювався екземпляр класу nfBrainAction. Тимур назвав його Operation. Наступним оголошувався примірник класу nfImpact. Він ініціювався функцією NewImpact (), що викликалася з Operation. На цьому етапі Тимур отримував доступ до мозку, виходив за межі мозкового процесора. Далі задавався тип операції (om_Stimulation — стимуляція, а не зчитування імпульсів) і частина головного мозку, в якій проходитиме стимуляція (LIMBUS — лімбічна система). У змінну Coordinates типу nfImpactCoordinates записувались координати майбутньої стимуляції — HYPOTHALAMUS — гіпоталамус. Куди посилати імпульси, визначила Лаура; саме в гіпоталамусі знаходиться центр задоволення. Параметри імпульсів налаштовувались у структурі Imparam (типу nfImpactParam). Туди передавалися значення інтенсивності (ii_Normal — середня) та інтервалу, через який запускатимуться імпульси (100 мілісекунд). Робоча частина програми складалася з конечного циклу. Шістсот разів викликалася функція Delight.Activate (). Враховуючи заданий інтервал, стимуляція мала тривати рівно 60 секунд.

У самому кінці психіатр порадила додати функцію Imparam.HormoneCheckupOn (). Власне, функцію вибирав Тимур. Лаура лиш пояснила фізичний принцип, який мав бути закладений у програму і без якого стимулятор найбільш імовірно не працюватиме. Річ у тім, що за чуттєве задоволення у людини відповідає допамін — гормон, який виробляється мозковою речовиною надниркових залоз, а також багатьма іншими органами. Цей гормон діє безпосередньо на центр задоволення. Більшість наркотиків збільшують потік допаміну в 5 — 10 разів, даючи можливість людям, що їх споживають, отримувати задоволення. Так, амфетамін напряму збільшує викид допаміну, впливаючи на механізм його транспортування. Кокаїн блокує механізми зворотного захоплення допаміну, збільшуючи його концентрацію в синаптичному просторі. Алкоголь нейтралізує дію антагоністів[110] допаміну. Якщо наркоман продовжує стимулювати центр задоволення, мозок адаптується до штучного підвищення рівня допаміну, гальмуючи виробництво гормону і зменшуючи кількість рецепторів, що на нього реагують. Подальший розвиток хімічної толерантності призводить до незворотних змін у нейронах. Задоволення притупляється, а згодом зникає зовсім. Знайдена Тимуром функція HormoneCheckupOn () дозволяла «виключати» перевірку будь-якого гормону, примушуючи мозок ігнорувати згубний вплив на організм. Таким чином Тимур та Лаура перестраховувалися від того, що мозок ботів може адаптуватися до великої концентрації допаміну (hc_Dopamine).

Остаточно функція стимуляції набула такого вигляду:

nfBrainAction

Operation (System.GetOperation (NEW_DI RECT_ACTION));

if (!Operation.m_lpDispatch) return;

nfImpact

Delight (Operation.NewImpact (BRAIN_GLOBAL_PENETRATION));

if (Delight.m_lpDispatch)

{

Delight.SetOperationMode (om_Stimulation, TRUE);

Delight.SubGlobalTarget (LIMBUS);

nfImpactCoordinates

Coordinates (Delight.GetPosition (HYPOTHALAMUS));

if (Coordinates.m_lpDispatch)

{

Delight.SetTargetCoordinates (Coordinates);

Delight.SetOperationType (ot_Pulse, ot_Point);

nfImpactParam

Imparam (Delight.GetImpactParamDefini tion ());

if (Imparam.m_lpDispatch)

{

Imparam.SetImpulseIntensity (ii_Normal);

Imparam.HormoneCheckupOn (hc_Dopamine, FALSE);

Imparam.SetInterval (100);

Imparam.Update ();

}

}

else return;

for (int i=0; i<=600; i++) Delight.Activate ();

Clear ();

}

О 7:45 суботнього ранку бота, який до цього часу безперервно бавився з кнопкою «DLGHT», відірвали від пульта. «Малюк» довго оговтувався. Його лихоманило.

Очунявши, бот повернувся до депресивного, напівкататонічного стану.

Тимур наклав на його голову спеціальні електроди і скомпілював написаний код на мозкові плати. Запис процедури пройшов успішно, про що свідчило повідомлення по центру інформаційної панелі: PROCEDURE IS CHECKED AND COMPILED SUCCESSFULLY.

Тимур телющився на екран, на якому зависло повідомлення. Секунди спливали, але з ботом нічого не відбувалося. Подеколи він відключався, поринаючи у важку дрімоту. Потім прокидався і починав тихенько квилити, тягнучись пальцями до пульта, на якому блискала кнопка «DLGHT».

— Ну давай… давай же… — шепотів Тимур. Від напруження на скронях хлопця виступили краплини поту. — Запускай, ну… Здогадайся!

Після припинення стимуляції у бота впав кров’яний тиск, почалася брадикардія. Ніхто не знав достеменно, чи він куняє, чи втрачає свідомість.

Минуло кілька хвилин. Тимур повторив компіляцію. Процедура наново записалась на мозкові плати. І знову успішно — процесор «сприйняв» код. Утім, бот не запускав модуль. Він або не розумів, або не хотів його активувати.

Алан та Ріно скоса зиркали на програміста.

— Я думаю, йому потрібен час, — розгублено пробубнів Тимур. Хоч він і підозрював, що проблема не в часі. Можливо, бот не може вибудувати логічний ланцюжок «стимуляція — кнопка DLGHT — заборона користуватися кнопкою — запис процедури». Він просто не вловлює суть процедури.

— Спробуй додати команду на самозапуск після компіляції, — запропонував Алан.

Тимур вставив перед тілом основної процедури системну функцію — SetAutoRun (). Вона автоматично запускала модуль на виконання відразу після компіляції. І спробував скомпілювати змінений код.

Результат вийшов очікуваним. Реалізований Хортом функціонал по обробці макросів заблокував компіляцію. На інформаційній панелі вискочив червоний знак оклику і напис: COMPILATION FAILED! ERROR 117: INVALID DESCRIPTOR.

— Воно не хоче компілюватись, — зціпивши зуби, проказав Тимур.

— Бачу, — спохмурнів Алан.

— Що означає ця помилка? — ткнула пальцем в екран Лаура.

— INVALID DESCRIPTOR — неправильний вказівник на функцію чи процедуру. Компілятор не може заштовхати в голову бота функцію SetAutoRun (). Відповідно, решта коду також лишається не скомпільованою.

— І що тепер? — докинув з-за їхніх спин Хедхантер.

— Тільки чекати, — сказав програміст. — Чекати, поки бот не запустить стимулятор сам. Вибору у нас нема.

Ріно Хедхантер піднявся і залишив лабораторію. Вийшовши

Відгуки про книгу Бот - Максим Іванович Кідрук (0)
Ваше ім'я:
Ваш E-Mail: