Научная статья на тему 'Компьютерный синтез программных агентов и артефактов'

Компьютерный синтез программных агентов и артефактов Текст научной статьи по специальности «Математика»

CC BY
101
32
i Надоели баннеры? Вы всегда можете отключить рекламу.
Область наук
i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Компьютерный синтез программных агентов и артефактов»

Список литературы

1. Альянах И.Н. Моделирование вычислительных систем. - Л.: Машиностроение, 1998.

2. Башарин Г.П., Бочаров П.П., Коган Я.А. Анализ очередей в вычислительных сетях. Теория и методы расчета. - М.: Наука, 1989.

3. Бертсекас Д., Галлагер Р. Сети передачи данных. - М.: Мир, 1989.

4. Клейнрок Л. Коммуникационные сети. Стохастические потоки и задержки сообщений. - М.: Наука, 1970.

5. Шварц М. Сети связи: протоколы, моделирование и анализ. / Пер. с англ. под ред. В.И. Неймана. - М.: Наука, 1992.

6. Шоргин С.Я. Модели сетей связи со смешанной нагрузкой. // Техника средств связи. Сер. СС, 1985. - Вып. 1. -С. 60 - 63.

7. Alexandrov A., Ionescu M., Schauser K. E., Scheiman C. LogGP: Incorporating Long Messages into the LogP model - One step closer towards a realistic model for parallel computation. 7th Annual Symposium on Parallel Algorithms and Architecture (SPAA'95), July 1995.

8. Banks J., Carson J.S. II, Nelson B.L. Discrete-Event System Simulation. Second Edition. Prentice Hall, 1995.

9. Baker M., Ong H. A Quantitative Study on the Communication Performance of Myrinet Network Interfaces. University of Portsmouth, Portsmouth, UK March 15, 2002. http://l59.dsg.port. ac.uk/JEM/pubs/DSG200203_MyriPerf.pdf.

10.Bhoedjang R.A.F. Communication Architectures for Parallel-Programming Systems. Phd. thesis, June 2000, Vrije Universiteit, Amsterdam.

11.Chodnekar S., Srinivasan V., Vaidya A., Sivasubramaniam A., Das C. Towards a Communication Characterization Methodol-

ogy for Parallel Applications. Proceedings of the 3rd International Symposium on High Performance Computer Architecture (HPCA), February 1997.

12.Coll S., Flich J., Malumbres M.P., Lopez P., Duato J., and Mora F.J. A First Implementation of In-Transit Buffers on Myrinet GM Software. IEEE Computer Society Press (CAC 2001) (ISBN: 0-7695-0990-8), pp. 232-237, 2001.

13.Culler D.E., Karp R.M., Patterson D.A., Sahay A., Schauser K.E., Santos E., Subramonian R., von Eicken T. LogP:Towards a Realistic Model of Parallel Computation. 4th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, San Diego, CA, May 1993.

14.Culler D.E., Liu L.T., Martin R.P., Yoshikawa C. LogP performance assessment of fast network interfaces. IEEE Micro, 16(1): 35-43, February 1996.

15.George A.D., VanLoon R.A. High-fidelity Modelling and Simulation of Myrinet System Area Networks. International Journal of MODELLING AND SIMULATION, vol.21, no.1, 2001.

16.Lysne O. Towards an Analytical Model of Wormhole Routing Networks. Microprocessors and Microsystems, vol.21 (1998), pp. 491-498.

17.Ni L.M., McKinley P.K. A survey of wormhole routing techniques in direct networks. Computer, pp. 62-76, 1993.

18.Seitz C., Boden C.L., Seizovic N.J., Su W. The Design of the Caltech Mosaic C. Multicomputer. Proceedings of the Washington Symposium On Integrated Systems, Seattle, WA, 1993.

19.Tam A.T.C. Performance Studies of High-Speed Communication on Commodity Cluster. Phd. thesis, December 2001, University of Hong Kong.

20.The GM-1 Message Passing System, http://www.myri. com/scs/GM/doc/refman.pdf.

КОМПЬЮТЕРНЫЙ СИНТЕЗ ПРОГРАММНЫХ АГЕНТОВ

И АРТЕФАКТОВ

В.М. Курейчик, С.И. Родзин

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

Основанием для подобного предположения служат универсальность и фундаментальность, присущие эволюции независимо от формы и уровня абстракции модели. Указанная общность может быть выражена в виде следующей программы эволюционных вычислений [1]:

1) установка параметров эволюции;

