Дипломная (вкр): Системы мультиагентного моделирования NetLogo

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

Системы мультиагентного моделирования NetLogo

Содержание

Введение

. Анализ методов и средств моделирования мультиагентных схем

. Разработка архитектуры лабораторного комплекса

. Анализ и разработка моделей для выполнения лабораторных работ

. Разработка алгоритмов реализации выбранных моделей

. Разработка и реализация программных модулей

.1 Описание проводимого тестирования        

.2 Тестирование лабораторной работы «Climatechange»

.3 Тестирование лабораторной работы «ElFarol»

.4 Тестирование лабораторной работы «Pagerank»

. Экспериментальное тестирование и отладка программного комплекса

.1 Описание проводимого тестирования

.2 Тестирование лабораторной работы «Climatechange»

.3 Тестирование лабораторной работы «ElFarol»

.4 Тестирование лабораторной работы «Pagerank»

.5 Тестирование лабораторной работы «Turingmachine»

. Разработка руководства пользователя

.1 Лабораторная работа «Climatechange»

.2 Лабораторная работа «ElFarol»

.3 Лабораторная работа «Pagerank»

.4 Лабораторная работа «Turingmachine»

. Оценка качества разработанного программного продукта

Заключение

Список использованных источников

Введение

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

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

В действительности же за этим внешним всемогуществом скрываются чрезвычайно трудоемкие программные системы, которые по-прежнему требуют огромного рутинного труда системных аналитиков, руководителей проектов, программистов, тестировщиков программного кода, дизайнеров и многих других специалистов. Таким образом, возникает ситуация, когда информационные системы становятся огромными, труднопонимаемыми и трудномодифицируемыми, поглощающими значительные финансовые и интеллектуальные ресурсы, которые далеко не всегда обеспечивают нужный для заказчика результат. Выход из этой ситуации существует в направлении создания программно-информационных систем, наделенных свойствами разумности, гибкости и автономности, которые стали интенсивно исследоваться и развиваться в конце 20 века и получили название «Мультиагентные системы» [1].

Термин «агент» происходит от латинского глагола agree, что означает «действовать», «двигать», «править», «управлять». Также термин «агент» может означать деятеля или лицо, действующего по поручению или полномочию другого. Это определение правильно выражает суть и современных интеллектуальных компьютерных агентов, которые могут автономно функционировать от имени своего владельца (человека-пользователя или другой вычислительной системы) и решать самые разнообразные задачи по обработке информации. Для успешной работы агент должен обладать достаточными интеллектуальными ресурсами, чтобы в сфере своих задач замещать действия человека-владельца, должен иметь возможности взаимодействия с владельцем или пользователем для получения соответствующих знаний и передачи результатов, должен ориентироваться в среде своего существования и принимать необходимые решения [2].

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

1. Анализ методов и средств моделирования мультиагентных систем

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

Рассмотрим такую систему, как AgentBuilder. AgentBuilder - интегрированный набор инструментов для создания интеллектуальных программных агентов. Он состоит из двух основных компонентов: инструментария и системы времени выполнения. Набор инструментов AgentBuilder включает инструменты для управления процессом разработки программного обеспечения на основе агентов, анализа области операций с агентами, проектирования и разработки сетей агентов связи, определения поведения отдельных агентов, а также программного обеспечения для отладки и тестирования агентов. Система Run-Time включает механизм агента, который обеспечивает среду для выполнения программного обеспечения агента.

Агенты, созданные с помощью AgentBuilder, обмениваются данными с помощью языка запросов и манипуляции (KQML) и поддерживают функции, определенные для KQML [3]. Кроме того, AgentBuilder позволяет разработчику определять новые межагентные коммуникационные команды, соответствующие его конкретным потребностям.

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

Компоненты, существующие в программе: инструменты управления проектами, онтологический менеджер, менеджер агентства, менеджер агента и отладчик агента.

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

