Нейросетевой подход к реализации агента анализа подсистемы балансировки TriadBalance

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

Рубрика Программирование, компьютеры и кибернетика
Вид статья
Язык русский
Дата добавления 26.04.2019
Размер файла 108,9 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

C. А. Кирилловых, К. А. Юрков

Размещено на http://www.allbest.ru/

Пермский государственный университет

Нейросетевой подход к реализации агента анализа подсистемы балансировки TriadBalance

УДК 004.032.26:004.75

C. А. Кирилловых, К. А. Юрков

614990, Пермь, ул. Букирева, 15

Аннотации

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

Implementation of analysis agent in TriadBalance system

S. A. Kirillovykh, K.A. Yurkov

Perm State University, 614990, Perm, Bukireva st., 15

Processes in state-of-art high-performance systems need to be optimized for optimal use of resources. Solutions of this problem for nontrivial computing problems demand usage of dynamic load-balancing, which allows optimizing system node load in response to changes in system dynamics itself. In this paper we describe a multiagent method as a basis for dynamic load-balancing algorithm, which is used in the simulation system Triad Balance.

Введение© C. А. Кирилловых, К. А. Юрков, 2010

Появление современных высокопроизводительных вычислительных систем позволяет в значительной мере оптимизировать время выполнения имитационного эксперимента за счет перераспределения вычислений на различные процессоры (в многопроцессорной ЭВМ) или рабочие станции в сети. В связи с этим актуально появление программных систем имитационного моделирования, которые позволяют выполнять распределенный имитационный эксперимент [1, 2, 3, 4]. Однако разработчики распределенных систем имитации сталкиваются с проблемой дисбаланса нагрузки [5]. Зачастую с помощью алгоритмов динамической балансировки можно достичь эффекта только для конкретных распределенных имитационных моделей или для конкретного алгоритма синхронизации[6, 7]. В системе имитационного моделирования Triad.Net предпринята попытка разработать управляемый алгоритм балансировки, действующий по правилам, в которых учитываются характерные особенности конкретной имитационной модели, конкретной вычислительной системы, на которой проводится имитационный прогон [8]. В настоящее время ведутся работы по созданию мультиагентной подсистемы балансировки TriadBalance [9, 10], выполняющей децентрализованный сбор статистических данных о функционировании имитационной модели и вычислительной системы, с помощью агентов-датчиков определяющей момент возникновения дисбаланса (агент анализа), оптимальное перераспределение нагрузки на вычислительных узлах (агент распределения), перенос нагрузки (агент миграции). Цель, которую преследуют исследователи при разработке мультиагентной системы балансировки, - достичь высокой адаптируемости алгоритма балансировки к различным ситуациям (различные модели, различные алгоритмы синхронизации распределенных объектов имитационной модели). Предлагаем использовать нейросетевой подход при разработке агентов, реализующих алгоритм динамической балансировки. Ниже рассматривается опыт разработки агента анализа в мультиагентной подсистеме балансировки.

1. Постановка задачи перед агентом анализа

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

Архитектура системы TraidBalance представлена на рис. 1.

C. А. Кирилловых, К. А. Юрков

Размещено на http://www.allbest.ru/

Рис. 1. Архитектура системы TriadBalance

Агент анализа сообщается непосредственно с двумя агентами: агентом сбора статистики и агентом миграции или перераспределения.

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

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

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

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

Таким образом, агент анализа должен отвечать всем вышеуказанным требованиям.

2. Необходимость разработки собственной основы для агента анализа

Большинство решений, призванных обеспечить равномерность загрузки вычислительных мощностей, строятся исходя из особенностей постановки задачи, или они подходят только для ограниченного класса систем. Более того, такие решения зачастую носят закрытый характер, а потому недоступны для внесения изменений и дополнений. Этим объясняется необходимость разработки отдельного решения задачи балансировки и агента анализа как составной части этого решения для подсистемы TriadBalance.

3. Преимущества использования нейронных сетей для решения задачи балансировки

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

Продукционные системы использованы при реализации алгоритма динамической балансировки и описаны в работе [9]. Несколько иной подход изложен в работе [12]. Здесь для реализации динамической балансировки используется мультиагентный подход, нейронные сети (распознавание дисбаланса) и генетические алгоритмы для подбора характеристик нейронной сети. В работе [11] предложена архитектура подсистемы TriadBalance c использованием агентов, обученных на нейронной сети.

Кратко рассмотрим особенности задачи поиска дисбаланса с точки зрения предложенных альтернатив.

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

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

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

Однако все такие ситуации и возможные изменения поступающей нагрузки на узлы вычислительной системы заранее предусмотреть практически невозможно.

