Лабораторные работы (2011) (Отчет РДО)

Посмотреть архив целиком

Московский Энергетический Институт (ТУ)













Отчет по лабораторной работе №3

по предмету

«Теория игр и исследование операций»

на тему

«Моделирование с помощью системы интеллектуального имитационного моделирования РДО»









Выполнила: Шутова Екатерина

Группа: А-13-07

Преподаватель: Еремеев А.П.,

Гречкина П.В.







Москва, 2011



Оглавление

Постановка задачи 3

Описание предметной области 3

Пример работы 4

Описание имитационной модели 4

Типы ресурсов 4

Ресурсы 4

Операции 5

Интерфейс 5

Выполнение: объект прогона и условие завершения 6

Приложение 6

Образцы операций 6

Функции 8

Заключение 9

Литература 9




























Постановка задачи

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

Описание предметной области

Флорист появляется с левой стороны экрана и начинает движение к горшкам с цветами. Всего горшков 3. Для управления движением можно использовать клавишу Sstop и клавишу D-развернуть флориста.

Действия флориста:

- если он находится вблизи горшка с цветком, то цветок можно полить, нажав клавишу 1,2,3 в соответствии с порядковым номером цветка;

- стоять, если нажата клавиша S-stop;

- двигаться вперед (слева направо) (действие по умолчанию);

- развернуться, если нажата клавиша D.

Состояния цветов:

если цветок ни разу не поливали, тогда на экране изображен просто горшок

если цветок был полит один раз

если цветок был полит 2 или более раз

Пример работы

Описание имитационной модели

Типы ресурсов

2 ресурса:

$Resource_type О_Человек : permanent

$Parameters

состояние : integer[0..2] = 1 {0 -поливает и стоит , 1 -идет, 2-идет назад}

x : real = 0 {текущая координата}

$End

$Resource_type О_Цветок : permanent

$Parameters

колво_поливов : integer[0..2] = 0 {0 - не поливали, 1 - 1 раз полили..}

x : real {текущая координата}

$End


Ресурсы

Всего 4 ресурса: 1 – флорист и 3 остальных – цветы.

$Resources {начальные состояния у всех по умолчанию}

Человек: О_Человек * 10

цветок1: О_Цветок * 110

цветок2: О_Цветок * 252

цветок3: О_Цветок * 368

$End

Операции

Всего 8 операций:

$Operations

полить_цветок1 : o_полить_цветок1 '1'

полить_цветок2 : o_полить_цветок2 '2'

полить_цветок3 : o_полить_цветок3 '3'

изм_сост_человека : o_изм_сост_чел 'S'

изм_направление_движения : o_изм_напри_движ 'D'

развернуться : o_развернуться

идти : o_идти

стоять : o_стоять

$End

Интерфейс

Использован один кадр анимации

$Frame Frame1

$Back_picture = background

Show_if цветок1.колво_поливов = 0

bitmap [цветок1.x, 124, no_flower, no_flowerMask]

Show_if цветок2.колво_поливов = 0

bitmap [цветок2.x, 124, no_flower, no_flowerMask]

Show_if цветок3.колво_поливов = 0

bitmap [цветок3.x, 124, no_flower, no_flowerMask]

Show_if цветок1.колво_поливов = 1

bitmap [цветок1.x, 124, mediaflower, mediaflowerMask]

Show_if цветок2.колво_поливов = 1

bitmap [цветок2.x, 124, mediaflower, mediaflowerMask]

Show_if цветок3.колво_поливов = 1

bitmap [цветок3.x, 124, mediaflower, mediaflowerMask]

Show_if цветок1.колво_поливов = 2

bitmap [цветок1.x, 124, flower, flowerMask]

Show_if цветок2.колво_поливов = 2

bitmap [цветок2.x, 124, flower, flowerMask]

Show_if цветок3.колво_поливов = 2

bitmap [цветок3.x, 124, flower, flowerMask]


Show_if Человек.состояние=0 or Человек.состояние=1

bitmap [Человек.x, 144, man1,man1Mask]

Show_if Человек.состояние=2

bitmap [Человек.x, 144, man2,man2Mask]


Show

text [ 30,310, 520, 20, <255 255 255>, <0 0 0>, 'Текущая координата: ' ]

text [ 200,310, 520, 20, <255 255 255>, <0 0 0>, Человек.x ]

$End


Изображение флориста


Изображения цветов были приведены ранее в описании предметной области.

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

Model_name =цветок

Resource_file =цветок

OprIev_file =цветок

