НОВЫЕ ТЕХНОЛОГИИ

Первые шаги "искусственной жизни"

       

Эта волна захлестнула научный мир настолько внезапно, что застала врасплох и потенциальных сторонников, и оппонентов. Еще не успело закрепиться необычное название  -  "artificial life" (искусственная жизнь, вот так  -  не больше, не меньше!), как в Испании состоялся крупный международный конгресс ECAL, целиком посвященный проблемам новой науки, а исследователи возвестили о пришествии четвертой волны искусственного интеллекта. Что же это за таинственная наука, знакомство с которой вызывает любовь с первого взгляда либо мгновенное недоверчивое отторжение, но всегда  -  изумление на грани обывательской обиды : "Оказывается там, за углом, уже вовсю гуляют, а мы тут скучаем с пустым стаканом!".

 

Artificial life  -  новое слово на букву А

 

Судьба новых научных направлений  -  при всей их революционности, необычности и парадоксальности  -  как правило развивается по канонам классической мелодрамы, повторяя вечную сказку о Золушке. Напомним: к бедной Золушке, перебирающей мешок чечевицы (символ черновой научной работы поколения безымянных подвижников) является Добрая Фея (крупный заказчик, как правило, военный или финансист) и отправляет ее в сказочном наряде на бал в сияющий дворец (дает серьезный заказ и солидное финансирование). Но увы, часы бьют полночь, золотая карета превращается в тыкву, а бедная Золушка надолго отправляется на задворки науки, к безмерной радости завистливых сытых сестер. Обычно требуется много-много лет чтобы удостовериться, что хрустальный башмачок новых прикладных задач впору лишь одной таинственной беглянке, и повзрослевшая Золушка с триумфом возвращается во дворец  -  теперь уже на правах королевы.

 

Этот нехитрый сюжетный ход прослеживается в развитии практически всех новых наук  -  и теории нейронных сетей, и нечеткой логики, и генетических алгоритмов, и системной динамики, и других. Всех, кроме одной. В случае с Artificial life (или A-life, как окрестили новую науку фамильярные американские журналисты), не понадобилось ни доброй феи, ни настойчивого принца, ни услуг сказочных кутюрье. Золушка попала на бал прямо с кухни  -  в залатанном фартуке и с половником в руках. Однако уже давно за полночь, а поток лестных и заманчивых предложений от самых знатных поклонников не иссякает...

 

Итак, что такое Artificial life? Самое общее определение дает журнал MIDRANGE Systems, трактуя A-life как "компьютерное моделирование живых объектов" (MIDRANGE Systems, 1995, v. 8, № 13, p. 29). Однако на практике к A-life принято относить компьютерные модели, обладающие рядом конкретных особенностей. Во-первых, центральная модель системы  -  будь то персонаж детской игры, самоходный робот или интеллектуальный агент Internet  -  обладает способностью адаптироваться к условиям внешнего мира, пополняя знания о нем путем взаимодействия с другими объектами и средой. Во-вторых, компоненты системы, развиваясь в процессе эволюции, способны передавать свои характерные черты по наследству, т. е. присутствует механизм порождения новых поколений  -  путем деления, скрещивания либо дублирования существующих объектов.

 

В-третьих, окружающий мир достаточно жесток и сводит к минимуму шансы на выживание и появление потомства у слабых и плохо приспособленных особей. И наконец, присутствует механизм порождения новых форм (аналог мутаций в реальном мире), обычно содержащий элемент случайности.

 

Иными словами, чтобы решить реальную задачу методами Artificial life (например, создать истребитель идеальной формы, либо разработать оптимальную стратегию биржевой игры и т. д.), надо построить динамическую модель среды, в которой предстоит существовать проектируемому объекту, населить ее множеством разновидностей этого объекта и дать им "пожить" несколько поколений. Слабые особи будут погибать, сильные  -  скрещиваться, закрепляя в новых поколениях свои лучшие черты. Через несколько десятков (иногда  -  сотен и даже тысяч) циклов такая селекция породит "цивилизацию" практически неуязвимых особей, идеально приспособленных к заданной вами модели мира. Не факт, что результат будет соответствовать вашим представлениям о прекрасном (и вообще окажется близок к ожидаемому). Но можно с уверенностью сказать, что "жизненная сила" прошедшего жесточайший отбор решения будет достаточной, чтобы успешно противостоять любым действиям конкурентов.

 