2) инициализация начальной популяции P(0);

3) t:=0;

4) оценка решений, входящих в популяцию;

5) t:=t+1;

6) селекция артефактов (отбор родителей);

7) генерация потомков путем репликации и видоизменений;

8) оценка потомков и образование новой популяции Р(Ь);

9) выполнение программы до тех пор, пока параметр Ь не достигнет заданного значения Ьтах либо не будут выполнены другие условия останова.

10) вывод результатов и останов.

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

Эксперименты свидетельствуют о том, что эволюционные вычисления наименее подходят для решения следующих задач: поиск глобального оптимума; переменные, от которых зависит решение, независимы; для задачи характерна высокая

степень эпистазии (одна переменная подавляет другую); значения целевой функции во всех точках, за исключением оптимума, являются приблизительно одинаковыми. Принципиально подходящими для решения с помощью эволюционных вычислений являются задачи многомерной оптимизации с мультимодальными целевыми функциями, для которых нет подходящих неэволюционных методов решения; стохастические задачи; задачи комбинаторной оптимизации; задачи компьютерного синтеза программ; задачи моделирования коллективного поведения агентов [2].

Проблемы компьютерного синтеза программ привлекли внимание исследователей еще в конце 50-х годов XX века. Интерес к данной проблематике резко возрос благодаря работам Дж. Коза [3], посвященным генетическому программированию (ГП) и направленным на решение задач автоматического синтеза программ с помощью обучающих данных путем индуктивного вывода.

Математические выражения, которые автоматически генерируются с помощью генетических операторов, являются компьютерными программами различной величины и сложности. Программы состоят из функций, переменных и констант. Исходная популяция P(0) артефактов в ГП образуется стохастически и состоит из программ, которые включают в себя элементы множества проблемно-ориентированных элементарных функций (function set: +, , -, *, %, sin, ms, log, or, and, for, do-until и пр., а также любая другая функция из предметной области задачи), проблемно-ориентированные переменные и константы (terminal set: ephemeral random - константы регрессионных функций с коротким временем жизни; T, Nil-булевы константы; вещественные константы). Множества function set и terminal set являются основой для эволюционного синтеза программы, способной наилучшим образом решать поставленную задачу. Одновременно устанавливаются правила выбора элементов из указанных множеств в пространстве всех потенциально синтезируемых программ, структура которых имеет древовидную форму.

Первоначально в исследованиях по ГП применялся язык LISP, обладающий всеми необходимыми свойствами для синтеза ГП-структур. В настоящее время наряду с LISP используются языки C, Smalltalk, C++.

Стартовыми условиями для ГП являются установка множеств terminal set и function set; определение подходящего вида функции соответствия (fitness-function); установка параметров эволюции; определение критерия останова моделирования эволюции и правил декодирования результатов эволюции.

Способом оценки качества функции соответствия в ГП является среднеквадратичная ошибка (чем она меньше, тем лучше программа) или кри-

терий выигрыша, согласно которому выигрыш определяется в зависимости от степени близости к корректному значению математического выражения. Размер популяции ц в ГП обычно составляет несколько тысяч программ. Для максимального числа генераций tmax используется значение

tmax_5l.

Генетическая программа включает следующие модули.

