Способы и программные средства автоматизированной выработки алгоритмов поведения интеллектуального агента

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

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

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

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

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

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

Способы и программные средства автоматизированной выработки алгоритмов поведения интеллектуального агента

Сорокин Е.В.

Сорокин Евгений Владимирович

Филиал ФГБОУ ВПО «Национальный

исследовательский университет МЭИ»

в г. Смоленске

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

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

METHODS AND SOFTWARE FOR AUTOMATED BEHAVIOR GENERATION ALGORITHMS OF AN INTELLIGENT AGENT. Sorokin E.V.

This paper introduces methods and software for automated generation behavior algorithms of an intelligent agent using genetic algorithm to produce strategic solutions. A new methods of behavior algorithms for intelligent agent using a model of algorithm interpretation based on a robot macro command language is offered. The simulation model, using OpenGL library in the programming environment Delphi 7, is developed for the generation and evaluation of algorithms.

Key words: code interpretation model, a model of an interpretation the algorithm based on macro language of the robot, a genetic algorithm.

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

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

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

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

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

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

Рассмотрим простую задачу: имеется круг радиусом в 1м, очерченный линией черного цвета, поверхность покрытия дорожного полотна твердая. Робот располагается в центре круга, произвольным образом расставляются кегли. Задача робота: сбить кегли за минимальное время, не выходя за пределы круга. Робот представляет собою четырехколесную полно-приводную конструкцию с отсутствием поворотного механизма колес. Ширина машины не более 15см, длина не более 25см, масса 0.5кг, колеса прорезиненные.

В основе управления роботом лежит программно-аппаратная платформа arduino uno rev3. Модель Arduino Rev3 выполнена на базе процессора ATmega328p с тактовой частотой 16 МГц, обладает памятью 32 кб и имеет 20 контролируемых контактов ввода и вывода для взаимодействия с внешним миром.

Платформа состоит из аппаратной и программной частей, обе чрезвычайно гибки и просты в использовании. Для программирования используется упрощённая версия C++, известная так же как Wiring. Разработку можно вести как с использованием бесплатной среды Arduino IDE, так и с помощью произвольного C/C++ инструментария. Поддерживаются операционные системы Windows, MacOS X и Linux.

Передача сигнала с платы управления на колеса идет через специальный драйвер Motor Shield. Motor Shield -- плата расширения для Arduino на базе чипа L298P, позволяющая управлять моторами с напряжением 7-24 В.

Данные об окружающей среде собираются с помощью инфракрасного дальномера. Сенсор определяет расстояние по отражённому лучу света в инфракрасном спектре. Дальномер может использоваться для объезда препятствий и ориентирования на местности. Напряжение питания: 5В, потребляемый ток: 33 - 50 мА, диапазон расстояний: 20 - 150см. Поскольку в основе работы устройства используется свет, сенсор плохо подходит для определения расстояния до светопоглощающих объектов.

Выработка стратегии решения задачи осуществляется в два этапа:

- этап сбора данных об окружающей среде;

- этап моделирования и формирования стратегии решения.

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

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

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

алгоритм поведение интеллектуальный агент

Рисунок 1 - Модель представления алгоритма на языке макрокоманд робота

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

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

Рассмотрим задачу нахождения и сбивания кегель. Главная цель: сбить все требуемые объекты за минимальное время, не выходя за пределы доступной зоны. Это значит, что статическая часть модели интерпретации макрокоманд робота будет содержать два цикла с предусловием, а также операторные скобки, в которых расположится динамическая часть модели. Первый цикл работает до тех пор, пока не будут сбиты все кегли (допустим, мы знаем фиксированное число объектов). Вложенный цикл работает до тех пор, пока не будет обнаружена и сбита каждая очередная кегля. Статическая часть модели представлена на рисунке 2.

Рисунок 2 - Статическая часть модели представления макрокоманд робота

Динамическая часть модели изображена на рисунке 3. Эта часть формируется программно и в свою очередь может быть разделена на две области. Назовем их область А и область Б.

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

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

Частный алгоритм из области Б может выглядеть следующим образом. Предположим робот увидел кеглю. Самый простое решение на текущий момент, при наличии учитываемого железа - выставить произвольную скорость, например в 50% и ехать в сторону кегли. Однако кегля может обладать большей массой, высотой; кроме того нам надо максимально быстро разогнаться. В то же время, большая скорость на скользкой поверхности подвергнет решение задачи на риск. В таком случае определение стратегии поведения при возникшей ситуации должно быть выработано системой.

Рисунок 3 - Динамическая часть модели интерпретации макрокоманд робота

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

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

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

Литература

1. Земских Л.В., Самаров Е.К., Жданов А.А., Бабкова В.В. Применение генетических алгоритмов для оптимизации адаптивной системы управления мобильного робота на параллельном вычислительном комплексе / Л.В. Земских, Е.К. Самаров, А.А.Жданов, В.В. Бабкова // Труды Института системного программирования РАН. - 2004. - том 7. - С.79-104

2. Сорокин Е.В. Модель интерпретации кода программ / Е.В. Сорокин // Сборник материалов областного конкурса студенческих научных работ 2012 года. - Смоленск, 2012. - С.176-182.

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

...

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

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

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

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

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

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

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

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

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

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

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

  • Описание принципа работы генетического алгоритма, проверка его работы на функции согласно варианту на основе готовой программы. Основные параметры генетического алгоритма, его структура и содержание. Способы реализации алгоритма и его компонентов.

    лабораторная работа [20,2 K], добавлен 03.12.2014

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

    курсовая работа [27,9 K], добавлен 23.07.2011

  • Анализ алгоритмов, оценка параметров алгоритма (эффективности, сложности, правильности). Комплексный анализ эффективности алгоритма на основе комплексной оценки ресурсов формальной системы. Верификация при коллективной разработке программных систем.

    презентация [234,9 K], добавлен 22.10.2013

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

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

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

    контрольная работа [380,0 K], добавлен 28.04.2014

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

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

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

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

  • Разработка и анализ алгоритмов с использованием электронных таблиц и прикладных программ Smath Studio, Microsoft Excel. Проверка алгоритма ветвления или выбора. Реализация циклов на примере вычисления определённого интеграла с заданной точностью.

    контрольная работа [1,0 M], добавлен 19.03.2016

  • Проблема улучшения качества отпечатков пальца с целью повышения эффективности работы алгоритмов биометрической аутентификации. Обзор алгоритмов обработки изображений отпечатков пальцев. Анализ алгоритма, основанного на использовании преобразования Габора.

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

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

    дипломная работа [864,0 K], добавлен 10.06.2010

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

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

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

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

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

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

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

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

  • Этапы процедуры принятия решений. Разработка математического алгоритма. Блок-схема алгоритма работы программы. Разработка программы на языке программирования С++ в среде разработки MFC. Текст программы определения технического состояния станка с ЧПУ.

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

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