Не отобразилась форма расчета стоимости? Переходи по ссылке

Не отобразилась форма расчета стоимости? Переходи по ссылке

Дипломная работа на тему «Системы мультиагентного моделирования NetLogo»

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

Содержание

Введение

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Подробнее

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

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

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

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

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

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

Заключение

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

Введение

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

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

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

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

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

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

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

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Цена диплома

Агенты, созданные с помощью 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». Данная лабораторная работа демонстрирует два различных агентно-ориентированных метода для расчета рангов взаимосвязанных веб-страниц. Задача модели — обеспечить более глубокое понимание алгоритма ранжирования и его математики.

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Цена диплома

Требования для лабораторной работы «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.

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

Первая модель, которую будем анализировать, называется «Climatechange».

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

Рисунок 3.1 Общий вид модели

В базовой модели представлены следующие кнопки. Кнопка setupсоздает модель, кнопкаgo запускает модель. Кнопки addcloud и removecloud создают и удаляют облака в модели. Кнопки addCO2 и remove CO2 создают и удаляют молекулы СО2. Кнопка watcharay показывает путь от солнечного луча до инфракрасного излучения. Параметр sunbrightness отвечает за яркость солнца, и чем ярче солнце, тем больше солнечных лучей попадает на землю. Albedo- параметр, отвечающий за отражающую способность поверхности земли, и чем он выше, тем больше солнечных лучей отражается от земли.

При нулевом значении параметра sunbrightnessтемпература остается неизменной. Это показано на рисунке 3.2.

Рисунок 3.2 Модель при значении sunbrightness, равном нулю

При максимальном значении albedoтемпература так же остается неизменной. Это обусловлено тем, что поверхность отражает все солнечные лучи, и, следовательно, температура не растет. Это показано на рисунке 3.3.

Рисунок 3.3 Модель при максимальном значении albedo

Добавление облаков в модель влияет на изменение температуры, так как облака не дают части солнечных лучей попасть на поверхность земли или же не дают им покинуть землю. На рисунках 3.4 и 3.5 показано влияние облаков на поведение модели.

Рисунок 3.4 Модель без облаков

Рисунок 3.5 Модель с облаками

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Цена диплома

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

При добавлении CO2 инфракрасное излучение не покидает поверхность земли, из-за чего температура сильно возрастает. Это показано на рисунке 3.6.

Рисунок 3.6 Модель с высоким содержанием СО2

Температура в данной модели высчитывается по формуле:

где countheats — количество тепла, полученное землей;- температура.

На параметр countheats влияетalbedo. Значение albedo, умноженное на 100, сравнивается со случайным числом. Если оно меньше, то солнечный луч оставляет инфракрасное излучение, а если больше, то отражается от поверхности земли. Если солнечных лучей много, то heatsсоздается при попадании луча в одну точку дважды.

Создание солнечных лучей происходит по формуле:

где sunbritness — яркость солнца.

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

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

Рисунок 3.7 Общий вид модифицированной модели

Следующая модель для анализа называется «ElFarol».Farol — это модель, которая моделирует посещение бара ElFarol в NewMexico. Бар пользуется популярностью — особенно в четверг вечером, когда они предлагают ирландскую музыку, но иногда становится переполненным и неприятным.Каждый четверг посетители данного бара решают идти им сегодня в бар или остаться дома[10]. Данная модель входит в категорию SociealScience (социальная наука).

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

Общий вид базовой модели представлен на рисунке 3.8.

Рисунок 3.8 Общий вид базовой модели «ElFarol»

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

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Подробнее

Рычажок memory-sizeотвечает за размер памяти посетителей, которая представляется массивом чисел, где каждый элемент — это количество посетителей в баре в определённый раз посещения. Размер памяти равен количеству элементов массива.

Рычажок number-strategiesопределяет количество стратегий, которыми руководствуются посетители бара, когда выбирают, идти им в бар или нет. Если это число меньше или равно параметру overcrowding-threshold, то человек идет в бар.threshold — параметр, который является ограничением. Как было сказано ранее, если число, полученное в результате выполнения стратегии меньше или равно данному параметру, то человек идёт в бар

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

Для модификации модели добавим ещё два параметра: «Качество» и «Полиция».

В параметре «Качество» учитывается качество обслуживания в баре, качество алкоголя и еды. Данный фактор является одним из ключевых в принятии решения идти в бар или нет. Представим данный параметр в виде рычажка quality, значения в котором будут меняться в диапазоне от 1 до 5 с шагом 1. Рычажок quality представлен на рисунке 3.9.

Рисунок 3.9 Рычажок quality

У каждого бара есть свой определенный стандарт качества. Данный стандарт сравнивается с качеством заведения ElFarol. Если данное качество не удовлетворяет стандарту клиента, то он остается дома.

Параметр «Полиция» представляет из себя значение, равное количеству визитов полицейскими данного заведения. Представим этот параметр так же в виде рычажка the-number-of-police-visits, значения в котором будут меняться в диапазоне от 1 до 5 с шагом 1. Рычажок the-number-of-police-visits представлен на рисунке 3.10.

Рисунок 3.10 Рычажокthe-number-of-police-visits

Для визуализации влияния факторов на выбор клиента добавим график. На этом графике будет отображаться, какое количество клиентов потеряно в результате влияния параметров «Качество» и «Полиция». Данный график представлен на рисунке 3.11.

Рисунок 3.11 График quanlityprediction

Общий вид модернизированной модели представлен на рисунке 3.12.

Рисунок 3.12 Общий вид модернизированной модели

Третья модель, которую будем анализировать, называется «Pagerank».

Эта модель демонстрирует два различных агентно-ориентированных метода для расчета рангов взаимосвязанных веб-страниц. Задача модели — обеспечить более глубокое понимание алгоритма ранжирования и его математики. Общий вид модели представлен на рисунке 3.13.

Рисунок 3.13 Общий вид модели

