Кимнах.
— И вие сте се сетили за рояк от нанокомпоненти.
— Точно така. — Рики посочи екрана, на който се виждаше рояк черни точки, носещи се във въздуха като птици. — Облак от компоненти, който да позволява да създадеш камера с колкото голям обектив искаш. И не може да бъде свалена, защото куршумът просто преминава през облака. Нещо повече, можеш да разпръснеш облака, както се пръска ято птици при изстрел. Така камерата ще стане невидима, докато не се образува отново. Това решение изглеждаше идеално. Управлението за научноизследователски проекти към министерството на отбраната ни отпусна тригодишно финансиране.
— И?
— Заехме се да създадем камерата. Разбира се, веднага стана ясно, че имаме проблем с разпределения интелект.
Бях запознат с този проблем. Наночастиците в облака трябваше да имат рудиментарен интелект, за да могат да си взаимодействат и да образуват ято, което да лети във въздуха. Такава координирана дейност може да изглежда много интелигентна, но се наблюдава дори когато образуващите ятото индивиди са изключително глупави. В края на краищата могат да го правят птиците и рибите, а те не са най-умните същества на планетата.
Повечето хора, които наблюдават ято птици или риби, предполагат, че животните са ръководени от водач. Причина за това е фактът, че подобно на повечето стадни бозайници, хората имат групови водачи.
Но птиците и рибите нямат водачи. Техните групи не са организирани така. Задълбоченото проучване на поведението на ятото — видеоанализ кадър по кадър — показва, че няма водач. Птиците и рибите реагират на няколко прости стимула, резултат от които е координираното поведение. Ала никой не го контролира. Никой не ги води. Никой не ги насочва.
А и отделните птици не са генетично програмирани за образуване на ята. Нищо в мозъка на птицата не казва „когато се случи еди какво си, започни да образуваш ято“. Напротив, образуването на ятото се явява в групата в резултат на много по-прости елементарни правила. Правила като „стой близо до съседните птици, но не се блъскай в тях“. С помощта на тези правила се постига строгата координация на цялата група.
Тъй като се основава на елементарни правила, образуването на ято се нарича „спонтанно поведение“. По дефиниция спонтанното поведение се наблюдава в групи, но не е заложено в отделните им представители. То се среща във всякакви популации, включително компютърни. Или популации от роботи. Или нанорояци.
— Проблемът ви е било спонтанното поведение на рояка, така ли? — попитах Рики.
— Точно така.
— Било е непредсказуемо, нали?
— Меко казано.
През последните десетилетия тази представа за спонтанното групово поведение беше предизвикала малка революция в компютърните науки. За програмистите тя означаваше, че можеш да заложиш правила за поведение на отделните агенти, но не и когато действат заедно.
Отделните агенти — независимо дали се отнася за програмни модули, процесори или в случая, микророботи — могат да се програмират така, че да си сътрудничат при едни условия и да си съперничат при други. Могат да им се поставят цели. Могат да се инструктират да преследват целите си с неотклонна решителност или да се отклоняват, за да помагат на други агенти. Но резултатът от тези взаимодействия не може да се програмира. Той просто се оформя, често с изненадващи последици.
В известен смисъл това бе вълнуващо. За пръв път програмите даваха резултати, които програмистът изобщо не можеше да предвиди. Тези програми се държаха повече като живи организми, отколкото като изкуствени създания. Това вълнуваше програмистите — ала и ги дразнеше.
Защото спонтанното поведение на програмите е променливо. Понякога съперничещите си агенти стигат до задънена улица и програмата не успява да постигне нищо. Друг път агентите толкова силно си влияят, че изгубват пътя към целта и извършват нещо друго. В този смисъл програмата прилича на дете — непредсказуема и разсеяна. Както се е изразил един програмист, „да програмираш разпределен интелект е все едно да казваш на петгодишно дете да иде в стаята си и да се преоблече. Детето може да го направи, но е също толкова вероятно да направи нещо друго и изобщо да не се върне“.
Тъй като тези програми се държаха като живи, програмистите започнаха да използват аналогии с поведението на живите организми в реалния свят. Всъщност те започнаха да имитират поведението на истински организми, за да постигнат известен контрол над резултатите от програмата.
Читать дальше