Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Мат. лінгвістика 8

.pdf
Скачиваний:
20
Добавлен:
12.02.2016
Размер:
347.29 Кб
Скачать

МІНІСТЕРСТВО ОСВІТИ І НАУКИ, МОЛОДІ ТА СПОРТУ УКРАЇНИ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ ”ЛЬВІВСЬКА ПОЛІТЕХНІКА”

МЕРЕЖІ ПЕТРІ

МЕТОДИЧНІ ВКАЗІВКИ

до лабораторної роботи №8 з дисципліни «Математична структурна та прикладна лінгвістика»

для студентів напряму «Системи штучного інтелекту»

Затверджено на засіданні кафедри інформаційних

систем та мереж Протокол №14 від 18.05.2012р.

Львів-2012

Мережі Петрі: Методичні вказівки до лабораторної роботи №8 / Укл.: В.А. Висоцька, Ю.В. Нікольський, Т.В. Шестакевич, Ю.М. Щербина. – Львів: Видавництво Національного університету ”Львівська політехніка”, 2012. – 21 с.

Укладачі

Висоцька В.А., асистент

 

Нікольський Ю.В., д.т.н., професор.

 

Шестакевич Т.В., асистент

 

Щербина Ю.М., к.ф.-м.н, доцент.

Відповідальний за випуск Жежнич П.І., д.т.н., професор.

Рецензенти Берко А.Ю., д.т.н., професор. Чирун Л.В., к.т.н, доцент.

2

Мета роботи: Вивчення методів моделювання систем за допомогою мереж Петрі.

1 ТЕОРЕТИЧНА ЧАСТИНА Поняття мережі Петрі

Мережа Петрі складається з чотирьох елементів: скінченної множини позицій Р = {p1, p2,..., pn}, множини переходів Т = {t1, t2,..., tm},

вхідної функції І:T P, і вихідної функції О:T P. (див. рис. 1)

С= (Р, Т, І, О);

Р= {р1, р2, р3, р4, р5};

Т= {t1, t2, t3, t4};

I(t1) = {p1};

O(t1) = {p2, p3, p4, p4};

I(t2) = {p2, p3, p4};

O(t2) = {p2};

I(t3) = {p4, p4};

O(t3) = {p5};

I(t4) = {p5};

O(t4) = {p3, p4};

Рис.1. Приклад аналітичного задання мережі Петрі

Потужність множини Р – |P| = n. Потужність множини Т – |T| = m. Позиція рі є вхідною позицією переходу tі, якщо рі І(tі). Аналогічно,

рі є вихідною позицією переходу tі, якщо рі О(tі). Входи і виходи є переходів є комплектами позицій. Комплект є узагальненням множини. В комплект можуть включатися багаторазово повторені однакові елементи. Прикладом комплекту є O(t1) = {p2, p3, p4, p4}.

Кратність вхідної позиції pi для переходу tj це число появ позиції у вхідному комплекті переходу #(pi, І(tj)). Аналогічно, кратність вихідної позиції pi для переходу tj це число появ позиції у вихідному комплекті

переходу #(pi, О(tj)).

 

 

Розширена вхідна функція І(pi) визначається таким чином:

 

#(tj, І(pi)) = #(pi, O(tj)).

(1)

Розширена вихідна функція О(pi) визначається таким чином:

 

#(tj, O(pi)) = #(pi, І(tj)).

(2)

Для наведеного вище прикладу мережі Петрі розширена вхідна і

вихідна функції будуть виглядати таким чином:

 

I(р1) = { };

O(р1) = {t1};

 

I(р2) = {t1, t2};

O(р2) = {t2};

 

I(р3) = {t1, t4};

O(р3) = {t2};

 

I(р4) = {t1, t1, t4};

O(р4) = {t2, t3, t3};

 

I(р5) = {t3 };

O(р5) = {t4};

 

 

3

 

Графи мереж Петрі

Графічним представленням мережі Петрі є двохдольний орієнтований мультиграф. Структура мережі Петрі складається з сукупності позицій і переходів. Відповідно, граф мережі Петрі складається з двох типів вузлів. Кружок позначає позицію а планка | позначає перехід. Отже, оскільки вершини графа можна розділити на дві множини - позиції і переходи то граф є двохдольним.

 

 

p3

Орієнтовані

дуги

 

 

(стрілки)

з’єднують

 

 

 

t1

t2

t4

позиції і

переходи,

при

 

 

p5

деякі

дуги

 

 

 

цьому

p1

p2

 

направлені від позицій до

 

переходів, а деякі від

 

 

 

 

 

t3

переходів до позицій. Такі

 

 

p4