В базовой модели имеется несколько видов переключателей и рычажков. Переключатель network-choiceпозволяет выбрать сеть, которую можно будет использовать для моделирования. Рычажок damping-factorпоказывает, как значения ранга влияют на ссылочную структуру. Рычажок number-of-surfersотвечает за количество пользователей, которые будут осуществлять переходы между сайтами по ссылкам. Работает только при случайном методе поиска. Переключатель watch-surfersпозволяет включить или выключить наблюдение за перемещениями пользователей. Переключатель show-page-ranksпозволяет включить или выключить показ числового ранга в модели. Переключатель calculation-methodпозволяет выбрать один из двух методов поиска: случайный или диффузионный.

Вычисление ранга страницы происходит по формуле:

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

Модифицируем данную модель. В базовой модели имеется всего три типа сети. Нас интересует третий тип, именно его и используем для модификации и сделаем ещё один тип. В базовой модели он реализуется с помощью функции create-network-preferential [ nk]. Данная функция принимает два параметра. Первый отвечает за количество создаваемых страниц, а второй за количество ссылок на сайтах, но эти параметры заданы в программе и никак не изменяются. Отсюда можно сделать вывод, что есть возможность реализовать функцию, которая позволит управлять количеством сайтов и связей между ними. Для этого в модель добавим два новых рычажка:count-pages и count-links. Они представлены на рисунке 3.14.

Рисунок 3.14 Count-pagesиcount-links

Также реализуем возможность управлять первоначальным значением рейтинга страниц. Для этого создадим переключатель pr-control, который будет отвечать за возможность управлять рейтингом, а также создадим рычажок pr-page, который будет отвечать за первоначальное значение рейтинга. Если переключатель pr-controlвключен, то ранг устанавливается в зависимости от значения рычажка pr-page, в противном случае ранг страниц определяется по стандартной формуле. Эти элементы представлены на рисунке 3.15.

Рисунок 3.15 Pr-controlиpr-page

Общий вид модифицированной модели представлен на рисунке 3.16.

Рисунок 3.16 Общий вид модифицированной модели

Следующая модель для анализа называется «TuringMachine».

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Заказать диплом

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

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

Многоголовую машину Тьюринга на двумерной ленте (2D MTM) можно эмулировать на одноглавой одномерной машине Тьюринга (TM), но правила 2D MTM могут быть значительно проще, чем правила традиционной ТМ, имитирующей 2D MTM. В модели может быть до 256 «головок», которые следуют одному и тому же набору основных правил. В этом двухмерном 2D MTM голова может изменять свое состояние, значение его текущей ячейки и перемещаться либо на север, на восток, на запад, либо на юг, в зависимости от того, включена или выключена текущая ячейка и ее текущее состояние.

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

Общий вид базовой модели представлен на рисунке 3.17.

Рисунок 3.17 Общий вид базовой модели

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

Рычажок headsпозволяет выбрать количество головок машины Тьюринга.

Переключатель color-pathsпозволяет выбрать, будут ли агенты белыми или разноцветными.

Рычажок newheadstateзадает новое состояние головки машины Тьюринга. Переключатель newcellstateзадает новое состояние ячейки. В выпадающем списке turnвыбирается в каком направлении повернется агент.

Кнопка setupexampleустанавливает параметры модели, заданные в различных примерах, которые можно выбрать, передвигая ползунок example. В модели всего пять примеров.Также специально для модифицированной модели были разработаны две модели, которые были заданы вместо предустановленных примеров 1 и 2.

Общий вид модернизированной модели представлен на рисунке 3.18.

Рисунок 3.18 Общий вид модернизированной модели

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

В лабораторной работе «Climatechange» используются различные алгоритмы движения объектов в пространстве. Главным является алгоритм движения солнечного луча. Его поведение зависит от выбранных начальных параметров модели, а также от объектов, размещенных в этой модели. Блок-схема для алгоритма движения солнечного луча представлена на рисунке 4.1.

Рисунок 4.1 Алгоритм движения луча солнца

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Подробнее

Также важным является алгоритм движения инфракрасного излучения. На его поведение влияют те же объекты, что и на движение солнечного луча. Блок-схема для алгоритма движения инфракрасного излучения представлена на рисунке 4.2.

Рисунок 4.2 Алгоритм движения инфракрасного излучения

В лабораторной работе «ElFarol» главным является алгоритм решения о посещении бара. На это решение влияют значенияустановленных внешних параметров. Решение производится на основе сравнения случайных чисел с числами, установленными на внешних параметрах. Блок-схема для алгоритма решения о посещении бара представлена на рисунке 4.3.

Рисунок 4.3 Алгоритм решения о посещении бара

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

Рисунок 4.3 Алгоритм решения о посещении бара

5. Разработка и реализация программных модулей   5.1 Процедуры и функции для «Climatechange»

Рассмотрим процедуры и функции, используемые в модели для лабораторной работы «Climatechange».

В при помощи оператора globalsопределяются глобальные переменные. Рассмотрим объявленные переменные и их значения.top — определяет координату верхней точки неба. Earth-top — определяет координату верхней точки земли. Temperature — общая температура.

Далее с помощью оператора breed задается несколько подмножеств. Breed [ raysray ] — множество солнечных лучей, breed [ IRsIR ] — множество инфракрасного излучения, breed [heats heat] — множество тепловой энергии, breed [CO2s CO2] — множество углекислого газа, breed [trees tree] — множество деревьев, breed [factories factory] — множество фабрик, breed [clouds cloud] — множество облаков. Фрагмент кода с объявлением переменных представлен ниже.

[toptop

][rays ray][IRs IR][heats heat][CO2s CO2][trees tree][factories factory][clouds cloud]own [cloud-speed cloud-id]

Далее идут процедуры setup и setup-world. В этих процедурах устанавливается цвет ландшафта в зависимости от координаты на плоскости. Также здесь задаются изображения различных объектов модели, и указывается начальное значение температуры. Коды процедур setupи setup-worldпредставлены ниже.