Неравномерный характер работы вычислительной системы обусловливает предпочтительное применение тех методов, которые способны распознавать, в каком режиме работает система, и, возможно, классифицировать ее характеристики на основе наблюдений о работе системы, полученных в предыдущие моменты времени.

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

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

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

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

4. Результаты применения нейронных сетей

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

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

Рассмотрим особенности и преимущества использования этих сетей.

Персептрон подходит для решения большого класса задач. В данной работе он был использован потому, что эффективность его подтверждена множеством практических примеров в различных предметных областях [13, 14].

Сеть Кохонена хорошо зарекомендовала себя для решения задач кластеризации в случае, когда количество классов заранее неизвестно [13]. В данной задаче применение этой сети возможно и для первичного разбиения всего множества ситуаций в системе на некоторые подклассы с целью дальнейшего подбора нейронной сети оптимальной структуры для каждого из подклассов в отдельности. Например, работа вычислительной сети может различаться в дневное время (много пользователей, частые запросы) и в ночное время (мало сообщений в сети). В другом случае данная сеть может быть применена для отнесения входного вектора к классу порожденных векторов в большой, средней или малой по объему вычислительной сети.

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

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

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

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

Рис. 2. Способность типов сетей решать задачу

Сравнение проводилось после одного прохода по тестовой выборке, количество тестов порядка 3000.

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

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

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

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

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

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

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

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

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

Оптимальным действием при отборе лучших особей в популяции (пуле сетей) стало отбрасывание 5% наименее приспособленных особей популяции после каждого шага ГА.

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

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

Выводы по использованию персептрона. Персептрон зарекомендовал себя как хорошая основа для построения агента анализа. Он хорошо подходит для решения поставленной задачи. Кроме того, был построен генетический алгоритм определения наиболее подходящих характеристик персептрона.

Проведен ряд испытаний (10 испытаний), в ходе которых генетический алгоритм был настроен таким образом, чтобы в результате оставались 9 наиболее приспособленных особей, каждая из которых представляет собой нейронную сеть. При этом можно объединить полученные результаты и рассматривать их совместно, т. е. считать, что генетический алгоритм отобрал сразу 90 особей.

Если проанализировать частотные характеристики выбора генетическим алгоритмом особи с определенной структурой, то получим, что чаще всего (в 71% случаев) выбирался персептрон с коэффициентом скорости обучения 0.05. Скорость обучения равная 0.1 выбиралась в 25% случаев, третий вариант - 0.02 в 4% случаев.

Способ изменения коэффициента обучения теперь есть смысл определять только для варианта, когда была выбрана скорость обучения 0.05. Уменьшение коэффициента после прохода по тестовой выборке на 2% было выбрано в 47% случаев, уменьшение на 1% - в 28% случаев, и уменьшение на 5% - в 25% случаев.

Распределение количества нейронов в полученных особях отражено на рис. 3.

Кол-во

Рис. 3. Зависимость попадания в число лучших особей от числа нейронов в скрытом слое сети

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

Отметим длительность времени выполнения генетического алгоритма для персептрона с заданными ранее параметрами. Это время - порядка минуты, оно получено на компьютере со следующими характеристиками:

· процессор с тактовой частотой 1,86 ГГц;

· ОЗУ 2 Гб;

· ОС Windows Vista.

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

Таким образом, результаты использования программы показали, что лучше всего решает задачу агента анализа персептрон с такими характеристиками: число нейронов в скрытом слое равно 4, коэффициент обучения равен 0.05, и он уменьшается на 2% после каждого обучения, количество проходов по обучающей выборке равно 40. Порядок прохода по тестовой выборке последовательный, однако за один шаг обучение проводится только на одной третьей части всей обучающей выборки.

Если количество элементов в тестовой выборке порядка 1000, то суммарная ошибка, которую дает наиболее приспособленная особь, взятая в качестве основы для реализации агента анализа, равна 30-40. То есть в среднем агент анализа дает ошибку не более 0.05 при множестве возможных его ответов {0, 1, 2}. То есть можно считать, что построенный агент анализа хорошо решает задачу распознавания дисбалансов.

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

Замечания по применению генетического алгоритма

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

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

Другой вариант - сокращение пространства поиска наиболее подходящей конфигурации нейронной сети. Для этого сокращается количество вариантов каждого из подбираемых параметров в нейронной сети. Например, возможное количество нейронов в скрытом слое выбрать не от 1 до 18, а от 10 до 14, если предварительный анализ показал бесперспективность применения малого количества нейронов в слое.

5. Направления дальнейших исследований и разработок

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

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

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

Заключение

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

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

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

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