дуги позначають вхідні і

Рис. 2. Приклад графу мережі Петрі

вихідні комплекти. Кратні

виходи представлені кратними дугами. Оскільки можуть існувати кратні дуги між вершинами, то маємо мультиграф. Дуги є направлені, тому такий мультиграф є орієнтований.

Таким чином, граф G мережі Петрі це двохдольний орієнтований мультиграф, G = (V,A), де V = {v1, v2,..., vs} - множина вершин, А = {а1, а2,..., аr} - комплект направлених дуг, аі = (vi, vk), де vi, vk V. Множину V можна розбити на дві підмножини що не перетинаються - Р і Т, так що V=P T, P T= і для любої дуги аі(vi, vk) V виконується одна з двох умов: або vi Т, vk Р, або vi Р, vk Т,

Комплект направлених дуг А що відповідають даній мережі Петрі

визначається наступним чином:

 

#((рі, tj), А) = #(pi, І(tj));

(3)

#((tj, рі,), А) = #(pi, О(tj)).

 

Двоїстим графом мережі С = (Р, Т, І, О) є граф мережі C = (T, P, І, О), тобто граф в якого позиції і переходи поміняні місцями. Такі графи не представляють практичного інтересу, тому ми їх не розглядаємо.

Маркування мереж Петрі

Маркування - присвоєння певної кількості фішок позиціям мережі Петрі. Фішка це примітивне поняття мереж Петрі (як позиції та переходи). Маркування мережі С = (Р, Т, І, О) є функцією, яка відтворює множину позицій Р в множину невід’ємних цілих чисел N. Маркування можна також

4

подати у вигляді n-мірного вектора = ( 1, 2,..., n), де n = |P|, i N. Вектор визначає для кожної позиції рі кількість фішок в цій позиції і. Частіше застосовується позначення маркування в вигляді функції (рі) = і.

 

p3

 

Маркована мережа Петрі М = (С, ) це

t1

t2

t4 p5

сукупність структури мережі С = (Р, Т, І, О)

 

 

 

 

 

15

і маркування . На графі фішки

p1

p2

 

 

8

t3

позначаються у вигляді точки всередині

 

p4

 

кружка, що позначає дану позицію. На рис.

Рис. 3.

Приклад

графу

маркованої мережі Петрі

3. подано граф мережі петрі з прикладу на

рис. 1 з маркуванням = (1, 2, 4, 8, 15)

 

Правила виконання мереж Петрі

Виконання мережі Петрі - це перерозподіл фішок за допомогою запуску переходів. При запуску переходу фішки видаляються з його вхідних позицій і додаються до його вихідних позицій. Перехід може запускатися лише в тому випадку, коли він дозволений. Перехід називається дозволеним, якщо кожна з його вхідних позицій має число фішок не менше ніж число дуг з позиції в перехід. Фішки у вхідній позиції що дозволяють перехід називаються дозволяючими. На рис. 4. фішка в

позиції р1

є дозволяючою для переходу t1. Дозволені переходи t1, t3, t4.

 

 

 

 

p3

 

Перехід

tj T

в

 

 

 

 

маркованій

мережі Петрі

 

t1

t2

 

 

 

t4

p5

С = (Р, Т,

І, О) з

 

 

 

 

 

 

 

 

маркуванням

 

p1

 

p2

 

 

дозволений,

якщо для всіх

 

 

 

 

t3

рі Р виконується умова

 

 

 

 

p4

(рі) #(рі, І(tj))

(4)

 

 

 

 

 

 

 

 

Перехід

запускається

Рис. 4. Приклад графу маркованої мережі

видаленням

всіх

Петрі

 

 

 

 

 

 

 

 

дозволяючих фішок з його

 

 

 

 

 

вхідних позицій і наступним додаванням фішок у кожну з його вихідних позицій по одній фішці для кожної дуги. Перехід tj в маркованій мережі Петрі з маркуванням може бути запущений всякий раз, коли він дозволений. В результаті запуску дозволеного переходу tj утворюється нове маркування , яке визначається таким співвідношенням:

(рі) = (рі) - #(pi, I(tj)) + #(pi, O(tj)).

Приклади запуску переходів мережі Петрі подано на рис. 5. 5

 

 

p3

 

 

 

p3

 

 

 

 

 

 

 

 

t1

t2

t4

p5

t1

t2

t4

p5

 

 

 

 

p

p

 

 

p1

p2

 

 

1

2

 

 

 

 

 

 

а)

 

p4

t3

б)

 

p4

t3

 

 

 

 

 

 

 

 

 

 

p3

t1 t2

t4 p5

p1 p2

t3

в)

