ТРОПОЮ СОЗДАТЕЛЯ
Первые шаги "искусственной жизни"
Андрей Масалович
Эта волна захлестнула научный мир настолько внезапно, что
застала врасплох и потенциальных сторонников, и оппонентов. Еще не успело
закрепиться необычное название - "artificial life" ("искусственная жизнь", вот
так - ни больше, ни меньше !), как в Испании состоялся крупный международный
конгресс ECAL, целиком посвященный проблемам новой науки, а исследователи
возвестили о пришествии четвертой волны искусственного интеллекта. Что же это за
таинственная наука, знакомство с которой вызывает любовь с первого взгляда либо
мгновенное недоверчивое отторжение, но всегда - изумление на грани обывательской
обиды : "Оказывается там, за углом, уже вовсю гуляют, а мы тут скучаем с пустым
стаканом ?!"
Artificial life - новое слово на букву А
Судьба новых научных направлений - при всей их
революционности, необычности и парадоксальности - обычно развивается по канонам
классической мелодрамы, повторяя вечную сказку о Золушке. Напомним : к бедной
Золушке, перебирающей мешок чечевицы (символ черновой научной работы поколения
безымянных подвижников) является Добрая Фея (крупный заказчик, как правило,
военный или финансист) и отправляет ее в сказочном наряде на бал в сияющий
дворец (дает серьезный заказ и солидное финансирование). Но - увы, часы бьют
полночь, золотая карета привычно превращается в тыкву, а бедная Золушка надолго
отправляется на задворки науки, к безмерной радости завистливых сытых сестер.
Обычно требуется много-много лет, чтобы удостовериться, что хрустальный башмачок
новых прикладных задач впору лишь одной таинственной беглянке и повзрослевшая
Золушка с триумфом возвращается во дворец - теперь уже на правах королевы.
Этот нехитрый сюжетный ход прослеживается в развитии
практически всех новых наук - и теории нейронных сетей, и нечеткой логики, и
генетических алгоритмов, и системной динамики, и других. Всех, кроме одной. В
случае с artificial life (или A-life, как окрестили новую науку фамильярные
американские журналисты), не понадобилось ни доброй феи, ни настойчивого принца,
ни услуг сказочных кутюрье. Золушка попала на бал прямо с кухни - в залатанном
фартуке и с половником в руках. Однако уже давно за полночь, а поток лестных и
заманчивых предложений от самых знатных поклонников не иссякает...
Итак, что такое artificial life ? Самое общее определение
дает журнал MIDRANGE Systems, трактуя A-life как "компьютерное моделирование
живых объектов" [MIDRANGE Systems, 1995, v.8, N 13, p.29]. Однако на практике к
A-life принято относить компьютерные модели, обладающие рядом конкретных
особенностей. Во-первых, центральная модель системы - будь то персонаж детской
игры, самоходный робот или интеллектуальный агент Internet - обладает
способностью адаптироваться к условиям внешнего мира, пополняя знания о нем
путем взаимодействия с другими объектами и средой. Во-вторых, компоненты
системы, развиваясь в процессе эволюции, способны передавать свои характерные
черты по наследству. Соответственно, присутствует механизм порождения новых
поколений - путем деления, скрещивания либо дублирования существующих объектов.
В-третьих, окружающий мир достаточно жесток и сводит к минимуму шансы на
выживание и появление потомства у слабых и плохо приспособленных особей. И,
наконец, присутствует механизм порождения новых форм (аналог мутаций в реальном
мире), обычно содержащий элемент случайности.
Иными словами, чтобы решить реальную задачу методами
artificial life (например, создать истребитель идеальной формы, либо разработать
оптимальную стратегию биржевой игры и т.д.), надо построить динамическую модель
среды, в которой предстоит существовать проектируемому объекту, населить ее
множеством разновидностей этого объекта и дать им "пожить" несколько поколений.
Слабые особи будут отмирать, сильные - скрещиваться, закрепляя в новых
поколениях свои лучшие черты. Через несколько десятков (иногда - сотен и даже
тысяч) циклов такая селекция породит "цивилизацию" практически неуязвимых
особей, идеально приспособленных к заданной вами модели мира. Не факт, что
результат будет соответствовать вашим представлениям о прекрасном (и вообще
близок к ожидаемому). Но можно с уверенностью сказать, что "жизненная сила"
прошедшего жесточайший отбор решения будет достаточной, чтобы успешно
противостоять любым действиям конкурентов.
Чем обусловлено рождение новой науки ? Почему нельзя решать
те же задачи классическими методами теории управления, оптимизации и системного
анализа ? Дело в том, что любой проектировщик сложных систем сталкивается с
одним и тем же комплексом проблем, плохо поддающихся решению традиционными
методами. Неполнота знаний о внешнем мире, неизбежная погрешность датчиков,
непредсказуемость реальных ситуаций - все это заставляет разработчиков мечтать
об адаптивных интеллектуальных системах, способных подстраиваться к изменению
"правил игры" и самостоятельно ориентироваться в сложных условиях.
Во-вторых, "проклятие размерности" становится реальным
сдерживающим фактором при решении многих (если не большинства) серьезных задач.
Проектировщик не в состоянии учесть и свести в общую систему уравнений всю
совокупность внешних условий - особенно при наличии множества активных
противников. Самостоятельная адаптация системы в процессе динамического
моделирования "условий, приближенных к боевым" - едва ли не единственный способ
решения задач в таких случаях.
Есть и еще одна причина - философская. Вы никогда не
замечали, что все попытки целенаправленного отбора и улучшения, предпринимаемые
человеком, обрекают объект селекции на вырождение ? Примеров - тысячи. Вспомните
судьбу королевских семей средневековья, сравните элитные породы собак с
жизнерадостными дворнягами, наконец, попробуйте посадить любимые огурцы вне
теплицы ! Складывается впечатление, что человек пока лишен способности
прогнозировать долгосрочные последствия своих - пусть и вызванных с амыми
благими намерениями - поступков. Так давайте усмирим гордыню и вернем функции
Создателя матушке-природе. Пусть живучесть решений поверяется самой жизнью.
- А где тут вообще наука ? - спросит придирчивый выпускник
мехмата. Правильно. Строго говоря, artificial life - это не наука, а скорее,
обобщающий метод построения динамических моделей, базирующийся на совокупности
других наук - генетических алгоритмов, теории хаоса, системной динамики и др.
Каждая из них достойна отдельного разговора , а пока давайте кратко познакомимся
с одним из главных "китов", на которые опирается 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, N 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, насчитывает уже несколько
десятилетий. Многочисленные примеры таких приложений можно найти на СD "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, N 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).
А.И. Масалович (с) 1996-98
|
|
Коротко
о системе Е-МАСТЕР |
Е-МАСТЕР®
— система управления корпоративной информацией.
Е-МАСТЕР®
включает в себя возможности систем класса ECM (Enterprise
Content Management).
Система обеспечивает:
- Совместное создание и согласование документов
- Каждый документ может быть обсужден как при
помощи прикрепленного к нему мини-форума, так
и в главном форуме
- Разработанный документ может быть направлен
на согласование по указанному маршруту
- Хранение документов любых форматов
- Хранение и передача документов в зашифрованном
виде
- Встроенные системы восстановления после сбоев
и резервного копирования
- Поиск документов
- Возможность поиска по ключевым словам и другим
атрибутам документов (автор, дата создания…)
- Возможность поиска с помощью навигации по
рубрикам
- Управляемый доступ к документам
- Возможность установки доступа к документам
для различных категорий пользователей
- Возможность введения ограничений на работу
с документами
- Функциональный интерфейс пользователя
- Веб-интерфейс, позволяющий просматривать
карточки и скачивать файлы из системы хранения
документов
- Удаленный доступ или работа пользователя
из любой точки мира (при условии подключения
к Интернету).
|
|
Система FLAMORY™ |
FLAMORY™ — уникальный программный продукт, позволяющий сохранять историю действий пользователя на компьютере, таких, например, как работа в приложениях Windows, посещения сайтов и д.р.
Сохраненные последовательности действий, далее, можно просмотреть, сохранить в файл и передать коллегам. FLAMORY позволяет аккумулировать и делиться знаниями.
Работая с FLAMORY, обмен опытом, обучение новых сотрудников, обсуждения технологий, становятся, как никогда ранее, простой и удобной, в практических аспектах, задачей.
FLAMORY™ разрабатывается при участии специалистов KMSOFT.
Скачать бета-версию можно по этой ссылке.
|
|