Чем обусловлено рождение новой науки? Почему нельзя решать те же задачи классическими методами теории управления, оптимизации и системного анализа? Дело в том, что любой проектировщик сложных систем сталкивается с одним и тем же комплексом проблем, плохо поддающихся решению традиционными методами. Неполнота знаний о внешнем мире, неизбежная погрешность датчиков, непредсказуемость реальных ситуаций  -  все это заставляет разработчиков мечтать об адаптивных интеллектуальных системах, способных подстраиваться к изменению "правил игры" и самостоятельно ориентироваться в сложных условиях.

 

"Проклятие размерности" становится реальным сдерживающим фактором при решении многих (если не большинства) серьезных задач. Проектировщик не в состоянии учесть и свести в общую систему уравнений всю совокупность внешних условий  -  особенно при наличии множества активных противников. Самостоятельная адаптация системы в процессе динамического моделирования "условий, приближенных к боевым"  -  едва ли не единственный способ решения задач в таких случаях.

 

Есть и еще одна причина  -  философская. Вы никогда не замечали, что все попытки целенаправленного отбора и улучшения, предпринимаемые человеком, обрекают объект селекции на вырождение? Примеров  -  тысячи. Вспомните судьбу королевских семей средневековья, сравните элитные породы собак с жизнерадостными дворнягами, наконец, попробуйте посадить любимые огурцы вне теплицы! Складывается впечатление, что человек пока лишен способности прогнозировать долгосрочные последствия своих  -  пусть и вызванных самыми благими намерениями  -  поступков. Так давайте усмирим гордыню и вернем функции Создателя матушке-природе. Пусть живучесть решений проверяется самой жизнью.

 

"А есть ли тут вообще наука?"  -  спросит придирчивый выпускник мехмата. Правильно. Строго говоря, Artificial life  -  это не наука, а, скорее, обобщающий метод построения динамических моделей, базирующийся на совокупности других наук  -  генетических алгоритмов, теории хаоса, системной динамики и др. Каждая из них достойна отдельного разговора (и PC WEEK/RE обязательно к ним вернется.  -  Прим. ред.), а пока давайте кратко познакомимся с одним из главных китов, на которых опирается artificial life. Это  -  математический аппарат так называемых эволюционных вычислений, более известный под названием "генетические алгоритмы".

 

Генетические алгоритмы

 

С математической точки зрения генетические алгоритмы (genetic algorithms, GA)  -  это разновидность методов оптимизации, объединяющая черты вероятностных и детерминированных оптимизационных алгоритмов. Поиск оптимального решения с помощью GA начинается с представления параметров решения в виде вектора (целочисленного или битового)  -  "генетического кода" или "хромосомы". Далее определяется набор операций, позволяющих получать новые решения из совокупности существующих. Продолжая аналогию с генетическими механизмами реального мира, "дочернее" решение может порождаться одним или двумя "родителями", наследуя черты обоих вследствие операций скрещивания. Однако (и это, пожалуй, самое важное) новые поколения копируют свойства предшественников неточно. Присутствует специальный механизм мутации, привносящий случайные искажения. Наконец, модель внешнего мира при реализации генетических алгоритмов обычно увы, отсутствует, что отличает GA от Artificial life в целом. Реакция внешнего мира заменяется заранее заданной целевой функцией, позволяющей сравнивать качество полученных решений.

 

Далее все просто. На основе одного-двух начальных решений порождается первое поколение последующих решений. Для каждого вычисляется значение функции качества, после чего определенный процент наихудших решений уничтожается, а наилучших  -  скрещивается. Так появляется следующее поколение. Мутации периодически расширяют базу для селекции, не позволяя процессу вырождаться. Через несколько поколений значение функции качества перестает расти. Это означает, что выведено семейство решений, наилучшим образом удовлетворяющих заданным критериям. Остается только "расшифровать" генетический код итоговых решений и перевести их в привычный для разработчика вид.

 