p4

 

Рис. 5. Маркування отримані в результаті запуску переходів графу зображеного на рис. 4. а) після запуску переходу t4; б) після запуску переходу t1; в) після запуску переходу t3;

Простір станів мережі Петрі

Стан мережі Петрі визначається її маркуванням. Запуск любого з переходів змінює стан мережі шляхом зміни її маркування. Простір станів мережі Петрі, що має n позицій це множина всіх маркувань, тобто Nn. Зміна стану мережі викликана запуском переходу визначається функцією, яка називається функцією наступного стану. Функція наступного станудля мережі Петрі С = (Р, Т, І, О) з маркуванням і переходом tj Р визначена тоді і лише тоді, коли (рі) #(pi, I(tj)) для всіх pi P. Якщо

(рі) визначена, то ( , tj) = , де (рі) = (рі) - #(pi, I(tj)) + #(pi, O(tj)) для всіх рі Р.

Нехай дана мережа Петрі С = (Р, Т, І, О) з початковим маркуванням0. Ця мережа може бути виконана послідовними запусками переходів. Запуск дозволеного переходу tj призведе до утворення нового маркування1 = ( 0, tj). В отриманому маркованому графі можна запустити любий інший дозволений перехід, наприклад tk. Отримуємо маркування 2 = ( 1, tk). Цей процес можна продовжувати до того часу, доки дозволений хоча б один перехід.

При виконанні мережі Петрі отримуємо дві послідовності. Послідовність маркувань ( 0, 1, 2,... ) і послідовність переходів які

6

запускаються (tj1, tj2, tj3,... ). Ці послідовності зв’язані таким співвідношенням:

( k, tjk) = k+1, k = 0,1,2,...

(5)

За допомогою цього співвідношення, маючи структуру мережі Петрі С = (Р, Т, І, О), початкове маркування 0 та послідовність переходів (tj1, tj2, tj3,... ) можемо отримати послідовність ( 0, 1, 2,... ). Зворотній перехід від послідовності маркувань до послідовності переходів можливий у більшості випадків, за виключенням деяких вироджених випадків.

Для мережі Петрі С = (Р, Т, І, О) з маркуванням маркування називається безпосередньо досяжним з , якщо існує перехід tj T, такий, що ( , tj) = , тобто можна отримати з запуском одного з дозволених переходів.

Множина досяжності R(C, ) для мережі Петрі С = (Р, Т, І, О) з маркуванням це найменша множина маркувань, визначених таким чином:

1.R;

2.якщо R, то для всіх = ( , tj), tj T виконується R, тобто якщо якесь маркування належить множині досяжності, то всі досяжні з нього маркування також належать їй.

Часто користуються поняттям розширеної функції наступного стану.

Розширена функція вхідного стану визначається для маркування та послідовності переходів = (tj1, tj2,..., tjn) таким правилом:

= ( , ) = (... ( ( , tj1), tj2)...,tn),

тобто спочатку запускаємо перехід tj1, потім tj2 і так далі, до tjn.

 

p2

t1

t3

t2

p1 p3

Рис. 6. Мережа Петрі для ілюстрації правил побудови дерева досягальності

7

(1,0,0)

 

 

 

 

 

 

 

 

 

t1

 

t2

 

 

 

 

 

 

 

 

 

(1,1,0)

 

(0,1,1)

 

 

 

 

 

 

 

 

 

а)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(1,0,0)

 

 

(1,0,0)

 

 

 

 

 

t1

t2

 

t1

t2

 

 

 

 

(1,1,0)

 

 

(0,1,1)

 

 

 

 

t1

t2

 

 

t3

(1,1,0)

(0,1,1)

 

 

 

 

 

(1,2,0)

(0,2,1)

(0,0,1)

t1

t2

 

t2

 

 

t

1

t

2

 

t

3

(1,2,0)

(0,2,1)

(0,0,1)

 

 

 

 

(1,3,0)

 

(0,3,1)

 

 

(0,1,1)

б)

 

 

 

в)

 

 

 

 

 

 

 

Рис. 7. Побудова дерева досягальності: а) перший крок; б) другий крок; в) третій крок

Дерево досягальності мережі Петрі є ілюстрацією множини досягальності R(C, ). Оскільки в багатьох випадках множина досягальності є нескінченною, то існують певні правила, які дозволяють відобразити її скінченним деревом досягальності. Для прикладу розглянемо мережу Петрі, зображену на рис. 6. Її початкове маркування

0 = (1,0,0) буде початковою вершиною (коренем) дерева досягальності. В

