Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Пособие_по_jason_(итог).doc
Скачиваний:
79
Добавлен:
21.03.2016
Размер:
1.79 Mб
Скачать

5.2.7 Дополнительные задания

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

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

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

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

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

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

6. Добавьте поварам свойство «уровень мастерства», от которого будет зависеть качество приготавливаемых блюд. Добавьте клиентам какое-либо поведение в зависимости от качества полученной ими еды.

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

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

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

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

11. Задание повышенной сложности (для владеющих Java).

Посмотрите, как на самом деле уныла наша МАС без модели среды! Мы же хотели смоделировать работу реальной организации, которая находится в физическом пространстве, где перемещаются и принимают решения реальные люди! А что получилось? Без среды наши агенты «слепы» и «неподвижны»! Все что они могут - это «кричать» и надеяться, что им ответят, такие же неподвижные слепцы! Вся их совместная работа это обмен фантазиями о том, как все могло бы происходить в среде и то, если эта среда не оказывает собственного влияния на состояние предметной области.

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

12. Задание повышенной сложности (для владеющих Java).

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