Следующей рассмотрим такую систему как Cafun. Cafun - это программа, которая позволяет создавать симуляции сложных систем в простой форме.Cafun реализован на языке программирования Java, что позволяет ему работать в таких операционных системах, как Unix, Linux или Windows. Для запуска программы необходимо специальное программное обеспечение под названием Java Runtime Environment или JRE [5].помогает студентам и исследователям тестировать свои теории или визуализировать сложную систему для лучшего понимания. Кроме того, учителя могут использовать его, чтобы научить создавать модели реального мира в компьютере.

Однако Cafun не ограничивается профессиональными приложениями. Он был разработан для того, чтобы быть доступным для всех людей, даже для тех, у кого нет предварительных знаний. Вместо того, чтобы сосредоточиться на деталях, Cafun пытается уловить основные черты сложных систем, особенно их склонность к самоорганизации. Кроме того, Cafun не ограничивается симуляцией существующих явлений.использует концепцию клеточных автоматов. Здесь выражение «вселенная» было заменено на «решетку», потому что оно представляет весь виртуальный мир, в котором происходит симуляция, и понятие «правило» было изменено на «мутацию», поскольку оно учитывает переход на другой тип ячейки. Cafun следует объектно-ориентированному подходу для описания законов клеточного автомата. Вместо того, чтобы ссылаться на таблицу правил, Cafun суммирует их в наборе типов ячеек, которые имеют отдельные мутации. Каждая ячейка во вселенной Cafun считается экземпляром такого типа клеток. Кроме того, Cafun позволяет типам клеток быть абстрактными. Типы абстрактных ячеек не могут быть созданы клетками, но они могут быть реализованы действительными типами ячеек, что делает их наследовать все их мутации. Это позволяет суммировать общие мутации разных типов клеток в один абстрактный тип ячейки. Кроме того, он делает ячейки полиморфными, поскольку они ведут себя как экземпляр их фактического типа ячейки, а также экземпляры абстрактных типов ячеек, которые он реализует. Этот вид полиморфизма особенно полезен при определении условий мутаций, поскольку он позволяет им ссылаться на абстрактные черты, разделяемые клетками разных типов клеток [6].

Также рассмотрим такую систему, как NetLogo. NetLogo- это кроссплатформенная программируемая среда для моделирования естественных и социальных явлений. Данная среда - это следующее поколение серии мультиагентных языков моделирования, включая StarLogo и StarLogoT. NetLogo работает на виртуальной машине Java, поэтому работает на всех основных платформах (Mac, Windows, Linux и др.). Он запускается как настольное приложение. Также поддерживается операция с командной строкой [7].

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

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

В NetLogoимеется удобный интерфейс с кнопками, рычажками, переключателями, выборщиками, текстовыми полями, заметками и выходной областью. Также существует вкладка «Информация» для аннотации модели форматированным текстом и изображениями. К тому же здесь используется инструмент BehaviorSpaceс открытым кодом для сбора данных из нескольких параллельных прогонов модели [9].

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

2. Разработка архитектуры лабораторного комплекса

Представим структурную схему и прямую сложности для комплекса лабораторных работ. Схема представлена на рисунке 2.1.

Рисунок 2.1 Структурная схема и прямая сложности

На прямой сложности указаны номера лабораторных работ в порядке возрастания их сложности выполнения.

Первая лабораторная работа называется «Climatechange». Вданной лабораторной работе изучается изменение климата, а в частности температуры на планете в зависимости от количества облаков и углекислого газа. Здесь можно увидеть, как влияют фабрики и деревья на общую температуру.

Требования для лабораторной работы «Climatechange». Для корректного запуска программы необходимо указать значение параметра sun-brightness,который отвечает за яркость солнца. Указать значение параметра albedo, который отвечает за отражающую способность поверхности, чем он выше, тем больше лучей отражаются от земли.

Ограничения для лабораторной работы «Climatechange». Значение параметра sun-brightnessдолжно быть в диапазоне от 0 до 5, и изменяться с шагом 0,1. Значение параметра albedoдолжно быть в диапазоне от 0 до 1, и изменяться с шагом 0,05. Также стоит иметь в виду, что температура в данной модели не может принимать отрицательные значения.

