Program agents in the distributed calculations for adaptive forming and teaching of neural nets

The environment for distributed calculations in heterogenic and multiplatform networks is developed. The organization of calculation process under agents control is presented. The methodic of adaptive forming and teaching of multilayer forward floating neural nets based on program agents is shown.Pr...

Повний опис

Збережено в:
Бібліографічні деталі
Дата:2026
Автори: Shinkarenko, V.I., Oleynik, D.V.
Формат: Стаття
Мова:Російська
Опубліковано: PROBLEMS IN PROGRAMMING 2026
Теми:
Онлайн доступ:https://pp.isofts.kiev.ua/index.php/ojs1/article/view/1008
Теги: Додати тег
Немає тегів, Будьте першим, хто поставить тег для цього запису!
Назва журналу:Problems in programming
Завантажити файл: Pdf

Репозитарії

Problems in programming
_version_ 1867841442728116224
author Shinkarenko, V.I.
Oleynik, D.V.
author_facet Shinkarenko, V.I.
Oleynik, D.V.
author_institution_txt_mv [ { "author": "V.I. Shinkarenko", "institution": "Dnepropetrovsk National University of Railway Transport" }, { "author": "D.V. Oleynik", "institution": "Dnepropetrovsk National University of Railway Transport" } ]
author_sort Shinkarenko, V.I.
baseUrl_str https://pp.isofts.kiev.ua/index.php/ojs1/oai
collection OJS
datestamp_date 2026-06-12T14:33:31Z
description The environment for distributed calculations in heterogenic and multiplatform networks is developed. The organization of calculation process under agents control is presented. The methodic of adaptive forming and teaching of multilayer forward floating neural nets based on program agents is shown.Problems in programming 2009; 1: 60-72
first_indexed 2026-06-13T01:00:10Z
format Article
fulltext Експертні та інтелектуальні інформаційні системи © В.И. Шинкаренко, Д.В. Олейник, 2009 60 ISSN 1727-4907. Проблеми програмування. 2009. № 1 УДК 004.89:004.48 В.И. Шинкаренко, Д.В. Олейник ПРОГРАММНЫЕ АГЕНТЫ В ОРГАНИЗАЦИИ РАСПРЕДЕЛЕННЫХ ВЫЧИСЛЕНИЙ АДАПТИВНОГО СИНТЕЗА И ОБУЧЕНИЯ НЕЙРОСЕТЕЙ Разработана среда для выполнения распределенных вычислений в гетерогенных и много платформен- ных компьютерных сетях. Представлена организация вычислительного процесса, управляемого аген- тами. Выполнена детализация организационных решений для адаптивного формирования и обучения многослойных прямоточных нейросетей на основе программных агентов. Приведена методика оценки временной эффективности предложенной организации вычислительного процесса. Введение Постоянно возрастающие объемы информации и интенсивность информаци- онных потоков в автоматизированных сис- темах повышают нагрузки на СУБД. Эф- фективность СУБД снижается и в некото- рых случаях время выполнения запросов прекращает удовлетворять пользователей. Одним из предлагаемых решений для устранения этой проблемы является адаптация СУБД к изменяющимся услови- ям функционирования. Предполагается изменение некоторых управляющих пара- метров СУБД и структуры БД при измене- нии параметров рабочей нагрузки. Изуче- ние возможностей такой адаптации, эф- фективности подбора управляющих пара- метров предполагается на соответствую- щих моделях, в том числе и моделях рабо- чей нагрузки СУБД, представимых в виде временных рядов. В результате изучения существую- щих подходов и средств моделирования временных рядов, поставлена задача ней- росетевого моделирования на основе пря- моточных многослойных сетей с гибрид- ным алгоритмом обучения на основе гене- тического алгоритма и алгоритма обратно- го распространения ошибки [1]. При решении задач нейросетевого моделирования возникает необходимость поиска эффективных структур нейросетей (НС) и параметров алгоритма обучения [2, 3]. Специфика синтеза и адаптации струк- тур НС на основе анализа качества моде- лирования обученных НС заключается в потребности значительных временных и технических ресурсов. Особенности метода адаптивного формирования (синтеза) нейросетей для моделирования рабочей нагрузки СУБД приведены в [4]. В данной работе рассмат- риваются вопросы, связанные с организа- цией вычислений, обеспечивающих высо- кую временную эффективность вычисли- тельных процессов. Основным решением, позволяющим повысить производительность вычисли- тельных систем средствами организации вычислительного процесса, является рас- параллеливание вычислений. На основе опыта решения таких задач, как астроно- мические расчёты, прогнозирование по- годно-климатических условий, моделиро- вание ядерных испытаний, дешифрование, эволюционные вычисления построена про- граммно-техническая база на основе су- перкомпьютеров [5], кластерных систем [6 – 10], систем распределённых вычислений [11 – 13]. Так сложилось исторически, что сначала параллельные вычисления появи- лись на базе суперкомпьютеров, поэтому их достоинства и недостатки наиболее очевидны. Главное достоинство суперком- пьютеров (после производительности) – высокая скорость обмена данными между вычислительными устройствами ввиду размещения данных в общей памяти. Ос- новной недостаток – стоимость, так как каждый суперкомпьютер, по сути, искус- ственное изделие сложной архитектуры. Експертні та інтелектуальні інформаційні системи 61 Кластер – набор компьютеров, рас- сматриваемый ОС, системным программ- ным обеспечением, программными прило- жениями и пользователями как единая система [12]. Использование кластера по- зволяет построить высокопроизводитель- ные, отказоустойчивые вычислительные системы. Основные области применения кластеров – системы управления базами данных, одновременная работа большого количества пользователей, научные при- ложения. Особенностью кластерных систем является гомогенность их узлов и наличие на каждом узле установленной специали- зированной операционной системы. Ком- пьютеры, входящие в кластер, соединяют- ся локальной сетью, что может стать узким местом вычислительной системы при ак- тивном обмене данными между узлами кластера [10]. Тем не менее, кластерные системы занимают достаточно большой сегмент суперкомпьютерного рынка, пред- лагая конкурентоспособную производи- тельность за существенно более низкую стоимость. Распределённые вычисления (distri- buted computing, grid computing, volunteer computing) – способ решения трудоёмких вычислительных задач с использованием двух и более компьютеров объединённых в сеть [14]. Особенность систем распреде- лённых вычислений: аппаратная и про- граммная гетерогенность узлов. Задачи, решаемые такими системами, в основном, вычислительного характера, причём важ- ным аспектом является возможность сег- ментации общей задачи на независимые подзадачи. С ростом популярности Интернета появилась возможность существенно уве- личить количество узлов, входящих в сис- тему. Так, проект распределённых вычис- лений в интернете SETI@Home [15] по вычислительной мощности сравним с со- временными суперкомпьютерами. В данной работе рассматривается организация вычислительного процесса в гетерогенной среде распределённых вы- числений с использованием агентных тех- нологий [16, 17], а также применение ин- теллектуальных программных агентов в задачах адаптивного формирования и обу- чения НС. Преимущество такого подхода проявляется в использовании для вычис- лений скрытых ресурсов неспециализиро- ванных технических и программных средств. Насколько эффективны предло- женные решения по организации вычисли- тельного процесса, предлагается оценивать по показателю степени превосходства вре- менной эффективности алгоритмов [18]. 1. Организация вычислительного процесса Необходимо выделить предпосыл- ки, предопределившие особенности орга- низации рассматриваемого вычислитель- ного процесса. Эти предпосылки связанны с текущим состоянием информатизации организаций, задействованных в сфере производства, торговли, оказания услуг, науки и образования. В настоящее время на предприятиях имеется обширный парк компьютеров, объединённых в локальные или распреде- ленные корпоративные сети. В торгово-производственных орга- низациях использование компьютеров сводится к работе в различных офисных программах и одной или нескольких учёт- ных системах, кроме того, на предприяти- ях внедряются серверы приложений и тер- минальные серверы (типа RDP или Citrix MetaFrame), которые снимают с локальных компьютеров вычислительные нагрузки. В учебных заведениях на компьютерах функционирует математическое про- граммное обеспечение, программы для проектирования и моделирования, среды программной разработки, офисные пакеты. Загруженность компьютеров в ор- ганизациях подчинена определённым вре- менным закономерностям. В торговых и учебных заведениях активность использо- вания парка компьютеров приходится на дневное время – остальную часть суток вычислительные ресурсы не используются. На производстве с круглосуточной за- груженностью можно выделить перио- ды простоя или значительного сниже- ния нагрузки. Експертні та інтелектуальні інформаційні системи 62 В подавляющем большинстве слу- чаев вычислительные ресурсы компьюте- ра: процессора, оперативной памяти, вин- честера и т.п. загружены незначительно, часто на 1 – 5 %. В настоящей работе организация вычислительного процесса направлена на то, чтобы использовать невостребованные вычислительные мощности. Фактически это решается путём создания среды рас- пределённых вычислений, в рамках кото- рой будет выполняться вычислительный процесс. Для организации вычислительного процесса реализовано два независимых уровня: среда распределённых вычислений (СРВ) и исполнители вычислений. СРВ может функционировать независимо от того, работают исполнители вычислений или нет, а исполнители вычислений, в свою очередь, могут быть запущены и без использования среды. Такой подход делает СРВ достаточно гибким механизмом, по- зволяющим выполнять различные вычис- лительные процессы без привязки к среде их реализации. 1.1 Среда распределённых вычислений СРВ состоит из центра управ- ления (ЦУ) на выделенном компьютере и множества исполнительных узлов (ИУ) на отдельных ЭВМ сети. Назначение СРВ заключается в предоставлении возможно- сти запуска с ЦУ необходимых программ на многих ИУ, предоставлении центру управления информации о работоспособ- ности исполнительных узлов, а также передаче полученных результатов с ИУ на ЦУ. ИУ должен быть проинсталлирован на каждом компьютере, включаемом в со- став СРВ. Обеспечивается восстановление работы исполнительного узла при переза- грузке компьютера (с использованием сис- темного реестра). В момент запуска ИУ регистрируется на ЦУ и ждёт его команд. Центр управления при запуске регистри- рует запущенные ИУ и периодически опрашивает их, контролируя работо- способность. ЦУ предоставляет пользователю консоль для ввода команд, отправляемых на выполнение исполнительным узлам, и визуализации отклика исполнительных уз- лов. При этом центр управления обрабаты- вает как единичные команды, так и пакеты команд, которые могут быть созданы пред- варительно (в текстовом файле) или инте- рактивно вводом с консоли. Общий фор- мат команд, посылаемых от ЦУ к ИУ, вы- глядит так: <ip>@<имя команды>[#<параметры ко- манды>], где <ip> – ip-адрес ЭВМ ИУ, <параметры команды>:=[show|hide] <имя процесса> [<параметры процесса>], где show/hide – признаки визуализа- ции/скрытия окна процесса, <имя процес- са> – название исполнимого или пакетного файла, <параметры процесса> – парамет- ры, передаваемые процессу через команд- ную строку. Полный набор команд приведён в табл. 1. Для работы исполнителей вычисле- ний необходимо наличие на ИУ опреде- лённых исполнимых файлов, библиотек, а также файлов ресурсов разного рода. Эти файлы могут время от времени изменяться (исправление ошибок, изменение требова- ний к вычислительному процессу). Изме- нения должны актуализироваться на каж- дом исполнительном узле. СРВ предоставляет механизм об- новления файлов для ИУ. Для этого на компьютере ЦУ создаётся открытая по се- ти папка !UPDATE, в которую выклады- ваются обновлённые файлы. При передаче исполнительному узлу соответствующей команды, он копирует себе все файлы из этой папки и запускает процесс само- обновления, если в пакет обновления вхо- дит откорректированный исполнимый файл ИУ. Следует подчеркнуть, что сама по себе СРВ никак не связана с агентными технологиями. С её помощью можно ре- шать совершенно разные задачи. Напри- мер, можно использовать СРВ для парал- лельного решения нескольких независи- мых систем дифференциальных уравнений с помощью математического пакета Експертні та інтелектуальні інформаційні системи 63 MAPLE. Пусть центр управления СРВ расположен на компьютере с ip-адресом 192.168.1.1, а исполнительные узлы СРВ загружены на трёх компьютерах сети ip- адресами: 192.168.1.2, 192.168.1.3, 192.168.1.4. Три программы решения раз- ных систем дифференциальных уравнений на языке MAPLE сохранены в файлах prog1.mws, prog2.mws, prog3.mws. Порядок действий для организации такого вычис- лительного процесса с использованием СРВ: − поместить файлы (cwmaple.exe, *.dll, prog1.mws, prog2.mws, prog3.mws) в папку \\192.168.1.1\!UPDATE на ЦУ; − запустить файл с пакетом команд обновления для всех ИУ: 192.168.1.2@UpdateFiles 192.168.1.3@UpdateFiles 192.168.1.4@UpdateFiles − для запуска параллельного решения систем дифференциальных уравнений не- обходимо запустить файл с таким пакетом команд: 192.168.1.2@ShellExecute#show cwmaple.exe prog1.mws 192.168.1.3@ShellExecute#show cwmaple.exe prog2.mws 192.168.1.4@ShellExecute#show cwmaple.exe prog3.mws − результаты расчёта сохраняются в файлы result.log на каждом ИУ. Для сбора результатов в ЦУ необходимо выполнить такой пакет команд: 192.168.1.2@GetLogs 192.168.1.3@GetLogs 192.168.1.4@GetLogs − после чего результаты будут ско- пированы в папки ЦУ, название которых совпадает с ip-адресами ИУ. Рассматриваемая далее работа аген- тов (исполнителей вычислений) инициали- зируется на исполнительных узлах СРВ средствами центра управления. 1.2. Исполнители вычислений Вычислительный процесс адаптив- ного формирования и обучения нейронных сетей реализован с использованием агент- но-ориентированного подхода. Исполни- телями вычислений являются агенты, объ- единённые в группы: постановщики за- дач, эксперты, диспетчеры и исполни- тели. Будем обозначать агента опреде- лённой группы префиксом А-, например, А-постановщик. Основной обязанностью А-поста- новщиков задач является формирова- ние и адаптация эффективных структур НС. Они взаимодействуют: с А-экспе- ртами для получения рекомендуе- мых параметров алгоритма обучения; с А-диспетчерами, которым передаются Таблица 1. Команды взаимодействия центра управления и исполнительных узлов СРВ Команды Назначение Ответ клиента <ip>@GetSystemIdle Определить загруженность процессора ИУ <ip>@GetSystemIdle: % загрузки <ip>@GetProcList Получить список запущенных процес- сов на компьютере ИУ Список процессов клиента <ip>@UpdateFiles Обновить файлы, предназначенные для работы исполнителей вычислений. Файлы находятся в открытой по сети папке !UPDATE на ЦУ <ip>@OK – обновле- ние прошло успешно <ip>@KillProcByName# <имя процесса> Снять с выполнения процесс на ИУ <ip>@OK – действие выполнено успешно <ip>@ShellExecute# [show|hide] <имя про- цесса> <параметры> Запустить на выполнение процесс на ИУ с указанием параметров запуска <ip>@OK – действие выполнено успешно <ip>@GetLogs Скопировать результаты вычислитель- ного процесса (файлы *.log) с ИУ на ЦУ <ip>@OK – действие выполнено успешно Експертні та інтелектуальні інформаційні системи 64 структуры НС и параметры алгоритма обучения с целью получения оценок структур НС. В обязанности А-диспетчеров вхо- дит эффективное распределение вычисле- ний среди доступных А-исполнителей и сбор оценок качества обучения НС. Главная обязанность А- исполнителей – по заданной структуре НС и параметрах алгоритма обучения выпол- нить обучение НС и получить оценку ка- чества её обучения. У А-исполнителей пассивная роль. С ними взаимодействуют А-диспетчера, которые предоставляют за- дание и требуют результатов. А-эксперты должны найти рацио- нальные параметры алгоритма обучения НС. Поэтому А-эксперты взаимодейству- ют, во-первых, с А-постановщиками, кото- рым они передают параметры алгоритма обучения и получают достигнутые крите- рии качества НС при этих параметрах, во- вторых, между собой – для принятия ком- промиссных решений. 1.3. Управление вычислительным процессом Важным аспектом устойчивости вычислительного эксперимента является планирование распределения пакетов за- даний для выполнения на исполнительных узлах СРВ. Ответственность за это лежит на А-диспетчерах. Сформированный пакет задания включает в себя описание струк- туры нейросети и параметры алгоритма обучения для однократного обучения НС. А-диспетчер раздаёт пакеты зада- ний свободным А-исполнителям. После того, как А-исполнитель закончил расчёт и вернул результат, ему передаётся следую- щий пакет задания. Когда все пакеты зада- ний розданы, но имеются в наличии сво- бодные А-исполнители, тогда А- диспетчер раздаёт уже выданные, но не- досчитанные, пакеты заданий свободным А-исполнителям. Таким образом, один и тот же пакет задания может обрабатывать- ся двумя и более агентами-исполнителями. Такой подход эффективен, если в СРВ участвуют компьютеры с разной про- изводительностью, т. е. свободные А- исполнители пытаются помочь отстающе- му. Как только один из А-исполнителей решает продублированный пакет задания и сообщает об этом А-диспетчеру, тот посы- лает остальным А-исполнителям команду на прекращение обработки. Кроме того, А-диспетчер контроли- рует работоспособность А-исполнителей, выполняющих пакет задания. А-исполни- тель может находиться в трёх состояниях: свободен, занят решением, хранение ре- зультата. Если состояние А-исполнителя «свободен», тогда А-диспетчер поручает ему выполнение нового задания. Если А-исполнитель находится в состоянии «за- нят решением», тогда А-диспетчер про- сто фиксирует его доступность. Если А-исполнитель находится в состоянии «хранит результат», тогда А-диспетчер запрашивает у него результат, после чего А-исполнитель переходит в состояние «свободен». Если А-исполнитель стано- вится недоступным (перегрузили исполни- тельный узел агента, пропала связь по сети или сняли процесс агента), тогда А-диспетчер перераспределяет пакет зада- ния другому свободному А-исполнителю. Такие действия А-диспетчера по- зволяют гарантировать выполнение вы- числительного процесса до тех пор, пока доступен хотя бы один А-исполнитель. Дополнительно А-диспетчер отслеживает появление новых А-исполнителей и дина- мически подключает их к вычислительно- му процессу. Если вычислительный процесс прекратился (перегрузили компьютер с А-диспетчером или А-постановщиком, пропала связь со всеми агентами исполни- телями), то его можно возобновить с той точки, на которой произошла остановка. Для возобновления формирования структур НС необходимо инициализиро- вать А-постановщика последними доступ- ными результатами предыдущего процесса и возобновить процесс. При остановке вычислительного процесса знания А-экспертов о параметрах алгоритма обучения также будут сохране- ны. А-эксперты хранят факты о парамет- рах алгоритма обучения и результатах обучения НС при этих параметрах в тек- Експертні та інтелектуальні інформаційні системи 65 стовых файлах, имеющих теговую струк- туру. Периодически (первый раз при стар- те агента) из этих фактов А-эксперты из- влекают знания о том, какие параметры наиболее эффективны. Таким образом, при остановке вы- числительного процесса и последующем его возобновлении А-эксперты просто по- вторно извлекут знания из имеющихся фактов. Разработанная организация вычис- лительного процесса адаптивного форми- рования и обучения НС позволяет выпол- нять вычисления в гетерогенной сети с возможностью управления и контроля за ходом вычислений из единого центра. 2. Общая модель взаимодействия агентов Задача адаптивного формирования и обучения НС состоит из двух отдельных подзадач: адаптивного формирования структур НС и адаптивного обучения НС. Первая подзадача решается с ис- пользованием генетического алгоритма параметрической адаптации (ГАПА). С помощью этого алгоритма А-постановщик задач формирует структуры НС, которые попадут в пакет заданий. Вторая подзадача решается адапта- цией параметров гибридного генетическо- го алгоритма с градиентным дообучением лидеров (ГГАО) [1], используемого для получения оценок НС. ГГАО реализован в А-исполнителе. Параметрическая адапта- ция данного алгоритма к обучающей вы- борке осуществляется А-экспертами мето- дом кластеризации. Согласно подзадачам выделяются две группы агентов: агенты, занимающие- ся адаптивным формированием струк- тур НС (А-постановщик, А-диспетчер, А-исполнитель) и агенты, адаптирую- щие параметры алгоритма обучения (А-эксперты). На рис. 1 (в нотации UML [19, 20]) представлена общая схема взаимодействия агентов, реализующих вычислительный процесс. Агент А-постановщик задач (aNNarchitector) является связующим зве- 2 2 3 4 5 6 6 1 aTeachNN ПолучитьАрхитектуруНС() ПолучитьПараметрыОбучения() ОбучитьНС() ВернутьПоказательОбучения() База знаний о качестве обучения НС при различных наборах параметров ГА База знаний о качестве обучения НС при использовании различных градиентнтых методов и их настроек База знаний о качестве обучения НС определённой архитектуры при различных сочетаниях параметров ГА и градиентных методов Цель агента: подобрать эффективные параметры ГА для обучения НС Цель агента: подобрать эффективную архитектуру НС и параметры её обучения для решения конкретной задачи Цель агента: подобрать эффективные градиентные методы и их параметры для обучения НС kbControlGA kbNNarchitector aControlGradient СформироватьПараметры() УзнатьПоказательОбучения() ОбновитьБЗ() ИзменитьПриоритетВыбораПараметров() kbControlGradient aDispatcher НайтиСвободныхУчителей() ПолучитьЗадания() РаспределитьЗадания() ПолучитьРезуль таты() Цель агента: эффективно распределить задания на решение Цель агента: выполнить поставленное задание известными ему методами с заданными параметрами aNNarchitector СформироватьАрхитектуру() ПолучитьПараметрыГА() ПолучитьПараметрыГрадиента() СформироватьНаборПараметровОбучения() ОбучитьНС() УзнатьПоказатель() ОбновитьБЗ() aControlGA ПолучитьПараметрыГА() УзнатьПоказательОбучения() РаспределитьПриоритетыВыбораПараметров() ОбновитьБЗ() – управление, – потоки данных, – база знаний, – включение Рис. 1. Общая модель взаимодействия агентов Експертні та інтелектуальні інформаційні системи 66 ном между агентами адаптации структуры НС и агентами адаптации параметров ал- горитма обучения. Именно А-постановщик задач формирует пакеты заданий, состоя- щие из структур НС и параметров алго- ритма обучения. Таким образом, взаимодействие всех представителей агентной среды про- исходит в таком порядке: – постановщик задач формирует на- бор структур НС; – запрашивает у экспертов параметры алгоритма обучения для каждого набора; – передаёт пакеты заданий диспет- черу; – диспетчер раздаёт пакеты зада- ний исполнителям и получает оценки структур НС; – диспетчер возвращает оценки всей популяции агенту постановщику задач; – постановщик задач оповещает экс- пертов о результатах обучения; – если в течении некоторого периода (10-15 итераций) структура НС не упроща- ется или исчерпан выделенный лимит ите- раций, то расчет закончен, иначе переход вначало. 3. Особенности разработки среды распределенных вычислений и агентных исполнителей вычислений Качество разработанного про- граммного обеспечения и необходимые для разработки ресурсы, в том числе и временные, в значительной мере зависят от адекватности выбранного инструмента- рия разработки, его возможностей. В на- шем случае инструментарию разработки уделено достаточно серьёзное внимание. Среда распределённых вычислений реализована в MS Visual Studio 2005 на языке C#. Таким образом, для её работы необходимо на каждом компьютере, вхо- дящем в СРВ установить платформу Microsoft.Net версии не ниже 2.0. Существует ряд программных средств разработки интеллектуальных программных агентов [16, 17]. Некоторые из них специализированы для проектиро- вания мультиагентных систем. Основные характеристики средств разработки: базо- вый язык программирования, платформа реализации, соответствие стандартам. В данной работе использовалась среда разработки JADE (Java Agent DEvelopment Framework) [21, 22]. Эта сре- да состоит из набора базовых классов Java, на основании которых разрабатываются специализированные агенты, а также клас- сов, реализующих платформу для функ- ционирования созданных агентов. Выбор Java в качестве языка программирования объясняется кросс-платформенностью его виртуальной машины, которая переносит- ся и на агентов, созданных на этом языке программирования. Среда JADE удовле- творяет спецификациям FIPA97 (Foundation for Intelligent Physical Agents), используемый в работе язык взаимодейст- вия агентов – FIPA ACL. Платформа JADE на этапе функ- ционирования состоит из двух агентов: AMS (Agent Management System) – агент, создающий среду функционирования аген- тов и предоставляющий агентам разнооб- разные сервисы; DF (Directory Facilitator) – агент, который ответствен за регистрацию агентов в платформе и предоставление ин- формации об их местонахождении. Для взаимодействия агентов в пре- делах одной платформы использовался протокол RMI (Remote Method Invocation). Функционирование агентов JADE задаётся с помощью наследников класса Behavior (поведение), объекты которых агент декларирует в качестве своего пове- дения. Наследники класса Behavior позво- ляют реализовать одноразовые, много- кратно и периодически повторяющиеся действия. Существует возможность соз- дать сложное поведение, состоящее из не- скольких простых действий, выполняемых последовательно или параллельно. Наибо- лее сложным с точки зрения взаимодейст- вия является поведение А-диспетчера. Оно задаётся тремя достаточно сложными по- ведениями для взаимодействия с А- исполнителями (опрос состояния, раздача заданий, получение результатов) и одним более простым поведением взаимодейст- вия с А-постановщиком задач. Взаимодействие агентов осуществ- ляется с помощью сообщений на языке Експертні та інтелектуальні інформаційні системи 67 ACL (Agent Communication Language) [23]. Язык ACL предназначен для совершения коммуникативных актов между агентами. Сообщения на этом языке представляют собой скомпонованный набор пар: назва- ние параметра – значение. Параметры, ко- торые могут входить в состав ACL- сообщения, стандартизованы. Некоторые из используемых параметров пред- ставлены в табл. 2. Перформатив (тип коммуникатив- ного акта) может принимать следующие значения: INFORM (передаётся информа- ция), REQUEST (запрос выполнения дей- ствия), QUERY_REF (запрос на получение информации), QUERY_IF (запрос на полу- чение информации по условию). В общем случае считается, что со- общение содержит текст на одном из язы- ков передачи знаний (FIPA Semantic Language, Prolog и др.), но в рамках ре- шаемой задачи в этом не было необходи- мости, поэтому параметры «Language» и «Ontology» использовались в качестве уточняющих параметров сообщения. На- пример, сообщение, которым А- постановщик задач информирует А- диспетчера о размере популяции, выглядит таким образом: (inform :sender aNNarchitector :receiver aDispatcher :content "50" :language Fill :ontology Count), где значение языка Fill говорит о том, что сейчас речь идёт о заполнении А- диспетчера пакетами заданий, а онтология Count уточняет, что содержание будет пе- редавать количество пакетов. В качестве IDE (Integrated Development Environment) использовалась среда разработки Eclipse. Данная среда об- ладает мощнейшим инструментарием, по- зволяющим значительно ускорить разра- ботку. Особо следует отметить многопо- точный отладчик, позволивший одновре- менно запускать несколько агентов и от- лаживать их взаимодействие в одном окне. Применение выбранного инстру- ментария разработки позволило сократить сроки разработки, упростить проведение численных экспериментов. 4. Оценка эффективности организации вычислений Организацией параллельных вы- числений, в общем случае, занимается диспетчер или планировщик (scheduler) процессов, который реализует некоторый алгоритм диспетчеризации (дисциплину обслуживания [24]). Основным назначением алгоритма диспетчеризации является повышение об- щей временной эффективности совместно выполняемых процессов. Таким образом, функциональная эффективность [25] алго- ритма диспетчеризации, выражается вре- менной эффективностью совокупно вы- полняемых параллельных процессов (дис- петчер работает настолько хорошо на- сколько ускоряется выполнение диспетче- ризации процессов). Особенности программ, подлежа- щих диспетчеризации, проявляются в том, что: – задача разбивается на несколько частей, которые могут быть выполнены параллельно; – время выполнения отдельных час- тей может существенно различаться; – общее время решения задачи опре- деляется по окончанию выполнения по- следней части. Таблица 2. Параметры ACL-сообщений Параметр Категория параметра performative Тип коммуникативного акта sender Отправитель сообщения receiver Получатель сообщения reply-to Получатель ответа на со- общение content Содержимое сообщения language Язык сообщения encoding Кодировка сообщения ontology Онтология сообщения Експертні та інтелектуальні інформаційні системи 68 Это отличает их от задач, диспет- чируемых в операционной системе и вы- числений на кластерах. На временную эффективность раз- работанной системы существенное влия- ние оказали: распараллеливание вычисле- ний и выбор алгоритма диспетчеризации (п. 1.3). Эти решения являются в некоторой степени универсальными. Они применимы для разработки различных программных средств, требующих значительных вычис- лительных ресурсов и имеющих способ- ность к распараллеливанию вычислений неравномерными частями. Так как данная работа предназначе- на для отражения аспекта организации вы- числений в задаче адаптивного синтеза и обучения НС выполним оценку эффектив- ности алгоритмов организации вычисле- ний согласно методикам [18, 25]. Оценим эффективность распарал- леливания вычислений. Пусть, вычисления при решении некоторой задачи можно разбить на n не- зависимых, одинаковых по количеству и последовательности вычислений, частей. Для вычислений может быть использовано m одинаковых вычислительных устройств (ЭВМ). Время вычислений для каждой части постоянно и равно * it для некоторой i -й реализации. Тогда время вычислений i -й реализации на одной ЭВМ составит * 1)( ii tnT ⋅=ℜ , на m ЭВМ – *),()( imi tmnvT ⋅=ℜ , где     =       +   = случае противном в ,1 0 m n при ,0 ),( m n mnν , и [ ] { }, – целая и дробная часть целочис- ленного деления. Степень превосходства алгоритма, с параллельным выполнением над таким же алгоритмом с последовательным выполне- нием составляет [18]: =⋅ ℜℜ ℜ−ℜ=ℜℜ ∑ = N i mii mii m TT TT N S 1 1 1 11 %100 )(),(max( )()(1 ),( =⋅ ⋅ ⋅−⋅= ∑ = %100 ),(1 1 * **N i i ii tn tmnvtn N (1) %100 ),( 1 ⋅      −= n mnv . В формуле (1) время на диспетчери- зацию параллельных процессов и обмен данными не учитывается, так как в нашем случае объемы обмениваемых данных не- большие и диспетчеризация простейшая. При разбиении задачи на 100 частей и выполнении на 30 ЭВМ, например, сте- пень превосходства составит 96 %, при 1000 … 10000 и 7 соответственно – 85 … 86 %. Пусть вычисления выполняются на различных по производительности ЭВМ. Время вычислений на наиболее произво- дительном компьютере * it , наименее про- изводительном – ** it для некоторой i -й реа- лизации. Определим максимальную и ми- нимальную степень превосходства алго- ритмов выполняемых параллельно по от- ношению к последовательному. Время вычислений i -й реализации на наиболее производительной из имею- щихся ЭВМ составит * 1)( ii tnT ⋅=ℜ , худшее время на m ЭВМ – **),()( imi tmnvT ⋅=ℜ . Максимальная сте- пень превосходства: .%100 ),( 1 1 %100 ),(1 %100 )(),(max( )()(1 ),( 1 * ** 1 * *** 1 1 1 12 ∑ ∑ ∑ = = = ⋅         ⋅ ⋅ −= =⋅ ⋅ ⋅−⋅ = =⋅ ℜℜ ℜ−ℜ =ℜℜ N i i i N i i ii N i mii mii m tn tmnv N tn tmnvtn N TT TT N S Аналогично минимальная степень превосходства – (2) Експертні та інтелектуальні інформаційні системи 69 ∑ = ⋅         ⋅ ⋅ −=ℜℜ N i i i m tn tmnv N S 1 ** * 12 %100 ),( 1 1 ),( . (3) В случае, когда части, на которые разбиваются вычисления, различны и они выполняются на различных по производи- тельности ЭВМ, степень превосходства согласно (1) будет: %100 max 1 ),( 1 1 ),,( 1)1,,(..11 13 ⋅         − = =ℜℜ ∑ ∑ ∑∑ = = +−===N i n j ijk kmnf kmnfj ijk mk n j ijk m N S τ ττ , (4) где ijkτ – время выполнения j – части вы- числений на k -м компьютере в i -й реали- зации алгоритма, . случае противном в ,0 если ),( ),,(          −>      −−+ +⋅   = m n mk m n mk k m n kmnf Для оценки эффективности диспет- черизации следует сравнивать время вы- полнения с диспетчеризацией и без неё. В последнем случае распределения вычисле- ний по компьютерам выполняется только по предварительному планированию. При этом, не имея априорной информации о времени выполнения каждой части на ка- ждом компьютере, планирование может быть сведено только к примерно одинако- вому (±1) по количеству частей распреде- лению. Этот факт, а также алгоритмиче- ское распределение вычислений с диспет- черизацией позволяют определять показа- тели степени превосходства (3) и (4) толь- ко экспериментальным путем. ∑ = ⋅−= N i ii ii DTPT DTPT N PDS 1 4 %100 )(),(max( )()(1 ),( , (5) где D – вычислительные алгоритмы под управлением алгоритма диспетчеризации, P – те же алгоритмы, выполняемые со- гласно предварительному планированию. Для определения (5) не обязательно выполнять дополнительные численные вычисления с предварительным планиро- ванием. Достаточно выполнять протоколи- рование процесса вычислений при расче- тах с диспетчером, при котором отмечает- ся время начала и окончания выполнения расчетов каждой части, с указанием ис- полнителя. Выполнены численные эксперимен- ты по адаптивному синтезу и обучению НС на экспериментальной базе, которая с технической стороны состояла из компью- теров различной конфигурации. Компьютеры экспериментальной базы различались объемом кэш-памяти, частотой процессора и шины, другими техническими характеристиками. Некото- рые из них приведены далее в таком по- рядке: процессор / чипсет системной пла- ты – кэш L1 кода / L1 данных / L2, Кб - тактовая частота/частота системной шины, МГц: – Intel Pentium 4 / DFI PS35–BC/BL - 12/8/512 – 2400 (12 x 200) / 200; – DualCore Intel Pentium E2180 / Giga- byte GA-945GM-S2 v3 – 32/32/1024 – 2000 (10 x 200) / 200; – Intel Pentium 4 / DFI NB73- BC/BL/8/512 – 2400 (18 x 133) / 133; – DualCore Intel Core 2 Duo E4500 / Asus P5G-MX- 32/32/2048 – 2200 (11 x 200) / 200 (расчет выполнялся на двух ядрах); – DualCore Intel Core 2 Duo/ Gigabyte GA–G31MX-S2 - 12/8/512 – 2400 (12 x 200) / 200 ; – Intel Pentium 4 / Transcend TS-ABR4 – 12/8/256 – 1700 (17 x 100) / 800 / 100. На основании экспериментально полученной выборки случайного времени выполнения одной части вычислений для каждой ЭВМ построили интегральную функцию распределения (пример на рис. 2). Для каждого экспериментально полученного ijkτ определена вероятность kijkijkk NnP /)( =< τξ , где kξ – слу- чайное время выполнения одной части на k-й ЭВМ, ijkn – количество вычислений из обучающей выборки для k-й ЭВМ, с вре- менем выполнения не превосходящим ijkτ , kN – объем обучающей выборки для k-й ЭВМ. Функция интегрального распре- деления построена как линейная интерпо- Експертні та інтелектуальні інформаційні системи 70 ляция между определенными таким об- разом точками. Генератор случайного времени вы- полнения одной части вычислений ijkτ ставил в соответствие равномерно распре- деленной в интервале [0,1] случайной ве- личине, полученной стандартными средст- вами, соответствующее функции инте- грального распределения значение. Время решения задачи при плани- ровании моделировалось как         ∑ +−== ),,( 1)1,,(..1 max kmnf kmnfj ijk mk τ . Алгоритм дис- петчирования моделировался средствами MS Excel и определялось общее время ре- шения задачи. Согласно (5) определяем степень превосходства при различном ко- личестве частей. Для каждого kN реше- ния задачи адаптивного синтеза и обуче- ния НС моделировалось 15 раз. На рис. 3 показаны результаты для компьютеров экспериментальной базы, на которых проводилась адаптация и обуче- ние НС. Там же показаны доверительные интервалы определенные согласно мето- дики приведенной в [18] и соответствую- щие регрессионные квадратичные кривые согласно критерия наименьшего средне- квадратичного отклонения. Пессимистическая оценка (в облас- ти между средним значением и нижней границей доверительного интервала) гово- рит о 20 … 30% повышения временной эффективности за счет описанной в п. 3.2 диспетчеризации. Заключение Применение агентного подхода по- зволило повысить эффективность вычис- лительного процесса путем использова- ния невостребованных ресурсов, имею- щихся в наличии компьютеров корпора- тивной сети. Получен положительный опыт при проведении вычислений во время проведе- ния занятий в учебных аудиториях. Вы- числения проводились под OC Windows XP в контексте недоступного студентам пользователя. При проведении занятий, не требующих значительных вычислительных мощностей, повышение времени отклика осталось практически незамеченным и не мешало проведению занятий. Использование в вычислительном процессе современных рабочих станций с многоядерными процессорами, только по- вышает их КПД, не влияя на другую рабо- ту, выполняемую на них. Большинство локальных сетей ге- терогенно, в силу того, что формирова- лись постепенно. Неисправные и мо- рально устаревшие компьютеры посте- пенно заменялись новыми. В силу этого достоинством предлагаемого подхода и разработанного ПО является его перено- Рис. 2. Интегральная функция распре- деления времени обучения НС Рис. 3. Степень превосходства алгоритма диспетчеризации над алгоритмом простого планирования Експертні та інтелектуальні інформаційні системи 71 симость, как по отношению к различной конфигурации, так и к различной архитек- туре компьютеров. Применение агентов позволило максимально упростить архитектуру раз- рабатываемого ПО, достаточно просто и эффективно организовать вычислительный процесс. Агентный подход нашел естествен- ное применение и при решении задачи адаптивного формирования и обучения НС. Интеллектуальные агенты позволили повысить эффективность направленного случайного поиска параметров НС. Сравнивая степень превосходства алгоритма быстрой сортировки над алго- ритмами с временной сложностью )( 2nO в исследуемой области [18], которая соста- вила 98 … 99,9 % и степень превосходства параллельно выполняемых алгоритмов в лучшем случае (при одинаковых частях) над последовательно выполняемыми, что для 30 ЭВМ (процессоров) составляет 96 %, очередной раз убеждаемся в приори- тетной необходимости хорошей алгорит- мизации. Что, в свою очередь, предполага- ет наличие соответствующих критериев, показателей и оценок эффективности, чему в некоторой степени и посвящена данная работа. 1. Паклин Н.Б., Сенилов М.А., Тененев В.А. Интеллектуальные модели на основе гиб- ридного генетического алгоритма с гра- диентным обучением лидера // Искусст- венный интеллект. – 2004. – № 4. – С. 159 –168. 2. Осовский С. Нейронные сети для обработ- ки информации. – М.: Финансы и стати- стика, 2002. – 343 с. 3. Шинкаренко В.И., Олейник Д.В. Нейросе- тевое моделирование рабочей нагрузки СУБД // Искусственный интеллект. – 2007. – № 4. – С. 657–664. 4. Олейник Д.В., Шинкаренко В.И. Мультиа- гентная адаптация гибридного генетиче- ского алгоритма для обучения нейросетей // Искусственный интеллект. – 2008. – № 4. – С. 463–470. 5. Лацис А.О. Как настроить и использовать суперкомпьютер. – М.: Бестселлер, 2003. – 274 с. 6. Воеводин Вл.В., Жуматий С.А. Вычисли- тельное дело и кластерные системы. – М.: Изд–во МГУ, 2007. – 150 с. 7. Залещанский Б.Д., Чернихов Д.Я. Кластер- ная технология и живучесть глобальных автоматизированных систем. – М.: Финан- сы и статистика, 2005. – 384 с. 8. Gregory F. Pfister In search of clusters , 2nd Edition. – Prentice Hall, 1998. – 578 с. 9. Дорошенко А.Е., Рухлис К.А., Мохница А.С. Распределённая платформа для управле- ния ресурсами гетерогенного кластера // Проблемы программирования. – 2008. – № 2-3. – С. 150–156. 10. Перевозчикова О.Л., Тульчинский В.Г., Ющенко Р.А. Построение и оптимизация параллельных компьютеров для обработки больших объёмов данных // Кибернетика и системный анализ. – 2006. – № 4. – С. 117–129. 11. Гофф Макс К. Сетевые распределенные вычисления. Достижения и проблемы.– М.: Кудиц-образ, 2005. – 320 с. 12. Топорков В.В. Модели распределённых вычислений. – М.: ФИЗМАТЛИТ, 2004. – 320 с. 13. Дорошенко А.Е., Розенблат А.П., Рухлис К.А., Тырчак Ю.М. Проблемы и средства программирования Грид–систем // Про- блемы программирования. – 2007. – № 3. – С. 16–31. 14. http://ru.wikipedia.org/wiki/Распределенные _вычисления. 15. http://ru.wikipedia.org/wiki/SETI@Home 16. Плескач В.Л., Рогушина Ю.В. Агентні технології: Монографія. – К.: – Нац. торг.- екон. ун-т, 2005. – 338 с. 17. Атанасова Т. Агентная технология: кон- цепции, модели, приложения. – Варна, 2000. – 155 с. 18. Шинкаренко В.И. Сравнительный анализ временной эффективности функционально эквивалентных алгоритмов // Проблемы программирования. – 2001 – № 3-4. – С. 31–39. 19. Стефан Бергстрём, Лотта Роберг. Rational Unified Process – путь к успеху. Руководство по внедрению RUP. – М.: Ку- диц - образ, 2004. – 256 с. Експертні та інтелектуальні інформаційні системи 72 20. Мартин Фаулер. UML. Основы. – М.: Символ, 2005. – 192 с. 21. http://jade.tilab.com 22. Fabio Luigi Bellifemine, Giovanni Caire, Dominic Greenwood. Developing Multi– Agent Systems with JADE. – Wiley, 2007. – 300 c. 23. http://www.fipa.org/specs/fipa00061/SC0006 1G.html 24. Словарь по кибернетике / Под ред. В.С. Михалевича. – Киев.: Гл. ред. УСЭ им. М.П. Бажана, 1989. – 751 с. 25. Шинкаренко В.И. Функциональная эффек- тивность нечетко специфицированных ал- горитмов // Проблемы программирования. – 2006 – № 1. – С. 31–39. Получено 10.09.2008 Об авторах: Шинкаренко Виктор Иванович, кандидат технических наук, доцент кафедры “Компьютерных информационных технологий”, Олейник Денис Викторович, ассистент, кафедра “Компьютерных информацион- ных технологий”. Место работы авторов: Днепропетровский национальный универ- ситет железнодорожного транспорта, рабочий адресс: 49010 каф. «КИТ», ДНУЖТ, ул. ак. Лазаряна 2, Днепропетровск, Тел.: 8 (056) 373 1535 Днепропетровский национальный универ- ситет железнодорожного транспорта, 49010 каф. «КИТ», ДНУЖТ, ул. ак. Лаза- ряна 2, г. Днепропетровск,
id pp_isofts_kiev_ua-article-1008
institution Problems in programming
keywords_txt_mv keywords
language Russian
last_indexed 2026-06-13T01:00:10Z
publishDate 2026
publisher PROBLEMS IN PROGRAMMING
record_format ojs
resource_txt_mv ppisoftskievua/ae/ecb728820be788940457697d2bf0a9ae.pdf
spelling pp_isofts_kiev_ua-article-10082026-06-12T14:33:31Z Program agents in the distributed calculations for adaptive forming and teaching of neural nets Программные агенты в организации распределенных вычислений адаптивного синтеза и обучения нейросетей Програмні агенти з організації розподілених обчислень адаптивного формування та навчання нейронних мереж Shinkarenko, V.I. Oleynik, D.V. UDC 004.89:004.48 УДК 004.89:004.48 УДК 004.89:004.48 The environment for distributed calculations in heterogenic and multiplatform networks is developed. The organization of calculation process under agents control is presented. The methodic of adaptive forming and teaching of multilayer forward floating neural nets based on program agents is shown.Problems in programming 2009; 1: 60-72 Разработана среда для выполнения распределенных вычислений в гетерогенных и много платформенных компьютерных сетях. Представлена организация вычислительного процесса, управляемого агентами. Выполнена детализация организационных решений для адаптивного формирования и обучения многослойных прямоточных нейросетей на основе программных агентов. Приведена методика оценки временной эффективности предложенной организации вычислительного процесса.Problems in programming 2009; 1: 60-72 Розроблено середовище для виконання розподіленних обчислень в гетерогенних та багатоплатформенних комп’ютерних мережах. Представлено організацію обчилювального процесу під керуванням агентів. Приведено методику адаптивного формування та навчання багатошарових прямоточних нейромереж на основі програмних агетів.Problems in programming 2009; 1: 60-72 PROBLEMS IN PROGRAMMING ПРОБЛЕМЫ ПРОГРАММИРОВАНИЯ ПРОБЛЕМИ ПРОГРАМУВАННЯ 2026-06-12 Article Article application/pdf https://pp.isofts.kiev.ua/index.php/ojs1/article/view/1008 PROBLEMS IN PROGRAMMING; No 1 (2009); 60-72 ПРОБЛЕМЫ ПРОГРАММИРОВАНИЯ; No 1 (2009); 60-72 ПРОБЛЕМИ ПРОГРАМУВАННЯ; No 1 (2009); 60-72 1727-4907 ru https://pp.isofts.kiev.ua/index.php/ojs1/article/view/1008/1076 Copyright (c) 2026 PROBLEMS IN PROGRAMMING
spellingShingle
UDC 004.89:004.48
Shinkarenko, V.I.
Oleynik, D.V.
Program agents in the distributed calculations for adaptive forming and teaching of neural nets
title Program agents in the distributed calculations for adaptive forming and teaching of neural nets
title_alt Программные агенты в организации распределенных вычислений адаптивного синтеза и обучения нейросетей
Програмні агенти з організації розподілених обчислень адаптивного формування та навчання нейронних мереж
title_full Program agents in the distributed calculations for adaptive forming and teaching of neural nets
title_fullStr Program agents in the distributed calculations for adaptive forming and teaching of neural nets
title_full_unstemmed Program agents in the distributed calculations for adaptive forming and teaching of neural nets
title_short Program agents in the distributed calculations for adaptive forming and teaching of neural nets
title_sort program agents in the distributed calculations for adaptive forming and teaching of neural nets
topic
UDC 004.89:004.48
topic_facet
UDC 004.89:004.48

УДК 004.89:004.48

УДК 004.89:004.48
url https://pp.isofts.kiev.ua/index.php/ojs1/article/view/1008
work_keys_str_mv AT shinkarenkovi programagentsinthedistributedcalculationsforadaptiveformingandteachingofneuralnets
AT oleynikdv programagentsinthedistributedcalculationsforadaptiveformingandteachingofneuralnets
AT shinkarenkovi programmnyeagentyvorganizaciiraspredelennyhvyčislenijadaptivnogosintezaiobučeniânejrosetej
AT oleynikdv programmnyeagentyvorganizaciiraspredelennyhvyčislenijadaptivnogosintezaiobučeniânejrosetej
AT shinkarenkovi programníagentizorganízacíírozpodílenihobčislenʹadaptivnogoformuvannâtanavčannânejronnihmerež
AT oleynikdv programníagentizorganízacíírozpodílenihobčislenʹadaptivnogoformuvannâtanavčannânejronnihmerež