Statistic_file =цветок

Results_file =цветок

Trace_file =цветок

Frame_file =цветок

Frame_number =1

Show_mode = Animation

Show_rate = 1.0

{Условие завершения: проверяется координата человека}

Terminate_if Человек.x > 500 or Человек.x<1

Приложение

Образцы операций

$Pattern o_полить_цветок1 : keyboard

$Relevant_resources

_цв : цветок1 keep Keep

$Time = 0

$Body

_цв

Choice from Человек.x>100 and Человек.x<150

first

Convert_begin trace

колво_поливов set Поменять_состояние_цветка(_цв.колво_поливов)

Convert_end trace

$End

$Pattern o_полить_цветок2 : keyboard

$Relevant_resources

_цв : цветок2 keep Keep

$Time = 0

$Body

_цв

Choice from Человек.x>240 and Человек.x<279

first

Convert_begin trace

колво_поливов set Поменять_состояние_цветка(_цв.колво_поливов)

Convert_end trace

$End

$Pattern o_полить_цветок3 : keyboard

$Relevant_resources

_цв : цветок3 keep Keep

$Time = 0

$Body

_цв

Choice from Человек.x>359 and Человек.x<390

first

Convert_begin trace

колво_поливов set Поменять_состояние_цветка(_цв.колво_поливов)

Convert_end trace

$End

$Pattern o_стоять : operation

$Relevant_resources

_чел : Человек keep keep

$Time = 0

$Body

_чел

Choice from _чел.состояние=0

first

Convert_begin trace

Convert_end trace

$End

$Pattern o_идти_назад : operation

$Relevant_resources

_чел : Человек keep keep

$Time = 0

$Body

_чел

Choice from _чел.состояние=2

first

Convert_begin

x set Идти_назад(_чел.x)

Convert_end

$End

$Pattern o_идти : operation

$Relevant_resources

_чел : Человек keep keep

$Time = 0

$Body

_чел

Choice from _чел.состояние=1

first

Convert_begin trace

x set Идти_вперед(_чел.x)

Convert_end trace

$End

$Pattern o_изм_сост_чел : keyboard

$Relevant_resources

_чел : Человек keep keep

$Time = 0

$Body

_чел

first

Convert_begin trace

состояние set Поменять_состояние_чел(_чел.состояние)

Convert_end trace

$End

$Pattern o_изм_направления_движ : keyboard

$Relevant_resources

_чел : Человек keep keep

$Time = 0

$Body

_чел

first

Convert_begin

состояние set Поменять_напр_движения_чел(_чел.состояние)

Convert_end

$End



Функции

$Function Идти_вперед :real

$Type = algorithmic

$Parameters

_х : real

$Body

Calculate_if 0=0 Идти_вперед = _х + 0.0005

$End

$Function Идти_назад :real

$Type = algorithmic

$Parameters

_х : real

$Body

Calculate_if 0=0 Идти_назад = _х - 0.0005

$End

$Function Поменять_напр_движения_чел :real

$Type = algorithmic

$Parameters

старое_сост : integer

$Body

Calculate_if старое_сост = 0 Поменять_напр_движения_чел=2

Calculate_if старое_сост = 1 Поменять_напр_движения_чел=2

Calculate_if старое_сост = 2 Поменять_напр_движения_чел=1

$End

$Function Поменять_состояние_чел :real

$Type = algorithmic

$Parameters

старое_сост : integer

$Body

Calculate_if старое_сост = 0 Поменять_состояние_чел=1

Calculate_if старое_сост = 1 Поменять_состояние_чел=0

$End

$Function Поменять_состояние_цветка :real

$Type = algorithmic

$Parameters

старое_сост : integer

$Body

Calculate_if старое_сост = 0 Поменять_состояние_цветка=1

Calculate_if старое_сост = 1 Поменять_состояние_цветка=2

Calculate_if старое_сост = 2 Поменять_состояние_цветка=2

$End



Заключение

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

Литература

  1. Еремеев А.П., Шутова П.В.: «Моделирование процессов принятия решений на основе системы интеллектуального имитационного моделирования РДО» , Москва, 2002г


Случайные файлы

Файл
23312.rtf
17401.rtf
25242.rtf
32780.rtf
80976.rtf




Чтобы не видеть здесь видео-рекламу достаточно стать зарегистрированным пользователем.
Чтобы не видеть никакую рекламу на сайте, нужно стать VIP-пользователем.
Это можно сделать совершенно бесплатно. Читайте подробности тут.