1. Инициализация. На этом этапе стохастически генерируется популяция P(0), состоящая из ц древовидных программ, причем корневой вершиной дерева всегда является функция, аргументы которой выбираются случайно из множеств function set или terminal set. Концевыми вершинами дерева должны быть переменные или константы, в противном случае процесс генерации необходимо рекурсивно продолжить. Если структура дерева становится сложной, то заранее устанавливается максимальная высота дерева, равная числу ребер дерева, которое содержит самый длинный путь от корневой вершины до некоторой концевой вершины. В экспериментах обычно максимальная высота дерева колеблется от шести для популяции P(0) до 17 в более поздних популяциях P(t).

2. Оценка решений. Оценивается целевая функция каждой программы в P(0). Поскольку все программы выбраны случайно, то большинство из них могут иметь значение целевой функции, далекое от лучшего решения, поэтому в качестве оценки можно взять разницу между лучшим и худшим значениями функции в популяции P(0).

3. Генерация новой популяции и селекция. Основными операторами ГП являются рекомбинация (кроссинговер) и репродукция, селекция и репликация, выполняемые по схемам, аналогичным генетическим алгоритмам [4]. Если к некоторой программе применяют оператор репродукции, то эта программа копируется в новую популяцию. Для проведения кроссинговера выбираются две программы, случайным образом определяются точки кроссинговера и путем обмена образуются две программы-потомка. При программной реализации на языке LISP кроссинговер сводится к обмену списками между двумя программами при сохранении синтаксической корректности вновь получаемых программ.

4. Проверка критерия остановки. Процедура ГП является итерационной, критерии останова аналогичны критериям для генетических алгоритмов.

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

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

Другим перспективным направлением в ГП является реализация ГП на транспьютерных вычислительных системах. Существенное увеличение быстродействия ГП может быть получено и на последовательных машинах. В частности, реализация ГП на языке C увеличивает скорость ГП примерно на два порядка, а реализация ГП в машинных кодах - примерно на три порядка в сравнении с LISP--реализациями.

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

Первый заключается в увеличении абсолютной сложности программы путем добавления ин-тронов, второй - в поиске простых решений. Эксперименты показывают, что на ранних этапах эволюции среднее значение целевой функции от популяции к популяции изменяется очень сильно; несколько позднее темп изменения функции уменьшается, однако начинает расти «компрессионное давление»; на поздних этапах эволюции экспоненциально растет абсолютная сложность программы за счет интронов, среднее значение целевой функции продолжает улучшаться, а деструктивное влияние кроссинговера слабеет.

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

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

Рассмотрим эволюционную программу на примере задачи минимизации функции F(a1v.., ап), зависящей от n непрерывных переменных, которые представляются в виде вектора Ä=(a1v_ ап), что в ЭП соответствует отдельному артефакту. Программа состоит из следующих модулей.

1) Инициализация. На этапе инициализации случайным образом генерируется популяция Р(0), состоящая из ц артефактов Äi (i=1,2,____ ц). Рекомендуемое значение размера популяции ц>200. Значение элемента aj для каждого артефакта Äi устанавливается случайно с помощью равномерного распределения на интервале [lj , rj ] е R, lj < rj . Границы интервала lj , rj имеют значение лишь на этапе инициализации. В ходе дальнейшей эволюции пространство поиска в принципе является неограниченным. Стандартная форма ЭП предполагает решение оптимизационной задачи, в которой оптимальное значение равно 0, lj = - 50, rj =50.

2) Оценка решения. Каждая особь Äi определяет функцию соответствия Ф^), которая зачастую равна значению целевой функции ^=F, хотя в общем случае они могут и не совпадать). В случае несовпадения функции соответствия и целевой функции значение Ф преобразуется с помощью некоторой случайной величины Например, если результирующее значение функции соответствия получилось отрицательным, то оно преобразуется путем скаляризации в положительное число. Таким образом, в общем случае считают, что

Ф(^)=Й^), у.

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

3) Генерация потомков артефактов. Этот этап выполняется ц раз 0=1,2_ц) и включает в себя следующие действия.