Так работает большинство сегодняшних программ, реализующих генетические алгоритмы. Так (или примерно так) выглядит базовая идея GA, изложенная в классической книге основоположника генетических алгоритмов Джона Холланда (Holland J.H. Adaptation in Natural and Artificial Systems. The University of Michigan, 1975). Однако понадобилось двадцать лет, чтобы идея была соответствующим образом исследована и воплощена в коммерческие изделия для массового рынка. Причина  -  в трудноформализуемости базовых концепций GA.

 

Честно говоря, и автор этой статьи первоначально относился к генетическим алгоритмам с некоторым недоверием. Смущала скудость фундаментальных результатов (за исключением двух теорем), а также заведомое отсутствие гарантий сходимости. Для любого класса задач и любой разновидности GA можно было построить пример, когда GA уступает по скорости сходимости классическим алгоритмам либо вообще работает бесконечно долго. В полной мере оценить мощь и красоту генетических алгоритмов удалось лишь благодаря одному случайно увиденному впечатляющему примеру.

 

Представьте себе бесконечный теплый океан, населенный студнеобразными комками биомассы. Каждый комок не имеет разума и органов чувств, однако наделен зачатками двигательных функций (скажем, способностью к периодическим рефлекторным сокращениям). Единственное, что он умеет,  -  достигнув некоторого возраста, поделиться надвое, передав потомству свою форму (с некоторыми искажениями, вызванными мутациями), а вместе с ней и способность к передвижению. К сожалению, это не главный обитатель океана. Подлинными его хозяевами являются акулы  -  быстрые, хищные и высокоорганизованные существа, которые едят все, что плавает медленнее их.

 

Поначалу кажется, что у несчастной биомассы нет никаких шансов на выживание, поскольку все, что она может противопоставить хищникам,  -  это скорость размножения. Но давайте запустим генетический алгоритм. Вот прошло сто поколений. Теперь океан населен разнообразными видами "червей", и иные из них достаточно успешно соревнуются с акулами по скорости передвижения. А часы эволюции идут... Прошло еще несколько сотен поколений. Где же наши бесформенные комки? По всему океану снуют красивые торпедообразные рыбы (некоторые даже снабжены разновидностью плавников). Теперь тяжелые времена переживают акулы: им в пищу достаются лишь редкие медлительные особи  -  следствие неудачных мутаций. Вдумайтесь  -  мы заведомо лишили бедный "кисель" шансов на появление зрения, сознания и каких бы то ни было средств защиты, оставив единственное оружие  -  право на эволюцию. И тем самым не только спасли его от вымирания, но и породили ряд новых, более совершенных форм.

 

Некоторые практические приложения GA будут приведены ниже. Те же, кого заинтересовал именно данный пример, могут найти описание ряда подобных экспериментов, например в статье (Plain S.W. Simulated wetware. Computer Shopper, 1995, v. 17, № 7, p. 584).

 

A-life в бизнесе: полет нормальный

 

Если вернуться к истории с Золушкой, то в случае с A-life изумляет полное отсутствие злой мачехи. У новой науки практически нет явных противников. Более того, многие представители большого бизнеса (в том числе такие гиганты, как Ford) заявляют, что уже давно используют элементы A-life в ситуационном моделировании и деловых играх для руководителей. Автору статьи доводилось принимать участие в одной такой игре, организованной лос-анджелесским университетом. Здесь место теплого океана из приведенного выше примера занял безбрежный рынок США, населенный сонмом акул-конкурентов, а место несчастной биомассы  -  фирмы, отданные в управление каждому из участников. За один такт игры надо было оценить позиции своей фирмы на различных рынках нескольких городов, закрыть убыточные филиалы, реорганизовать неэффективные и расширить прибыльные, т. е. принять в общей сложности около пятидесяти управленческих решений. Через полчаса центральный компьютер подводил общие итоги такта (равного кварталу работы фирмы) и переходил к следующему "поколению". Вот только все функции оптимизации, скрещивания и т. д. приходилось делать вручную (поскольку основная идея GA  -  обеспечить выживание популяции, а в реальном бизнесе вас больше волнует судьба конкретной особи). Интересно, что к концу вторых суток игры практически все российские участники (около двадцати) не только закрепились на рынках всех игровых регионов, но и начали постепенно теснить "хозяев поля". Эволюция превратила аморфную биомассу в акул.

 