setupalldefault-shape rays «ray»default-shape IRs «ray»default-shape clouds «cloud»default-shape heats «dot»default-shape CO2s «CO2-molecule»default-shape factories «factory»default-shape trees «tree»worldtemperature 12tickssetup-worldsky-top max-pycor — 5top 0[ ;; установление цветов для разных разделов мираpycor > sky-top [pcolor scale-color white pycor 22 15

]pycor <= sky-top and pycor > earth-top [ ;; небоpcolor scale-color blue pycor -20 20

]pycor < earth-top

[ set pcolor red + 3 ] ;; земляpycor = earth-top ;; поверхностьземли

[ update-albedo ]

]

Затем идет процедура go, в которой выполняется модель. В ней определяется, какой из элементов модели должен появиться в данный момент времени. Код процедуры go с пояснениями представлен ниже.

[ fdcloud-speed ] ; облакаперемещаютсявдольsunshine ;; луч выходит

;; если альбедо изменил цвет пятен земляной поверхностиpatches with [pycor = earth-top]

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Цена диплома

[ update-albedo ]heat ;; выделениетеплаIR ;; выделение инфракрасного излученияCO2 ;; движение молекул СО2

Далее идет процедура add-cloud. В это процедуре описывается появление облаков в модели. Здесь определяется то, в какой точке пространства появится облако, его размер, скорость и цвет. Ниже представлен код процедуры add-cloud с пояснениями.

toadd-cloud ;; стирает облака, а затем создаются новыеsky-height sky-top — earth-top

;; находится случайная высота облака в области небаy earth-top + (random-float (sky-height — 4)) + 2

;; скорость облака не может быть нулемspeed (random-float 0.1) + 0.01x random-xcorid 0any? clouds

[ set id max [cloud-id] of clouds + 1 ]clouds 3 + random 20

[cloud-speed speedcloud-id id+ random 9 — 4

;; облака группируются вокруг центра+ 2.5 + random-float 2 — random-float 2

;; разный размер облаковsize 2 + random 2heading 90

]

Затем идут процедуры run-sunshine, create-sunshine, reflect-rays-from-clouds иencounter-earth. В этих процедурах создается луч солнца, описывается его поведение во время соприкосновения с препятствиями. Коды этих процедур с пояснениями представлены ниже.

sunshine[not can-move? 0.3 [ die ]0.3

]sunshine ;; созданиелучаrays-from-clouds ;; проверка соприкосновения с облакамиearth ;; проверка соприкосновения с землейsunshine

;; увеличение яркости увеличивает количество лучей10 * sun-brightness>random 50 [rays 1 [heading 160color yellow(random 10) + min-pxcor max-pycor

]

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Подробнее

]reflect-rays-from-cloudsrays with [any? clouds-here] [ ;; еслилучкасаетсяоблакаheading 180 — heading ;; лучразворачивается

]encounter-earthrays with [ycor <= earth-top] [

;; в зависимости от альбедо земля поглощает или отражает тепло100 * albedo > random 100

[ set heading 180 — heading ] ;; отражение

[ rt random 45 — random 45 ;; поглощениеcolor red — 2 + random 4]

]

Следующей идет процедуры run-heat и run-IR, в которых идет расчет показателей температуры, описываются движения лучей и инфракрасного излучения. Коды этих процедур представлены ниже.

run-heat ;; advances the heat energy turtlestemperature 0.99 * temperature + 0.01 * (12 + 0.1 * count heats)heats

[dist 0.5 * random-float 1can-move? dist

[ fd dist ]

[ set heading 180 — heading ]ycor >= earth-top [ ;; отражениелучалучаtemperature > 20 + random 40xcor > 0 and xcor < max-pxcor — 8

[ set breed IRsheading 20color magenta ]

[ set heading 100 + random 160 ]

]

]run-IRIRs [not can-move? 0.3 [ die ]0.3ycor <= earth-top [breed heatsrandom 45random 45color red — 2 + random 4

]? CO2s-here ;; проверяется соприкосновение с СО2

[ set heading 180 — heading ]

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Заказать диплом

]

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

.2 Процедуры и функции для «ElFarol»

Процедуры и функции, используемые в модели для лабораторной работы «ElFarol».

В начале кода при помощи оператора globalsопределяются глобальные переменные. Рассмотрим объявленные переменные и их значения.- текущее количество посетителей бара. History — история посетителей бара или список значений параметра attendance. Home-patches — это пятна, обозначающие дома посетителей бара. Bar-patches — это пятна, показывающие бар. Crowded-patch — пятна, где идет отображение того, что бар переполнен.

При помощи оператора turtles-own задаются атрибуты или переменные только для черепах. Рассмотрим эти переменные.- список стратегий. Beststrategy — индекс текущей стратегии. Attend — означает положительный или отрицательный ответ на решение пойти в бар. Переменная может принимать значение trueили false. Prediction — предсказание о текущем количестве человек в баре. Ниже представлен фрагмент кода с объявлением переменных.

[patchespatchespatchpredictionprediction

]own [strategy?attend?attend?counternumberattend?

]

Далее в модели идет процедур аsetup. Она вызывается кнопкой setup. Данная процедура отображает и выбирает пятна для бара(barpatches) и пятна для домов (home-patches) в зависимости от места, занимаемого пятном на координатной плоскости. Также здесь генерируется начальная история (переменная history) и происходит создание и размещение черепах. У каждой черепахи генерируется стратегия и выбирается текущая стратегия, как первый элемент массива стратегии. Ниже представлен код для процедуры setup с пояснениями.

alldefault-shape turtles «person»

;; создание «домов»home-patches patches with [(pycor < -8 or pxcor < -8) or (pycor > 11) or pxcor > 11]home-patches [ set pcolor green ]