3.1) Репликация путем копирования i-го родителя Äi=(a1,_, ап).

3.2) Мутация скопированного родителя путем сложения нормально распределенной случайной величины с нулевым математическим ожиданием

и динамически изменяемым среднеквадратичным отклонением. Из родителя А! возникает потомок А^. Стандартное отклонение («ширина мутации») полученной случайной величины зависит от родительского значения функции соответствия Ф. При этом глобальный оптимум равен 0 (если это не так, то проводится соответствующее преобразование). Идея состоит в том, чтобы повысить эффективность процесса оптимизации путем сокращения «ширины мутации» при приближении к оптимуму. Значение переменной потомка определяется по формуле:

а^ = а + эяг^Ц •Ф(А,) + (0, 1), где к - константа скаляризации; Ф(А^ - значение функции соответствия родителя; Zj - дисперсия; N¡(0, 1) - стандартная нормально распределенная величина, определяемая для каждого j=1,2,...n. Значения к , Zj(kj, Zje К+) являются параметрами ЭП и устанавливаются пользователем. В общем случае число этих параметров равно 2^п. Однако на практике устанавливают кр1, Zj=0 0=1,2,...п). Тогда квадратный корень ^гЬ) в формуле для вычисления а^ упрощается, и она принимает следующий вид: а^ = aj + sqгt(Ф(Аi))•Nj (0, 1).

3.3) Оценка потомка происходит путем определения значения его функции соответствия ф(а'!)=й(Г(а'!), после чего потомок добавляется в популяцию, причем А'! ^ А'^ . При окончании этапа 3 размер популяции становится равным 2^ц.

4) Случайная селекция. Селекция выполняется по соревновательному принципу, согласно которому каждый родитель или потомок попарно сравнивается с Ь противниками, причем heN (Ь>1) является параметром ЭП, устанавливается пользователем и обычно принимает значения от Ь=0.05ц до Ь=0.1ц. Противники выбираются случайно с помощью закона равномерного распределения. Победитель определяется путем попарного сравнения функций соответствия. Артефакт побеждает в соревновании, если ее функция соответствия по меньшей мере не хуже, чем у ее противника. Для представленной выше задачи минимизации число побед Wi ьго артефакта 0=1,2,...2^ц) определяется как Wi =£{1, если Ф(А!)<Ф(Аа)}, причем суммирование ведется для б=1,2,...Ь, и является целочисленным значением равномерно распределенной в интервале [1, 2^ц] случайной величины, которое для каждого d определяется заново. После этого все артефакты сортируются по убыванию числа побед (а не по значению функций соответствия). Лучшие артефакты образуют новую родительскую популяцию размером ц. При одинаковом числе побед преимущество получает артефакт с лучшим значением функции соответствия. Очевидно, что при таком механизме селекции «слабые» артефакты имеют некоторую отличную от нуля вероятность репродукции. С ростом значения параметра Ь селекция на-

чинает принимать дискриминационный элитарный характер.

5) Критерий останова. В качестве критерия останова могут быть следующие заданные пользователем события:

- достижение в ходе эволюции заданного числа поколений Ьтах ;

- достижение заданного уровня качества, когда, например, значение функций соответствия всех артефактов в популяции превысило некоторое пороговое значение;

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

Параметры ЭП выбираются таким образом, чтобы обеспечить скорость работы алгоритма и поиск наилучшего решения.

Одним из перспективных направлений практического развития идей ЭП является преодоление следующих недостатков: если пользователь не обладает информацией о глобальном оптимуме, то согласование и подбор функции скаляризации становится затруднительным; необходимость установки 2^п значений параметров эволюции выдвигает перед пользователем дополнительные оптимизационные трудности, даже если он использует стандартную установку (к =1, Zj =0).