0 дозволені два переходи - t1 і t2. Нові вершини дерева досягальності будуються для всіх безпосередньо досяжних з 0 маркувань і до них з початкової вершини ведуть дуги помічені переходом що запускається. В результаті запуску t1 отримаємо 11 = (1,0,0), а в результаті запуску t2 отримаємо 12 = (1,0,0). Таким чином, перший крок побудови дерева досягальності буде мати вигляд, зображений на рис. 7,а. Аналогічно здійснюється другий, третій та наступні кроки. Для приведення дерева досягальності до скінченного представлення використовуються такі правила.

Пасивні маркування - тобто маркування в яких немає дозволених переходів є термінальними вершинами дерева досягальності (не мають власних піддерев досягальності).

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

Розглянемо послідовність запусків t1t1t1. Кожен раз, отримане маркування відрізняється від попереднього лише кількістю фішок в p2, яка

8

зростає на одиницю. Таким чином, запускаючи перехід t1 багато раз можна отримати як завгодно велике число фішок в ньому. Тому, якщо запуск переходу збільшує кількість фішок в одній (декількох) позиції залишаючи незмінною кількість фішок в інших, то маркування позиції (позиціїй) в якій кількість фішок збільшилась прийнято позначати символом . Можна розширити це поняття на послідовність переходів , яка збільшує кількість фішок в якійсь позиції, не змінюючи інші позиції. Таким чином, якщо в дереві досягальностей отримуємо маркування, яке є більшим за одне з попередніх (на шляху до кореня) маркувань, то у всіх позиціях що є більші проставляємо символ .

За допомогою цих трьох правил, множину досягальності будь якої мережі Петрі можна подати у вигляді скінченного дерева. Приклад приведеного дерева досягальності для мережі рис. 6 подано на рис. 8.

(1,0,0)

t1 t2

(1, ,0) (0,1,1)

t2 t3

(0, ,1) (0,0,1)

Рис. 8. Приведене дерево досягальності

2 ЛІТЕРАТУРА

Нікольський Ю.В., Пасічник В.В., Щербина Ю.М. Дискретна математика: Підручник. – Львів: "Магнолія Плюс", 2005. – 608с.

3 ЗАВДАННЯ

Розв’язати завдання відповідно до свого порядкового номеру у списку групи. Завдання отримати у викладача. При оформленні лабораторної роботи дотримуватись вимог, які наведені в методичних вказівках. Оцінювання виконаної лабораторної роботи проводиться згідно кількості правильно розв’язаних завдань з відповідного варіанту. Завдання лабораторної роботи мають три рівня складності. Оцінювання виконання завдань першого рівня в п’ятибальній системі відповідає оцінці “задовільно”, другий рівень – “добре”, третій – “відмінно”.

Для всіх варіантів: |P| = n = 5, |T| = m = 4, 0 = {5,5,5,5,5}.

варіант

I(t1); I(t2); I(t3); I(t4)

O(t1); O(t2); O(t3); O(t4)

1.

4,2,1,1,3 ; 3,1 ; 2,2,2 ; 3,3,2,2,1,2

4,3 ; 3,3,1,1,1,3 ; 2,4,3,3,4,3 ; 1,3

2.

4,2,1,4,1,1 ; 1,2,1,1,3 ; 2 ; 4,3,1,3

3,1,3,3 ; 1,4,3,4,2,1,4 ; 4,4,2,3 ; 2

3.

4,3,2,4,1 ; 4 ; 4,1,3,2,1,1 ; 4,4,2,3

4,3,3,4,2 ; 3,3,1,1 ; 1,1,2,3 ; 2,4,1

9

варіант

I(t1); I(t2); I(t3); I(t4)

O(t1); O(t2); O(t3); O(t4)

4.

4,2,1,4,1 ; 2,4,1,1 ; 4,2,4,4 ; 3,1,4

1,3,2,1,3

; 3,1,1,4 ; 2,3 ; 1,3,4,4,3

5.

4,1,4,1,4,1 ; 2,4,1,2,3,1 ; 2,2,4,4

2,2,2,3,3

; 3,2,2 ; 1,3,3,4,3 ; 3,3,2

6.

4,4,3,4

;

2,3,2 ; 1,4,4,2,1 ; 3,3,3,1

2,2,1,1,3

; 1,1,4,4,3,4,3,3 ; 3,1 ; 1

7.

4,2,2,3

;

3,1,3,2,4 ; 4,2,3 ; 3,3,2,3

1 ; 3,3,4,1,3,4 ; 3,2,4,3,4 ; 3,3,3,4

8.

4,3,2,4,3,2 ; 2,1,4,2,4 ; 3,3 ; 4,4,2