;; создание «бара»bar-patches patches with [pxcor > -8 and pycor > -8 and pxcor < 11 and pycor < 11]bar-patches [ set pcolor magenta ]

;; инициализацияпредыдущейпосещаемостислучайнымспособомhistory n-values (memory-size * 2) [random 100]

;; помнить, что история в два раза больше памяти

;; Используется одна из меток, чтобы визуально указать, является ли панель «переполненной»patch (0.75 * max-pxcor) (0.5 * max-pycor) [crowded-patch selfplabel-color red

]

;; создание агентов и присваивание им случайных стратегийturtles 100 [color whiteto-empty-one-of home-patchesstrategies n-values number-strategies [random-strategy]best-strategy first strategiesquality-counter random 6police-number random 6strategies

]ticks

Далее идет процедура go. Она вызывается кнопкой go. В данной процедуре при помощи функции prediction-attendance получаем числа prediction, quality-counterиpolice-number. Значение prediction сравнивается со значением overcrowding-threshold, quality-counter сравнивается с quality, аpolice-number сравнивается с the-number-of-police-visits. Если значения меньше, то количеству посетителей прибавляется один. Ниже представлен код для процедуры go с пояснениями.

gocrowded-patch [ set plabel «» ]

;; каждый агент предсказывает посещаемость в баре и решает, идти или нетturtles [prediction predict-attendance best-strategy sublist history 0 memory-sizeattend? (prediction <= overcrowding-threshold) ;; true или falsequality-attend? (quality-counter <= quality)police-attend? (police-number >= the-number-of-police-visits)

]

;; в зависимости от их решения, агенты отправляются в бар или остаются домаquality-prediction 0police-prediction 0turtles [(attend? and quality-attend? and police-attend?)

[ move-to-empty-one-of bar-patchesattendance attendance + 1

]

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Заказать диплом

[ move-to-empty-one-of home-patches ](attend?) [(quality-attend?) []

[ set quality-prediction quality-prediction + 1 ](police-attend?) []

[ set police-prediction police-prediction + 1 ]

] []

]

;; если бар переполнен, то это показываетсяattendance count turtles-on bar-patches

;; обновляется история посещаемости, удаляется старая посещаемость и приводится последняя посещаемостьhistory fput attendance but-last history

;; агент определяет лучшую стратегию для себяturtles [ update-strategies ]

Следующей идет процедура update-strategies. В данной процедуре определяется, какая стратегия предсказывает наилучшие результаты.

Лучшая стратегия — это та, у которой есть сумма наименьших различий между текущей посещаемостью и прогнозируемой посещаемостью для каждой из предыдущих недель. Это совсем не изменяет стратегии, но позволяет потенциально изменить стратегию, используемую в настоящее время, и обновить производительность всех стратегий. Ниже представлен код для процедуры update-strategies.update-strategiesbest-score memory-size * 100 + 1strategies [score 0week 1memory-size [prediction predict-attendance ? sublist history week (week + memory-size)score score + abs (item (week — 1) history — prediction)week week + 1

](score <= best-score) [best-score scorestrategy ?

]

]

Функция random-strategy сообщает о случайной стратегии. Стратегия — это всего лишь набор весов от -2,0 до 1,0, который определяет, сколько внимания уделяется каждому предыдущему периоду времени при прогнозировании посещаемости на следующий период времени. Ниже представлен код функции.

report random-strategyn-values (memory-size + 1) [1.0 — random-float 2.0]

Функция predict-attendance сообщает прогноз агента о текущей посещаемости, используя определенную стратегию и часть истории посещаемости.

Затем описывается формулой:

где P(t) — предсказание в момент времени t;(t) — посещаемость бара в момент времени t;(t) — вес для времени t;- константа;- внешний параметр.

Ниже представлен код функции.

report predict-attendance [strategy subhistory]100 * first strategy + sum (map [?1 * ?2] butfirst strategy subhistory)

Функцияmove-to-empty-one-ofиспользуется для того, чтобы у нас была только одна черепаха на пятно. Ниже представлен код функции.

move-to-empty-one-of [locations] ;; turtle procedureto one-of locations[any? other turtles-here] [to one-of locations

]

5.3 Процедуры и функции для «Pagerank»

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Заказать диплом

Процедуры и функции, используемые в модели для лабораторной работы «Pagerank».

В начале кода с помощью оператора breed задается два подмножества: breed [ pages page ] — множество страниц, breed [ surferssurfer ] — множество ищущих.

Далее идет процедура setup. В ней происходит определение того, какой тип структуры сети был выбран, установка ранга сайтам, и размещение сайтов на экране.

Код для выбора типа сети.

setupalldefault-shape pages «circle»network-choice = «Example 1»