Briane J.Premore, David M.Nicol. Parallel Simulation of TCP-IP Using TeD // Proceedings of the 1997 Winter Simulation Conference S.Andradуttir, K.J.Healy, D.H.Withers and B.L.Nelson S. eds. 1997. P.436-447.

Fujimoto R.M. Distributed Simulation Systems // Chick S., Sбnchez P.J., Ferrin D., Morrice D.J. (eds.) Proceedings of the 2003 Winter Simulation Conference. 2003. P.124-134.

Окольнишников В.В. Представление времени в имитационном моделировании // Вычислительные технологии / Сибирское отделение РАН, 2005. Т.10, №5. С. 57-77.

Миков А.И., Замятина Е.Б., Фатыхов А.Х. Система оперирования распределенными имитационными моделями сетей телекоммуникаций // Методы и средства обработки информации: тр. II Всерос. науч. конф. М.: Изд-во МГУ, 2003.

Миков А.И., Замятина Е.Б. Проблемы реализации системы распределенного моделирования с удаленным доступом // Методы и средства обработки информации // тр. III Всерос. науч. конф. М.: Изд-во МГУ, 2009. С.38-44.

Wilson L.F., Wei S. Experiments In Load Migration And Dynamic Load Balancing In Speedes // Medeiros, D.J., Watson, E.F., Carson, J.S., Manivannan, M.S. (eds.) Proceedings of the 1998 Winter Simulation Conference. 1998. P.590-596.

Zheng, G. Achieving High Performance on Extremely Large Parallel Machines: Performance Prediction and Load Balancing // Ph.D. Thesis, Department of Computer Science, University of Illinois at Urbana-Champaign, http: //charm.cs.uiuc.edu. 2005.

Миков А.И., Замятина Е.Б., Осмехин К.А. Динамическое распределение объектов имитационной модели, основанное на знаниях // Proceedings of XIII International Conference «Knowedge-Dialogue-Solution» KDS, ITHEA. Sofia, 2007.Vol.2. P.618-624.

Миков А.И., Замятина Е.Б., Козлов А.А. Оптимизация параллельных вычислений с применением мультиагентной балансировки // Тр. конф. ПАВТ-2009. C 599-604.

Замятина Е.Б., Ефимов А.Ю., Козлов А.А. Архитектура подсистемы мультиагентной балансировки в Triad.Net // Математика программных систем: межвуз. сб. науч. тр. / Перм. ун-т. Пермь, 2008. С. 4-13.

Замятина Е.Б., Стаценко Н.А., Юрков К.Б. Мультиагентная балансировка с использованием агентов, обученных на нейронных сетях // Математика программных систем: межвуз. сб. науч. тр. / Перм. ун-т. Пермь, 2008. С. 21-27.

Садыхов Р.К., Отвагин А.В. Оптимизация параллельных вычислений на базе многоагентной архитектуры // Математика программных систем: межвуз. сб. науч. тр. / Перм. ун-т. Пермь, 2008. С. 42-59.

Осовский С. Нейронные сети для обработки информации. М.: Финансы и статистика, 2002. 344 с.

Круглов В.В., Борисов В.В. Искусственные нейронные сети. Теория и практика. М., 2002. 382 с.

Соломка Ю.И. Применение генетических алгоритмов для обучения нейронных сетей: IV міжнар. студ. наук.-практ. конф. Ч.1. Вінниця: ВІ МАУП, 2004. С. 85-90.

Вороновский Г.К.., Махотило К.В., Петрашев С.Н., Сергеев С.А. Генетические алгоритмы, искусственные нейронные сети и проблемы виртуальной реальности. Харьков: Основа, 1997.

Размещено на Allbest.ru

...