3,1,2,4,1,4 ; 3,3,1 ; 2 ; 4,4,4,2,2,2

9.

4,2 ; 1,3,4 ; 1,2,4,3,1 ; 2,1,2,4,2,3

1,3,2 ; 4,1,4,1 ; 2,2,4 ; 4,3,3,2,1,1

10.

4,2,1 ; 4,2,4,3 ; 3,4 ; 4,2,2,4,4,4,2

2,4,2,2,4

; 3,2 ; 2,3,2,3 ; 1,4,1,1,3

11.

4,1,4,3,3,3,1,4 ; 3,1,3 ; 1,4,3 ; 4,1

4,2,3 ; 3,2 ; 3,1,1,2,2,4 ; 2,4,1,1,2

12.

4,1 ; 1,3,3,1,1 ; 1,1,3,1,1,1,3 ; 4,1

3,4,4 ; 1,4,3,1,4,4 ; 2,2,4,2,1 ; 2,1

13.

4 ; 1,3,1,4,1,4,1 ; 4,3 ; 4,4,2,2,1,4

4,2,2,1 ; 1,1,3 ; 3,3,1,4 ; 2,3,4,2,4

14.

4,3,2,2,3 ; 3,1,3,1,4,4 ; 2 ; 2,2,1,2

3,4,2,2,1,1 ; 2,3 ; 4,4,3 ; 3,4,2,4,1

15.

4,1,2,2,2 ; 3,3,3 ; 2,3,4,1,3,3,2 ; 3

1,4,2,1,4

; ; 4,4,1,4,1,3,2,1 ; 1,4,1

16.

4,2,3 ; 2,3,3,3 ; 4,3 ; 4,2,2,4,4,3,2

4,3,4,3,3,4,1 ; 3,1,2,4,4 ; 1,4 ; 2,2

17.

4,2,1,1,3 ; 3,1,1 ; 4,2 ; 1,2,2,2,4,2

1,3,4,4,2

; 2,3,4,3,1,4,2,4 ; 1 ; 3,1

18.

4,4 ; 1,1

; 2,3,3,3,2,4 ; 2,1,2,4,2,1

4,3,2,4,1,1,1 ; 2,4,4 ; 2,3 ; 4,4,1,4

19.

4,1,1,1

;

4,3,2,1,4 ; 2,3 ; 1,1,2,1,1

1,2,1,1,3,2,4 ; 3 ; 2,2,1 ; 4,2,4,2,3

20.

4,1,3,4,2,1 ; 4,4,2,1,2 ; 3,1 ; 4,1,2

2,2,1,3,2,3,2 ; 4,4,1,4 ; 2,1,4,1 ; 4

21.

4,1,1,1

;

4,4,1,3,1,3,2,2 ; 2,3,2,3 ;

2,3,2,3,1

; 4,4,4,2,3,3 ; 4,2 ; 3,1,2

22.

2,4,3,4

;

4,1,3,4,2 ; 3,4,4 ; 1,2,2,4

1,4,4,4,4,2 ; 1,4,3,3,2,2,2 ; 4 ; 3,2

23.

2,4,1,3,4,1,4,4,4 ; 4,4,3 ; 2,3,4 ; 4

2,4,4,4,2,1,3,4 ; 3 ; 2,3,2,2 ; 2,4,2

24.

4 ; 4,2,3,1,1,3,4,4 ; 3,1,1,3,3 ; 4,2

3,3,1,3,3,2,1,3,2 ; 2 ; 1,2,4 ; 4,1,2

25.

3,1 ; 4,1,4,3,4 ; 1,2,4,4 ; 2,2,3,1,2

3,3,1,3,1

; 4,4 ; 4,4,2,4,1,2 ; 3,4,1

26.1,4,3,2,3 ; 4,4,2,3 ; 2,4,2,1 ; 2,2,1 4,1,3 ; 3,3 ; 1,4,1,3 ; 1,4,1,4,2,4,3

Перший рівень

Побудувати граф мережі Петрі згідно з варіантом завдання.

Другий рівень

Скласти функцію визначення можливості запуску переходу мережі Петрі, яка задана множинами (масивами) Р, Т, І, О, М. Аргументом є номер переходу, результатом – 1 перехід дозволений або 0 якщо перехід заборонений. Скласти функцію запуску переходу. Аргументом функції є номер переходу який слід запустити, результатом – змінений масив М і 1 при успішному запуску або не змінений масив М і 0 якщо даний перехід заборонений. За допомогою програми побудувати дерево досягальності заданої мережі Петрі до глибини 3.

Третій рівень

Придумати умову та розв’язати завдання, які б відповідали першому та другому рівням.

10