Промышленники применяют методы A-life в первую очередь при создании разнообразных роботов, манипуляторов и автоматизированных производств. Одно из определений A-life даже трактует ее как теорию управления сообществом роботов, решающих навигационные задачи путем адаптации к внешним условиям.

 

Разработчики БИС всерьез увлечены созданием нового поколения микросхем, реализующих базовые алгоритмы A-life "в кремнии". Пионером здесь выступает легендарный профессор Mead (пятнадцать лет назад создавший первый "кремниевый компилятор"  -  полностью автоматическую САПР заказных БИС). Он разработал асинхронный нейроноподобный кристалл, на котором собирается для начала реализовать модели глаза и уха, и уже получил первый патент на однотранзисторную модель синапса. А на конференции ECAL была продемонстрирована первая программируемая микросхема (ПЛМ), способная к самосовершенствованию. В схему "зашит" генетический алгоритм, оптимизирующий программный код обработки внешних воздействий.

 

Бизнесменам хорошо знакома фирма Flavors Technology, которая решает множество трудноформализуемых финансовых и управленческих задач, используя методы A-life и теории хаоса, реализованные на специализированной многопроцессорной системе. Менее известно, что фирма Thinking Machines, знаменитый разработчик суперкомпьютеров, также имеет собственные программные наработки по воплощению A-life для решения ряда оборонных задач.

 

Особняком стоит такая экзотическая область, как компьютерная вирусология. Исследователи, использующие методы A-life, подошли к этой проблеме, трактуя компьютерные вирусы как специфическую разновидность искусственной жизни, способную к мутациям, размножению, инфицированию среды обитания и самосовершенствованию. При такой трактовке становится реальностью давняя идея об универсальном антивирусе, который будет обнаруживать не конкретные виды вирусов (как большинство существующих программ), а проявления новых форм компьютерной жизни  -  изменение дисциплины обработки прерываний, нетипичное поведение известных программ, незнакомый "почерк" общения программ с файловой системой и т. п. Фирма IBM уже анонсировала первый коммерческий антивирус, построенный на подобных принципах.

 

Что же касается таких областей, как моделирование катастроф, чрезвычайных ситуаций и военных конфликтов, то здесь история ситуационных центров, фактически использующих элементы A-life, насчитывает уже несколько десятилетий. Многочисленные примеры таких приложений можно найти на компакт-диске "NASA Technology", с которого недавно был снят гриф секретности. Любопытно, что сразу после этого диск (до сих пор не разрешенный к вывозу из США) появился на рынке в Москве.

 

И в том строю есть промежуток малый...

 

Сколь угодно красивая и интересная теория овладевает массами лишь тогда, когда на рынок выходят простые и удобные инструментальные средства, делающие эксперименты с новыми концепциями общедоступными. К счастью, для A-life такой инструмент уже существует, более того, он есть и в Москве.

 

Основным компонентом систем A-life являются пакеты, реализующие генетические алгоритмы. Наиболее распространены два таких пакета: Evolver (первый из массовых пакетов GA, узнаваемый по характерной картинке с человекообразными обезьянами на обложке), а также более поздний и мощный пакет GeneHunter фирмы Ward Systems Group. Последний особенно популярен, поскольку входит в состав нейросетевого пакета Ward, активно применяемого российскими банкирами для портфельной игры и валютного дилинга.

 

Тем, кому кажется, что новые технологии  -  это что-то бесконечно далекое от повседневных проблем реального бизнеса, предлагаем маленький эксперимент. Представьте, что вы  -  владелец небольшой фирмы, занимающейся отверточной сборкой компьютеров. У вас на складе постоянно присутствует несколько разновидностей каждого компонента ПК  -  дисководов, корпусов, системных плат и т. д. Не мне вам объяснять, что цена собранного компьютера не равна сумме цен его компонентов. Возникает элементарная оптимизационная задача  -  как из всего этого добра собрать компьютеры, чтобы получить максимальную прибыль? Готов утверждать, что даже при микроскопическом обороте в 100 млн. рублей в месяц получить оптимальное решение "вручную" почти невозможно. А пакет GeneHunter справится с этой задачей за несколько минут, причем решение лишь одной этой задачи окупит его стоимость за неделю. Кстати, некоторые дальновидные торговцы уже сообразили, что все вышесказанное справедливо не только для компьютеров, но и для повышения доходности от торговли мебелью, стройматериалами, а также массы других приложений.

 