Преодоление этих недостатков эволюционной программы требует ее модификации с целью повышения адаптивных свойств ЭП, в частности, изменения процедур генерации потомков и селекции [5]. Например, на этапе генерации потомков из популяции с помощью закона равномерного распределения в интервале [1, ц] случайно выбирается родитель, из которого путем мутации получают потомка, добавляют его в популяцию, размер которой становится равным (ц+1), после чего производится детерминированная селекция путем исключения из популяции слабого артефакта.

Роль ЭП в моделировании интеллектуального поведения программных агентов может оказаться весьма плодотворной. Одним из наиболее объективных средств тестирования эволюционных алгоритмов для подобного рода проблем является классическая задача теории игр, называемая «дилеммой узников» [6].

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

М Г

М (1,1) (5,0)

Г (0,5) (3,3)

Ясно, что наиболее выгодным для них является молчание. Однако простое рассуждение показывает, что, не имея никаких контактов между собой и к тому же не очень доверяя друг другу, каждый из узников, поразмыслив, придет к выводу, что нужно сознаваться.

Задачей ЭП является поиск такой игровой стратегии, которая позволит минимизировать средние потери при многократном повторении игровой ситуации. Можно представить каждую совместную игровую стратегию одним из состояний конечного автомата. Эксперименты с автоматами показали, что примерно в течение первых 20 ходов преобладает стратегия молчания, хотя уже после 5-10 ходов начинает встречаться стратегия кооперативного поведения, которая в дальнейшем однозначно становится доминирующей.

В заключение отметим, что ГП и ЭП в качестве аналога процессов, происходящих в живой природе, на практике доказали свою эффективность при решении ^Р-полных задач оптимизации, они дополняют арсенал эвристических мето-

дов поиска субоптимальных решений и широко используются в инженерных разработках. Развитие ГП и ЭП нельзя связывать лишь с решением оптимизационных задач. Автоматический синтез программ, формирование стратегий поведения и взаимодействия программных агентов в много-агентных средах являются областями, где представляется возможность оценить преимущества ГП и ЭП. Во взаимодействии с внешним миром с их помощью формируются и «выживают» успешные программы, а неспособные к адаптации «отмирают».

Список литературы

1. Курейчик В.М., Родзин С.И. Эволюционные алгоритмы: генетическое программирование. Обзор. - Изв. РАН. ТиСУ. - 2002. - №1. - С. 127-137.

2. Rodzin S.I. Schemes of Evolution Strategies // Proc. of 2002 IEEE Int. Conf. on AI' Systems (ICAIS, sept. 2002). IEEE Comp. Society: Los Alamos, California. P. 375-380.

3. Koza J.R. Genetic Programming. Cambridge: MA: MIT Press, 1992, 1994.

4. Курейчик В.М. Генетические алгоритмы. Состояние. Проблемы. Перспективы. - Изв. РАН. ТиСУ. - 1999. - №1. - С. 144-160.

5. Holland J.H. Adaptation in natural and artificial systems. An Arbor: the Uni of Michigan press, 1975.

6. Родзин С.И. Гибридные интеллектуальные системы на основе алгоритмов эволюционного программирования // Новости искусственного интеллекта. - 2000. - №3. - С. 159-170.

ПРОГРАММНАЯ СИСТЕМА АУДИОВИДЕОКОНФЕРЕНЦСВЯЗИ ДЛЯ ЛОКАЛЬНЫХ И КОРПОРАТИВНЫХ IP-СЕТЕЙ

П.П. Кравченко, Н.Ш. Хусаинов, А.А. Хаджинов, К.В. Погорелое, А.Н. Шкурко

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

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

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

Общими для рассмотренных и протестированных авторами наиболее известных и доступных систем конференц-связи для IP-сетей (NetMeeting фирмы Microsoft, CU-SeeMe фирмы WhitePine, LiveLAN фирмы PictureTel и др.) являются следующие недостатки:

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

- организация многоточечной аудиовидео- и документ-конференции невозможна без использова-

i Надоели баннеры? Вы всегда можете отключить рекламу.