int TEST_010524()
{
Targets DOLLS(System.GetTargets(gt_Front, gt_Type1));
if (!DOLLS) return 0;
int NT = DOLLS.GetTargetsNumber();
for (int i=0; i<NT; i++)
{
System.MoveToObject(DOLLS[i], 1, 0, 0);
DOLLS[i].Destroy;
}
System.Macros();
Clear();
if DOLLS.AllDestroyed() return 1
else return 0;
}
Процедура була надзвичайно простою. Оголошувалася змінна DOLLS. Далі системна функція GetTargets аналізувала об’єкти попереду бота і записувала в DOLLS масив знайдених мішеней типу gt_Type1.
— gt_Type1 — це глобальна константа, що описує манекени, — розтлумачив Ральф.
Метод GetTargetsNumber визначав кількість мішеней. Потому запускався цикл, на кожному кроці якого бот рухався до мішені і ліквідовував її. Для цього використовувались функції MoveToObject та Destroy. Наостанок очищалася системна пам’ять і здійснювалася перевірка, чи всі манекени знищені. Для Тимура лишалося невідомим одне — призначення функції System.Macros.
Тимур продивлявся код, коли раптом усвідомив очевидне: ботів не програмували на знищення кулеметів. У їхній свідомості (точніше, у віртуальному баченні світу) М134 просто не існували! Боти бачили лише манекени. Попри це «малюки» знайшли «Мініґани». Більше того, боти силкувались вивести їх з ладу через дві хвилини після того, як тестові програми витерли з мозкових плат.
— А тепер подивись на візуалізацію результатів енцефалографії.
На екрані з’явилося нове вікно, розділене навпіл. Ліву частину займала 3D-модель мозку. Справа прокручувався відеозапис експерименту. Без пришвидшення. Перші двадцять секунд мозкові плати палали червоним. Працювали на повну. Решта мозку лишалася сірою. Лиш де-не-де проступали рожеві плями. Знищивши останній манекен, боти завмерли.
— В цьому місці процедура видаляється з мозкових плат, — сказав Ральф.
Мізки на 3D-діаграмі стали попелясто-сірими. Тимур перевів погляд на праву частину вікна програми. Бот очуняв і потягнувся до кулеметів. Програміст знову подумав: програма ні до чого. А тоді, глянувши наліво, на діаграму, що відображала активність мозку, похолов. Мізки бота лишались пасивними — сірими. Зате центральна частина мозкових плат набула яскраво-червоного забарвлення. Бот не думав. Бот підкорявся імпульсам з процесора.
Тимур впирався у глухий кут. Він вірив, що боти неспроможні реалізовувати складну поведінку; запрограмована істота фізично не здатна на таке. У той же час факти твердили протилежне: хлопчиками керувала програма.
Ральф зиркнув на наручний годинник:
— Закругляємось, Тимуре. Ми вже спізнились на вечерю. За кілька хвилин Кейтаро накаже заблокувати двері та опустити жалюзі в корпусі «DW».
— Можна ще питання? Перед приїздом американців ботів випускали у коридор?
— Звісно, ми їх вишколили. Проганяли двічі. Тільки замість М134 на стіні висіли дві пейнтбольні гармати.
— Тоді були якісь відхилення?
— Жодних.
Понеділок, 17 серпня, 08:55 (UTC –4)
«DW», житловий корпус
Ніч з неділі на понеділок минула без пригод. Загорожа стояла під напругою; ботів чекали. Втім, ті наче крізь землю провалилися.
Після сніданку Кейтаро Рока зібрав групу на планову нараду.
— Як успіхи, Тимуре? — без розшаркувань почав Джеп.
Програміст склав руки на столі.
— На мою думку, збій у роботі мозкових процесорів не міг стати причиною втечі та подій, що їй передували. Те, що здійснили боти, не можна назвати збоєм. Той факт, що під час утечі «малюки» керувались сигналами з процесорів, ще більше збиває з пантелику, — хлопець впер погляд у стіл перед собою. — Сьогодні я продовжу розслідування, детальніше розбираючи коди, але на даний момент я не до кінця розумію, що від мене вимагається.
— Якби ми розуміли, тебе б сюди не викликали, — холодно сказав Кейтаро. — Вас зібрали для того, щоб гуртом ми могли визначити причини, що призвели до подій 31 липня. Незалежно від того, вдасться нам це чи ні, від тебе, Тимуре, вимагається написати програму, яка нейтралізує ботів і дозволить повернути їх до лабораторії. 63 «малюки», що залишились у «яслах», піддаються перепрошивці. Ми зберігаємо доступ до їхніх мізків. Немає жодних причин думати, що з утікачами буде інакше.
— Раніше ви хіба не пробували?
— Пробували. Спочатку стирали все підряд. Потім закидали у голови підпрограми, орієнтовані на погашення активності та емоційних проявів. Модулі успішно компілювались, але з якихось причин не запускалися. Тобі треба розібратись чому і написати програму, яка запускатиметься.
Програміст глипав на Ральфа, Кейтаро, Тіану. Вони виглядали розслабленими. Група чомусь вірила, що Тимур, щойно торкнувшись клавіш, виправить усе і боти самі заскочать до ясел. Вони не розуміли, що шанси мізерні. Налаштування програми може розтягтись на місяці. За цей час, якщо він правильно зрозумів обстановку, боти передохнуть у пустелі.
Отоді Тимур відважився задати питання, котре муляло його цілий ранок:
— Слухайте, чуваки, а як щодо плану «b»?
У конференц-залі запала мовчанка. Відповів Ральф, ретельно підбираючи слова:
— Ми розглядали різні варіанти перед твоїм прибуттям, і чимало з них… більшість із них… кгм… майже всі вони є неприйнятними.
— Тобто в нас немає жодних альтернативних варіантів? Тільки програма?
— Є, — в розмову втрутився Ріно. Амбал підсунувся до столу, загасивши недопалок у чиємусь пластиковому стаканчику, і ляпнув: — На крайняк ми передушимо вилупків. Оце і є план «b», українцю.
Ральф послав гнівний погляд Хедхантеру, а тоді повернувся до Тимура. Неохоче визнав: