- •1 Основні поняття системи та моделі
- •Поняття моделі
- •1.2 Співвідношення між моделлю та системою
- •Загальна характеристика проблеми моделювання
- •1.4 Класифікація моделей
- •1.5 Вимоги до моделей
- •Комп'ютерне та імітаційне моделювання
- •2 Побудова імітаційних моделей
- •2.1 Основні принципи побудови математичних моделей
- •2.2 Неперервно-детерміновані моделі (d-моделі)
- •2.3 Основні форми подання математичних моделей
- •Введемо змінні стану об’єкта
- •3 Імовірнісне моделювання
- •3.1 Метод статистичних випробувань
- •3.2 Генератори випадкових чисел
- •3.3 Статистичні критерії
- •3.4 Основні критерії перевірки випадкових спостережень а. Критерій “хі-квадрат”
- •4 Моделювання випадкових подійта дискретних величин
- •4.1 Незалежні випадкові події
- •4.2 Група несумісних подій
- •4.3 Умовна подія
- •Умовної події
- •4.4 Випадкова дискретна величина
- •4.5 Біноміальний розподіл
- •4.6 Розподіл Пуассона
- •4.7 Моделювання неперервних випадкових величин
- •4.7.1 Метод оберненої функції
- •4.7.2 Рівномірний розподіл
- •4.7.3 Експоненціальний розподіл
- •4.7.4 Пуассонівський потік
- •4.5.5 Нормальний розподіл
- •Для моделювання нормального розподілу
- •Розподіл і потоки Ерланга
- •4.8 Статистична обробка результатів моделювання
- •4.8.1 Оцінювання ймовірності
- •4.8.2 Оцінювання розподілу випадкової величини
- •4.8.3 Оцінювання математичного сподівання
- •4.8.4 Оцінювання дисперсії
- •4.8.5 Оцінювання кореляційного моменту
- •4.9 Визначення кількості реалізацій під час моделювання випадкових величин
- •4.9.1 Оцінювання ймовірності
- •4.9.2 Оцінювання середнього значення
- •5 Моделювання систем масового обслуговування
- •5.1 Моделі систем мо
- •5.1.1 Характеристики смо
- •5.1.2 Вхідний потік вимог
- •5.1.3 Моделювання пуассонівського потоку
- •5.1.4 Час обслуговування
- •5.1.5 Організація черги
- •5.1.6 Правила обслуговування вимог
- •5.1.7 Вихідний потік вимог
- •5.2 Режими роботи системи масового обслуговування
- •5.2.1Типи моделей систем масового обслуговування
- •5.2.2 Формула Литтла
- •5.2.3 Одноканальні системи масового обслуговування
- •5.2.4 Обслуговування потоків задач в смо з необмеженою кількістю процесорів
- •10 Імовірність того, що в черзі 2 вимоги:
- •6 Мережі смо
- •6.1 Операційний аналіз мереж
- •6.2 Мережі Петрі
- •Перелік використаних джерел
6.2 Мережі Петрі
Мережі Петрі (МП) – це математична модель, яка використовується для моделювання динамічних потоків.
МП є орієнтованим дводольним графом, який має 4 базові елементи: вузли або місця, переходи, дуги і маркери.
Дводальний граф – це граф, який має дві множини вузлів і не має ребер, які з’єднують вузли однієї множини. Вузли позначаються кружками і визначаються стан, в якому може знаходитись мережа або її частина.
Переходи – це активні елементи мережі, які позначають дії, які виконуються під час спрацювання переходів. Для того, щоб перехід міг спрацювати, необхідне використання певних умов, які визначаються наявністю маркерів у вузлах мережі, з’єднаних з переходом. Якщо умови настання подій подій виконано, то вважають що перехід збуджений. Переходи позначаються короткими вертикальними або горизонтальними лініями.
Вузли та переходи з’єднуються орієнтованими ребрами (дугами). Вузли, з яких виходять дуги до певного переходу називаються вхідними, а вузли до яких ведуть дуги називають вихідними. Два вузли або два переходи з’єднюватись дугами не можуть. Кожний перехід може бути з’єднаним з вузлом тільки однією дугою (вхідною або вихідною).
Вузли можна розглядати як певні умови, а переходи як події. Таким чином, стан мережі в кожний момент часу задається системою умов. Для зручності задання умов у мережі Петрі вводяться маркери, які зображуються крапками в середині вузлів. Виникнення певної комбінації маркерів у вузлах призводить до настання деякої події, яка в свою чергу викликає зміну стану умов мережі.
а) спрацювання переходу б) після переходу
Рисунок 6.3 - Проста мережа Петрі
Перехід, в якого всі вхідні вузли містять маркери називають збудженим. Збуджений перехід може спрацювати, після чого всі маркери із вхідних вузлів переходу перемістяться у вихідні (рис. 15,1б). Таким чином настає подія, яка змінює стан мережі.
Якщо одночасно збуджується кілька переходів мережі, виникає невизначеність, тому одночасне спрацювання кількох переходів у МП неможливе, тобто переходи спрацьовують послідовно, миттєво. Незважаючи на те, що маркери змінюють своє положення у вузлах, прості МП – це статичні моделі, в яких не враховується динаміка в часі (зміна станів мережі не залежить від моментів часу). Для того щоб за допомогою МП відтворити динаміку системи, треба зазначити моменти часу спрацювання переходів.
Розмітка МП
Розмітка М мережі Петрі – це функція, яка ставить у відповідність маркерам вузлів цілі додатні числа. Суть розмітки полягає в приписуванні кожному вузлу певної кількості маркерів. Наприклад, якщо позначити через N – саму мережу Петрі, через Р – множину вузлів у мережі N, через n (Р) – кількість вузлів, то кожному вузлу цієї мережі можна поставити у відповідність число із послідовностей {1,2,…n(Р)}. Таким чином, розмітку M можна зобразити за допомогою вектора n(P) елементів в якому і-ий елемент визначає кількість маркерів у і-му вузлі. У загальному випадку кількість маркерів може бути > 1.
Рисунок 6.4 – Мережа Петрі, яка може бути заблокованою
На рисунку 15.2 зображено МП, яка може перейти, в такий стан, коли жоден з переходів не буде збудженим. Мережа в такому стані називається заблокованою. Розмітка задається так М = [2, 0, 0]; Р = { 1, 2, 3}; n(P) = 3; а,b,c,d – переходи.
Переходи a, b можуть бути збудженими, а переходи c,d – ні. У результаті збудження та спрацювання переходу а отримаємо розмітку m1=[1, 1, 0], за якою збуджується переходи а, b, c. У разі спрацювання переходу с отримаємо мережу з новою розміткою m2 = [2, 0, 0], а якщо b – то [0, 1 ,1] – заблоковано.
У МП паралельне спрацювання переходів обмежується тільки кількістю маркерів у вузлах, тобто для спрацювання переходів мають бути маркери у всіх вхідних вузлах.
Перехід, в якого немає жодного вхідного вузла завжди є збудженим і може генерувати маркери. Перехід, який немає жодної вихідної дуги, і має тільки 1 вхідну дугу збуджений тільки тоді, якщо вхідний вузол містить маркер. Такий перехід може знищувати маркери.
Правила маркування
1 Перехід збуджується тоді, коли число, яке визначає кількість маркерів у кожному вхідному вузлі > або = 1;
2 Якщо збуджений перехід спрацьовує, то число маркерів у всіх вхідних вузлах, які містять маркери, зменшується на 1, у всіх вихідних вузлах збільшується на 1. Кількість маркерів не можу бути меншою за 0.
Приклад 6.3
Два обчислювальні процеси Пр 1 і Пр 2 намагаються одночасно записати дані в пам’ять в П1 і зчитати з П2. Проблема – синхронізація доступу до пам’яті. Активний тільки один процес.
М1 = [1, 0, 1, 0, 1]. Якщо процес Пр1 хоче змінити свій стан на активний ( записати дані) він збуджує свій перехід і зманює розмітку на пасивну M = [0, 1, 0, 0, 1], таким чином збудження переходу процесу Пр2 (зчитування даних) не станеться доти, доки Пр1 не перейде в постійний стан і розмітка не стане М1.
Розширення мереж Петрі
1 Введення вагових коефіцієнтів.
Для кожної позитивної дуги можна задати певний ваговий коефіцієнт (вагу) = 1 або >1. За замовчуванням =1.
Перехід збуджується тоді, коли кількість маркерів у кожному вхідному вузлі більша ваги дуги або дорівнює їй.
У разі спрацювання переходу кількість маркерів кожного вхідного вузла зменшується на відповідну вагу вхідної дуги, а кількість маркерів вихідного вузла збільшується на вагу вихідної дуги.
2 Розширення можливостей вузлів під час моделювання.
У МП вузли виступають як сховище даних, а переходи як потоки даних. Маркером можна призначити різні типи даних (цілі, рядки і т. д.).
Можна зазначити режим доступу до маркерів (тобто, яким чином маркери надходять до вузлів і як вилучаються). Це дає можливість формувати у вузлах черги маркерів (як у СМО).
RAM – принцип випадкового доступу, маркер, що надійшов розміщується в черзі випадково, у разі спрацювання переходу вибирається із черги випадково.
FIFO – маркер, що надійшов стає в чергу останнім, а вибирається з неї перший ( 1-ий прийшов, 1-ий покинув).
LIFO – принцип «останній прийшов - перший покинув».
FIFORAM – «прийшов випадково – першим покинув».
LIFORAM - «прийшов випадково – останній першим покинув».