Вторая лабораторная работа называется «ElFarol». В данной лабораторной работе моделируется посещение бара ElFarol в NewMexico. Каждый четверг посетители данного бара решают идти им сегодня в бар или остаться дома. Данная модель входит в категорию SociealScience (социальная наука). Эта лабораторная работа служит для укрепления знаний в использовании инструментов NetLogo.

Требования для лабораторной работы «ElFarol». Для корректного запуска программы необходимо указать значение параметра memory-size, отвечающего за объем памяти посетителей. Также необходимо указать значение параметра number-strategies, отвечающего за количество стратегий. Следует указать значение параметра overcrowding-threshold, а также параметров qualityи the-number-of-police-visits.

Ограничения для лабораторной работы «ElFarol».Значение параметра memory-sizeдолжно быть в диапазоне от 1 до 10, и изменяться с шагом 1. Значение параметра number-strategiesдолжно быть в диапазоне от 1 до 20, и изменяться с шагом 1. Значение параметра overcrowding-thresholdдолжно быть в диапазоне от 0 до 100 и изменяться с шагом 1. Значение параметра qualityдолжно быть в диапазоне от 1 до 5, и изменяться с шагом 1.Значение параметра the-number-of-police-visits должно быть в диапазоне от 0 до 5 и изменяться с шагом 1. Также необходимо знать, что посещаемость в баре не может быть отрицательной. Значения, получаемые с помощью функции prediction-attendance, не должны быть равны тем числам, с которыми они сравниваются, иначе посетители не смогу решить, идти им в бар или же остаться дома.

Третья лабораторная работа называется «Pagerank». Данная лабораторная работа демонстрирует два различных агентно-ориентированных метода для расчета рангов взаимосвязанных веб-страниц. Задача модели - обеспечить более глубокое понимание алгоритма ранжирования и его математики.

Требования для лабораторной работы «Pagerank». Для корректного запуска программы необходимо указать значение параметра damping-factor, который отвечает за коэффициент дэмпфирования. Указать значение параметра number-of-surfers, который отвечает за количество ищущих. Также необходимо указать значения параметра count-pages, который отвечает за количество сайтов и count-links, который отвечает за количество связей между этими сайтами. Необходимо указать нужный метод поиска и иметь в виду, что рычажок number-of-surfersработает только при случайном методе. Также нужно указать, с каким типом сети вы будете работать. Модификации данной модели работают только с типом сети network-management.

Ограничения для лабораторной работы «Pagerank».Значение параметра dampfing-factorдолжно быть в диапазоне от 0 до 1, и изменяться с шагом 0,1. Значение параметра number-of-surfersдолжно быть в диапазоне от 1 до 100, и изменяться с шагом 1. Значение параметра count-pagesдолжно быть в диапазоне от 1 до 50 и изменяться с шагом 1. Значение параметра count-linksдолжно быть в диапазоне от 1 до 5, и изменяться с шагом 1.Значение параметра pr-pageне может быть меньше 0, потому что у страницы не может быть отрицательного рейтинга.

Четвертая лабораторная работа называется «Turingmachine». Данная лабораторная работа представляет собой модель многоголовой машины Тьюринга на двумерной ленте (2D MTM), которая является продолжением оригинальной машины, предложенной Тьюрингом в 1936 году.

Требования для лабораторной работы «Turingmachine». Для корректного запуска программы необходимо указать значение параметраheads, который отвечает за количество головок. На рычажке newheadstate и переключателе newcellstateнеобходимо задать состояния для головоки ячеек. В выпадающих списках turnнеобходимо выбрать направления для агентов.

Ограничения для лабораторной работы «Turingmachine».Значение параметра headsдолжно быть в диапазоне от 1 до 256, и изменяться с шагом 1. Значение параметра exampleдолжно быть в диапазоне от 1 до 5, и изменяться с шагом 1.В списке turnвозможно выбрать только одно из 4 направлений для агента. В рычажках newheadstateсостояние головки изменяется от 0 до 2 с шагом 1. В переключателях newcellstateячейки должны быть в состоянии onили off.

Источник: https://www.bibliofond.ru/detail.aspx?id=896944