Для построения реальных экономических и политических моделей используются также пакеты, основанные на нечеткой логике. Наиболее известен пакет CubiCalc, позволяющий строить экспертные системы с нечеткими правилами. Его любят банкиры и экономисты, вдохновленные сообщениями об успешном применении таких систем японскими финансистами. Так, сообщается, что Fuji-bank, используя подобную систему моделирования, повысил доходность краткосрочных дилинговых операций на $700000 в месяц.

 

В задачах ситуационного моделирования наиболее широко применяется пакет iThink, реализующий методы так называемой "динамики систем" (system dynamics). Его основными потребителями также являются финансисты и крупные госструктуры. Первых волнуют вопросы моделирования различных финансовых рынков и оптимизация деятельности финансово-промышленных групп, вторые более озабочены макроэкономическими и политическими моделями. Кстати, с помощью iThink была реализована модель оценки политических пристрастий электората, стоявшая на "боевом дежурстве" в одной из властных структур верхнего уровня вплоть до успешного окончания президентских выборов.

 

Что же касается подлинно массовых продуктов, рассчитанных на "бедных студентов", то здесь искренне советуем начать с книги (Clarkson, Mark. Creating Artificial Life with Visual C++. Windows Hothouse, 1995), содержащей все необходимое для построения собственных "искусственных миров". В самостоятельных экспериментах с генетическими алгоритмами большую помощь окажет статья Дж. Кона (Cona J. Developing a genetic programming system. AI Expert, 1995, v. 10, № 2, p. 20). В дебрях Internet можно найти несколько серверов, специализирующихся на Artificial life и генетических алгоритмах. Кроме того, на WWW-сервере фирмы Toshiba можно получить альфа-версию пакета Enfant  -  библиотеки классов Cи++, позволяющей строить любые виды нейронных сетей, когнитивных нечетких систем и произвольных моделей управления. Впрочем, проект Enfant также заслуживает отдельного разговора...

 

Финансистам рекомендуем недавно изданную книгу (Bauer R.J. Genetic Algorithms and Investment Strategies.  John Wiley & Sons, 1995)  -  чуть ли не первую внятно объясняющую практические способы реального увеличения прибыли от финансовых операций при помощи генетических алгоритмов.

 

Есть и реализации A-life для самых юных любителей компьютеров. Это игры  -  поистине идеальный полигон для "обкатки" и популяризации новых технологий. Особенно советуем обратить внимание на игру Galapagos фирмы Anark. Это была бы ничем не примечательная "бродилка", подобная тысячам других, если бы не одно обстоятельство. Главный герой игры, унылое существо по имени Mendel, обладает способностью к обучению и накапливает опыт, наблюдая за вашими попытками вывести его с Галапагоса. Так что не удивляйтесь, если после третьего купания в раскаленной лаве он перестанет подчиняться вашим командам и подходить к опасным участкам.

 

На играх, использующих элементы A-life, специализируется также фирма Maxis. Так в новой стратегической игре Mission in the Rainforest вам под начало дается 10000 квадратных миль лесного района в Малайзии и ваша задача  -  превратить регион в "экологический рай". А в ставшей бестселлером игре Unnatural Selection в ваше распоряжение предоставляется лаборатория A-life для выведения некоего существа по имени Theroid, способного обуздать сонмище монстров, порожденных больной фантазией безумного профессора генетики.

 

А для тех, кто играм предпочитает серьезную научную работу,  -  наиболее систематизированная информация по проблеме A-life содержится в трудах конференции ECAL-95 (Granada, Spain, June 1995).

 

Андрей Масалович

 

К Андрею Масаловичу можно обратиться по телефону: (095) 229-3286 либо по E-mail: kvant@aimas.msk.su.

Версия для печати