Подобные документы

  • Поиск источников ориентированного графа. Использование динамических структур при работе с графами. Способы представления графов, операции над ними, описание программной реализации. Процедуры и функции языка. Функции работы с динамической памятью, графами.

    курсовая работа [58,6 K], добавлен 29.01.2009

  • Радиотелескоп - сложный объект управления из семи регулируемых приводов. Построение мехатронной модели привода радиотелескопа, исследование взаимодействия ее подсистем. Алгоритмы стабильного, эффективного управления и стабильно-эффективных компромиссов.

    дипломная работа [2,5 M], добавлен 23.09.2013

  • Создание программы, которая создает набор данных в динамической памяти компьютера и позволяет корректировать его. Описание программного комплекса. Обзор особенностей реализации программы с использованием модулей. Добавление данных в конец текущего набора.

    курсовая работа [455,2 K], добавлен 28.08.2017

  • Обзор существующих методов межпроцедурного анализа. Получение входных и выходных данных подпрограмм с помощью графа алгоритма. Описание входных и выходных данных подпрограммы в терминах фактических параметров. Определение параллелизма по графу алгоритма.

    учебное пособие [77,5 K], добавлен 28.06.2009

  • Методика системного исследования реальной динамической сложной системы посредством разработки ее имитационной модели. Разработка программы реализации алгоритма имитационного моделирования системы массового обслуживания "Интернет-провайдерская фирма".

    курсовая работа [2,0 M], добавлен 20.01.2010

  • Технология программных агентов. Форматы метаданных, использующиеся для описания электронных ресурсов. Разработка интеллектуальных агентов. Среда разработки Jadex для построения интеллектуальных агентов. BDI модель интеллектуального агента ресурсов.

    курсовая работа [279,8 K], добавлен 20.02.2011

  • Виды алгоритмов как логико-математических средств, характеристика свойств. Корректный вывод алгоритма при решении вычислительной задачи. Механизм реализации алгоритма, его описание. Решение задачи Майхилла при помощи автоматной модели поведения стрелка.

    курсовая работа [53,6 K], добавлен 17.07.2014

  • Разработка схемы управляющего устройства. Принципы построения конечных автоматов. Определение путей переходов. Составление уравнений динамической системы в пространстве состояний и нахождение их решений в линейном случае. Метод прямого программирования.

    курсовая работа [128,0 K], добавлен 24.06.2013

  • Создание динамической модели табеля учета рабочего времени. Формирование счетчика с 1901 по 2012. Формат ячеек. Условный формат для выходных дней. Проектирование динамической модели календаря с помощью именованных констант. Вычисление дат понедельников.

    курсовая работа [6,5 M], добавлен 15.02.2015

  • Определение оптимальной программы управления динамической системой, обеспечивающей минимум квадратичного критерия. Алгоритм решения краевой задачи для канонической системы уравнений с привлечением численных методов математического программирования.

    курсовая работа [331,5 K], добавлен 27.11.2012

  • Предпосылки развития мультиагентного подхода на базе специализированных компьютерных программ. Предметные области в деятельности компании "Альянс Моторс". Алгоритм работы системы на базе мультиагентов и его реализация. Система диагностики автомобиля.

    дипломная работа [1,1 M], добавлен 23.05.2013

  • Реализация телефонной связи по IP-сети с помощью набора протоколов и оборудования. Разработка подсистемы динамической маршрутизации звонков для системы биллинга и менеджмента в сети IP-телефонии. Основные требования к графическому интерфейсу пользователя.

    дипломная работа [1,8 M], добавлен 08.11.2015

  • Изучение пространственных характеристик АГК и структур НС при обработке ими стохастических сред, подбор алгоритмов. Рекомендаций по использованию разработанных адаптивных алгоритмов с корреляционными методами получения оценок для регрессионных моделей.

    дипломная работа [5,1 M], добавлен 06.05.2011

  • Описание формальной модели алгоритма на основе рекурсивных функций. Разработка аналитической и программной модели алгоритма для распознающей машины Тьюринга. Разработка аналитической модели алгоритма с использованием нормальных алгоритмов Маркова.

    курсовая работа [1,5 M], добавлен 07.07.2013

  • Изучение основных аспектов моделирования операционной системы. Исследование принципов организации псевдопараллельной работы процессов. Анализ алгоритмов диспетчеризации процессов. Проектирование подсистемы управления памятью и запоминающими устройствами.

    курсовая работа [1,7 M], добавлен 12.01.2014

  • Обзор существующих подходов в генерации музыкальных произведений. Особенности создания стилизованных аудио произведений на основе современных нейросетевых алгоритмов. Выбор средств и библиотек разработки. Практические результаты работы алгоритма.

    дипломная работа [4,0 M], добавлен 13.10.2017

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

    дипломная работа [489,9 K], добавлен 27.10.2010

  • Анализ и виды интеллектуальных агентов в системе дистанционного обучения и их характеристики. Построение интеллектуального агента глоссария на платформе Jadex с помощью XML формата. Среда разработки и описание интеллектуального агента с помощью BDI.

    курсовая работа [113,6 K], добавлен 10.02.2011

  • Рассмотрение понятия обмена информацией в сети. Изучение протоколов динамической маршрутизации различных комбинаций соединений Ethernet и Serial. Определение зависимости прохождения сигнала от типа порта и кабеля. Применение данных типов маршрутизации.

    курсовая работа [1,3 M], добавлен 28.05.2014

  • Диагностический анализ изучения алгоритмов обучения нейронных сетей "с учителем". Сбор входных и выходных переменных для наблюдений и понятие пре/пост процессирования. Подготовка и обобщение многослойного персептрона, модель обратного распространения.

    курсовая работа [249,3 K], добавлен 22.06.2011

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.