[ create-network-example-1 ][network-choice = «Example 2»

[ create-network-example-2 ][network-choice = «Preferential Attachment»

[ create-network-preferential 100 2 ] [network-choice = «Network management»

[ pr-man count-pages count-links ];

Также в процедуру setupбыло внесено дополнение, а именно в управление страницами. Изменение представлено ниже.

pages

[ ifelse pr-control [ set rank pr-page] [set rank 1 / count pages] ]

Здесь определяется состояние переключателя. Если он включен, то выполняется первое условие, а именно ранг устанавливается в зависимости от значения рычажка pr-control, в противном случае ранг страниц определяется по стандартной формуле.

Далее идут функции create-network-example-1, create-network-example-2, create-network-preferential [ n k ] и pr-man [ n k ]. С помощью этих функций строится модель сети. Функции create-network-preferential [ nk ] иpr-man [ nk ] принимают два параметра. Первый отвечает за количество создаваемых страниц, а второй за количество ссылок на сайтах. Отличие этих двух функций в том, что параметры для create-network-preferential [ nk ] заданы в программе, а для pr-man [ nk ] эти параметры можно изменять в самой модели. Ниже представлен коды этих функций.

create-network-example-1pages 11page 0 [ set color blue create-link-from page 3 ]page 1 [ set color red create-links-from (turtle-set page 2 page 3 page 4 page 5 page 6 page 7 page 8 ) ]page 2 [ set color orange create-link-from page 1 ]page 3 [ set color green create-link-from page 4 ]page 4 [ set color yellow create-links-from (turtle-set page 5 page 6 page 7 page 8 page 9 page 10) ]page 5 [ set color green create-link-from page 4 ]pages with [who > 5] [ set color violet ]create-network-example-2pages 8page 0 [ die ]page 1 [ create-links-from (turtle-set page 2 page 3 page 5 page 6) ]page 2 [ create-links-from (turtle-set page 1 page 3 page 4) ]page 3 [ create-links-from (turtle-set page 1 page 4 page 5) ]page 4 [ create-links-from (turtle-set page 1 page 5) ]page 5 [ create-links-from (turtle-set page 1 page 4 page 6 page 7) ]page 6 [ create-links-from (turtle-set page 5) ]page 7 [ create-links-from (turtle-set page 1) ]create-network-preferential [ n k ]pages n [ set color sky ]preferentially pages kpr-man [ n k ]pages n [ set color sky ]k >= n [ link-preferentially pages n — 1 ] [ link-preferentially pages k ]

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

Код для диффузионного типа.

calculation-method = «diffusion»

[ifany? surfers [ asksurfers [ die ] ] ;; удаляетпользователей, есливыбранданныйметодlinks [ set color gray set thickness 0 ]pages [ set new-rank 0 ]pages

[any? out-link-neighbors

[rank-increment rank / count out-link-neighborsout-link-neighbors [new-rank new-rank + rank-increment

]

]

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Заказать диплом

[rank-increment rank / count pagespages [new-rank new-rank + rank-increment

]

]

]pages

[rank (1 — damping-factor) / count pages + damping-factor * new-rank

;; устанавливает текущий ранг в новый ранг, используя данную формулу

]

Код для случайного типа.

[count surfers < number-of-surfers

[surfers number-of-surfers — count surfers

[current-page one-of pageswatch-surfers?

[ move-surfer ]

[ hide-turtle ]

]

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Подробнее

]count surfers > number-of-surfers

[n-of (count surfers — number-of-surfers) surfers

[ die ]

]

;; возвращает связи в их начальное положениеlinks [ set color gray set thickness 0 ]surfers [old-page current-pagepage [ setvisitsvisits + 1 ] ;; увеличивает количество посещений на странице, на которой находимсяrandom-float 1.0 <= damping-factor and any? [my-out-links] ofcurrent-page;;с вероятностью, зависящей от коэффициента затухания, либо перейти на случайную страницу или случайную страницу, с которой эта страница связана

[ set current-page one-of [out-link-neighbors] of current-page ]

[ set current-page one-of pages ]

;; обновляемвизуализациюwatch-surfers?

[turtlesurfersurfer-color colorold-page [traveled-link out-link-to [current-page] of myselftraveled-link != nobody [traveled-link [ set color surfer-color set thickness 0.08 ]]]

]

[ hide-turtle ]

]

;; обновляемрангстраницtotal-visits sum [visits] of pagespages [rank visits / total-visits

]

]

.4 Процедуры и функции для «Turingmachine»

Рассмотрим процедуры и функции, используемые в модели для лабораторной работы «Turingmachine».

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Заказать диплом

Сначала идет процедура setup. В этой процедуре определяется начальное состояние модели в соответствии с заданными параметрами. Код данной процедуры с пояснениями представлен ниже.

allturtles heads [50 ;; инициализация всех головок в состоянии 00;; выставление головок в вертикальное состояниеbg blackcolor-paths? ;; цветчерепах

[ set fg color ]

[ set fg white ]

]patches [ set on? false ] ;; очищениезначенияячейкиticks

Далее идет процедура go, в которой происходит запуск модели.

Затем идет процедура find-rule. В данной процедуре происходит нахождение правила использования для текущего состояния головки и ячейки. Ниже представлен код этой процедуры.

reportfind-rule? ;; проверка состояния пят на

[state = 0 [ report fput on-0-state list (direction-to-number on-0-turn) on-0-on? ]state = 1 [ report fput on-1-state list (direction-to-number on-1-turn) on-1-on? ]state = 2 [ report fput on-2-state list (direction-to-number on-2-turn) on-2-on? ]

]

[state = 0 [ report fput off-0-state list (direction-to-number off-0-turn) off-0-on? ]state = 1 [ report fput off-1-state list (direction-to-number off-1-turn) off-1-on? ]state = 2 [ report fput off-2-state list (direction-to-number off-2-turn) off-2-on? ]

]

В процедуре apply-rulesизменение текущей конфигурации по правилам, приведенным в списке.

В процедурах direction-to-numberиnumber-to-direction происходит изменение параметров модели в зависимости от выбранного пункта в списке turn. Ниже представлен код этих процедур.report direction-to-number [direction]direction = «—»

[ report 0 ]direction = «Right»

[ report 90 ]direction = «Backwards»

[ report 180 ]direction = «Left»

[ report 270 ]report number-to-direction [number]number = 0

[ report «—» ]number = 90

[ report «Right» ]number = 180

[ report «Backwards» ]number = 270

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Заказать диплом

[ report «Left» ]

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

Под экспериментальным тестированием здесь понимается проверка того, как модификации могут влиять на поведение модели во время ее выполнения. Количество этих ошибок при разработке было небольшим. Ошибки допускались при создании интерфейса открытия лабораторных работ и практических примеров для трёх последних работ.   6.2 Тестирование лабораторной работы «Climatechange»

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

Для проведения первого теста запустим модель два раза. В первый раз не будем добавлять фабрики, а во второй раз запустим модель с теми же параметрами, но добавим пять фабрик. Результат тестирования представлен на рисунках 6.1 и 6.2.

Рисунок 6.1 Модель без фабрик

Рисунок 6.2 Модель с фабриками

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

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

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

Для третьего теста создадим модель облачного дня, когда часть солнечных лучей будет задерживаться в атмосфере облаками. Проведем три опыта. Сначала создадим модель облачного дня без фабрик и деревьев, затем добавим в модель фабрики. В последнем опыте добавим ко всему этому деревья. Результат тестирования представлен на рисунках 6.4, 6.5 и 6.6.

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

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

Для модификации данной модели, в нее были добавлены такие параметры, как «качество» и «полиция». Они могут влиять на посещаемость бара. Проведем несколько тестов и посмотрим, как они будут влиять на поведение модели.

Для первого теста будем менять значение параметра qualityот 1 до 5 с шагом 1 и посмотрим, как это повлияет на посещаемость. Значения других параметров остаются постоянными. Вид модели, когда значение qualityравно 1, представлен на рисунке 6.7.

Рисунок 6.7 Qualityравно 1

Вид модели, когда значение qualityравно 2, представлен на рисунке 6.8.

Рисунок 6.8 Qualityравно 2

Вид модели, когда значение qualityравно 3, представлен на рисунке 6.9.

Рисунок 6.9 Qualityравно 3

Вид модели, когда значение qualityравно 4, представлен на рисунке 6.10.

Рисунок 6.10 Qualityравно 4

Вид модели, когда значение qualityравно 5, представлен на рисунке 6.11.

Рисунок 6.11 Qualityравно 5

По графику quantity prediction видно, что при увеличении параметра qualityколичество потерянных клиентов уменьшается. А при qualityравном 5, клиенты не теряются вообще. Из этого можно сделать вывод, что чем выше значение параметра quality, тем выше посещаемость бара.

Для второго теста будем менять значение параметра the-number-ofpolice-visitsот 0 до 5 с шагом 1 и посмотрим, как это повлияет на посещаемость. Значения других параметров остаются постоянными. Вид модели, когда значение the-number-ofpolice-visitsравно 0, представлен на рисунке 6.12.

Рисунок 6.12 The-number-of-police-visitsравно0

Вид модели, когда значение the-number-ofpolice-visitsравно 1, представлен на рисунке 6.13.

Рисунок 6.13 The-number-of-police-visitsравно1

Вид модели, когда значение the-number-ofpolice-visitsравно 2, представлен на рисунке 6.14.

Рисунок 6.14 The-number-of-police-visitsравно2

Вид модели, когда значение the-number-ofpolice-visitsравно 3, представлен на рисунке 6.15.

Рисунок 6.15 The-number-of-police-visitsравно3

Вид модели, когда значение the-number-ofpolice-visitsравно 4, представлен на рисунке 6.16.

Рисунок 6.16 The-number-of-police-visitsравно4

Вид модели, когда значение the-number-ofpolice-visitsравно 5, представлен на рисунке 6.17.

Рисунок 6.17 The-number-of-police-visitsравно5

По графику quantityprediction видно, что при увеличении параметра the-number-of-police-visitsколичество потерянных клиентов увеличивается. Это связано с тем, что чем больше визитов в бар совершают поличейские, тем выше шанс того, что посетитель решит остаться дома. Из этого можно сделать вывод, что чем выше значение параметра the-number-of-police-visits, тем ниже посещаемость бара.   .4 Тестирование лабораторной работы «Pagerank»

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

Определим критерии тестирования. Число ищущих установим равным 100, а коэффициент демпфирования равным 0.85.Количество страниц будет меняться от 5 до 15. Количество связей установим равным 2. Ранг будет меняться от 0.5 до 0,65 с шагом 0,05.

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Цена диплома

На рисунках 6.18, 6.19, 6.20 и 6.21 представлено тестирование модели при пяти страницах.

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

На рисунках 6.22, 6.23, 6.24 и 6.25 представлено тестирование модели при десяти страницах.

Рисунок 6.25 Pr-pageравно 0,65

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

На рисунках 6.26, 6.27, 6.28 и 6.29 представлено тестирование модели при пятнадцати страницах.

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

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

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

Для тестирования установим значение рычажка exampleна 1 и нажмем кнопку setupexample.

Для начала рассмотрим пример с одной головкой. Сначала в модели рисуются наклонные пунктирные линии, а затем при соприкосновении с этими линиями создаются квадраты. В конечном итоге создается рисунок, напоминающий системную плату с чипами. Результат представлен на рисунках 6.30 и 6.31.

Рисунок 6.30 Начало моделирования

Рисунок 6.31 Конечный результат

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

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Цена диплома

Рисунок 6.32 Использование двух головок

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

Рисунок 6.33 Использование 151 головки

Для дальнейшего тестирования установим значение рычажка exampleна 2 и нажмем кнопку setupexample.

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

Рисунок 6.34 Начало моделирования

Рисунок 6.35 Конечный результат

Дальнейшее продолжение моделирования приводит к хаосу.

При использовании двух головок появляется похожий результат. Он представлен на рисунке 6.36.

Рисунок 6.36 Использование двух головок

При использовании 256 головок наблюдается картина, когда вертикальная полоса движется назад и вперед в наклонном направлении. Результат представлен на рисунке 6.37.

Рисунок 6.37 Использование 256 головок

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

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

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Подробнее

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

Для удобства выполнения лабораторных работ необходимо создать руководство пользователя. В нем студент может узнать, как выполнять каждую работу и какие данные необходимо использовать. В руководстве будут описаны цель лабораторной работы, ее теоретическая и практическая часть. Ниже будут приведены руководства для каждой из лабораторных работ.
7.1 Лабораторная работа «Climatechange»

Содержание лабораторной работы «Climatechange».

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

Теоретическая часть.

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

Температура на планете меняется и людям интересно, какие факторы влияют на эти изменения и как предотвратить последствия повышения или понижения температуры.

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

Настраиваемые параметры данной модели представлены на рисунке 7.1.

Рисунок 7.1 Настраиваемые параметры

Кнопка setupсоздает модель, кнопкаgo запускает модель.

Кнопки «добавить облака» и «удалить облака» создают и удаляют облака в модели.

Кнопки «добавитьCO2» и «удалитьCO2»создают и удаляют молекулы СО2.

Кнопки «добавить фабрику» и «удалить фабрику» создают и удаляют фабрики.

Кнопки «добавить дерево» и «удалить дерево» создают и удаляют деревья.

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

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Заказать диплом

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

Практическая часть.

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

Первое, что нужно сделать — это проверить, как себя будет вести модель при нулевом и максимальном значении параметра albedo. При этом параметр sun-brightnessдолжен иметь максимальное значение. Внешний вид панели параметров перед выполнением модели показан на рисунках 7.2 и 7.3.

Рисунок 7.2 Первый пример

Рисунок 7.3 Второй пример

После того, как это задание будет выполнено, можно приступить к основному исследованию модели. Для этого необходимо проанализировать поведение модели при различных изменениях параметров. Для каждого из студентов значение параметра sun-brightness не будет меняться в процессе исследования модели. Меняться будет значение параметра albedo, а также количество фабрик и деревьев, которые будут добавляться в процессе выполнения модели. Также необходимо для каждого студента начальное значение количества молекул углекислого газа.

Данные для выполнения лабораторных работ представлены в таблице 7.1.

Таблица 7.1

Данные для лабораторной работы

 

После выполнения лабораторной работы необходимо предоставить отчет, в который включается описание каждого этапа выполнения практической части. Также нужно предоставить скриншоты для каждого этапа. В заключении должен быть вывод по проделанной работе.   .2 Лабораторная работа «ElFarol»

Содержание лабораторной работы «ElFarol».

Цель данной лабораторной работы проанализировать посещаемость бара ElFarol. Также данная лабораторная работа служит для укрепления знаний в использовании инструментов NetLogo.

Теоретическая часть.

El Farol — это модель, которая моделирует посещение бара ElFarol в NewMexico. Каждый четверг посетители данного бара решают идти им сегодня в бар или остаться дома. Данная модель входит в категорию SociealScience (социальная наука).

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

Настраиваемые параметры в данной модели представлены на рисунке 7.4.

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Подробнее

Рисунок 7.4 Настраиваемые параметры

Рычажок memory-sizeотвечает за размер памяти посетителей, которая представляется массивом чисел, где каждый элемент — это количество посетителей в баре в определённый раз посещения.

Рычажок number-strategiesопределяет количество стратегий, которыми руководствуются посетители бара, когда выбирают, идти им в бар или нет. Если это число меньше или равно параметру overcrowding-threshold, то человек идет в бар.threshold — параметр, который является ограничением. Как было сказано ранее, если число, полученное в результате выполнения стратегии меньше или равно данному параметру, то человек идёт в бар

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

Рычажокthe-number-of-police-visitsопределяет количество визитов полицейских в бар.

Практическая часть.

Для начала необходимо проверить, как параметр memory-size влияет на посещаемость бара. Для этого необходимо произвести несколько запусков модели, изменяя каждый раз значение данного параметра от 1 до 10 с шагом в 2. Значения других параметров должны быть постоянны. Постоянные значения параметров показаны на рисунке 7.5.

Рисунок 7.5 Постоянные значения для первого исследования

Далее необходимо проанализировать влияние параметра number-strategiesна поведение модели. Для этого также необходимо провести несколько запусков модели, изменяя значение параметра от 1 до 20 с шагом в 5. Остальные параметры, опять же, остаются без изменений. Постоянные значения показаны на рисунке 7.6.

Рисунок 7.6 Постоянные значения для второго исследования

Далее необходимо каждому студенту провести индивидуальное исследование модели. Значение параметра memory-size нужно менять с шагом в 1. Значение параметра number-strategies также нужно менять с шагом в 1. Значение параметра overcrowding-thresholdнеобходимо менять с шагом в 5. Данные для выполнения лабораторной работы представлены в таблице 7.2.

Таблица 7.2

Данные для лабораторной работы

 

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

Содержание лабораторной работы «Pagerank».

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

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

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

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Подробнее

Другими словами, PageRank — это числовая величина, характеризующая «важность» веб-страницы. Чем больше ссылок на страницу, тем она «важнее»[12].

Настраиваемые параметры в данной модели представлены на рисунке 7.7.

Рисунок 7.7 Настраиваемые параметры

Список network-choiceпозволяет выбрать сеть, которую можно будет использовать для моделирования.

Рычажок damping-factorпоказывает, как значения ранга влияют на ссылочную структуру.

Рычажок number-of-surfersотвечает за количество пользователей, которые будут осуществлять переходы между сайтами по ссылкам. Работает только при случайном методе поиска.

Список calculation-methodпозволяет выбрать один из двух методов поиска: случайный или диффузионный.

Рычажок count-pagesпозволяет выбрать количество страниц для ранжирования.

Рычажок count-linksпозволяет выбрать количество связей между страницами.

Переключатель pr-controlотвечает за возможность управлять рейтингом.

Рычажок pr-pageотвечает за первоначальное значение рейтинга.

Практическая часть.

Первое, что нужно сделать — это проверить, как себя будет вести модель при минимальном и максимальном значении параметра damping-factor.Из списка network-choiceвыбираем пункт network management, переключатель pr-controlставим в положение on. Значения параметров count-page, count-links, pr-pageиnumber-of-surfersдолжны быть при этом постоянны. Данные опыты необходимо провести, используя оба метода вычисления ранга. Внешний вид панели параметров перед выполнением модели показан на рисунке 7.8.

Далее необходимо каждому студенту провести индивидуальное исследование модели. Значение параметра damping-factorнужно менять с шагом в 0,05. Значение параметра number-of-surfersнужно менять с шагом в 5. Значение параметра count-pagesтакже необходимо менять с шагом в 5. Значение параметра count-linksнеобходимо менять с шагом в 1. Значение параметра pr-pageостается постоянным. Данные для выполнения лабораторной работы представлены в таблице 7.3.

Таблица 7.3

Данные для лабораторной работы

Данное исследование нужно повторить для каждого значения параметра count-linksи для обоих методов вычисления ранга.

После выполнения лабораторной работы необходимо предоставить отчет, в который включается описание каждого этапа выполнения практической части. Также нужно предоставить скриншоты для каждого этапа. В заключении должен быть вывод по проделанной работе.   7.4 Лабораторная работа «Turingmachine»

Содержание лабораторной работы «Pagerank».

Цель данной лабораторной работы — это демонстрация алгоритма действия модели многоголовой машины Тьюринга на двумерной ленте (2D MTM). Также эта лабораторная работа позволит получить новые навыки в использовании инструментов NetLogo.

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Цена диплома

Теоретическая часть.

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

Многоголовую машину Тьюринга на двумерной ленте (2D MTM) можно эмулировать на одноглавой одномерной машине Тьюринга (TM), но правила 2D MTM могут быть значительно проще, чем правила традиционной ТМ, имитирующей 2D MTM. В модели может быть до 256 «головок», которые следуют одному и тому же набору основных правил. В этом двухмерном 2D MTM голова может изменять свое состояние, значение его текущей ячейки и перемещаться либо на север, на восток, на запад, либо на юг, в зависимости от того, включена или выключена текущая ячейка и ее текущее состояние.

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

Настраиваемые параметры в данной модели представлены на рисунке 7.9.

Рисунок 7.9 Настраиваемы параметры

Рычажок headsпозволяет выбрать количество головок машины Тьюринга.

Переключатель color-pathsпозволяет выбрать, будут ли агенты белыми или разноцветными.

Рычажок newheadstate задает новое состояние головки машины Тьюринга.

Переключатель newcellstate задает новое состояние ячейки.

В выпадающем списке turnвыбирается, в каком направлении повернется агент.

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

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

Практическая часть.

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

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Подробнее

Далее проводится самостоятельное исследование модели. Студент сам выбирает, какие параметры он будет задавать для модели. Студент сам выбирает, в каких состояниях будут ячейки и головки, а также в каком направлении будут поворачивать агенты. Каждое своё исследование студент должен повторить для различного числа головок. Число головок будет меняться в диапазоне от 1 до 150 с шагом в 10.

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

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

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

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

Таблица 8.1

Описание оценок программного средства

 

Характеристика показателей качества программного средства представлена в таблице 8.2.

Таблица 8.2

Характеристика показателей программного средства

 

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

Оно определяется по формуле:

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Заказать диплом

Q, (8.1)

ГдеQ- качество ПС;

— экспертная оценка;

— экспериментальная оценка;

 — число показателей.

На основе данных таблицы 8.2 построим гистограмму распределения оценок по интервалам. Гистограмма представлена на рисунке 8.1

Рисунок 8.1 Гистограмма распределения оценок по интервалам

Заключение

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

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

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

При написании выпускной квалификационной работы был проведен анализ моделей для лабораторных работ и разработаны модификации для этих моделей.

Также были разработаны алгоритмы и программные модули для лабораторного комплекса. При разработке алгоритмов были построены их блок-схемы.

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

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

Данный лабораторный комплекс лабораторных работ можно использовать для обучения студентов направления 09.03.02 «Информационные системы и технологии».

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

1.   Швецов, А. Н. Мультагентные системы: учеб. пособие / А. Н. Швецов. Вологда: ВоГУ, 2012. 110 с.

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Цена диплома

2.      Швецов, А. Н. Агентно-ориентированные системы: основные модели: монография / А. Н. Швецов. Вологда: ВоГУ, 2012. 190 с.

.        Мультиагентные системы и сообщества агентов[Электронный ресурс] // Vunivere: сайт. Режим доступа:http://vunivere.ru/work3756/page7.

.        Productdescription[Электронный ресурс] // Acronymics: сайт. Режим доступа:https://www.agentbuilder.com/Documentation/product.html

.        Cafun 1.0 [Электронный ресурс] // A. Homeyer: сайт. Режим доступа:https://ssd.sscc.ru/ru/node/136.

.        WelcometoCafun[Электронный ресурс] // A. Homeyer: сайт. Режим доступа:https://www.cafun.de/index.html.

.        WhatisNetLogo?[Электронный ресурс] // U. Wilensky: сайт. Режим доступа:http://ccl.northwestern.edu/netlogo/docs/.

.        Wilensky, U. An introduction to agent-based modeling: modeling natural, social, and engineered complex systems with NetLogo: учеб. пособие / U. Wilensky, W. Rand. London: Massachusetts Institute of Technology, 2015. 482 с.

.        How to use behavior space[Электронныйресурс] // CoMSES Network: сайт.Режимдоступа:https://www.openabm.org/book/3138/how-to-use-behavior-space.

.        El Farol Bar problem[Электронныйресурс] // Wikipedia: сайт. Режимдоступа:http://www.en.wikipedia.org/wiki/El_Farol_Bar_problem.

.        Машина Тьюринга[Электронный ресурс] // Wikipedia: сайт. Режим доступа:http://www.ru.wikipedia.org/wiki/Машина_Тьюринга.

.        PageRank[Электронный ресурс] // Wikipedia: сайт. Режим доступа:http://www.ru.wikipedia.org/wiki/PageRank.

Средняя оценка 0 / 5. Количество оценок: 0

Поставьте оценку первым.

Сожалеем, что вы поставили низкую оценку!

Позвольте нам стать лучше!

Расскажите, как нам стать лучше?

403

Закажите такую же работу

Не отобразилась форма расчета стоимости? Переходи по ссылке

Не отобразилась форма расчета стоимости? Переходи по ссылке