Максим Кидрук - Бот
Видеоролик открылся. Запись длилась 44 мин 23 с. Начиналась нарезкой сюжетов, снятых во время встречи американской делегации. Генералы в очках, в строгой форме без знаков различия выходят из двух вертолетов. Их встречают Кейтаро Рока, Кацуро Такеда и Вилл Ноланд.
— Перемотай вперед, — попросил Ральф.
Генералам показывают комплекс. Потом везут на полигон в пустыню. Начинается демонстрационный показ.
— Суть теста заключалась в следующем: на специальном участке, огражденном бетонными блоками, друг за другом стоят манекены. Они изображают врагов.
Тимур видит манекенов. Их двадцать. Расставлены как попало. Бетонные стены вокруг формируют длинный коридор. В одном конце его перекрывает бронированный щит. За ним стоят два бота. С другого конца коридор заканчивается тупиком. В этом месте высоко на стене прикреплены на кронштейнах два скорострельных авиационных пулемета M134 «Миниган»[68].
— Пулеметы снабжены лазерным прицелом и компьютеризированной системой поиска цели, — объяснил Ральф. — Они реагируют на движение, молниеносно открывая огонь. Мы зарядили их боевыми патронами.
Повсюду валяются бетонные блоки, автомобильные шины, ржавые бочки. За ними кое-как можно спрятаться от пулеметных прицелов. Ботам дают оружие и компилируют на мозговые платы программу уничтожения манекенов.
Генералы, надув щеки, с интересом следят за приготовлениями с наблюдательного пункта, устроенного на холме неподалеку.
Показ начинается. Боты выбегают из-за защитного щита. Пулеметы сразу открывают плотный огонь. Летят бетонные осколки стен, пули вздымают песчаную пыль. Однако через считанные секунды пулеметы смолкают. Над площадкой висит туман из дыма и пыли. Кто-то из американских офицеров снимает очки и хмурится.
Тимур поглядел на Ральфа. Он не понял, что произошло.
— Смотри дальше, — коротко бросил Ральф.
Идет замедленный повтор. В левом нижнем углу экрана высвечивается время с начала боя, число пулеметных выстрелов и «убитых» манекенов. Боты затратили на всю операцию 19 секунд, «уничтожив» все 20 манекенов. За это время пулеметы произвели по 840 и 973 выстрела, но даже не зацепили ботов. Они двигались настолько быстро и непредсказуемо, что компьютеризированной системе не удалось их даже поцарапать.
В углу экрана зависают итоговые титры:
00:19.16
SHOTS: 840|973
TARGETS DESTROYED: 20
— Да, это круто, — признал Тимур. — Но ничего бы не вышло, если бы свели к минимуму количество независимых параметров, поступающих из внешнего мира.
— Погоди, сейчас будет самое интересное.
Наблюдательный пункт. Довольные американцы, просмотрев замедленный повтор, пораженно качают головами, улыбаются, похлопывают по плечам Вилла Ноланда. Некоторые даже аплодируют. Кейтаро от гордости надулся, как индюк. Стоит поблизости довольный, заложив руки за спину.
Вдруг к нему подбегает Ральф и что-то взволнованно шепчет на ухо. Они отходят в сторону и вглядываются в тестовую площадку. Там что-то происходит. Лицо Кейтаро вытягивается. Он отдает приказ Ральфу. Ральф Доэрнберг быстро спускается с помоста, прихватив с собой «ремингтон». За ним идут два чилийских охранника. Тем временем Джеп подходит к американцам и торопливо уводит их с наблюдательного пункта.
— Что там случилось? — спросил Тимур.
Ральф кивнул на экран.
Картинка снова меняется. Посреди экрана моргает: «ЭКСПЕРИМЕНТ ЗАВЕРШЕН». Камера наплывает на ботов, которые стоят у тупика, окруженные бетонными блоками. Один из них вскакивает на спину другому, дотягивается до кронштейна с пулеметом. Подтянувшись, бот дотягивается до поворотной системы и несколькими ударами разбивает ее. Пулемет наклоняется, жужжит и валится на землю.
«ЭКСПЕРИМЕНТ ЗАВЕРШЕН». Тогда что за хрень с этеми ботами?
В это время из-за брони появляются Ральф с охранниками, они боязливо направляются к ботам по коридору. Боты пытаются добраться до второго пулемета. Но он находится выше первого и прежним способом его не достать.
Эксперимент завершен? Да что вы!
— Можно выключать, — сказал Ральф. — А вот в этом файле алгоритм, по которому действовали боты.
Тимур наклонился к монитору. С удивлением отметил, что интерфейс дебагера ему неизвестен. К счастью, синтаксис напоминал С++, поэтому с кодом проблем не было.
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[69]. При помощи подпрограммы Get-Targets[70] анализируются объекты на площадке и в ячейки DOLLS вводятся координаты объектов типа gt_Type1, то есть манекенов. Оператор GetTargetsNumber[71] задает количество мишеней и последовательность их уничтожения. После запускается цикл, на каждом шаге которого бот уничтожает одну из целей. Этими действиями руководят подпрограммы MoveToObject[72] и Destroy[73]. После того как все цели уничтожены, производится очистка памяти. Непонятно Тимуру было лишь предназначение оператора System.Macros.
Просмотрев код, Тимур вдруг понял, что программа не предусматривает уничтожение пулеметов ботами. В их сознании (точнее, в виртуальном видении мира) М134 просто не существовали! Боты должны были реагировать лишь на манекены. Несмотря на это, «малыши» нашли «Миниганы». Получается, что боты пытались уничтожить пулеметы через две минуты после того, как сама тестовая программа была стерта с их мозговых плат.
— А теперь взгляни на визуализацию результатов энцефалографии.
На экране появилось новое окно, разделенное пополам. Одну часть занимало 3D-изображение мозга, на второй демонстрировалась видеозапись боя. Двадцать секунд от начала боя платы в мозгу светились красным, то есть напряженно работали. Остальные части мозга оставались серыми, то есть инертными. Порой кое-где проступали розовые пятна. «Уничтожив» последний манекен, боты замерли.
— В этом месте процедура удаляется с мозговых плат, — уточнил Ральф.
Все части 3D-изображения мозга стали пепельно-серыми. Тимур перевел взгляд на запись с видеокамеры. Бот взбирался на плечи другому, чтобы дотянуться до пулемета. Программист снова подумал: программа ни при чем. Снова взглянув на 3D-изображение мозга, Тимур похолодел. Мозг оставался пепельно-серым, за исключением центральной части платы — она стала ярко-красной. Бот не думал, он подчинялся импульсам с процессора.
(adsbygoogle = window.adsbygoogle || []).push({});