УНИВЕРЗИТЕТ У БЕОГРАДУ ФАКУЛТЕТ ОРГАНИЗАЦИОНИХ НАУКА Драгана Д. Макајић-Николић НОВИ ПРИСТУП АНАЛИЗИ ПОУЗДАНОСТИ СИСТЕМА ПРИМЕНОМ ИНВЕРЗНИХ ПЕТРИЈЕВИХ МРЕЖА докторска дисертација Београд, 2012 UNIVERSITY OF BELGRADE FACULTY OF ORGANIZATIONAL SCIENCES Dragana D. Makajić-Nikolić A NEW APPROACH TO THE SYSTEM RELIABILITY ANALYSIS USING REVERSE PETRI NETS Doctoral Dissertation Belgrade, 2012 КОМИСИЈА МЕНТОР др Мирко Вујошевић, редовни професор, Универзитет у Београду, ФОН ЧЛАНОВИ КОМИСИЈЕ: др Мирјана Чангаловић, редовни професор, Универзитет у Београду, ФОН др Милан Станојевић, ванредни професор, Универзитет у Београду, ФОН др Драган Радојевић, научни саветник, Институт Михајло Пупин, Београд др Владимир Поповић, доцент, Универзитет у Београду, Машински факултет НОВИ ПРИСТУП АНАЛИЗИ ПОУЗДАНОСТИ СИСТЕМА ПРИМЕНОМ ИНВЕРЗНИХ ПЕТРИЈЕВИХ МРЕЖА Анализа стабла неисправности (АСН) је техника за анализу поузданости која се користи за одређивање узрока и вероватноће отказа система. АСН је базирана на стаблу неисправности (СН), графичком моделу који користи логичка кола и отказне догађаје за представљање узрочно-последичних веза између догађаја који претходе отказу система. Квалитативни део АСН састоји се у одређивању минималних скупова пресека. Скуп пресека је скуп примарних догађаја који, када се догоде истовремено, доводе до отказа ситема. Минимални скуп пресека (минипресек) је скуп пресека који је редукован на минимални број елемената који изазивају отказ система. У овој дисертацији је предложена нова метода за одређивање минипресека кохерентног СН, СН које садржи само И и ИЛИ логичка кола, са вишеструким догађајима. Метода је заснована на посебном типу Петријевих мрежа – инверзним Петријевим мрежама. Прво је представљен нови алгоритам за редукцију скупова пресека кохерентног СН. Одређивање свих минипресека кохерентног СН је НП тежак проблем. У дисертацији се разматрају приступи којима се прво одређују сви скупови пресека датог СН а затим се врши елиминисање надскупова, односно скупова пресека који нису минимални. У тим приступима, СН се трансформише у еквивалентну булову једначину у којој се, затим, елиминишу сви редундантни скупови пресека. Већ је доказано да су скупови пресека, који не садрже вишеструке догађаје, минимални. Тиме се редукција ограничава само на скупове пресека са вишеструким догађајима. У овој дисертацији се посматра још једна врста скупова пресека: они који, ако садрже неки вишеструки догађај, садрже сва његова понављања. Овакви скупови пресека су означени са C*. Показује се да је скуп пресека облика C*, ако постоји, такође минималан. Тиме се додатно скраћује поступак редукције булове једначине. Затим се, даље, доказују услови за постојање скупова пресека облика C* и одређује минимална број скупова пресека који се могу елиминисати као надскуп од C*. Предложен је нови алгоритам за редукцију булове једначине датог СН, који се базира на раздвајању скупова пресека у три групе: скупови пресека без вишеструких догађаја, скупови пресека облика C* и остали скупови пресека. Ефикасност алгоритма је илустрована на групи тест. У наставку је предложена нова метода за одређивање минипресека кохерентног СН са вишеструким догађајима. Метода је заснована на инверзним Петријевим мрежама (ИПМ). Петријеве мреже су оријентисани графови којима је придружено почетно стање, названо почетно маркирање. Структура Петријеве мреже је оријентисан, тежински, бипартитни граф са две врсте чворова: места, која представљају услов или последицу и прелаза, који представљају акцију у систему. Овде се користи посебна врста Петријевих мрежа – ИПМ. ИПМ има исту структуру као дата Петријева мрежа, односно, места прелазе и гране, али су јој гране супротно оријентисане у однову на дату Петријеву мрежу. Показано је да се дато СН може директно трансфорисати у одговарајућу ИПМ. Основна својства ИПМ су: ИПМ је Петријева мрежа у којој су примарни догађаји датог СН моделирани местима ушћа, а вршни догађај изворним местом; Сваки скуп пресека датог СН се може представити маркирањем ИПМ са жетонима у местима ушћа, која моделирају одговарајуће примарне догађаје. Такво маркирање је мртво; Свако маркирање T 2[1, ( ),..., ( )]mM M p M p , односно маркирање у коме је 1( ) 1M p  , моделира одигравање вршног догађаја, што представља отказ система; Свако мртво маркирање M0 са жетонима само у местима ушћа, које је достижно из маркирања T 2[1, ( ),..., ( )]mM M p M p , представља скуп пресека; Свако мртво маркирање M0 са жетонима само у местима ушћа, које је достижно из маркирања T[1,0,...,0]M  , представља минипресек. Коришћењем својстава ИПМ и једначине стања, показано је да проблем одређивања минипресека датог СН, постаје следећи проблем достижности: одредити сва мртва маркирања достижна из почетног маркирања T[0,0,...,0,1]M  ИПМ датог СН. Сви скупови пресека се тада добијају као листови графа достижности ИПМ. Формулисан је алгоритам за одређивање свих минипресека датог СН. Алгоритам захтева специјално нумерисање места и прелаза ИПМ, чиме се омогућава да се не одређује цео граф достижности, већ само једно његово стабло. Алгоритам, такође, укључује раздвајање скупова пресека у три групе: скупови пресека без вишеструких догађаја, скупови пресека облика C* и остали скупови пресека. За тестирање алгоритма коришћена је група тест примера. На крају је разматран проблем комбинаторне експлозије. Како број минипресека у сложеним системима може бити веома велики, одређивање свих минипресека може бити веома сложен комбинаторни проблем. У овој дисертацији је предложен приступ за решавање овог проблема, заснован на одсецању стабла достижности и одређивању само минипресека вишег реда. Скуп пресека реда l садржи l примарних догађаја. Предложеним приступом се одређују само минипресеци вишег реда (минипресеци са l или мање примарних догађаја). Пошто постојање жетона у месту представља одигравање одговарајућег догађаја, укупан број жетона у ИПМ представља број догађаја који су се догодили истовремено. Одатле следи да број жетома у листу стабла достижности, представља ред одговарајућег скупа пресека. Због тога је број жетона у чворовима стабла достижности прихваћен као критеријум одсецања. Ако СН садржи вишеструке догађаје, број жетона у скупу пресека може бити редукован применом закона апсорпције и идемпотенције. Због тога се, приликом одређивања параметра одсецања, у сваком чвору стабла достижности мора узети у обзир број жетона и будуће примене ова два закона. У овој дисертацији су предложени алгоритам за одређивање минипресека датог реда и алгоритам за одређивање параметра одсецања, који су илустровани на групи тест примера. Кључне речи: стабло неисправности; минимални скупови пресека; инверзне Петријеве мреже; редукција скупова пресека НАУЧНА ОБЛАСТ: ОПЕРАЦИОНА ИСТРАЖИВАЊА УЖА НАУЧНА ОБЛАСТ: ПОУЗДАНОСТ A NEW APPROACH TO THE SYSTEM RELIABILITY ANALYSIS USING REVERSE PETRI NETS The Fault Tree Analysis (FTA) is a reliability analysis technique used to determine the root causes and probability of occurrence of a specified top event. FTA is based on a Fault Tree (FT), a graphical model using logic gates and fault events to model the cause-effect relationships involved in causing the top event. Determining minimal cut sets is a qualitative part in the FTA. The cut set is a set of basic events which, when simultaneous, cause the top event to occur. The minimal cut set (minicut) is a cut set which has been reduced to the minimum number of events that cause the top event to occur. This Dissertation proposes a new method for minicuts generation of a coherent FT, constructed using AND and OR logic operator only, with repeated events. The approach is based on the special type of Petri Nets – Reverse Petri Net. First, a new algorithm for reducing cut sets in coherent fault trees is presented. Determining all minicuts of a fault tree is NP-hard problem. Coherent fault trees and the top-down approaches for minicuts generation are considered. The FT can be translated into an equivalent Boolean expression. Obtained Boolean expression then should be reduced by eliminating all redundant cut sets. It is already proved that the cut sets not containing any repeated event are minicuts. This limits the reduction only to the cut sets containing repeated events. Cut sets containing all repetitions of its events are denoted by {C*}. It is proved that C*, if exists, is also minicut. This further limits the reduction of the Boolean expression. In addition, we proved conditions for existence of C* and calculated the minimal number of cut sets that can be eliminated as subsets of C*. Finally, a new algorithm for reduction of the Boolean expression which is based on the partition of the cut sets into three families: those not containing any repeated event, those of type C*, and others, is proposed. The efficiency of the algorithm is shown by applying it to some benchmark fault trees. Then, a new method for minicuts generation of a coherent FT with repeated events based on Reverse Petri Nets is presented. A Petri net is a particular kind of a directed graph, together with an initial state called initial marking. The underlying graph of a Petri net is a directed, weighted, bipartite graph consisting of two kinds of nodes, called places and transitions, where arcs are either from a place to a transition or from a transition to a place. In modelling, using the concept of conditions and events, places represent conditions, and transitions represent events. Here, a special type of Petri net is used: Reverse Petri Net (RPN). RPN of a given Petri net has the same net structure, e.g. places, transitions and arcs as given Petri net but the arcs are reverse directed. It is shown that the reverse Petri Net (RPN) can be generated directly from the FT. Main properties of RPN are: RPN is a Petri net with a sink place for each basic event and with one source place for the top event T of a FT; A cut set of a FT can be represented by marking of RPN with tokens only in sink places which models its basic events. Such marking is dead marking; Any marking M = [1,M(p2),…, M(pm)] T , where M(p1) = 1, represents the occurrence of the top event T, e.g. system failure; Each dead marking M0 with tokens only in source places, which is reachable from the marking M=[1,M(p2),…, M(pm)] T , represents a cut set. Each dead marking M0 reachable from M = [1,0,…, 0]T, represents a minicut. Using RPN properties and state equation show that the problem of finding all minimal cut sets becomes the following direct reachability problem: to find all dead markings reachable from marking T[0,0,...,0,1]M  of RPN. All cut sets are then obtained as leaves of the reachability graph of RPN. An algorithm to determine all leaves of the reachability graph is presented in the paper. The algorithm requires special numeration of the places and transitions of RPN which enables the generation only one spanning trees of the reachability graph. The algorithm also includes the partition of the cut sets into three families: those not containing any repeated event, those of type C*, and others. The efficiency of the algorithm is illustrated on some benchmark fault trees. Finally, the problem of state explosion is observed. Since the number of minicuts in complex systems can be very large and impossible to calculate, the enumeration of leafs of the reachability tree can be a complex combinatorial problem. An approach for solving the complexity problem, based on cutting the reachability tree of RPN and generating minicuts of a higher order only, is proposed. A cut set order is the number of events in a cut set. The minicuts of an order l contain l basic events. Only the minicuts of a higher order using proposed approach (minicuts of an order l or less) will be found. Since the existence of a token in the place models the occurrence of the corresponding event, the total number of tokens in RPN represents the number of simultaneously occurred events. Consequently, the number of tokens in each node of the reachability tree of RPN represents the number of the occurred events. Finally, the number of tokens in each leaf of the reachability tree represents the order of the corresponding cut set. Hence, the numbers of tokens in nodes of a reachability tree may be accepted as cutting criteria. In the FT contains repeated events, the number of events of cut set can be reduced by applying Boolean laws such as the absorption and idempotent laws. Therefore, in each node of the reachability tree, the number of token and the further applications of the absorption and idempotent laws must be taken into account during the determination of the cutting parameters. An algorithm for minicuts of a given order generation as well as the algorithm for the cutting parameters determination are given and tested on several benchmark FT. Keywords: fault tree; minimal cut set; reverse Petri net; cut set reduction SCIENTIFIC FIELD: OPERATIONS RESEARCH PARTICULAR SCIENTIFIC FIELD: RELIABILITY САДРЖАЈ 1. УВОД ……………………………………………..………………………………… 1 2. АНАЛИЗА СТАБЛА НЕИСПРАВНОСТИ (АСН) ………………………………. 5 2.1. Историјски развој АСН …………………………………………….………… 6 2.2. Методологија АСН ………………………………………….………….………. 8 2.3. Дефинисање система и нежељеног догађаја ………………………………….. 8 2.4. Конструкција стабла неисправности ……………………………………….... 10 2.5. Квалитативна АСН………………………………………….…………………. 14 2.5.1. Одређивање минималних скупова пресека …………………………….... 15 2.5.1.1. Методе одозго наниже ……………………………...……………. 17 2.5.1.2. Методе одоздо навише …………………………………………… 24 2.5.1.3. Бинарни дијаграми одлучивања …………………………………. 25 2.5.1.4. Одређивање минималних скупова путева ………………………. 29 2.5.2. Рангирање минипресека и примарних догађаја …………………………. 31 2.6. Квантитативна АСН……………………………………………..…………….. 32 2.6.1. Одређивање вероватноће вршног догађаја ……………………………… 32 2.6.2. Мере значајности ……………………………………………..…………… 36 3. АНАЛИЗА СН ВЕЛИКИХ ДИМЕНЗИЈА ……………………………………… 39 3.1. Редукција пре одређивања скупова пресека ………………………………… 40 3.2. Редукција након одређивања скупова пресека ……………………………… 43 3.3. Директно издвајање минипресека ……………………………………………. 46 3.3.1. Теорема Лимниоса ……………………………………………………….... 47 3.3.2. Теорема о минималности скупова пресека са вишеструким догађајима 49 3.3.3. Структура СН које садржи *C ……………………………………………. 57 3.3.4. Минимални број редукованих скупова пресека ………………………… 61 3.3.5. Алгоритам редукције скупова пресека СН ……………………………… 63 3.3.6. Резултати експеримената ……………………………………………..…... 64 3.4. Одређивање минипресека датог реда ………………………………………… 66 4. ПЕТРИЈЕВE МРЕЖE (ПМ) ……………………………………………..………. 69 4.1. Основни појмови, дефиниција и динамика ПМ …………………………….. 70 4.2. Врсте ПМ ……………………………………………..………………………... 76 4.2.1. Бинарне ПМ ……………………………………………..………………… 76 4.2.2. Црно-беле ПМ …………….…………………………………………….. 79 4.2.3. Петријеве мреже вишег нивоа ……………………………………………. 80 4.3. Проширења ПМ ……………………………………………..…………………. 84 4.4. Својства ПМ …………………………..……………………………………….. 86 4.5. Анализа ПМ ……………………………………………..……………………... 88 4.5.1. Редукција ПМ ……………………………………………..……………….. 88 4.5.2. Матрица инциденције и једначина стања ……………………………….. 89 4.5.3. Инваријанте ……………………………………………..…………………. 91 4.5.4. Граф достижности ……………………………………………..………….. 94 4.5.5. Симулација ПМ ……………………………………………..…………….. 95 4.6. Инверзне ПМ (ИПМ)...…………………………………..……………………. 96 4.7. Област примене ПМ ……………………………………………..……………. 97 5. ПРИМЕНА ПМ У АСН ……………………………………………..………….. 100 5.1. Графичка метода за одређивање минипресека …………………………….. 102 5.2. Матрична метода …………………………………………….………………. 104 5.3. Подела ПМ на нивое ……………………………………………..………….. 106 5.4. Одређивање минипресека помоћу t-инваријанте ………………………….. 111 5.5. Одређивање минипресека на основу матрице инциденције ПМ …………. 113 6. ОДРЕЂИВАЊЕ МИНИПРЕСЕКА СН БЕЗ ВИШЕСТРУКИХ ДОГАЂАЈА ПОМОЋУ ИПМ ……………………………………………..……………………... 117 6.1. Основни појмови ……………………………………………..……………… 117 6.1.1. Презентација логичких кола помоћу ПМ ……………………………… 117 6.1.2. Проблем достижности и мртво маркирање ……………………………. 119 6.2. Еквивалента ПМ ……………………………………………..………………. 119 6.3. Основна идеја методе ……………………………………………..…………. 122 6.4. Одређивање минипресека помоћу стабла достижности …………………... 124 6.5. Алгоритам за одређивање свих минипресека ……………………………… 132 6.6. Одређивање минипресека задате дужине ………………………………….. 139 6.7. Резултати експеримената ……………………………………………..……... 143 7. ОДРЕЂИВАЊЕ МИНИПРЕСЕКА СН СА ВИШЕСТРУКИМ ДОГАЂАЈИМА ПОМОЋУ ИПМ ……………………………………………..……………………... 146 7.1. Одређивање свих минипресека СН ………………………………………… 146 7.2. Одређивање минипресека задате дужине ………………………………….. 149 7.2.1. Одређивање параметра одсецања у СН ………………………………... 150 7.2.2. Одређивање параметра одсецања у ИПМ ……………………………… 158 7.2.3. Алгоритам за одређивање минипресека задате дужине ………………. 162 7.2.4. Алгоритам за одређивање maxj s k ………………………………………… 169 7.3. Резултати експеримената ……………………………………………………. 174 8. ЗАКЉУЧАК ………………………………………………………………….… 178 ЛИТЕРАТУРА ………………………………………………………………… 182 1 1. УВОД Неисправност и отказ су неизбежни феномени у свим производима и системима. Иако се под поузданошћу подразумева одсуство отказа, она се одређује управо истраживањем отказа и коришћењем података о отказу. Са научног и инжењерског аспекта, истраживање неисправности и начина отказа подразумева испитивање функционалних и физичких граница система, у покушају да се разуме како, зашто и када систем не функционише исправно. Једна од најстаријих метода, која на овај начин приступа одређивању поузданости, је анализа стабла неисправности (АСН). АСН је заснована на теорији поузданости, Буловој алгебри, логици и теорији вероватноће. Врло једноставна правила и симболи обезбеђују механизам за анализу веома сложених система и комплексних веза унутар њих. Основни концепт АСН је превођење отказног понашања реалног система у графички и логички модел. Графички сегмент је стабло неисправности (СН) – граф који обезбеђује визуелни модел, који веома лако и јасно приказује везе отказа у систему, док логички сегмент омогућује квалитативну и квантитативну анализу. Централни проблем квалитативне АСН је одређивање минималних скупова пресека. Минимални скупови пресека су минималне комбинације отказа компонетни система, које изазивају отказ целог система. Када се у СН примарни догађаји вишеструко појављују, издвајање минималних скупова пресека из фамилије свих скупова пресека, спада у класу НП тешких проблема. Због тога се највећи број публикација из области АСН бави решавањем овог проблема и то најчешће комбинујући АСН са другим техникама и приступима. У овом раду се проблем одређивања минималних скупова пресека кохерентног СН решава помоћу Петријевих мрежа (ПМ). У ужем смислу, ПМ чине: структура – бипартитни граф, који моделира структуру система, и маркирање – расподела жетона у чворовима мреже, које моделира стање система. У ширем смислу, под ПМ се подразумева теорија, која омогућава графичко моделирање система и 2 разноврсне формалне аналитичке методе. Могућност примене аналитичких метода зависи од структуре ПМ и маркирања. Приступ, који ће бити представљен у овом раду, заснива се на инверзним Петријевим мрежама (ИПМ) и анализи њиховог стабла достижности. Стабло достижности је граф чији корен представља почетно маркирање ПМ, листови – крајње маркирање, а гране – прелазак из једног маркирања у друго. СН се директно трансформише у структуру ИПМ, тако да корен ИПМ представља догађај када отказује систем, а листови ИПМ догађаје када отказују компоненте система. Присуство жетона у чвору ИПМ представља одигравање одговарајућег догађаја. Тиме се проблем одређивања минималних скупова пресека датог СН своди на проблем одређивања листова стабла достижности ИПМ из почетног маркирања, које представља отказ система. Рад се састоји из осам целина. Након увода, у другом делу ће бити описани: основни концепти АСН, њен историјски развој, значајне примене и методологија спровођења. Највећа пажња ће бити посвећена квалитативној АСН, нарочито одређивању минималних скупова пресека. Приказаће се најпознатије и најстарије методе за налажење минималних скупова пресека, као и најновији приступ заснован на бинарним дијаграмима одлучивања. Након кратког осврта на минималне скупове путева и рангирање минималних скупова пресека, изложиће се основни елементи квантитативне АСН. Трећи део посвећен је анализи СН великих димензија. Да би се превазишла комбинаторна експлозија, која се јавља код одређивања минималних скупова пресека СН великих димензија, потребно је редуковати проблем. При томе се може редуковати СН, пре одређивања скупова пресека, или се може редуковати добијена фамилија свих скупова пресека, да би се олакшало издвајање минималних. Представници оба приступа ће бити приказани у раду. Крајем осамдесетих година прошлог века, показано је да је скуп пресека, који не садржи догађаје који се вишеструко појављују у СН, минималан. Овде ће бити представљена нова класа скупова пресека, *C облика 1 21 2 ... nkk k nx x x   , где су 3 1, 1,...,ik i n  вишеструкости неких примарних догађаја 1 2, ,..., nx x x датог СН. Доказаће се теорема о минималности скупова пресека са вишеструким догађајима, којом се тврди да су скупови пресека, облика *C , минимални, а минималност скупова пресека без вишеструких догађаја се своди на њен специјалан случај. Поред тога, биће уведени услови потребни за постојање скупа пресека облика *C и одређен минималан број скупова пресека који се редукују као његов надскуп. Нови алгоритам редукције и допринос теореме о минималности скупова пресека са вишеструким догађајима, у смањивању броја операција редукције скупова пресека, биће илустрован на групи тест примера (Benchmark Fault Trees). У четвртом делу ће бити описани основни појмови теорије ПМ: општа дефиниција ПМ, моделирање динамике система, класификација и проширења ПМ, и дефиниције оних врста ПМ које ће се користити касније у раду. Када се систем моделира помоћу ПМ, његова анализа се врши испитивањем својстава ПН. Овде ће бити наведена основна својства ПМ: достижност, живост, мртво маркирање и повратност, и методе анализе: редукција, матрица инциденције, инваријанте, граф достижности и симулација ПМ. Пети део почиње основама моделирања СН помоћу ПМ, које су постављене осамдесетих година прошлог века и које нису промењене до данас. Након тога, биће описани различити приступи у одређивању минималних скупова пресека датог СН помоћу ПМ: графичка метода; матрична метода; подела ПМ на нивое; одређивање минималних скупова пресека помоћу t-инваријанте и на основу матрице инциденције ПМ Основна идеја методе за одређивање минималних скупова пресека помоћу ИПМ биће описана у шестом делу. Идеја ће прво бити објашњена на кохерентном СН без вишеструких догађаја. На основу једначине стања, доказаће се својства ИПМ, која омогућавају да се проблем одређивања минималних скупова пресека сведе на проблем одређивања листова графа достижности ИПМ. Приказаће се алгоритам за одређивање минималних скупова пресека, који је имплементиран и тестиран на групи СН. На крају ће бити представљен приступ за добијање минималних 4 скупова пресека задатог реда (дужине), који се може користити онда када није могуће одредити све скупове пресека. Приступ је заснован на особини да укупан број жетона у ИПМ моделира број одиграних догађаја и да је тај број неопадајући. Одређивање минималних скупова пресека састоји се у одсецању чворова графа достижности ИПМ, у којима је укупан број жетона већи од задатог реда. Резултати одсецања стабла достижности ће такође бити приказани. У седмом делу, метода ће бити проширена на СН са вишеструким догађајима. Прво ће се, на основу резултата из трећег дела рада, алгоритам за одређивање свих минималних скупова пресека проширити тако да се одмах идентификују скупови пресека облика *C . Након тога ће бити решаван проблем одређивања минималних скупова пресека датог реда за СН са вишеструким догађајима. У овим СН укупан број жетона у ИПМ није неопадајући, што отвара проблем одређивања параметра одсецања графа достижности. Доказаће се да је параметар одсецања различит у сваком чвору стабла достижности и одредиће се горња граница вредности овог параметра која гарантује да се неће изоставити ниједан од тражених минималних скупова пресека. Ова граница је, такође, одређена на основу резултата из трећег дела рада. На крају ће бити приказан алгоритам за одређивање минималних скупова пресека СН са вишеструким догађајима, који је имплементиран и тестиран на групи тест примера (Benchmark Fault Trees). У осмом делу ће бити изнета закључна разматрања и правци даљег истраживања. 5 2. АНАЛИЗА СТАБЛА НЕИСПРАВНОСТИ (АСН) У управљању поузданошћу, ризиком и сигурношћу система до сада је, у различитим фазама, коришћена 701 метода и техника, специјализована или општа. Најинтензивнији развој одвијао се у периоду од 1991. до 2000. године (232 методе) а од 2000. до 2008. је развијено још 95 нових метода [30]. Оваквом развоју допринео је развој рачунара, нарочито у области прикупљања и анализе великог броја података. Најзахтевнија фаза управљања поузданошћу и ризиком је фаза процене и анализе. Најпознатије методе које се могу користити у овој фази су [28]: прелиминарна анализа хазарда (Preliminary Hazard Analysis, PHA); анализа стабла догађаја (Event Tree analysis, ETA); анализа стабла неисправности (Fault Tree Analysis, FTA); анализа начина и ефеката отказа (Failure Mode and Effect Analysis, FMEA); модели Маркова (Markov Analysis); бинарни дијаграми одлучивања (Binary Decision Diagram, BDD); Петријеве мреже (Petri Nets, PN) итд. Анализа стабла неисправности (AСН) је, поред FMEA, најважнија и највише коришћена метода за анализу поузданости и ризика [123,39]. АСН је дедуктивна метода у којој се прво дефинише нежељени догађај, тзв. вршни догађај (Top event), а затим се анализира утицај понашања појединих компоненти система на његово појављивање. Анализа се ослања на дијаграм - стабло неисправности (СН) (Fault tree), који симболички описује логичке релације између догађаја. У овој глави ће бити описан развој и значајне примене АСН, методологија њеног спровођења и преглед значајних метода за налажење минималних скупова пресека као најзахтевнијег корака у спровођењу АСН. Након кратког описа приступа у налажењу минималних скупова путева и метода за рангирање минималних скупова пресека, изложиће се основни елементи квантитативне АСН.  Анализа стабла неисправности (АСН) је назив за FTA на српском језику по стандарду SRPS EN 61025:2011 [103], мада се у домаћој литератури могу наћи и називи анализа стабла отказа [133] или анализа стабла грешака [137]. 6 2.1. Историјски развој АСН Анализу стабла неисправности је развиo H.A. Watson 1961. године у Bell Telephone Laboratories за процену безбедности у оквиру студије Minuteman Launch Control System, дела пројекта Поларис, за потребе војске САД. Инжењери у Беловим лабораторијама су уочили да метода која је коришћена да опише “исправну” логику у процесирању података, може бити коришћена за анализу “неисправне” логике која је последица отказа компоненти [38]. Касније је Дејв Хасл (Dave Haasl) у Компанији Боинг (Boeing Company) препознао вредности ове технике, први је назвао Fault Tree Analysis и предводио тим који је применио АСН у свим деловима Minuteman Missile System пројекта. Након позитивних резултата примене, започело је коришћење АСН и у дизајну комерцијалних авиона у Компанији Боинг. 1965. године Компанија Боинг и Универзитет у Вашингтону организовали су прву конференцију о сигурности система (System Safety Conference) која представља почетак широког интересовања за АСН. Следећи авионску индустрију, седамдесетих година двадесетог века почела је примена у дизајну и развоју нуклеарних постројења. Велики број алгоритама и софтвера развили су запослени у нуклеарној индустрији, за коју се сматра да је дала највећи индивидуални допринос развоју АСН [27]. Године 1975. Нуклеарна регулаторна комисија САД објавила је WASH-1400 - Студију о безбедности нуклеарних реактора у којој је у додатку на 579 страна, детаљно описана примена АСН у анализи поузданости различитих подсистема нуклеарних електрана [109]. Осамдесетих година почиње интернационална примена АСН и примена у различитим областима: хемијска, аутомобилска, војна индустрија, свемирски програм итд. Први рад о АСН на српском језику објављен је 1983. године [122]. Од деведесетих година до данас, АСН добија велики број проширења и хибридних облика: Фази АСН [21,106,107,12,127]; Динамичка АСН [26,66]; Posbist FTA [42]; Accident FT (AFT diagrams) [48]; Condition-based fault tree analysis (CBFTA) [98]; Software FTA (SFTA) [74]; Bouncing failure analysis (BFA) која обједињује АСН и FMEA методологију [8] итд. 7 Могућност примене одређене методе значајно утиче на интересовање које за њу постоји и на њен развој. С обзиром да је АСН метода за анализу поузданости, сигурности и ризика, неколико несрећних догађаја је допринело да се она установи и потврди [27,50]:  27. јануара 1967. године - пожар на лансирној рампи Апола 1. Након тога, НАСА и Компанија Боинг су увели нови сигурносни програм за цео Аполо пројекат који је обухватао и извођење АСН на читавом Аполо систему.  28. марта 1979. године – несрећа у нуклеарној електрани на острву Три Миље. Неколико студија испитивања несреће је извршено коришћењем АСН.  28. јануара 1986 године – Спејс шатл Челинџер је експлодирао 73 секунде након полетања. Независни тим за истраживање несреће је користио АСН за анализу главних мотора, како би се обезбедила адекватна сигурност већ у фази дизајна шатла.  Фебруара 2003. године – експлозија спејс шатла Колумбија. Након овог догађаја, тежиште свемирске индустрије је поново стављено на безбедност и поузданост. Сви описани догађаји односе са на системе који морају бити високопоуздани, било због окружења у коме функционишу, било због последица које би њихов квар могао да изазове. АСН је коришћена и приликом дизајна нуклеарног система Фукушима, који је доживео отказ са катастрофалним последицама у марту 2011. године. У извештају Јапанске владе на IAEA Ministerial Conference on Nuclear Safety у јуну 2011. године [91], наводи се да је АСН успешно спроведена у анализи неисправности система пумпи за морску воду, али да није разматрана могућност наисправности услед цунамија. Ово потврђује чињеницу да успешност сваке методе за анализу поузданости и ризика, па и АСН, зависи од познавања система на који се примењује и способности аналитичара да предвиди све релевантне факторе. Данас, домен АСН постаје готово универзалан, са значајним резултатима у роботици и поузданости софтвера и са све већим применама у анализи поузданости човека. 8 2.2. Методологија АСН АСН идентификује, моделира и процењује везе између догађаја које воде до: отказа, нежељених догађаја или непланираних догађаја, односно стања система. Методологија АСН је дефинисана, структурирана и стриктна; лака је за савладавање, извођење и праћење. Међутим, АСН може бити скупа и временски захтевна, због чега треба увек упоредити трошкове спровођења анализе са трошковима које изазивју нежељени догађаји. Најчешће фазе у спровођењу АСН су [86]:  Дефинисање система, нежељеног догађаја (отказа) система и услова отказа.  Конструкција стабла неисправности.  Квалитативна анализа стабла неисправности.  Квантитативна анализа стабла неисправности. У наставку ће бити описана свака од фаза, а посебан нагласак ће бити на квалитативној АСН чији је корак налажења минималних скупова пресека главни предмет истраживања овог рада. 2.3. Дефинисање система и нежељеног догађаја На почетку примене АСН мора се добро упознати систем који се анализира са аспекта поузданости и ризика. Због тога је често почетна тачка постојећа FMEA и блок дијаграм који обезбеђују његово боље разумевање. Након тога, потребно је одредити границе у оквиру којих се врши анализа:  Физичке границе система: који делови система су укључени у анализу, а који се могу занемарити;  Почетни услови: у ком се стању систем налази када се деси посматрани нежељени догађај; 9  Спољашњи утицаји: који типови спољашњих утицаја треба да буду укључени у анализу (ратни услови, саботажа, земљотрес, нестанак електричне енергије итд.);  Ниво детаљности: колико детаљна треба да буде анализа. Као што је већ поменуто, АСН је дедуктивна анализа која се фокусира на одређени нежељени догађај система и утврђује његове узроке. Под догађајем се подразумева динамичка промена стања која се дешава у систему или елементу система. Са аспекта АСН, значајна су три нивоа догађаја:  Вршни догађај – нежељени догађај система.  Посредни догађај – догађај који се дешава као последица једног или више догађаја. То је догађај неисправности који се дешава зато што се догодио један или више претходних догађаја.  Примарни догађај – догађај који се даље не разлаже и представља границу декомпозиције система. Избор вршног догађаја је важан за успех анализе: уколико је сувише општи анализа постаје преобимна и тешко сагледива; ако је сувише специфичан анализа не обезбеђује довољно добар поглед на систем. Дефиниција вршног догађаја треба да да одговоре на питања: шта се десило, где и када [86]. Након тога, врши се декомпозиција система на примарне догађаје и приступом одозго наниже, утрвђује се како одређени нежељени догађаји, везани за елементе система (подсистеми, делови, компоненте), утичу на вршни догађај. Приликом одређивања догађаја могу се идентификовати две појаве [22]:  Отказ (failure) – квар система или његових елемената изражена кроз одступање од планиране функције или понашања или кроз немогућност система, подсистема или компоненте да обаве потребну функцију. Степен отказа може бити различит: не ради у потребном тренутку, ради повремено, не престаје са радом у потребном тренутку, недостатак потребног излаза, промењен излаз или смањен оперативни капацитет. 10  Неисправност (fault) – нежељено стање система или његових делова, узроковано присуством неодговарајућих команди или одсуством одговарајућих, или отказом. Сваки отказ изазива неисправност, али није свака неисправност изазвана отказом (систем који је искључен из безбедносних разлога није отказао). Неисправност је општи термин које се може рангирати од минорног дефекта до отказа. Дефиниција 2.1. [58] Уколико су два догађаја комплементарна, називају се биформним (biform) догађајима у супротном су моноформни (monoform). Упоредо са догађајима (неисправностима) у систему, утврђују се и логичке везе између њих и последице њиховог појављивања. 2.4. Конструкција стабла неисправности. Стабло неисправности (СН) је модел који графички и логички представља комбинације примарних и посредних догађаја, које могу довести до вршног догађаја, односно до неисправности система. Конструкција СН се врши одогзго наниже, од вршног догађаја до његових непосредних узрока и тако редом до примарних догађаја. У конструкцији стабла се полази од претпоставке да су догађаји бинарни, статистички независни и да везе између њих могу да се представе логичким операцијама (колима). СН садржи три врсте симбола: симболе догађаја, симболе трансфера (табела 2.1) и симболе логичких кола (табела 2.2). Трансфери су чворови СН који омогућавају одовјени приказ делова СН. С обзиром да се у овом раду не разматрају, у табели је приказан само њихов општи изглед. Поред наведених стандардних симбола, постоје различите врсте специјалних симбола, као што су симболи за: негације, кашњење, задату комбинацију улаза у логичко коло, догађај који мења статус у зависности од фазе анализе, функционалне зависности, итд. 11 Табела 2.1. Симболи догађаја СН Симбол Значење симбола Примарни догађај – примарна иницирајућа неисправност која не захтева даље развијање Примарни догађаји Неразвијени догађај - догађај који није даље развијен или зато што то не би имало нарочит значај или зато што не постоји расположива информација. Специфични услови или рестрикције које се могу применити на било које логичко коли (првенствено Приоритетно И и инхибиторско коло). Спољашњи догађај (тригер) - догађај за који се очекује да ће се десити због природе пројекта и услова рада. Посредни догађај Симболи за тренсфер Табела 2.2. Симболи логичких кола СН Назив кола Симбол кола Значење симбола И Неисправност на излазу ће се десити ако се десе све улазне неисправности. ИЛИ Неисправност на излазу ће се десити ако се деси бар једна улазна неисправност. Приоритетно И Неисправност на излазу ће се десити ако се све улазне неисправности десе у специфицираној секвенци. Ексклузивно ИЛИ Неисправност на излазу ће се десити ако се деси тачно једна улазна неисправност. m од n m Неисправност на излазу ће се десити ако се деси m од n улазних неисправности. Инхибиторско коло Неисправност на излазу ће се десити само ако се деси улазна неисправност и условни догађај. Када је извршена декомпозиција нежељеног понашања система и када су утврђене логичке везе између догађаја у систему, догађаји и логичка кола се приказују графички, одозго наниже. 12 Пример На слици 2.1. а) је приказано електрично коло у коме је потребно анализирати вршни догађај “мотор не ради” [122]. Овај догађај ће се десити ако откаже мотор или ако нема струје у мотору. Отказ мотора је догађај који се у овом случају даље не анализира а струје неће бити у мотору ако је истовренемо не буде ни у једној од контура. Даљом декомпозицијом, добија се структура која је приказана одговарајућим стаблом неисправности на слици 2.1. б). осигурач н ап ај ањ е прекидач бр. 2 прекидач бр. 1 мотор контура бр. 1 контура бр. 2 Мотор не ради Нема струје у мотору Примарни отказ мотора Нема струје у контури 2 Нема струје у контури 1 Прекидач 1 отворенПримарни отказ напајања Примарни отказ осигурача Прекидач 1 отворен отказ Прекидач 1 отворен Прекидач 2 отворенПримарни отказ напајања Примарни отказ осигурача Прекидач 2 отворен отказ Прекидач 2 отворен a) б) Слика 2.1. Стабло неисправности [122] Формално, СН је укорењено бипартитно стабло ( , , )U V A , где је U скуп чворова догађаја, V скуп чворова логичких кола а A скуп грана. Сваки пар чворова ( , ), ,u v u U v V  може бити повезан највише једном граном. Скуп U чине примарни, посредни и вршни догађаји. Вршни догађај је чвор на најнижем нивоу, односно корен СН, примрни догађаји су листови СН а посредни догађаји су сви остали чворови СН. С обзиром да је стабло, по дефиницји, бипартитни граф, термин бипартитно се овде користи у инжењерском смислу, да би се истакло постојање два дискунктна скупа чворова: скуп чворова који моделирају догађаје и скуп чворова који моделирају логичка кола. 13 С обзиром да је СН неоријентисано, овде ће се условно користити термини “улазне” и “излазне” гране. Под излазном граном чвора скупа U , подразумеваће се грана од чвора који моделира догађај до чвора који моделира логичко коло чији је посматрани догађај улаз. Под улазном граном чвора скупа U ће се подразумевати грана ка чвору који моделира догађај од чвора који моделира логичко коло чији је посматрани догађај излаз. Односно, посматраће се као да су гране оријентисане од чворова на вишем ка чворовима на нижем нивоу стабла. Аналогно је за улазне и излазне гране чворова који моделирају логича кола. Уколико се другачије не нагласи, подразумеваће се да су оријентисане од чворова на вишем ка чворовима на нижем нивоу СН. У сладу са претходним образложењем, може се рећи да су примарни догађаји чворови без улазних грана, посредни догађаји су чворови са бар једном улазном и једном излазном граном, а вршни догађај је чвор без излазних грана. Логичка кола се, поред скупа V , могу описати и индиректно преко елемената скупа догађаја U . Нека је # uD број улазних грана чвора u. Сваком чвору u који одговара вршном и посредном догађају, придружен је позитиван цели број ub који представља логички индикатор. Ако је 1ub  , онда чвору u одговара логичко коло И; ако је # u ub D , онда чвору u одговара логичко коло ИЛИ [25]. Уколико СН садржи само И и ИЛИ логичка кола и моноформе примарне догађаје (примарне догађаје без њихових негација), назива се кохерентно СН. Кохерентним СН се моделирају кохерентни системи. То су системи у којима не постоје компоненте чије стање не утиче на стање система и у којима је структурна функција неопадајућа [125]. У овом раду ће бити разматрана кохерента СН. СН са вишеструким догађајима је оно у којем се поједини догађаји вишеструко појављују (Multiple Occurring Event – MOE). [28]. Пример У СН са слике 2.1. догађаји “Примарни отказ напајања” и “Примарни отказ осигурача” су вишеструки и оба догађаја су вишеструкости 2. 14 Дефиниција 2.2. [25] Кохерентном СН (прималном СН – ПСН) се може придружити дуално СН (ДСН), које се разликује од ПСН само у вредности логичких индикатора. Ако је ub логички индикатор чвора u у ПСН, онда је # 1u uD b  индикатор чвора u у ДСН. Дакле, дуално СН има исти скуп догађаја U као почетно СН, а у скупу V је свако логичко коло И замењено логичким колом ИЛИ и обрнуто [112]. Пример На слици 2.2. приказано је ДСН за СН са Слике 2.1. Мотор не ради Нема струје у мотору Примарни отказ мотора Нема струје у контури 2 Нема струје у контури 1 Прекидач 1 отворенПримарни отказ напајања Примарни отказ осигурача Прекидач 1 отворен отказ Прекидач 1 отворен Прекидач 2 отворенПримарни отказ напајања Примарни отказ осигурача Прекидач 2 отворен отказ Прекидач 2 отворен Слика 2.2. Дуално СН стабла неисправности са слике 2.1. 2.5. Квалитативна АСН Када је конструисано СН, оно може да се анализира са алгебарског аспекта. Ова анализа се још назива и квалитативна или логичка анализа и представља одређивање структурне функције СН у односу на вршни догађај. Нека су P , 1,...,i i I примарни догађаји посматраног система и нека је сваком од њих придружена бинарна променљива ix која представља индикатор i -тог примарног догађаја, односно [58]: 15 1, ако се деси -ти догађај (отказ) 0, у супротном i i x     (2.1) Структурна функција СН у односу на вршни догађај је: 1 1, ако се деси вршни догађај ( ) ( ,..., ) 0, у супротном Ix x x       . За примарне догађаје се каже да су релевантни ако се њихова променљива јавља у минималној форми ( )x , односно нерелевантни или небитни у супротном. У ширем смислу, квалитативна анализа СН обухвата одређивање минималних скупова пресека и путева и различите начине њиховог рангирања и анализа. 2.5.1. Одређивање минималних скупова пресека Скуп пресека (Cut set) је скуп примарних догађаја чије истовремено одигравање доводи до вршног догађаја. Минимални скуп пресека (Minimum cut sets), у наставку минипресек, се може дефинисати на различите начине: Дефиниција 2.3: Минимални скуп пресека је скуп пресека који се не може редуковати без губљења статуса скупа пресека. Уколико се било који од догађаја, из минималног скупа пресека, не догоди, тада се неће десити вршни догађај. Дефиниција 2.4: Минимални скуп пресека је скуп пресека који не садржи неки други скуп пресека. Структурна функција СН се може добити директно из СН комбиновањем примарних догађаја и логичких кола помоћу Булових оператора. Налажење минипресека се тада своди на одређивање простих импликаната (prime implicants) Булове функције [24]. Проблем одређивања простих импликаната је у директној вези са САТ (Satisfiability problem –проблем задовољења), првим проблемом за који је доказано да је НП-комплетан. Једна од формулација САТ проблема је [72]: САТ: Улаз: Булова формула  од n променљивих. Питање: Да ли  има прости импликант? 16 Дакле, проблем одређивања минипресека је NP-тежак проблем. Међутим, с обзиром да је сваки минипресек скуп независних примарних догађаја, вероватноћа њиховог истовременог појављивања једнака је производу њихових вероватноћа. Како примарни догађаји представљају отказе компоненти система, њихове вероватноће су релативно мале, односно веома мале код високопоузданих система. Због тога вероватноћа минипресека драстично опада са повећањем броја његових примарних догађаја па је довољно добро решење одредити само минипресеке са задатим бројем примарних. Структурнa функцијa СН се може изразити у коњунктивној нормалној форми (КНФ) и дискунктивној нормалној форми (ДНФ) [7]. Када је изражена у ДНФ, свака коњункција ДНФ структурне функције СН је један скуп пресека [75]. Уколико у СН не постоје вишеструки догађаји, сви скупови пресека су минимални. Тек у случају СН са вишеструким догађајима се појављује НП-тежак проблем одређивања минипресека, односно елиминисања скупова пресека који нису минимални. За решавање овог проблема постоје бројне методе и приступи. Седамдесетих година је развијен велики број тзв. старих метода, које се по приступу решавања могу поделити на: методе одозго наниже (Тоp-down методе) и одоздо навише (Bottom-up методе). Приступом одозго наниже се одређују скупови пресека, а затим се елиминишу они који нису минимални. У приступу одоздо навише се покушава да избегне потенцијално велики број неминималних скупова пресека тако што се, идући од примарних ка вршном догађају, за сваки посредни догађај елиминишу надскупови [18]. Осамдесетих година почео је да се развија приступ решавања помоћу Петријевих мрежа, о чему ће више бити писано у осталим деловима овог рада. Почетком деведесетих година појавио се нови приступ у АСН, који се базира на бинарним дијаграмима одлучивања. С обзиром на број објављених радова, нарочито у последњих десет година, овај приступ се може сматрати доминантним у АСН. 17 2.5.1.1. Методе одозго наниже Овим методама се одређивање минипресека врши од чвора на најнижем нивоу, корена СН, ка чворовима на највишем нивоу, листовима СН. Најстарије и најчешће коришћене методе ове групе су: директна метода заснована на Буловој алгебри, МОCUS и FATRAM алгоритми. Директна метода Директна метода се може применити и за одређивање минипресека некохерентних СН, а ослања се на аксиоме и законе Булове алгебре [2]. Резултат методе је ДНФ структурне функције ( )x датог СН у којој, након редукције, сваки сабирак представља један минимални скуп пресека. У наставку ће бити описана сама метода најчешћом нотацијом у литератури, што значи да Булове променљиве неће бити означене као у (2.1). Дакле, сваком логичком колу се може придружити једна Булова једначина. С обзиром да се у овом раду разматрају кохерентна СН, разматрају се само Булове једначине за И и ИЛИ коло (слика 2.3. а и б). P2 P3 P1 a) P3=P1 P2 P2 P3 P1 б) P3=P1+P2 Слика 2.3. Логичка кола и одговарајуће логичке операције У општем случају, када логичко коло И има n улазних грана из чворова P1,P2,...,Pn , посредни догађај P , који је излаз из тог логичког кола се може изразити као: 1 P P n i i   . (2.2) Ако логичко коло ИЛИ има n улазних грана из чворова P1,P2,...,Pn , посредни догађај P , који је излаз из тог логичког кола, се може изразити као: 18 n 1 P P i i   . (2.3) Када се директна метода користи за одређивање минискупова кохерентног СН, довољне су следеће Булове аксиоме и закони: а) Комутативност: P Q Q P P Q Q P       . б) Асоцијативност: ( ) ( ) ( ) ( ) P Q R P Q R P Q R P Q R           . в) Дистрибутивност: ( ) ( ) ( ) ( ) ( ) ( ) P Q R P Q P R P Q R P Q P R             . г) Закон идемпотенције: P P P P P P     д) Закон апсорпције: ( ) ( ) P P Q P P P Q P       Уводе се Булове променљиве:  Т - вршни догађај (top event),  Gi- посредни догађаји (gates),  Pn и Sm - примарни и неразвијени догађаји (primary и secundary events). Алгоритам директне методе: 1. Написати Булове једначине за свако логичко коло. Сваком колу одговара једна једначина типа (2.2) или (2.3). 2. Вршити замену променљивих њиховим изразима док се не добије вршни догађај као функција само примарних догађаја. Притом се користе комутативни, асоцијативни и дистрибутивни закони Булове алгебре. 3. Извршити редукцију применом закона Булове алгебре. За кохерентна СН довољно је користити закон идемпотенције и закон апсорпције. Пример У наставку ће бити илустрована директна метода. На слици 2.4. је приказано СН са слике 2.1. са догађајима означеним Буловим променљивама. 19 T G1 P1 G3G2 G4 P2 P3 P4 S1 G5 P2 P3 P5 S2 Слика 2.4. СН са слике 2.1. означено Буловим променљивама 1. T = P1 + G1 G1 = G2G3 G2 = P2 + G4 + P3 G3 = P2 + G5 + P3 G4 = P4 + S1 G5 = P5 + S2 2. T = P1 + G1  T = P1 + G2G3 T = P1 + (P2 + G4 + P3)(P2 + G5 + P3) = P1 + P2 P2+ G4 P2+ P3 P2 + P2 G5 + G4 G5 + P3 G5 + P2 P3+ G4 P3+ P3 P3 T = P1 + P2 P2+(P4 + S1) P2+P3 P2 +P2 (P5+S2)+(P4+ S1) (P5 + S2) + P3 (P5 + S2) + P2 P3+ (P4 + S1) P3+ P3 P3 T = P1 + P2P2 + P2P4 + P2S1 + P2P3 + P5P2 + P5P4 + P5S1 + P5P3 + S2P2 + S2P4 + S2S1 + S2P3 + P3P2 + P3P4 + P3S1 + P3P3 3. T = P1 + P2 + P3 + P5P4 + P5S1+ S2P4+ S2S1 Сваки сабирак добијене минималне форме представља минипресек. Mинипресеци су: {P1}, {P2}, {P3}, {P5, P4}, {P5, S1}, {S2, P4}, {S2, S1}. Код кохерентних СН са вишеструким догађајима, резултат корака 2 су сви скупови пресека, а корака 3 сви минипресеци датог СН. Уколико у СН нема вишеструких догађаја, минипресеци се добијају већ након корака 2. 20 МОCUS алгоритам МОCUS (Method of Obtaining CUt Sets) је алгоритам за генерисање минипресека кохерентног СН. Први пут је објављен у [31]. Базиран је на чињеници да свако логичко коло типа ИЛИ повећава број минипресека док логичко коло типа И повећава величину (дужину) минипресека. МОCUS алгоритам [49]: 1. Именовати сва логичка кола (посредне догађаје). 2. Нумерисати све примарне догађаје. 3. Уписати највиши чвор стабла неисправности у прву колону и ред матрице. 4. Понављати итеративно сваку од основних пермутација (а) или (б) одозго наниже: 4.1. Заменити ИЛИ коло вертикално поређаним улазима тог кола и повећати број минипресека. Односно, када је елемент матрице ИЛИ коло, заменити га колоном чији су елементи улази тог кола. 4.2. Заменити И коло хоризонтално поређаним улазима тог кола и повећати величину минипресека. Односно, када је елемент матрице И коло, заменити га редом чији су елементи улази тог кола. 5. Када су сва кола замењена примарним догађајима, уклонити пресеке који нису минимални, користећи правила Булове алгебре. 6. Коначна листа садржи минималне скупове пресека. У литератури се може наћи и одоздо навише верзија МОCUS алгоритма у којој се корак 4 обавља од најнижих посредних догађаја ка вршном [28]. Пример МОCUS алгоритам ће бити илустрован на примеру СН са слике 2.1.. За примену МОCUS алгоритма уобичајено је обележавање примарних догађаја целим бројевима, а посредних са Gi (слика 2.5). У табели 2.1. приказани су кораци у одређивању минипресека МОCUS алгоритмом. 21 T G0 G1 1 G3G2 G4 2 3 4 6 G5 2 3 5 7 Слика 2.5. СН са слике 2.1. нумерисано за примену МОCUS алгоритма Табела 2.1. МОCUS алгоритам за СН са Слике 2.5. Кораци 1 (к3) 2 (к4) 3 (к4) 4 (к4) 5 (к4) 6 (к4) 7 (к4) 8 (к5) G0 1 1 1 1 1 1 1 G1 G2 , G3 2, G3 2, 2 2, 2 2, 2 2 G4 , G3 2, G5 2, 5 2, 5 4, 5 3, G3 2, 3 2, 7 2, 7 4, 7 4, G3 2, 3 2, 3 6, 5 6, G3 4, 2 4, 2 6, 7 3, 2 4, G5 4, 5 3 3, G5 4, 3 4,7 3, 3 6, 2 4, 3 6, G5 6, 2 6, 3 6, 5 3, 2 6, 7 3, 5 6, 3 3, 7 3, 2 3, 3 3, 5 3, 7 3, 3 У последњем, 7. кораку, добијени су исти минипресеци стабла неисправности са слике 2.1, као и применом директне методе. 22 FATRAM алгоритам FATRAM (FAult Tree Reduction AlgorithM) алгоритам, је по приступу сличан алгоритму MOCUS. У методи се, приликом коришћења термина “улаз” и “излаз” подразумева да су гране СН оријентисане одоздо навише, од чворова на највишем ка чворовима на нижим нивоима. Кораци алгоритма су [85]: 1. Ако је вршни догађај излазни чвор И кола, сви улазни догађаји се додељују истом скупу, а ако је вршни догађај излазни чвор ИЛИ кола, сваки улазни догађај се додељује посебном скупу. 2. Понављати поступак док сва логичка кола не буду разложена. ИЛИ кола, са само примарним догађајима на улазу, се у овом кораку не разлажу. 3. Уклонити све редундантне елементе и надскупове. 4. За сваки вишеструки догађај применити следеће кораке: а. Вишеструки догађај замењује сва неразложена логичка кола чији је улаз, чиме се формирају нови скупови. б. Новоформиране скупове придружити постојећим. в. Уклонити посматрани догађај из одговарајућих логичких кола. г. Уклонити редундантне елементе и надскупове. 5. Разложити преостала ИЛИ кола. Сви добијени скупови су минипресеци. Кључни кораци алгоритма, чија се идеја разликује од MOCUS алгоритма, доказани су следећим тврђењима. Тврђење 2.1 [85]: Корак 4 FATRAM алгоритма одржава логички модел СН, односно чува све минипресеке датог СН. Доказ: Нека је G изазни догађај ИЛИ логичког кола, чији су улази примарни догађај B и остали догађаји који су заједно означени са  . Нека је S скуп који садржи G и друге догађаје који су излази ИЛИ кола и/или примарни догађаји и који су заједно означени са T . Односно, G B   и { , }S G T . Тврђење следи из чињенице да је [( ) ] [ ].S G B T B T      23 Тврђење 2.2 [85]: Сви резултујући скупови у кораку 5 FATRAM алгоритма су минипресеци. Доказ: Након корака 2, као неразвијена кола остала су ИЛИ кола, чији су улази само примарни догађаји. По алгоритму, у кораку 4 се из неразвијених логичких кола уклањају сви вишеструки примарни догађаји, који су улазни догађаји тих кола и који се јављају више пута у тим колима или међу скуповима пресека који су већ идентификовани. Затим се у корацима 3. и 4.г. уклањају редундантни елементи и надскупови, чиме се задржавају само минипресеци. Последњи, 5. корак алгоритма, представља разлагање неразложених ИЛИ кола, која у том тренутку садрже само јединствене примарне догађаје, односно примарне догађаје који нису вишеструки. Тиме се већ постигнута минималност скупова пресека не нарушава јер ће сваки од новодобијених скупова пресека бити минималан.  Пример FATRAM алгоритам ће бити илустрован на истом примеру СН са слике 2.1. Да би алгоритам, посебно корак 4, био детаљније илустрован, претпоставиће се да су P4 и P5 понављања истог вишеструког догађаја. Тиме се минипресек P4 P5 своди на минипресек P4, а минипресеци P4 S2 и P5 S1 се редукују, односно СН са слике 2.1. има следеће минипресеке: P1, P2, P3, P4 и S1S2. 1. Вршни догађај Т одговара ИЛИ колу  {G1}, {P1}; 2. Догађај G1 одговара И колу  {G2,G3}, {P1}; Догађај G2 одговара ИЛИ колу  {P2,G3}, {G4,G3}, {P3,G3}, {P1}; Догађај G3 одговара ИЛИ колу  {P2,P2}, {P2,G5}, {P2,P3}, {G4,P2}, {G4,G5}, {G4,P3}, {P3,G2}, {P3,G5}, {P3,P3}, {P1}; Догађаји G4 и G5 одговарају ИЛИ колу, чији су улаз само примарни догађаји, тако да се у овом кораку они не разлажу. 3. Уклањањем редундантних елемената добијају се скупови: {P2}, {P2,G5}, {P2,P3}, {G4,P2}, {G4,G5}, {G4,P3}, {P3,G2}, {P3,G5}, {P3}, {P1}; Уклањањем надскупова добијају се скупови: {P2}, {G4,G5}, {P3}, {P1}; 24 4. У СН постоје три вишеструка догађаја: P2, P3 и P4. Догађаји P2 и P3 нису улазни ни за једно од неразложених логичких кола. Кораци а-d се примењују само за догађај P4: а. Заменом догађаја P4 у неразложеним логичким колима добија се скуп {P4, P4}; б. Важећи скупови сада су: {P2}, {G4,G5}, {P3}, {P1}, {P4, P4}; в. Догађај P4 се уклања као улаз из кола G4 и G5, тако да је сада G4 ИЛИ коло, чији је једини улазни догађај S1, а G5 ИЛИ коло чији је једини улазни догађај S2. г. Уклањањем редундантних елемената, важећи скупови остају: {P2}, {G4,G5}, {P3}, {P1}, {P4}; 5. Разлагањем кола G4, уместо скупа {G4,G5} добија се скуп {S1,G5}, а даљим разлагањем кола G5, добија се скуп {S1, S2}. Коначни скупови, односно минипресеци, сада су: {P2}, {S1, S2}, {P3}, {P1} и {P4}. 2.5.1.2. Методе одоздо навише Основна идеја ових метода је да се што већи део редукције неминималних скупова пресека обави пре него што се добије структурна функција целог СН. Како су главни резултати овог рада везани за приступ одозго наниже, овде ће бити приказан само један, најпознатији представник приступа одоздо навише. MICSUP алгоритам MICSUP (MInimal Cut Sets UPward) алгоритам је базиран на запажању да су скупови пресека неког подстабла СН подскупови скупова пресека датог СН. Уз то, уколико међу скуповима пресека подстабла СН, може по неком основу да се изврши редукција, она ће се по истом основу извршити и међу скуповима пресека целог СН. Алгоритам није формализован, али се укратко може описати на следећи начин: разматрати сукцесивно посредне догађаје СН одоздо навише и за свако од њих одредити минипресеке. Поступак понављати док се не достигне вршни 25 догађај [115]. У сваком кораку у коме се одређују минипресеци, примењује се нека од метода одозго наниже. Пример MICSUP алгоритам ће бити илустрован у комбинацији са директном методом за СН са слике 2.4. G5 = P5 + S2 G4 = P4 + S1 G3 = P2 + G5 + P3 = P2 + P5 + S2 + P3 G2 = P2 + G4 + P3 = P2 + P4 + S1 + P3 G1 = G2G3 = (P2 + P5 + S2 + P3)( P2 + P4 + S1 + P3) = P2P2 + P2P4 + P2S1 + P2P3 + P5P2 + P5P4 + P5S1 + P5P3 + S2P2 + S2P4 + S2S1 + S2P3 + P3P2 + P3P4 + P3S1 + P3P3 = P2 + P3 + P5P4 + P5S1+ S2P4+ S2S1 T = P1 + G1 = P1 + P2 + P3 + P5P4 + P5S1+ S2P4+ S2S1 Добијено је свих 7 минипресека: {P1}, {P2}, {P3}, {P5, P4}, {P5, S1}, {S2, P4}, {S2, S1}. На приказаном примеру може да се схвати основна идеја али не и ефикасност алгоритма, зато што се редукција врши тек у претпоследњем кораку. 2.5.1.3. Бинарни дијаграми одлучивања Бинарне дијаграме одлучивања (Binary Decision Diagram, БДО) је увео Lee [55] као начин за представљање и манипулацију са логичким функцијама који редукује рачунарско време и меморијске захтеве. Прва примена у АСН описана је у [88]. где је приказана трансформација СН у БДО, из кога се затим директно добијају минискупови. Најсложенији корак у одређивању минипресека помоћу БДО је управо трансформација СН, јер димензије БДО експоненцијално расту са бројем примарних догађаја. Због тога је највећи број радова посвећен испитивању 26 ефикасности различитих поредака примарних догађаја [100] и различитих метода трансформације [114]. Показало се да сложеност трансформације СН у БДО може значајно да се смањи оптимизацијом поретка примарних догађаја. Међутим, тај оптимизациони проблем је НП-комплетан [23]. БДО којим се моделира СН, је укорењено бинарно стабло у коме се сви путеви завршавају у једном од два стања: 1, што одговара отказу система и 0, што одговара успеху система. БДО се састоји од завршних и унутрашњих чворова, који су повезани гранама. Унутрашњи чворови одговарају примарним догађајима СН, а завршни чворови имају вредност 1 или 0, која представља одигравање или неодигравање примарног догађаја. Пример БДО приказан је на слици 2.6 [100]. X1 X3 X2 X4 1 1 0 0 вршни чвор завршни чвор унутрашњи чвор 1 1 1 1 грана 0 0 0 грана 0 0 Слика 2.6. Бинарни дијаграм одлучивања Сваки унутрашњи чвор има две гране: леву (1) која одговара одигравању примарног догађаја (отказу) и десну (0) која одговара неодигравању примарног догађаја. Сви чворови на путевима који се завршавају у стању 1 и улазни су чворови 1-гране представљају скупове пресека. У БДО се подразумева да су гране оријентисане од чворова на нижим ка чворовима на вишим нивоима. За БДО на слици 2.6. скупови пресека су: (1) {X1,X2} (2) {X3,X4}. Сваком унутрашњем чвору БДО одговара једна if-then-else структура која се записује у облику ite(X1, f1, f2). Ако се догађај X1 (отказ) деси ite има вредност f1, 27 у супротном има вредност f2, односно f1 је излазни чвор гране 1 а f2 излазни чвор гране 0 (слика 2.7). X1 f1 f2 1 0 Слика 2.7. БДО за ite(X1, f1, f2) Пре формирања БДО за дато СН, потребно је дефинисати релацију поретка међу примарним догађајима. Као што је већ поменуто, ефикасност трансформације СН у БДО зависи од изабраног поретка. У наставку је приказана једна процедура трансформисања СН у БДО. 1. Придружити сваком примарном догађају Xi у СН ite структуру ( ,1,0)ite Xi . 2. Нека за два логичка кола важи X Y и ( , 1, 2)J ite X F F и ( , 1, 2)H ite Y G G . Тада је op ( , 1 op , 2 op )J H ite X F H F H . 3. Нека за два логичка кола важи X Y и ( , 1, 2)J ite X F F и ( , 1, 2)H ite X G G . Тада је op ( , 1 op 1, 2 op 1)J H ite X F G F G . op је оператор који одговара Буловим операцијама, односно логичким колима СН. При томе важи следеће: 1 op 1H  ако је op ИЛИ логичко коло 1 op H H ако је op И логичко коло 0 op H H ако је op ИЛИ логичко коло 0 op 0H  ако је op И логичко коло Примењујући описану процедуру од дна СН ка врху, добија се сложена ite структура за вршни догађај СН, у којој фигуришу само примарни догађаји и на основу које се формира БДО. 28 Пример Трансормација СН у БДО и одређивање минипресека ће бити илустрована на примеру СН са слике 2.1. С обзиром да је у питању СН са вишеструким догађајима, поредак примарних догађаја ће бити утврђен техником специјалног распоређивања. Ова техника се састоји у томе да се прво разматрају вишеструки догађаји и да се већа вредност додељује догађајима са већим бројем понављања. Догађаји са истим бројем понављања се рангирају на основу положаја у самом СН. Утврђени поредак примарних догађаја за дато СН је: S2>X5>S1>X4>X1>X3>X2. Применом процедуре 1-3, добијају се следеће ite структуре: G4=ite(X4, 1, 0) + ite(S1, 1, 0)=ite(X4, 1, ite(S1, 1, 0)) G5=ite(X5, 1, 0) + ite(S2, 1, 0)= ite(X5, 1, ite(S2, 1, 0)) G2=ite(X2, 1, 0) + G4+ ite(X3, 1, 0)= = ite(X2, 1, 0) +ite(X4, 1, ite(S1, 1,0)) +ite(X3, 1, 0) =ite(X2, 1,ite(X4, 1, ite(S1, 1, 0)))+ ite(X3, 1, 0)= ite(X2, 1, ite(X4, 1, ite(S1, 1, 0))+ite(X3, 1, 0))=ite(X2, 1, ite(X3, 1, ite(X4, 1, ite(S1, 1, 0)))). G3=ite(X2, 1, 0)+ ite(X5, 1, ite(S2, 1, 0))+ite(X3, 1, 0= =ite(X2, 1, ite(X3, 1, ite(X5, 1, ite(S2, 1, 0)))). G1=G2.G3= = ite(X2, 1, ite(X3, 1, ite(X4, 1, ite(S1, 1, 0)))). ite(X2, 1, ite(X3, 1, ite(X5, 1, ite(S2, 1, 0)))) =ite(X2, 1, ite(X3, 1, ite(X4, 1, ite(S1, 1, 0))). ite(X3, 1, ite(X5, 1, ite(S2, 1, 0)))) =ite(X2, 1, ite(X3, 1, ite(X4, 1, ite(S1, 1, 0)). ite(X5, 1, ite(S2, 1, 0)))) =ite(X2,1,ite(X3, 1, ite(X4, ite(X5, 1, ite(S2,1 0)), ite(S1,1 0). ite(X5, 1, ite(S2,1 0))))) = ite(X2, 1, ite(X3, 1, ite(X4, ite(X5, 1, ite(S2,1,0)),ite(S1, ite(X5, 1, ite(S2,1 0)), 0)))). T=ite(X1, 1, 0) +G1=ite(X1, 1, 0) + ite(X2, 1, ite(X3, 1, ite(X4, ite(X5, 1, ite(S21,0)),ite(S1, ite(X5, 1, ite(S2, 1, 0)), 0)))) =ite(X2, 1, ite(X3, 1, ite(X4, ite(X5, 1, ite(S2, 1, 0)),ite(S1, ite(X5, 1, ite(S2, 1, 0)), 0)))+ite(X1, 1, 0)) =ite(X2, 1, ite(X3, 1, ite(X4, ite(X5, 1, ite(S2, 1, 0)),ite(S1, ite(X5, 1, ite(S2, 1, 0)), 0))+ite(X1, 1, 0))) Т= ite(X2, 1, ite(X3, 1, ite(X1, 1, ite(X4, ite(X5, 1, ite(S2, 1, 0)),ite(S1, ite(X5, 1, ite(S2, 1, 0)), 0))) 29 БДО који се формира на основу последње ite структуре за вршни догађај приказан је на слици 2.8. P1 P3 1 P4 1 1 0 S11 0 P5 S2 1 1 0 1 1 0 0 P5 S21 1 0 1 1 0 0 1 0 0 1 0 P2 1 1 0 Слика 2.8. БДО за СН са слике 2.1. Сви путеви у БДО који почињу из чвора који нема улазну грану или чвора чија је улазна грана 0, а завршавају се у чвору 1, одговарају минипресецима. На тим путевима, минипресецима припадају само они чворови чије су излазне гране 1. На пример пут {S1.P5.S2} одговара минипресеку, јер почетни чвор S1 има улазну грану 0, а крајњи чвор S2 има излазну грану 1. Међутим, на том путу, излазна грана чвора P5 је 0, тако да је одговарајући минипресек {S1,S2}. На исти начин, добијено је свих седам минипресека СН са слике 2.1: (1) P2; (2) P3; (3) P1; (4) P4.P5; (5) P4.S2; (6) S1.P5; (7) S1.S2 2.5.1.4. Одређивање минималних скупова путева Минимални скупови путева (минипутеви) (Minimum path sets) су дуални (комплементни) скупови минипресека. Скупови путева представљају скуп примарних догађаја, чије неодигравање гарантује да се неће десити вршни догађај. Минипутеви су скупови путева који се не могу редуковати без губљења статуса скупа путева. Ако се ниједан од догађаја из минипута не деси, неће се десити ни вршни догађај. 30 Један од начина за одређивање минипутева је преко дуалног СН. Минипресеци дуалног СН су минипутеви полазног (прималног) СН [112]. Пример На слици 2.9. је приказано дуално СН са слике 2.2, означено Буловим променљивама. Применом неке од метода за одређивање минипресека, добијају се минипутеви почетног СН (табела 2.2). T G1 P1 G3G2 G4 P2 P3 P4 S1 G5 P2 P3 P5 S2 Слика 2.9. Дуално СН стабла неисправности са слике 2.4. Табела 2.2. Минипутеви СН са слике 2.1. Минипут Опис P1 P2 P3 P4 S1 Примарни отказ мотора, примарни отказ напајања, примарни отказ осигурача, отказ прекидача 1 и отворен прекидач 1 P1 P2 P3 P5 S2 Примарни отказ мотора, примарни отказ напајања, примарни отказ осигурача, отказ прекидача 2 и отворен прекидач 2 На основу табеле се може закључити да до нежељеног догађаја “мотор не ради” неће доћи ако се не деси ниједан од догађаја из прве врсте или ниједан од догађаја из друге врсте табеле. 31 2.5.2. Рангирање минипресека и примарних догађаја Поред одређивања минипресека, квалитативна анлиза обухвата и њихово рангирање по значају као и рангирање примарних догађаја. Минипресеци се рангирају на основу броја примарних догађаја од којих се састоје. Ако је број примарних догађаја у минипресеку l или мањи, за минипресек се каже да је реда l . С обзиром да су примарни догађаји независни, вероватноћа да ће се десити истовремено, једнака је производу њихових вероватноћа. Због тога су, ако су вероватноће примарних догађаја истог реда величине, минипресеци мањег реда већег значаја (вишег ранга). Пример У табели 2.3. је дата листа и опис свих минипресека СН са слике 2.1. За дато СН, сви минипресеци дужине 1 су првог, а сви остали минипресеци другог ранга Табела 2.3. Минипресеци за СН са слике 2.1. Ранг Минипресек Опис 1 P1 Примарни отказ мотора 1 P2 Примарни отказ напајања 1 P3 Примарни отказ осигурача 2 P5 P4 Отказ оба прекидача 2 P5 S1 Отворен прекидач 1 и отказ прекидача 2 2 S2 P4 Отворен прекидач 2 и отказ прекидача 1 2 S2S1 Отворена оба прекидача У квалитативној АСН, значај примарних догађаја се утврђује на основу броја њиховог појављивања у различитим минипресецима. Међутим, већ из датог примера се лако уочава да подаци које даје квалитативна анализа, нису довољни за прецизно рангирање примарних догађаја. Наиме, сваки од догађаја P4, P5, S1, S2 се јавља у два минипресека и због тога би требало да буду вишег ранга. С друге стране, догађаји P1, P2 и P3 имају појављивање у само једном минипресеку, 32 али као једини догађај тог скупа, што би могло да буде разлог да се њима додели виши ранг. С обзиром да су у оба случаја минипресеци мале дужине, јасно је да би вероватноћа одигравања примарних догађаја омогућила далеко прецизније рангирање. Поред тога, вероватноћа одигравања примарних догађаја би утицала и на рангирање минипресека. 2.6. Квантитативна АСН Квантитативна анализа СН се састоји у одређивању или процени вероватноће одигравања нежељеног догађаја и мерењу значајности примарних догађаја. Алгоритми за квантитативну анализу се могу сврстати у три групе [34]: - Индиректне методе које користе минипресеке или БДО; - Модуларне методе и - Директне методе које користе одсецања, објектно оријентисани приступ, рекурзивност, препознавање патерна итд. С обзиром да је акценат овог рада на одређивању минипресека, овде ће бити само укратко изложени основни појмови квантитативне анализе СН. 2.6.1. Одређивање вероватноће вршног догађаја Вероватноћа вршног догађаја представља вероватноћу отказа система. Она се аналитички може одредити на два начина: директно из СН датог система и помоћу минипресека. У оба случаја се претпоставља да су познате вероватноће свих примарних догађаја. Када СН не садржи вишеструке догађаје, вероватноћа вршног догађаја се може одредити директно кроз СН, без одређивања минипресека. На основу вероватноћа примарних догађаја и логичких кола се, идући уз СН, одређују вероватноће посредних догађаја, све док се не стигне до вршног догађаја. За кохерентна СН користе се само изрази за одређивање вероватноће у случају И и ИЛИ логичких кола између догађаја [125]. 33 Рачунање вероватноће за свако логичко коло зависи од односа између улазних догађаја. У табели 2.4. су приказане формуле за рачунање вероватноћа логичких кола. Улазни догађаји су означени са A и B , а излазни са E . Табела 2.4. Рачунање вероватноћа излаза из логичких кола Вероватноћа Зависност догађаја логичко коло И логичко коло ИЛИ A и B су независни ( ) ( ) ( )P E P A P B  ( ) ( ) ( ) ( ) ( )P E P A P B P A P B    A и B су зависни ( ) ( ) ( | ) ( ) ( | ) P E P A P B A P B P A B     ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( | ) P E P A P B P A B P A P B P A P B A         A и B зависни и A B ( ) ( )P E P A ( ) ( )P E P B Уколико СН садржи вишеструке догађаје, вероватноћа вршног догађаја се, управо због вишеструких догађаја, не може одредити директно из СН. Један од начина за њено одређивање је на основу минипресека. Ако се посматра ДНФ структурне функције ( )x , лако се закључује да је вероватноћа минипресека једнака производу вероватноћа његових примарних догађаја. Међутим, вероватноћа вршног догађаја је мања од суме вероватноћа минипресека, зато што се исти примарни догађај може јавити у више минипресека. Један од начина одређивања вероватноће вршног догађаја се заснива на представљању вршног догађаја као уније минипресека [49]. Минипресеци се могу представити као пресек својих примарних догађаја, односно: 1 1 2 1 1,1 1,2 1, 1, 1 ,1 ,2 , , 1 {P ,P ,...,P } { P }, . . . {P ,P ,...,P } { P }, m n n j j n m m m m n m j j C C       (2.4) где је Pij i -ти примарни догађај у j -том минипресеку jC . 34 СН се сада може приказати као на слици 2.10. T C1 P1,1 P1,n1. . . C2 P2,1 P2,n2. . . Cm P2,m Pm,nm. . . . . . Слика 2.10. СН представљено помоћу минипресека Другим речима, када су познати минипресеци, отказ система се може приказати серијском везом свих минипресека у којима су сви примарни догађаји повезани паралелно [39]. Вршни догађај Т ће се десити, ако се деси бар један од минипресека, тј. 1 {T} { } m i i C   , (2.5) Заменом (2.4) у (2.5) се вероватноћа одигравања вршног догађаја може израчунати на следећи начин: 1 1 1 11 2 1 1 1 1 1 1 {T} { } ( ) ( ) ( ) ... ( 1)                          m m m m i i i j i i j ii mm m m m i j k i i j i k j i P P C P C P C C P C C C P C (2.6) Применом (2.6) се, за СН малих димензија, може одредити тачна вредност вероватноће вршног догађаја. Пример У табели 2.5. су приказане вредности вероватноћа примарних догађаја СН са слике 2.1, а у табели 2.6. вероватноће минипресека и вршног догађаја, као и ранг минипресека на основу њихове вероватноће. 35 Табела 2.5. Вероватноће примарних догађаја Догађај Опис Вероватноћа P1 Примарни отказ мотора 2∙10 -15 P2 Примарни отказ напајања 7∙10 -17 P3 Примарни отказ осигурача 4∙10 -14 P4 Отказ прекидача 1 1∙10 -13 P5 Отказ прекидача 2 3∙10 -14 S1 Отворен прекидач 1 2∙10 -12 S2 Отворен прекидач 2 5∙10 -10 Табела 2.6. Вероватноће минипресека и вршног догађаја Ранг Минипресек Опис Вероватноћа 1 P1 Примарни отказ мотора 2∙10 -15 1 P2 Примарни отказ напајања 7∙10 -17 1 P3 Примарни отказ осигурача 4∙10 -14 2 P5 P4 Отказ оба прекидача 3∙10 -27 2 P5 S1 Отворен прекидач 1 и отказ прекидача 2 6∙10 -26 2 S2 P4 Отворен прекидач 2 и отказ прекидача 1 5∙10 -23 2 P1P2 Отворена оба прекидача 1∙10 -21 Вршни догађај 4,207∙10 -14 Код СН великих димензија, ако су вероватноће примарних догађаја мале, вероватноћа вршног догађаја се може апроксимирати сумом вероватноћа минипресека. Добијена вредност се најчешће користи као горња граница вероватноће вршног догађаја [104]: 1 {T} ( ) m i i P P C   (2.7) Доњу границу вероватноће вршног догађаја представљају прва два члана (2.6): 1 1 1 1 {T} ( ) ( ) m m m i i j i i j i P P C P C C         (2.8) 36 Што је већи број чланова у (2.6) одређен то је вредност процењене вероватноће ближа тачној вредности (слика 2.11) P{T} x тачна вредност горња граница доња граница број чланова у развијеном облику x x x x x x Слика 2.11. Оцена вероватноће вршног догађаја на основу (2.6) Вероватноћа вршног догађаја се може одредити и помоћу вероватноћа минипутева. Минипутеви се могу представити као унија својих примарних догађаја, а вршни догађај као пресек свих минипутева. 2.6.2. Мере значајности Мере значајности, које могу бити релативне и апсолутне, су један од најважнијих резултата АСН. Њима се утврђује значај појединачних догађаја и њихов допринос вероватноћи вршног догађаја, као и осетљивост вероватноће вршног догађаја на повећање или смањење њихове вероватноће. У највећем броју система, свега 20% примарних догађаја СН је значајно са аспекта вероватноће. На основу анализе мера значајности, могу се доносити одлуке о расподели ресурса за тестирање, одржавање и контролу. Овде ће бити приказане најчешће коришћене мере значајности [104]. Ф-В значајност (Fussell-Vesely (F-V) Importance) (релативна и апсолутна) - утврђује утицај свих догађаја у СН на вероватноћу вршног догађаја, што даље 37 омогућује њихово рангирање. Ф-В значајност се рачуна сабирањем вероватноћа свих минипресека који садрже посматрани догађај. Пример У табели 2.7. је приказан ранг примарних догађаја и вероватноће свих минипресека који садрже посматрани догађај. Табела 2.7. Ранг примарних догађаја на основу Ф-В мере значајности Ранг Догађај ОПИС Вероватноћа 1 P3 Примарни отказ осигурача 4∙10 -14 2 P1 Примарни отказ мотора 2∙10 -15 3 P2 Примарни отказ напајања 7∙10 -17 4 S1 Отворен прекидач 1 1∙10 -21 4 S2 Отворен прекидач 2 1∙10 -21 6 P4 Отказ прекидача 1 5∙10 -23 7 P5 Отказ прекидача 2 6.3∙10 -26 ВРР мера. Вредност редукције ризика (Risk Reduction Worth, RRW) утврђује колико се смањује вероватноћа вршног догађаја, ако се осигура неодигравање посматраног примарног догађаја. Ова мера се обично одређује постављањем да је вероватноћа посматраног догађаја једнака 0 и поновним рачунањем вероватноће вршног догађаја. Пример У табели 2.8. је приказан ранг примарних догађаја на основу ове ВРР мере. Вероватноће вршног догађаја добијене су на основу (2.6) за вероватноће примарних догађаја из табеле 2.5. и вероватноћу 0 за посматрани примарни догађај. 38 Табела 2.8. Ранг примарних догађаја на основу ВРР мере значајности Догађај ОПИС Вероватноћа вршног догађаја P3 Примарни отказ осигурача 2.07∙10 -15 P1 Примарни отказ мотора 4,01∙10 -14 P2 Примарни отказ напајања 4,2∙10 -14 S1 Отворен прекидач 1 4,207∙10 -14 S2 Отворен прекидач 2 4,207∙10 -14 P4 Отказ прекидача 1 4,207∙10 -14 P5 Отказ прекидача 2 4,207∙10 -14 ВОР мера. Вредност одигравања ризика (Risk Achievement Worth, RAW) утврђује колико се повећава вероватноћа вршног догађаја, ако посматрани догађаја на нижем нивоу СН сигурно одиграо. Ова мера указује на догађаје чија је превенција најважнија. Одређује се постављањем вероватноће посматраног догађаја на 1 и поновним рачунањем вероватноће вршног догађаја. Пример Табела 2.9. Ранг примарних догађаја на основу ВОР мере значајности Догађај ОПИС Вероватноћа вршног догађаја P1 Примарни отказ мотора 1 P2 Примарни отказ напајања 1 P3 Примарни отказ осигурача 1 S1 Отворен прекидач 1 5∙10 -10 P4 Отказ прекидача 1 5∙10 -10 S2 Отворен прекидач 2 2,14∙10 -12 P5 Отказ прекидача 2 2,14∙10 -12 БМ мера. Бирнбаумова мера значајности (Birnbaum’s Importance Measure, BM) утврђује утицај промене вероватноће догађаја на нижем нивоу у СН, на промену вероватноће вршног догађаја. Ова мера обједињује претходне две мере а када су све три мере апсолутне, може се израчунати као њихов збир: БМ = ВРР + ВОР. 39 3. АНАЛИЗА СН ВЕЛИКИХ ДИМЕНЗИЈА Као што је поменуто у претходној глави, проблем одређивања минипресека СН је НП-тежак. Постоје различити приступи у решавању комбинаторне експлозије код СН великих димензија. Заједничко за све њих је да на неки начин редукују проблем. Прва идеја за решавање овог проблема била је раздвајање СН на независне модуле, који се затим одвојено анализирају [122]. При томе се може разлагати дато СН или се може декомпоновати његова структурна функција [23]. Ефикасност овог приступа зависи од структуре СН, а са порастом вишеструкости примарних догађаја, број модула који се могу издвојити опада. Другим приступом се полази од структуре СН и, уколико је могуће, редукују се (одсецају) његови делови, пре одређивања скупова пресека. При томе се одсецају чворови, гране или подстабла, чијим се уклањањем елиминишу само скупови пресека који нису минимали. У 3.1 ће бити приказане две овакве редукције СН. Трећа група метода полази од ДНФ структурне функције и бави се елиминисањем скупова пресека који нису минимални. Овај корак је рачунарски веома захтеван, и просторно и временски, јер се упоређујe сваки пар скупова пресека. Методама из ове групе углавном се предлажу различите технике записа примарних догађаја које убрзавају поступак упоређивања скупова пресека и елиминисања надскупова. У 3.2 ће бити описане две овакве технике. Иако може да се сврста у трећи приступ, директно издвајање минипресека ће бити приказано у посебном делу (3.3). Наиме, код директног издвајања минипресека се, пре елиминисања надскупова, неки скупови пресека могу издвојити из ДНФ структурне функције СН и тиме смањити број скупова пресека који се међусобно пореде. На основу теореме Лимниоса (Limnios) [59] показано је да је скуп пресека, који не садржи вишеструке догађаје, минипресек и да не може бити подскуп неког од скупова пресека. У овом делу ће бити приказана нова теорема којом се доказује да je и скуп пресека, који садржи сва понављања својих вишеструких догађаја, 40 минималан. Тиме се број међусобних поређења, за једну класу СН, значајно смањује. На крају ће бити приказан нови алгоритам редукције СН. Четврти приступ представљају методе скраћивања (truncating) скупа минипресека, којима се одређују само минипресеци значајни са структурног или са аспекта њихове вероватноће. У 3.4 ће бити приказан најстарији алгоритам за одређивање минипресека датог реда. 3.1. Редукција пре одређивања скупова пресека Ниједна од метода из ове групе не гарантује елиминацију свих редундантних чворова СН, али смањују димензије СН и број понављања вишестуких догађаја. Најстарија и најпознатија метода редукције СН је Фонеова (Faunet) редукција, која је интегрисана у многе алгоритме, нарочито оне који се базирају на БДО. Поред тога, значајно је поменути и шеме редукције Ериксона (Ericson), којима се редукују појединачни догађаји или целе гране СН. Фонеова редукција Фонеова редукција је техника која се користи за свођење СН на минимални облик, да би се елиминисали сви “шумови” у систему уз задржавање његове логике. Често се користи у комбинацији са БДО. Ефективност технике је показана на примеру СН великих димензија, где је резултујући БДО био 50% мањи од БДО добијеног без претходне редукције СН. Метода се састоји из три фазе (примарни догађаји који се јављају само једанпут у СН су названи јединствени) [89]:  Скраћивање - јединствене примарне догађаје који су улаз истог логичког кола, спојити у један чвор.  Факторизација – парове примарних догађаја који се увек јављају заједно, заменити једним сложеним догађајем.  Екстракција – идентификовати структуре са слика 3.1. а) и в) и заменити их структурама са слика 3.1. б) и г), респективно. 41 G3G2 P1 P2 P1 P3 G3P1 P2 P3 G3G2 P1 P2 P1 P3 G3P1 P2 P3 а) б) в) г) Слика 3.1. Екстракција СН Ова три корака се понављају, све док више није могућа ниједна од промена у СН, а резултат је компактнији приказ система. При сваком скраћивању и факротизацији чувају се информације о структури сложених догађаја. Када се одреде скупови пресека редукованог СН, разлагањем сложених догађаја добијају се скупови пресека полазног СН. Пример Применом Фонеове редукције на СН са слике 2.1. добија се редуковано СН са информацијама о сложеним догађајима на слици 3.2. T G1 P1 G2 2002 2000 2001 Сложени догађај Логичко коло Догађај 1 Догађај 2 2000 ИЛИ P4 S1 2001 ИЛИ P5 S2 2002 ИЛИ P2 P3 Слика 3.2. Редуковано СН са слике 2.4. применом Фонеове редукције 42 Коришћењем неке од метода из претходног поглавља, на пример Директне методе, добијају се скупови пресека: {2002}, {20002001} и {P1}. Разлагањем сложених догађаја и применом одговарајућих операција Булове алгебре, добија се свих седам минипресека датог СН. Шеме редукције Ериксона Ериксон је у [29] предложио редукцију СН засновану на препознавању шаблона (patterns) међусобног положаја вишеструкости примарних догађаја. Одсецање (pruning) чворова или подстабала се врши тако да се сачувају сви минипресеци. Редукција користи само два закона Булове алгебре: комутативност и апсорпцију. У табели 3.1. приказано је шест Ериксонових шаблона и правила редукције за сваки од њих. Табела 3.1. Шаблони редукције СН Случај 1 Случај 2 Случај 3 C D E A F A B C D E A F A B C D E A F A B Сва логичка кола су типа ИЛИ { , , , , , , } { , , , , , } CS A B C D E A F A B C D E F   Сва логичка кола су типа ИЛИ осим И кола непосредно изнад једног од понављања { , , , , , } { , , , , } CS A B C D E AF A B C D E   Сва логичка кола су типа ИЛИ осим И кола изнад једног од понављања { , , , , , } { , , , , } CS A B C D EA EF A B C D EF   A A A  A A F A   A A E A   Правило: Одсећи једно од понављања Правило: Одсећи подстабло испод И кола Правило: Одсећи понављање испод И кола 43 Случај 4 Случај 5 Случај 6 C D E A F A B C D E A F A B C D E A F A B Сва логичка кола су типа ИЛИ, вршно коло је типа И { , , , , , , , , , , , } { , , , , , , } CS AD AE AA AF BD BE BA BF CD CE CA CF A BD BE BF CD CE CF   Вршно коло је типа И, са једне стране су сва кола типа ИЛИ, а са друге типа И { , , } { } CS ADEAF BDEAF CDEAF ADEF   Вршно коло је типа ИЛИ, са једне стране су сва кола типа ИЛИ, а са друге типа И { , , , } { , , } CS A B C DEAF A B C   A A A A A D A      A D E A F A D E F A D E F B D E A F A D E F                     A D E A F A     Правило: Не може се извршити одсецање Правило: Може се одсећи цела страна са ИЛИ колима Правило: Може се одсећи цела страна са И колима Ова правила редукције се могу лако интегрисати у програм за одређивање минипресека или се могу вршити ручно на самом СН. Пример На СН са слике 2.1. се не може применити ни један од приказаних случајева. 3.2. Редукција након одређивања скупова пресека Као што је већ поменуто, ова група метода полази од ДНФ структурне функције и елиминише скупове пресека који нису минимални. Елиминисање надскупова се врши директним упоређивањем сваког пара скупова пресека и одређивање да ли 44 је један садржан у другом. Овде ће бити приказани ELRAFT и Техника манипулације битовима које, специјалним записом скупова пресека, убрзавају њихово међусобно поређење. ELRAFT ELRAFT (Efficient Logic Reduction Analysis of Fault Tree) је редукциони алгоритам који је предложио Семандер (Semanderes) u [97]. Сваки примарни догађај се обележава различитим простим бројем, а вредност скупа пресека представља производ бројева његових примарних догађаја. Алгоритмом се из скупова пресека издвајају минипресеци директним упоређивањем вредности скупова, а не њихових појединачних догађаја. Редукција скупова пресека се састоји у следећем: Нека су дата два скупа пресека 1S , чија је вредност x и 2S , чија је вредност y . Ако је x дељиво са y онда је 2S подскуп скупа 1S и скуп пресека 1S се може редуковати. Да би се побољшала ефикасност редукције, пре њене примене је потребно применити законе апсорпције, да би се елиминисали редундантни догађаји у скуповима пресека. Пример ELRAFT редукција ће бити илустрована на примеру СН са слике 2.4. Нека су примарним догађајима, редом, додељени следећи прости бројеви: P1=2, P2=3, P3=5, P4=7, P5= 11, S1=13 и S2=17. Након добијања скупова пресека и примене закона апсорције, добијају се скупови са следећим вредностима: P1=2, P2=3, P2P4=21, P2S1=39, P2P3=15, P5P2=33, P5P4=77, P5S1=143, P5P3=55, S2P2=51, S2P4=119, S2S1=221, S2P3=85, P3P2=15, P3P4=35, P3S1=65, P3=5. Упоређивањем прво дужих скупова са краћим, редукују се скупови P2P4, P2S1, P2P3, P5P2, S2P2, P3P2, дељиви са 3 (скуп P2), а затим скупови P5P3, S2P3, P3P4, P3S1, дељиви са 5 (скуп P3). Скупови P5P4, P5S1, S2P4 и S2S1 нису 45 дељиви са вредношћу ни једног скупа, тако да, поред скупова са једним догађајем (P1, P2 и P3) представљају свих седам минипресека СН са слике 2.4. Техника манипулације битовима Техника манипулације битовима (Bit manipulation) се први пут појавила 1977. године у [116], а касније је унапређена у [19]. Развијена је као техника која омогућава компјутерску АСН, а заснована је на бинарном кодирању догађаја кохерентног СН и манипулисању битовима за редукцију СН. Дужина бинарног записа, којим ће примарни догађаји бити представљени, једнака је броју примарних догађаја. Онда се, редом, примарним догађајима додељују бинарни записи са јединицом на различитом месту. Скупови пресека се представљају као збир бинарних записа својих примарних догађаја. Редукција се врши тако што се над сваким паром скупова пресека прво примени операција ИЛИ, а затим се над резултатом и сваким појединачним скупом пресека, из посматраног пара, примени операција Ексклузивно ИЛИ. Ако је коначни резултат 0, скуп пресека је редундантан и елиминише се. Пример Редукција малипулацијом битовима ће бити илустрована на примеру СН са слике 2.4. Пошто постоји 7 примарних догађаја, њихов бинарни запис ће бити дужине 7. Нека су примарним догађајима додељени следећи бинарни записи: P1=1000000, P2=0100000, P3=0010000, P4=0001000, P5= 0000100, S1=0000010 и S2=0000001. Након добијања скупова пресека и примене закона апсорције, добијају се скупови са следећим бинарним записима: P1=1000000, P2=0100000, P2P4=0101000, P2S1=0100010, P2P3=0110000, P5P2=0100100, P5P4=0001100, P5S1=0000110, P5P3=0010100, S2P2=0100001, S2P4=0001001, S2S1=0000011, S2P3=0010001, P3P2=0110000, P3P4=0011000, P3S1=0010010, P3=0010000. 46 Редукција ће бити приказана на примеру два пара скупова пресека, једном у коме има редукције: P2 и P5P2 и другом у коме нема редукције: P5P4 и S2P4. Применом оператора ИЛИ над овим паровима добија се: P2 0100000 P5P4 0001100 P5P2 0100100 S2P4 0001001 ИЛИ 0100100 ИЛИ 0001101 Применом оператора ексклузивно ИЛИ (ЕИЛИ), добија се: P2 0100000 P5P4 0001100 ИЛИ 0100100 ИЛИ 0001101 ЕИЛИ 0000100 ЕИЛИ 0000001 P2 није редундантно. P5P4 није редундантно P5P2 0100100 S2P4 0001001 ИЛИ 0100100 ИЛИ 0001101 ЕИЛИ 0000000 ЕИЛИ 0000100 P5P2 је редундантно. S2P4 није редундантно 3.3. Директно издвајање минипресека Када се редукција врши након што су одређени сви скупови пресека, потребно је извршити велики број поређења у којима се проверава да ли је један скуп пресека подскуп неког другог. Нека је s број скупова пресека. С обзиром да се поређење два скупа пресека врши у оба смера, максимални број операција које треба извршити је ( 1)s s  . Уколико би за неке од скупова пресека могло директно, на основу њихових својстава, да се утврди да су минипресеци, онда би се број операција смањио. Нека је међу s скупова пресека m оних који су минипресеци. То значи да они не могу бити надскуп неког другог скупа пресека и да је број скупова пресека које би 47 требало испитати s m . Другим речима, потребно је s m скупова пресека поредити међусобно и за сваки од њих проверити да ли је неки од m минипресека његов подскуп. Тиме број максималних операција које треба извршити постаје: ( ) ( 1) ( ) ( ) ( 1)s m s m s m m s m s           . (3.1) Однос максималног броја операција које треба извршити и укупног броја операција је линеаран: ( ) ( 1) 1 ( 1) s m s m s s s        . (3.2) 3.3.1. Теорема Лимниоса У [59] je доказано да су скупови пресека кохерентног СН, који не садрже вишеструке догађаје, минипресеци. Овде ће бити наведени: оригинална теорема са доказом, последица теореме и алгоритам редуковања СН. Нотација која је у оригиналном раду коришћена је следећа:  , ,X Y Z - скупови пресека;  K - фамилија свих скупова пресека;  1K - фамилија свих скупова пресека који садрже вишеструке догађаје;  2K - фамилија свих скупова пресека који не садрже вишеструке догађаје;  [ ]P G - домен логичког кола G (или Буловог израза G ). Садржи ознаке свих примарних догађаја који се јављају у подстаблу кореном у колу G (ознаке свих примарних догађаја који се јављају у Буловом изразу G ). Посматрајмо фамилију K скупова пресека СН, добијену развијањем вршног догађаја или MOCUS алгоритмом. Теорема 3.1: Посматрајмо скупове пресека ,X Z K . Ако а) X захтева редукцију x x x  , или б) X имплицира Z тада X садржи бар један вишеструки догађај. 48 Доказ: а) Израз x x се може добити само у случају И кола. Дакле, домени два различита улаза тог И кола садрже догађај x . Следи, x је вишеструки догађај. б) Ако X имплицира Z тада је Z X XY  . Израз Z X XY  се може добити или у случају И кола, ( )X R Y X XY   , где R имплицира X ; или у случају ИЛИ кола, ( ) ( )X XY . У оба случаја [ ] [ ] [ ]P X P F P S  , где је F R S  или XY ; и S R или X , респективно. Следи да X садржи бар један вишеструки догађај.  Последица 3.1: а) Елементи 2K су минимални. б) Редуковањем елемената 1K , добија се фамилија *1K а фамилија *K свих минималних скупова је једнака *1 2K K . Алгоритам редукције АРСН1: 1. Одредити фамилију K помоћу MOCUS алгоритма. Ако СН не садржи вишеструке догађаје, *K K . Ићи на корак 5. 2. Поделити фамилију K на 1K , фамилију скупова пресека који садрже бар један вишеструки догађај и 2K , фамилију скупова пресека који не садрже вишеструке догађаје. 3. Редуковати фамилију 1K да би се добила *1K . 4. Нека је * *1 2K K K  . 5. Сваки елемент *K је минипресек. Крај На основу теореме 3.1 и последице 3.1, максимални број операција (3.1) се може смањити на ( ) ( 1)s m s m    . (3.3) Напоменимо да је доказ претходне теореме тешко читљив али да је, са спекта редукције, значајна његова последица. У наставку ће бити представљена теорема чија је једна од последица минималност скупова пресека без вишеструких догађаја. 49 3.3.2. Теорема о минималности скупова пресека са вишеструким догађајима У наставку ће бити уведена и доказана теорема на основу које ће се показати да је скуп пресека минималан ако садржи све вишеструкости својих примарних догађаја. Тиме се уједно доказује и теорема 3.1 и последица 3.1, јер скупови пресека без вишеструких догађаја постају специјалан случај посматраних скупова. Након тога ће бити уведени услови под којима такав скуп пресека постоји и утврђено колики је минимални број скупова пресека који су његов надскуп. Ради лакшег записа, примарни догађаји ће бити обележени бинарним променљивама , 1,..., ,ix i J J I  , које су дефинисане на почетку поглавља 2.5, а које представљају њихов индикатор. Ако СН садржи вишеструке догађаје, сва понављања неког вишеструког догађаја ће бити означена истом бинарном променљивом. Параметар , 1,...,ik i J је број понављања, односно вишеструкост примарног догађаја ix . Уколико примарни догађај нема понављања, сматраће се да је вишеструкости 1. Како је 1 n i i k I   , J I за СН са вишеструким догађајима, односно J I ако СН садржи само догађаје вишеструкости 1, односно само јединствене догађаје. Поред неведене, биће коришћена следећа нотација:  ,vG v V - посредни догађаји. Њихов број је једнак броју логичких кола у СН и они се овде разматрају само у смислу логичког кола;  [ ]vP G - домен посредног догађаја vG . То је мултискуп свих примарних догађаја који су који припадају подстаблу СН са кореном vG . Подстабло СН са кореном vG представљају сва деца чвора vG . Како је Т вршни догађај, односно корен СН, [ ]P T је мултискуп свих примарних догађаја СН и [ ]P T I ;  [ ]vD G - скуп свих скупова пресека у подстаблу са кореном vG . Скуп свих скупова пресека СН обележаваће се са [ ]D T .  C - било који скуп пресека. 50 Сваки скуп пресека [ ]C D T је један елемент ДНФ структурне функције СН, односно представља конјункцију неких примарних догађаја: 1 2, ,..., nx x x . У складу са Буловом алгебром, у наставку ће скуп пресека С, односно конјункција: 1 2 ... nx x x   бити записани у облику: 1 2 ... nC x x x    , односно у облику 1 2 1 2 ... nkk k nC x x x    ако скуп пресека садржи више понављања посматраних примарних догађаја. На исти начин ће ДНФ структурне функције СН [ ]C D T  , на основу правила Булове алгебре, бити записана у облику: [ ]C D T C   . У складу са уведеном нотацијом, дефинисаћемо релацију  за скупове пресека: скуп пресека 11 1 1 21 1 2 ... nkk k nC x x x    је “подскуп” скупа пресека 22 2 1 22 1 2 ... nkk k nC x x x    , тј. 1 2C C ако 1 2 i ik k за свако 1,...,i n . У наредној теореми ће се посматрати скупови пресека *C који садрже сва понављања својих примарних догађаја. Односно, ако неки примарни догађаји 1 2, ,..., nx x x припадају скупу пресека *C , онда свих , 1,...,ik i n понављања ових примарних догађаја, припада скупу пресека *C . За скуп пресека *C ће се рећи да је облика 1 2 1 2 ... nkk k nx x x   . Напомена 3.1: У теореми 3.2, посматраће се скупови пресека пре примене закона идемпотенције. Према томе, иако по закону идемпотенције важи да је x x x  , овде су 2x x x  и x различити скупови пресека, односно 2x x y  . Теорема 3.2: Нека је Т вршни догађај кохерентног СН и нека су 1, 1,...,ik i n  максималне вишеструкости примарних догађаја 1 2, ,..., nx x x . Ако постоји скуп пресека *C облика 1 21 2 ... nkk k nx x x   из [ ]D T , тада међу осталим скуповима пресека из [ ]D T , не постоји скуп пресека C такав да је *C C или *C C . Доказ: Теорема ће бити доказана трансфинитном индукцијом по броју примарних догађаја I . 51 1. За 1I  једини скуп пресека је Т, па тврђење очигледно важи. С обзиром да неке дефиниције СН подразумевају бар једно логичко коло са најмање два улазна догађаја, за почетну вредност биће узето 2I  . За 2I  , примарни догађаји могу бити догађаји 1x и 2x или само догађај 1x који је вишеструкости 2. СН може имати само једно логичко коло, у односу на које постоје два случаја: а) Логичко коло је типа ИЛИ. Тада, ако постоје два догађаја 1x и 2x , скупови пресека су 1x и 2x , и ниједан није подскуп другог. Ако постоји један примарни догађај 1x , скупови пресека су 1x и 1x и ниједан није облика *C . б) Логичко коло је типа И. Тада је једини скуп пресека 1 2x x ако постоје два догађаја 1x и 2x , односно 2 1x ако постоји један примарни догађај. Оба скупа пресека су облика *C и у оба случаја не постоји скуп пресека C такав да је *C C или *C C . 2. Нека је 2I  (односно 3I  ако је почетна вредност 2I  ). Претпоставимо да тврђење важи за све СН која имају мање од I примарних догађаја. Докажимо да тврђење важи и за СН која имају I примарних догађаја. Без умањења општости, претпоставимо да вршни догађај СН има два чвора детета на следећем нивоу СН: 1G и 2G . Нека је СН1 подстабло са кореном 1G и структурном функцијом 1[ ]C D G C   и СН2 подстабло са кореном 2G и структурном функцијом 2[ ]C D G C   . У односу на тип логичког кола у корену СН, могућа су два случаја: а) Логичко коло у корену СН је типа ИЛИ. Тада је структурна функција СН облика 1 2[ ] [ ]C D G C D G C C     . (3.4) 52 Ако скуп пресека *C постоји, он је садржан у бар једној од сума из (3.4). На пример, нека је *C садржан у 1[ ]C D G C   . С обзиром да су 1 2, ,..., nk k k вишеструкости примарних догађаја 1 2, ,..., nx x x , следи да се сва понављања примарних догађаја 1 2, ,..., nx x x налазе у 1[ ]P G . Значи, ниједно понављање примарних догађаја 1 2, ,..., nx x x се не налази у 2[ ]P G , па у СН2 не постоји скуп пресека C за кога је *C C или *C C . Како у СН2 постоји бар један примарни догађај, следи да СН1 има мање од I примарних догађаја. На основу индукцијске хипотезе следи да ни у СН1 не постоји скуп пресека C такав да је *C C или *C C . Из (3.4) следи да у СН не постоји скуп пресека C такав да је *C C или *C C . б) Логичко коло у корену СН је типа И. Тада је структурна функција СН облика 1 2[ ] [ ]C D G C D G C C     . (3.5) Скуп пресека 1 2* 1 2 ... nkk k nC x x x    постоји ако и само ако је, * 1 1 1 * 2 2 2 ' "' " 1 1 * 1 [ ] [ ]\ * 2 [ ] [ ]\ * * ' " ' " 1 1 2 1 , , ... , ... , , , 0, 1,..., .n n C D G X D G C C D G Y D G C k kk k n n i i i i i C C X C C Y C x x C x x k k k k k i n                       (3.6) Како су 1 2, ,..., nk k k вишеструкости примарних догађаја 1 2, ,..., nx x x у СН, следи да је ' ik ( " ik ) вишеструкост догађаја ix у СН1 (СН2) ако је ' 1ik  ( " 1ik  ). У случају ' 0ik  ( " 0ik  ), ix се не појављује у СН1 (СН2). Одатле, следи да је * 1C ( * 2C ) из (3.6) скуп пресека облика *C за подстабло СН1 (СН2). Из ' " , 1,...,i i ik k k i n   следи да је * * * 1 2C C C  . 53 Заменом (3.6) у (3.5) добија се структурна функција СН: * * * * 2 2 1 1 1 1 2 2 * * * 1 2 [ ]\ [ ]\ [ ]\ [ ]\Y D G C X D G C X D G C Y D G C C C Y C X X Y              (3.7) Како подстабла СН1 и СН2 садрже мање од I примарних догађаја, на основу индукцијске хипотезе, за СН1 не постоји скуп пресека * 1 1 1[ ] \C D G C такав да је * 1 1C C или * 1 1C C , односно за СН2 не постоји скуп пресека * 2 2 2[ ] \C D G C такав да је * 2 2C C или * 2 2C C . Претпоставимо, супротно тврђењу, да за СН са I примарних догађаја постоји скуп пресека *[ ] \C D T C такав да је *C C или *C C . Нека је *C C . Из (3.7) следи је сваки скуп пресека из *[ ] \D Т C облика: *1C Y , * 2C X или X Y , где * 1 1[ ] \X D G C и * 2 2[ ] \Y D G C . Како је * * * 1 2C C C  , тада је * 1 rC C или * 2 sC C , што је супротно индукцијској претпоставци. Нека је сада *C C . Као и у претходном случају, C је облика: * 1C Y , * 2C X или X Y , где *1 1[ ] \X D G C и * 2 2[ ] \Y D G C . Како је * * * 1 2C C C  , тада је * 1X C или * 2Y C , што је такође супротно индукцијској претпоставци. Доказ је аналоган за случај када вршни догађај има 2u  чвора детета на следећем нивоу СН. У делу 2 а) доказа, структурна функција (3.4) је: 1 2[ ] [ ] [ ] ... uC D G C D G C D G C C C         (3.8) где се сва понављања примарних догађаја 1 2, ,..., nx x x и скуп пресека *C јављају у 1[ ]C D G C   . У том случају може се увести смена: 2 2 [ ] [ ] [ ] ... u u j j C D G C D G C D G C C C          чиме се израз (3.8) своди на (3.4). 54 У делу 2 б) доказа, структурна функција (3.5) је: 1 2[ ] [ ] [ ] ... uC D G C D G C D G C C C         (3.9) где свако [ ]C D Gv C   представља структурну функцију подстабла СНv, 1,...,v u . Скуп пресека *C постоји ако и само ако је, * * [ ] [ ]\ 1 , 1,..., , 0, 1,..., , 1,..., v v v v C D G C D G C u v v j i i j C C C v u k k k i n v u              (3.10) Заменом (3.10) у (3.9) добија се структурна функција СН: * * * * 1 1 2 [ ] [ ] [ ]2 3 1 ... v v v u u u C D G C D G C D Gv v v C C C C C C C                 Наставак доказа је аналоган доказу у 2 б). Тиме је теорема доказана.  По теореми 3.2, не постоји скуп пресека C такав да је *C C или *C C . Када је 1, 1,...,ik i n  , догађаји 1 2, ,..., nx x x су јединствени, а * 1 2 ... nC x x x    је скуп пресека у коме су сви догађаји вишеструкости 1. Овим је последица теореме 3.1 сведена на специјалан случај теореме 3.2. Односно, на основу теореме 3.2 Дефиниције 2.4. из поглавља 2.5.1, важе следеће последице: Последица 3.2. Ниједан скуп пресека се не може редуковати као надскуп скупа пресека у коме су сви догађаји вишеструкости 1. Последица 3.3: Скуп пресека у коме су сви догађаји вишеструкости 1 је минималан. Из последица 3.2. и 3.3. следи да, приликом редукције скупова пресека, ове скупове не треба упоређивати са осталим скуповима пресека. Напомена 3.2: Над скупом пресека *C се може 1 ( 1) n i i k   пут применити закон идемпотенције. 55 Нека је C скуп пресека облика 1 2 ... nx x x   добијен из *C применом закона идемпотенције. На основу теореме 3.2, за свако C из *[ ] \D Т C , важи *C C . Како је *C C онда је C C . На основу Дефиниције 2.4 из 2.5.1, важи: Последица 3.4. Скуп пресека C облика 1 2 ... nx x x   , добијен из скупа пресека *C применом закона идемпотенције, је минималан. Ова последица је нови резултат и из ње следи да, приликом редукције скупова пресека, за ове скупове не треба проверавати да ли су надскуп неког скупа пресека. Међутим, ови скупови могу бити подскуп неког скупа пресека, јер из *C C и *C C не следи C C . На основу свега наведеног, фамилија скупова пресека од n елемената се може поделити у три групе: 1. 1K , фамилија од 1m скупова пресека са свим догађајима вишеструкости 1 у СН. Ови скупови пресека су минипресеци који не могу бити садржани ни у једном од осталих скупова пресека. 2. 2K , фамилија од 2m скупова пресека са свим вишеструкостима својих примарних догађаја, односно скупова пресека *C . Ови скупови пресека су минипресеци који могу бити садржани у осталим скуповима пресека. 3. 3K , фамилија од 1 2s m m  скупова пресека међу којима треба уклонити надскупове. Сада се максимални број операција поређења (3.3) може смањити на: 1 2 2 1 2 1 2( ) ( ) ( 1)s m m m s m m s m m          . (3.11) Дакле, потребно је 1 2s m m  скупова пресека поредити међусобно и за сваки од њих проверити да ли је неки од 2m минипресека његов подскуп. При томе је поређење ефикасније ако се прво изврши провера да ли међу елементима 1K има 56 подскупова елемената из 3K . Сада се Алгоритам редуције АРСН1 може модификовати увођењем додатних корака. Алгоритам редукције АРСН2. 1. Одредити фамилију K свих скупова пресека кохерентног СН. Ако СН садржи само догађаје вишеструкости 1, *K K . Ићи на корак 6. 2. Поделити фамилију K на фамилију 1K скупова пресека који садрже само догађаје вишструкости 1, фамилију 2K скупова пресека који садрже сва понављања вишеструких догађаја и фамилију 3 \ 1\ 2K K K K . 3. Применити закон идемпотенције на 2K . Редуковати 3K уклањањем сваког елемента који је надскуп неког елемента из 2K , да би се добила *3K . 4. Редуковати фамилију *3K елиминисањем надскупова да би се добила **3K . 5. Нека је * **1 2 3K K K K   . 6. Сваки елемент *K је минипресек. Крај Након корака 3, добија се фамилија *3K , чији је број елемената 3 1 2m s m m   , тако да се максимални број операција поређења (3.11) додатно може смањити на: 1 2 2 3 3( ) ( 1)s m m m m m      . (3.12) Први члан израза (3.12) представља број операција поређења у кораку 3, док је други члан број операција поређења приликом елиминације надскупова у кораку 4 алгоритма редукције СН2. Пример Да би се боље илустровале претходне тврдње и алгоритам, СН са слике 2.4 је модификовано премештањем примарног догађаја P5 (слика 3.3). 57 T G1 P1 G3G2 G4 P2 P3 P4 S1 P2 P3S2 P5 Слика 3.3. Модификовано СН са слике 2.4 Скупови пресека овог СН су: P1, P22P5, P2P4P5, P2S1P5, P2P3P5, S2P2P5, S2P4P5, S2S1P5, S2P3P5, P3P2P5, P3P4P5, P3S1P5, P32P5. Сада је: 1K ={P1, S2P4P5, S2S1P5}, 2K ={P22P5, P32P5}, односно 2K ={P2P5, P3P5} и 3K ={P2P4P5, P2S1P5, P2P3P5, S2P2P5, S2P3P5, P3P2P5, P3P4P5, P3S1P5}. Применом корака 3 алгоритма, добија се *3K  . 3.3.3. Структура СН које садржи *C Скуп пресека *C не постоји у сваком, већ само у СН одређене структуре. У овом поглављу ће бити описани услови које СН мора да задовољава да би садржало скупопве пресека *C . Поред раније описане, користиће се следећа нотација:  , , 1,...ijG i j J - минимални посредни догађај (минимално логичко коло) примарних догађаја ix и jx , односно корен минималног подстабла које садржи дате примарне догађаје. Логична претпоставка теореме 3.3 је да у СН не постоји логичко коло чији су чворови деца догађаји који предствљају понављања истог примарног догађаја. 58 Теорема 3.3: Нека су 1, 1,...,ik i n  вишеструкости догађаја 1 2, ,..., nx x x кохерентог СН. Ако скуп пресека *C постоји, тада је за сваки пар примарних догађаја из *C минимално логичко коло ijG типа И. Доказ: Теорема може бити доказана трансфинитном индукцијом по броју примарних догађаја I . У случају 1I  или 2I  тврђење је очигледно (видети теорему 3.2). У случају 2I  ( 3I  ако је почетна вредност 2I  ), нека тврђење важи за свa СН која имају мање од I примарних догађаја. Докажимо да тврђење важи и за СН која имају I примарних догађаја. На основу доказа Теореме 3.2, ако постоји скуп пресека 1 2* 1 2 ... nkk k nC x x x    , структурна функција СН је облика (3.4) или облика (3.5). СН је облика (3.4) ако је логичко коло у корену СН типа ИЛИ и сва понављања примарних догађаја 1 2, ,..., nx x x се налазе у СН1 које има мање од I примарних догађаја. На основу индукцијске хипотезе, за пар понављања ix и jx из *C , минимално логичко коло ijG је типа И у СН1, а самим тим и у СН. СН је облика (3.5) ако је логичко коло у корену СН типа И. Нека се ix и jx налазе у истом подстаблу, на пример у СН1. Тада је '' 1* 1 1 ... nkk nC x x   скуп пресека облика *C за подстабло СН1 . На основу индукцијске хипотезе, минимално логичко коло ijG за пар ix и jx , је типа И у СН1, а самим тим и у СН. Ако се ix и jx налазе у различитим подстаблима СН1 и СН2, онда је минимално логичко коло за пар ix и jx корен СН типа И. Доказ је аналоган за случај када логичко коло које одговара вршном догађају има 2I  улазних догађаја (као у случају доказа Теореме 3.2.).  Нека је дато СН са кореном T у коме постоји *C . Посматрајмо једно понављање догађаја , {1,..., }ix i n . Догађај ix је лист датог СН. Идући од листа ix ка корену, 59 нађимо прво минимално логичко коло ijG за дато понављање ix и неко понављање , {1,..., }jx j n ( j може бити једнако i ). На основу теореме 2.3, ijG је типа И (слика 3.4.). xi xj Gij Слика 3.4. Минимално логичко коло ijG Ако је неко логичко коло G на путу од ix до ijG типа И, онда у [ ]P G постоје само примарни догађаји *x C , јер је ijG прво минимално логичко коло за ix и неко jx . Одатле следи да у структурној функцији СН постоји скуп пресека 1 2 1 2 ... nkk k nC x x x x     , што је супротно тврђењу теореме 3.2. Дакле, сва логичка кола на путу од ix до ijG су типа ИЛИ, па је структурна функција подстабла са кореном ijG облика: ( ) ( )i ji jx x      (3.13) где је i  сума која не садрже ни једно понављање догађаја 1 2, ,..., nx x x (јер је ijG минимално логичко коло за ix и неко од , {1,..., }jx j n ) и која може бити сложени израз. Уз то, i ix   је структурна функција подстабла чији је корен G посредни догађај, који је непосредни улаз минималног кола ijG . Другим речима, G је последњи посредни догађај на путу од од ix до ijG . Минимално логичко коло ijG је у (3.13) приказано као бинарно. Није тешко приметити да ако ijG није бинарно, онда је оно минимално логичко за више понављања догађаја 1 2, ,..., nx x x и да у сваком његовом подстаблу мора постојати 60 бар једно понављање догађаја 1 2, ,..., nx x x . Тада је структурна функција подстабла са кореном ijG облика: ( ) ( ) ... ( )i j li j lx x x           (3.14) Идући даље од ijG ка корену СН, нађимо следеће минимално логичко коло iqG за ix и неко *[ ],q ijx P G q C  . iqG је такође типа И (слика 3.5). xi xj Gij xl . . . xq xs Gqs xr . . . Giq Слика 3.5. Минимално логичко коло iqG Као и у случају ijG , ако iqG није бинарно, у сваком његовом подстаблу мора постојати бар једано понављање догађаја 1 2, ,..., nx x x , па је структурна функција подстабла са кореном iqG : [( ) ... ( ) ] ... [( ) ... ( ) ]i j q si j ij q s qsx x x x                       (3.15) Ако се израз (3.15) трансформише тако да се издвоје сви чланови, који множењем дају чинилац у коме су само понављања догађаја 1 2, ,..., nx x x , добија се: ( ) ... ( ) ... ( ) ... ( )i j q si j q s iqx x x x                    (3.16) где је iq  члан који може садржати и понављања (али не сва) догађаја 1 2, ,..., nx x x и који може бити сложени израз. Настављајући процес, од листова ка корену СН, добиће се структурна функција СН: 1 1 111 1 1 [ ] ( ) ... ( ) ... ( ) ... ( ) n o o n nk n nk C D T x x x x C                     (3.17) 61 где је [ ]o o C D T C   остатак трансформисаног израза у коме се могу појављивати и 1 2, ,..., nx x x . ДНФ функције (3.17) је: 1 2 * 1 2 [ ]\ ... n kk k n C D T C x x x C       На основу претходног, важи и супротно тврђење Теореме 3.3: Тврђење 3.1: Ако је за сваки пар догађаја из 1 2{ , ,..., }nx x x минимално логичко коло ijG типа И, скуп пресека *C постоји. Пример За СН са слике 3.3, P22P5 и P32P5 су скупови пресека облика *C . За сваки пар из скупа пресека P22P5: (P2, P5), (P2, P2) и (P5, P2) минимално логичко коло је типа И чији је излазни догађај G1. Исто тако, за сваки пар из скупа пресека P32P6: (P3, P5), (P3, P3) и (P5, P3) минимално логичко коло је типа И (у овом случају са истим излазним догађајем G1). 3.3.4. Минимални број редукованих скупова пресека Издвојимо из структурне функције (3.17) СН, у коме постоји *C , све чланове који множењем дају *C : 1 1 111 1 1 ( ) ... ( ) ... ( ) ... ( ) n n nk n nk x x x x                 (3.18) Где је i ijx   структурна функција подстабла СН које садржи само j-то понављање примарног догађаја ix . Посматрајмо ik чинилаца у (3.18) који садрже сва понављања догађаја 1x : 1 ( ) ... ( ) i i ii ik x x       (3.19) Подсетимо да il  , као у (3.13), не садржи ни једно понављање догађаја 1 2, ,..., nx x x и да може бити сложени израз. 62 Нека је , 1,...,il il k  број сабирака у суми .il У развијеном облику, (3.19) има укупно 1(1 ) ... (1 )ii ik     сабирака, од којих 1 ... ii ik   сабирака не садржи ни једно 1 2, ,..., nx x x . Број сабирака који садрже бар једно ix је: 1 1(1 ) ... (1 ) ...i ii ik i ik          . Одатле следи да је у (3.18) укупан број сабирака који садрже бар по једно понављање свих 1 2, ,..., nx x x једнак: 1 1 1 [(1 ) ... (1 ) ... ] i i n i ik i ik i             . (3.20) Сабирци из (3.18) су скупови пресека СН чија је структурна функција (3.17). Како (3.17) садржи и остатак [ ]o o C D T C   у коме се могу појављивати 1 2, ,..., nx x x , (3.20) је минималан број скупова пресека који садрже бар по једно појављивање догађаја 1 2, ,..., nx x x . Један од тих скупова пресека је *C . Када се примени закон идемпотенције над добијеним скуповима пресека, *C постаје 1 2 ... nC x x x    , а минимални број скупова пресека који садрже C , односно који ће се редуковати као његов надскуп, је: 1 1 1 [(1 ) ... (1 ) ... ] 1 i i n i ik i ik i              . (3.21) Уколико су у *C све вишеструкости једнаке 1, тада (3.20) постаје: 1 1 1 [(1 ) ] 1 n i i i       . На основу (3.21), број скупова пресека који се може редуковати као његов надскуп је једнак 0, што је наведено и у последици 3.2. Пример Посматрајмо скуп пресека P22P5 за СН са слике 3.3. За прво понављање P2, 21 P3+P4+S1 , односно 21 3  , за једино понављање P5, 51 0 , 51 0  и за друго понављање P2, 22 P3+S2 , 22 2  . Након примене закона идемпотенције, 63 скуп пресека P22P5 постаје минипресек P2P5, а минимални број скупова пресека који ће се редуковати као његов надскуп, на основу (21), је: 21 22 21 22 61 61[(1 ) (1 ) ] [(1 ) ] 1 (4 3 3 2) (1 0) 1 5                      . Заиста, шест скупова пресека из 3K који се редукују као надскуп минипресека P2P6 су: P2P4P5, P2S1P5, P2P3P5, S2P2P5, P3P2P5. На исти начин се могу одредити надскупови скупа пресека P32P5, односно минипресека P3P5: P2P3P5, S2P3P5, P3P2P5, P3P4P5, P3S1P5. Лако је приметити да, ако у СН постоји више скупова пресека облика *C , укупан број редукованих скупова пресека неће увек бити једнак збиру скупова пресека редукованих по сваком од *C . Тај број може бити мањи од збира, јер исти скуп пресека може истовремено бити надскуп више скупова пресека облика *C . 3.3.5. Алгоритам редукције скупова пресека СН Наравно, број скупова пресека који ће се редуковати зависи од структуре СН и може бити и нула. Међутим, у општем случају, ако минипресек 1 2 ... nC x x x    , добијен идемпотенцијом из 1 2* 1 2 ... nkk k nC x x x    , постоји, може се очекивати велики број његових надскупова који расте са порастом вишеструкости догађаја. Због тога је оправдано очекивати да ће редукција скупова пресека бити ефикаснија ако се врши редоследом датим у Алгоритму редукције АРСН2. Поред тога, што је вишеструкост неког догађаја већа, то је очекивани број скупова пресека у којима ће се појавити већи. Корак 3 Алгоритма АРСН2 ће бити ефикаснији ако се елементи скупова 2K и 3K сортирају на основу броја понављања, од највећег ка најмањем. Алгоритам редукције СН се коначно може формулисати на следећи начин: Алгоритам редукције АРСН3. 1. Одредити фамилију K свих скупова пресека кохерентног СН. Ако СН садржи само догађаје вишеструкости 1, *K K . Ићи на корак 6. 64 2. Поделити фамилију K на фамилију 1K скупова пресека који садрже само догађаје вишструкости 1, фамилију 2K скупова пресека који садрже сва понављања вишеструких догађаја и фамилију 3 \ 1\ 2K K K K . 3. Сортирати скупове пресека из 2K и 3K на основу вишеструкости примарних догађаја, од највеће ка најмањој. Применити закон идемпотенције на 2K . Редуковати 3K уклањањем сваког елемента који је надскуп неког елемента из 2K , да би се добила *3K . 4. Применити закон идемпотенције на *3K . Редуковати фамилију *3K да би се добила **3K . 5. Нека је * **1 2 3K K K K   . 6. Сваки елемент *K је минипресек. Крај 3.3.6. Резултати експеримената Алгоритам редукције АРСН3 је примењен на групи СН (Benchmark Fault Tree) из [87]. Сви скупови пресека добијени су помоћу инверзне Петријеве мреже, алгоритмом који ће бити описан у главама 6 и 7. У табели 3.2. је приказан број операција поређења скупова пресека применом АРСН1 одређен на основу (3.3), и АРСН3 на основу (3.12). За свако СН су приказане карактеристике примарних догађаја: укупан број примарних догађаја (БПД), број догађаја чија је вишеструкост већа од 1 (БВД) и распон вишеструкости (РВ). Поред тога, дате су и карактеристике фамилије скупова пресека: укупан број скупова пресека (s), број скупова пресека са свим догађајима вишеструкости 1 (m1), број скупова пресека облика *C (m2) и број скупова пресека у *3K (m3). У последњој колони је приказан проценат броја операција у АРСН1, који се не извршава (уштеда) ако се примени АРСН3. Знак * значи да је поређење вршено за првих 40000 добијених скупова пресека. Знак “ф” значи да је на датом СН прво извршена факторизација на основу Faunet- 65 ове редукције. У случају “фм” извршена је факторизација и просто раздвајање СН на два модула. Факротизација и модуларизација су извршене да би се скратило рачунарско време и простор. Међутим, оне не утичу на однос бројева s, m1, m2 и m3. За оригинална СН ове вредности би биле сразмерно веће тако да би вредности у последњој колони остале исте. Табела 3.2. Број операција поређења Алгоритмима редукције СН1 и СН3 рб СН БПД БВД РВ s m1 m2 m3 AРСН1 (3.3) AРСН3 (3.12) % 1 das9205 51 5 2 20160 17280 0 2880 8,29106 8,29106 0 2 ftr10 175 63 2-9 690 72 4 598 3,81105 3,59105 5,73 3 isp9606 89 14 2 2292 867 12 1197 2,03106 1,45106 28,61 4 chinese* 35 24 2-4 40000 0 12 23649 1,6010 9 5,6108 65,02 5 chinese(ф) 25 9 2-4 272 0 3 22 7,37104 1,27103 98,28 6 das9202(фм) 37 12 3-11 18750 2 20 0 3,51108 3,75105 99,89 7 das9203(ф) 51 15 2-3 7000 945 195 248 3,67107 1,2106 96.72 Из табеле 3.2. се може уочити да, очекивано, АРСН3 не даје резултате када не постоје скупови пресека облика *C (рб. 1) или да смањење броја операција поређења може бити веома мало (рб. 2). Међутим, у неким случајевима се може постићи значајна (рб. 3-4) и чак веома значајна (рб. 5-7) уштеда рачунарског времена ако се примени АРСН3. Такође се може закључити да ефикасност алгоритма зависи од броја догађаја чија је вишеструкост већа од 1 и њихових вишеструкости. У СН под редним бројем 3, где је око 16% примарних догађаја вишеструкости 2, постигнута је уштеда од 28,61% операција поређења. С друге стране, код СН под редним бројевима од 5 до 7, у којима је проценат догађаја, чија је вишеструкост већа од 1, већи (45%, 55% и 29%, респективно) и већи распон вишеструкости, постиже се уштеда од преко 95% операција поређења. Међутим, може се закључити и да је ефикасност алгоритма веома зависна од структуре датог СН. Наиме, у СН под редним бројем 2, проценат вишеструких 66 догађаја је велики (36 %) као и распон вишеструкости (од 2 до 9), а проценат уштеде операција поређења је мали (5,73 %). Овде је у питању СН које у вршном догађају има логичко коло типа ИЛИ са 35 догађаја на следећем нивоу. Зависност ефикасности АРСН3 од структуре СН се може уочити и анализом броја скупова пресека, који су редуковани као надскупови скупова пресека облика *C . Број скупова пресека редукованих на овај начин је једнак: s - m1 - m2 - m3. Посматрајмо, на пример, СН под редним бројевима 3 и 4, која имају по 12 скупова пресека облика *C . Број надскупова од *C је у 3. СН 216 (9,4% од укупног броја скупова пресека) а у 4. СН 16339 (40,8%). Велика разлика у броју редукованих скупова пресека у ова два СН је последица великог процента догађаја чија је вишеструкост већа од 1 и великог броја свих скупова пресека у СН под редним бројем 4. Посматрајмо сада СН под редним бројевима 2 и 3, у којима је проценат скупова пресека облика *C у укупном броју скупова пресека, исти - око 5%. У 3. СН је, као што је већ поменуто, 9,4% од укупног броја скупова пресека који су надскупови *C , док је у 2. СН таквих скупова пресека само 1,7% од укупног броја скупова пресека. Разлог за мали број надскупова у СН под редним бројем 2 је, већ помињана структура, са логичким колом типа ИЛИ у вршном догађају овог СН. 3.4. Одређивање минипресека датог реда Одређивање свих минипресека за СН великих димензија је често немогуће због ограничења рачунарског времена и/или простора. Због тога је још седамдесетих година започео развој метода скраћивања (truncating) скупа минипресека. Основна идеја свих тих метода је да се елиминишу минипресеци чији је допринос вероватноћи нежељеног догађаја испод задатог прага или минипресеци чија дужина прелази задату вредност. Оправдање за овакав приступ лежи и у чињеници да велики број минипресека не обезбеђује квалитетну анализу, па да их није ни потребно све одредити. Број примарних догађаја у минипресеку се назива ред минипресека, тако да одређивање минипресека датог реда представља одређивање минипресека чији 67 број примарних догађаја не прелази задату вредност. Овде ће бити приказан један од првих алгоритама скраћивања. Расмусон (Rasmuson) и Маршал (Marshal), уз алгоритам FATRAM, који је описан у поглављу 2.5.1.1 предлажу и алгоритам за одређивање минискупова задате дужине. Током примене FATRAM алгоритма сваки догађај СН се сврстава у једну од шест категорија [85]: I Примарни догађаји. II Излазни догађаји И кола. III Излазни догађаји ИЛИ кола, чији су улаз посредни и примарни догађаји. IV Излазни догађаји ИЛИ кола, чији су улаз само примарни догађаји који су већ категорије I. V Излазни догађаји ИЛИ кола, чији су улаз само примарни догађаји који још увек нису категорије I, али су понављања истог вишеструког догађаја. VI Излазни догађаји ИЛИ кола, чији су улаз само примарни догађаји који још увек нису категорије I и нису понављања истог вишеструког догађаја. Алгоритам за одређивање минискупова задате дужине се састоји у следећем: 0. Нека је М задата максимална дужина минипресека. 1. У сваком кораку FATRAM алгоритма у коме се формирају нови скупови, за сваки нови скуп одредити:  = број примарних догађаја категорије I,  = број догађаја категорије IV, 1 ако категорија није празна 0 ако је категорија празна V V      2. Израчунати V =  +  + ; 3. Ако је V > M елиминисати скуп, а ако је V ≤ M задржати га. 68 Пример Нека је за СН са слике 2.4 које је до сада разматрано, задата максимална дужина минипресека М=1. 1. У првом кораку добијени су скупови {G1} и {P1}. VG1=0 јер је G1 II категорије, а VP1=0 јер је P1 I категорије. Оба скупа се задржавају. 2. Нови скуп је {G2,G3}. VG2G3=0 јер су G2 и G3 III категорије. Скуп се задржава. Нови скупови су {P2,G3}, {G4,G3} и {P3,G3}. VP2G3=1 јер је G3 III, а P2 I категорије. V G4G3=0 јер је G4 VI, а G3 III категорије. VP3G3=1 јер је G3 III, а P3 I категорије. Сви скупови се задржавају. Нови скупови су: {P2,P2}, {P2,G5}, {P2,P3}, {G4,P2}, {G4,G5}, {G4,P3}, {P3,G2}, {P3,G5}, {P3,P3}. 3. Уклањањем редундантних елемената и надскупова нови скупови су: {P2}, {G4,G5}, {P3}. VP2=1 јер је P2 I категорије. VG4G5=0 јер су G4 и G4 VI категорије. VP3=1 јер је P3 I категорије. Сви скупови се задржавају. 4. Нема нових скупова. 5. Нови скуп је {S1, S2}. VS1S2=2 јер су S1 и S2 I категорије. Скуп се одбацује. 69 4. ПЕТРИЈЕВE МРЕЖE (ПМ) Петријеве мреже (ПМ, енг. Petri Nets) су графичка и математичка моделујућа техника за опсивање система и њихове динамике. Концепт ПМ је увео Карл Адам Петри (Carl Adam Petri), у докторској дисертацији под називом “Kommunikation mit Automaten”, 1962. године на Факултету за математику и физику Универзитета Darmstadt у Немачкој [13]. Резултати дисертације први пут су објављени у [79], а сама дисертација је објављена на енглеском језику 1966. године у [78]. Петри је дошао до концепта ПМ решавајући проблем израчунавања рекурзивне функције, покушавајући да превазиђе тадашњи проблем резервисања потребног меморијског простора унапред. Развио је модел састављен из секвенцијалних модула који садрже по један елемент и повезани су (комуницирају) само са суседним модулима. Том приликом, Петри је увео и формализам, који подржава нову архитектуру, у коме се први пут појављују нови термини “место” и “прелаз” за означавање локалних стања и акција. Петријеве мреже, у облику у коме су данас познате, први пут се појављују у излагању "Fundamentals on the description of discrete processes'' на Тhe 3rd Colloquium on Automata Theory у Хановеру 1966. године. Мрежа, која је том приликом представљена, је названа Condition/Event Net (СЕ). Временом је концепт Петријевих мрежа толико развијен да је СЕ постала једна од најједноставнијих класа ПМ. До сада је објављено преко 250 књига посвећених ПМ и више од 2000 књига у којима су обрађене у оквиру поглавља. Публиковано је преко 8500 радова посвећених ПМ. Од 1980. године се сваке године одржава “International Conferences on Application and Theory of Petri Nets and Other Models of Concurrency” [80]. Међу конференције посвећене ПМ, које се одржавају редовно спадају и: Workshop and Tutorial on Practical Use of Coloured Petri Nets and the  Рус: Сети Петри [124], франц: Réseaux de Petri [84], нем: Petrinetze [82] . 70 CPN Tools (од 1998. године), и QEST у оквиру кога се од 2004. године одржава The International Workshop on Petri Nets and Performance Models (PNPM). Поред наведених, постоји велики број конференција на којима су Петријеве мреже стална програмска област. Анализа Петријевих мрежа се ослања на теорију графова, а у њеној практичној примени је неопходна употреба рачунара. Велики број истраживачких група има свој софтверски пакет за цртање ПМ, њихову анализу и симулацију, од којих је више од седамдесет, углавном слободних, доступно на глобалној мрежи [80]. 4.1. Основни појмови, дефиниција и динамика ПМ Два основна елемента ПМ су структура и маркирање. У случају ПМ вишег нивоа, трећи елемент је декларација ПМ, која може обухватати: типове података, временске параметре и функције, функције расподеле, додатне услове паљења прелаза, чак и делове програмског кода који се придружују чворовима на мрежи. Структура ПМ је оријентисан, тежински, бипартитни граф, који се састоји из две групе чворова: - Прелаза (transitions – t) – који представљају догађаје који треба да се одиграју или операције које треба да се изврше. Графички се приказују правоугаоницима или линијама. - Места (places – p) – која представљају узрок и/или последицу догађаја или бафер, у коме су смештене информације или други ресурси потребни за извршење операције. У литератури се може наћи и ознака ѕ (од немачког stellen [41]). Места се графички приказују круговима или елипсама. У табели 4.1. су приказане неке уобичајене интерпретације прелаза и места у моделима ПМ. 71 Табела 4.1. Типичне интерпретације прелаза и места [71] Улазна места Прелази Излазна места Услов Догађај (акција, логички оператор) Последица Улазни подаци Рачунска операција Излазни подаци Улазни сигнал Процесор Излазни сигнал Потребни ресурси Задатак или посао Реализовани ресурси Бафер Операција Бафер Како је ПМ бипартитни граф, оријентисане гране повезују места са прелазима и прелазе са местима, никад два прелаза или два места. Свакој грани може бити придружена тежина којом се директно утиче на динамику ПМ. Уколико недостаје, подразумева се да је тежина гране једнака 1. Формално се структура ПМ описује на следећи начин: Дефиниција 4.1 [83]: Структура Петријеве мреже је четворка ( , , , )N P T AW , где је: 1 2{ , ,..., }mP p p p коначан скуп места, 1 2{ , ,..., }nT t t t коначан скуп прелаза, )()( PTTPA  коначан скуп грана, (4.1) ,...}2,1{: AW функција тежина придружена гранама, где је TP и TP . Структура ПМ може бити циклични или ациклични граф, што зависи од структуре моделираног система. Пошто су предмет овог рада ацикличне ПМ, прецизније ПМ које имају структуру стабла, овде ће бити уведени још неки појмови који ће се користити у даљем тексту. Нека су: 0 t – скуп свих улазних места прелаза t, тј. 0t   },,{ AtpPpp  , 72 t 0 – скуп свих излазних места прелаза t, тј. t0   },,{ AptPpp  , 0р – скуп свих улазних прелаза места р, тј. 0р   },,{ AptTtt  , р0 – скуп свих излазних прелаза места р, тј. р0   },,{ AtpTtt  . Дефиниција 4.2 [71,83]: p је изворно место (source place) ако је 0 p  ; а место ушћа (sink place) ако је 0p  . Дефиниција 4.3 [71,83]: t је изворни прелаз (source transition) ако је 0t  ; а прелаз ушћа (sink transition) ако је 0t  . У табели 4.2. су приказани извори и ушћа ПМ и услови за њихово постојање. Табела 4.2. Места и прелази извора и ушћа [71] Назив Услов Приказ изворно место 0 p  p t . . . место ушћа 0p  p t . . . изворни прелаз 0t  p t . . . прелаз ушћа 0t  p t. . . Да би се могао конструисати ПМ модел, потребно је овладати са релативно мало примитива. У табели 4.3. су приказани основни примитиви [15,108]. 73 Табела 4.3. Примитиви Петријевих мрежа Примитив Услов Приказ Секвенца 0 0 0 1 1 1 2 2 2 1 , , ( ) t p t p t p M p     p1 t1 p2 t2 Конфликт 0 1 2, ( ) t t p M p   p1 t1 t2 Истовременост (concurrency) 0 0 0 1 2 1 1 2 2, , ,p p t t p t p   t p1 p2 t2t1 Синхронизација 0 1 2 1 2 , ( ) , ( ) p p t M p M p    t p1 p2 Инхибитор 0 , ( )p t M p  p t Други елемент ПМ је маркирање. Свако место у ПМ може да садржи један или више жетона (токена, знакова - token), који омогућавају моделирање динамике система. Број жетона у месту р се назива маркирање места (place marking) и означава са M(р). Расподела жетона у местима Петријеве мреже се назива маркирање ПМ и означава са M. Једно маркирање ПМ T 1 2[ ( ), ( ),..., ( )]mM M p M p M p представља једно стање моделираног система. Почетно маркирање на мрежи означава се са 0M , T 0 0 1 0 2 0[ ( ), ( ),..., ( )]mM M p M p M p , тако да се Петријева мрежа најопштије може приказати као 0( , )PN N M . Променом маркирања ПМ се моделира промена стања система. Маркирање се мења када се неки од прелаза запали* (fire, occur). Да би се одређени прелаз  У литератури на српском језику се користи и термин активирање [2]. 74 запалио, односно догодио, потребно је да буду испуњени одређени услови, чиме је тај прелаз омогућен (enabled). Прелаз t је омогућен (enabled) ако 0 , ( ) ( )p t M p W p,t   (4.2) тј. када улазно место садржи најмање онолико жетона колика је тежина гране која води од места р до прелаза t, где је W(p,t) тежина гране (p,t). Формално, паљење прелаза је трансформација неког маркирања М у маркирање M’, дефинисана са: 0 0 ( )-W( , ) ако ' ( ) ( ) W( , ) ако ( ) иначе M p p t p t M p M p t p p t M p         (4.3) Паљењем прелаза t се из свих места p 0t ослобађају жетони, а у свим местима p t 0 се појављују жетони. Тиме се добија ново маркирање, односно ново стање моделираног система. Колико ће се жетона ослободити, односно појавити зависи од тежина W( , )p t и W( , )t p . На слици 4.1. је улустрована динамика на примеру ПМ која моделира познату хемијску реакцију: 2 2 22H +O 2H O . H2O t.. H2 .. O2 2 2 .. H2O t H2 . O2 2 2 a) b) Слика 4.1. Илустрација динамике ПМ [71] ПМ са слике 4.1. се може написати у облику 0( , , , , )PN P T AW M , где је: 2 2 2{H ,O ,H O}P  , { }T t , 75 2 2 2{(H , ),(O , ),( ,H O)}A t t t , [2,1,2]W  , 0 [2,2,0]M  . По два жетона у улазним местима на слици 4.1. а) показују да су на располагању по две јединице 2H и 2O и да је прелаз t омогућен. Односно: 0 2 2{H ,O }t  2 2 2 2 2 2 2 2 (H )=2, (O )=2, (H ) (H ) прелаз јеомогућен (H )=2, (O )=1, (O ) (O ) M M M W ,t t W ,t W ,t M W ,t       . Након паљења прелаза t , маркирање се мења на следећи начин: 2 2 2 2 2 2 2 2 2 ' (H )= (H )- (H )=2-2=0 '(O )= (O )- (O )=2-1=1 '(H O)= (H O)+ ( ,H O)=0+2=2 M M W ,t M M W ,t M M W t и постаје као на слици 4.1. б), где прелаз t више није омогућен. Низ прелаза, којим се из почетног маркирања 0M достиже неко маркирање M, назива се секвенца паљења  , и означава се: 0 M M . Скуп свих маркирања која се могу достићи из неког почетног маркирања 0M , различитим секвенцама паљења означава се са ( )R M . Дефиниција 4.4 [83]: Маркирање M које се може достићи из почетног маркирања M0 је мртво (deadlock) ако у M ниједан од прелаза ПМ није омогућен. Ако само места ушћа садrже жетон, тада нема прелаза чија улазна места садже жетон, тј. да нема омогућених прелаза. Према дефиницији 4.4, маркирање M је мртво. Сада се може формулисати селдеће својство: 76 Својсво 4.1: Нека је M маркирање ПМ у коме само места ушћа садрже жетоне. Маркирање M је мртво (deadlock). Петља (self-loop) је пар (p, t) такав да р 0t и р t0, тј. p је улазно и излазно место прелаза t. За ПM се каже да је чиста ако нема петљи. Уколико ПM има петљи, увек се може трансформисати у чисту ПM, увођењем фиктивних парова прелаза и места [71]. 4.2. Врсте ПМ Петријеве мреже се најчешће класификују у односу на број и структуру жетона које могу да садрже њихова места. По том критеријуму се могу класификовати у три врсте [5]. Прву врсту чине бинарне ПМ, чија маркирања могу да се изразе Буловим вредностима. Друга врста су “црно-беле” (обичне) ПМ, чија маркирања могу да се изразе целобројним вредностима. Трећу групу чине више ПМ (high- level ПМ), чија маркирања могу да се изразе мултискуповима структурираних жетона. Бинарне и елементарне мреже се још називају и Петријеве мреже нижег нивоа (low-level ПМ). Црно-беле ПМ имају значајно већу моћ у моделирању од бинарних ПМ, а при томе задржавају могућност за детаљну анализу моделираног процеса. За ове мреже се може рећи да су, по могућности примене, између бинарних и виших Петријевих мрежа које имају изузетну моћ моделирања, али далеко сиромашнији апарат за анализу у односу на ниже ПМ. 4.2.1. Бинарне ПМ Уколико место у ПМ представља услов, онда присуство, односно одсуство жетона указује да ли је услов испуњен (true) или не (false). Ови жетони се још називају буловски жетони, зато што њихов број у месту може бити 0 или 1. Буловски жетони се графички представљају (црном) тачком у месту. Мрежа која садржи само места са буловским жетонима, се назива ПМ нивоа 1 или бинарна ПМ. 77 Услов/Последица мреже Услов/Последица мрежa (Condition/Event, C/E) је мрежа коју је представио Петри у својој докторској дисертацији, односно то је прва ПМ. C/E је мрежа нивоа која захтева да ПМ структура буде чиста и може се формално представити на следећи начин [5]: Дефиниција 4.5: C/E мрежа је четворка (P,T,A,C), где је },...,,{ 21 npppP  коначан скуп места, 1 2{ , ,..., }nT t t t коначан скуп прелаза, )()( PTTPA  коначан скуп грана, 0 1 2{ , , ,...}C M M M скуп свих маркирања која нису мртва. Правило паљења се у C/E мрежама може описати на следећи начин: сваки прелаз t C/E мреже може да се упали у неком маркирању М ако: 0 0( ) ( ) ( ( ) 1 ( ) 0)t T M C M t M t       односно, ако у свим улазним местима прелаза t постоји по један жетон и ако су сва излазна места прелаза t празна. Када се прелаз t запали, из његових улазних места се ослобађа по један жетон, а у његовим излазним местима се производи по један жетон. Важно својство C/E мрежа је да свако маркирање може да се достигне из било ког маркирања у коначном броју корака, унапред или уназад. Елементарне мреже Елементарне мреже су С/Е мреже са задатим почетним маркирањем. Дефиниција 4.6: EN мрежа је четворка (P,T,A,М0), где је },...,,{ 21 npppP  коначан скуп места, 1 2{ , ,..., }nT t t t коначан скуп прелаза, )()( PTTPA  коначан скуп грана, М0 почетно маркирање. 78 1-Safe мреже Ове мреже припадају нивоу 1, али се често посматрају и као елементарне (црно- беле) ПМ са буловским маркирањем. За маркирање ПМ се каже да је 1-safe ако за свако место р ПМ важи да је ( ) 1M p  . ПМ је 1-safe ако су сва њена маркирања 1- safe [20] Дефиниција 4.7: 1-Safe мрежа је петорка (P,T,A,W,М0), где је },...,,{ 21 npppP  коначан скуп места, 1 2{ , ,..., }mT t t t коначан скуп прелаза, )()( PTTPA  коначан скуп грана, (4.4) }1{: AW функција тежина придружена гранама, }1,0{:0 PM почетно маркирање. State machine State machine је подкласа 1-Safe мрежа, у којој сваки прелаз t има тачно једно улазно и тачно једно излазно место. State machine се може формално описати као петорка (P,T,A,W,М0), где уз (4.4) важи [71]: 0 0 1,t t t T    где је 0 0( )t t број улазних (излазних) места прелаза t. Marked graph (MG) MG је чиста проста ПМ, таква да свако место р има тачно један улазни и тачно један излазни прелаз. Marked graph се може формално описати као петорка (P,T,A,W,М0), где уз (4.4) важи [71]: 0 0 1,p p p P    где је 0 0( )p p број улазних (излазних) прелаза места р. 79 4.2.2. Црно-беле ПМ Ако је местом ПМ моделиран бафер, онда број жетона у месту указује на број, тј. количину информација или другог ресурса у баферу. ПМ чија места могу да садрже више од једног жетона се назива мрежа 2. нивоа, елементарна, обичнa или “црно-бела” ПМ. Друго важно својство ове мреже је да су жетони у њој неструктурирани и да су сви графички представљени (црним) тачкама. Place/Transition (P/T) мреже Place/Transition мрежа је елементарна (црно-бела) ПМ дефинисана са (4.1). У развоју Петријевих мрежа, ове мреже су биле прве које су дозвољавале да место садржи више од једног жетона. Проста (Ordinary) ПМ Проста ПМ је елементарна ПМ у којој је тежина свих грана једнака 1. Дефиниција 4.8: Проста ПМ је петорка (P,T,A,W,М0), где је },...,,{ 21 npppP  коначан скуп места, },...,,{ 21 qtttT  коначан скуп прелаза, )()( PTTPA  коначан скуп грана, }1{: AW функција тежина придружена гранама, ,...}2,1,0{:0 PM почетно маркирање. Free Choice (FC) мреже FC мрежа је проста ПМ таква да је свака грана из неког места р или једниствена излазна грана места р или јединствена улазна грана неког прелаза t [5]: 0 0 0, 1 ( ) { }p P p p p     80 или, еквивалентно 1 1 0 0 0 0 1 2 2 2, , 1p p P p p p p      или, еквивалентно tptpAtpTtPp oo }{}{),(,,  где је 0 0( )p p број улазних (излазних) прелаза места р. Дефиниција 4.9 [10]: ПМ ПМ=(P,T,А,M0) је free-choice ако и само ако за свако место p важи или 0 2p  или 0 0( ) { }p p . Ѕ-мреже Ѕ-мрежа је подкласа FC мреже у којој сваки прелаз t има највише једно улазно и једно излазно место, тј.: 0 0, 1 1t T t t     Т-мреже Т-мрежа је подкласа FC мреже у којој свако место р има највише један улазни и један излазни прелаз, тј.: 0 0, 1 1p P p p     4.2.3. Петријеве мреже вишег нивоа У раду са нижим Петријевим мрежама, основни проблем су велике димензије модела реаланих система. Да би се овај проблем превазишао, уведене су више Петријеве мреже у којима се користе структурирани жетони и алгебарски изрази. За разлику од ПМ, које су дефинисане на различите начине, за више ПМ постоје интернационални стандарди за синтаксу, семантику и графичку презентацију [44]. Међутим, још увек нису обухваћени и разрешени сви елементи, као што су својства понашања и структурна својства мрежа, чак ни ознаке места (р од енглеског place и италијанског posti или s од немачког stellen ). 81 У ВПМ спадају: ПМ са апстрактним типовима података - алгебарске ПМ где су жетони и правила преласка из једног маркирања у друго дефинисани помоћу алгебарских израза; Environment Relationѕhip (ER) мреже, у којима жетони представљају функције које пресликавају скуп променљивих у скуп вредности; Product (Prod) мреже, које садрже две специјалне врсте грана: инхибитор гране и бришуће гране; традиционалне ВПМ, које чине Predicate/Transition мреже (PrTN) и Обојене ПМ итд. Последње две врсте мрежа су веома сличне. PrTN је прва виша ПМ која је прво теоретски уведена, а њена (широка) примена је објављивана у каснијим радовима. Овде ће детаљније бити описане само Обојене ПМ. Обојене Петријеве мреже Прву верзију обојених ПМ (Coloured Petri Nets, ОПМ), названу CP81-мрежа, дефинисао је 1981. Године Курт Јенсен (Кurt Jensen) у раду “Coloured Petri Nets and the Invariant Method”, а прва свеобухватна дефиниција је објављена 1986. године у раду “Coloured Petri Nets” истог аутора [46,47]. Основна одлика обојених ПМ је да је сваком чвору типа место придружен тип податка, који одређује врсту податка које дато место може да садржи. Сваки жетон у месту носи вредност податка, која припада типу тог места. Ова вредност податка се назива и боја жетона, а тип податка – скуп боја. Како место р у ОПМ може да садржи два или више жетона са истом вредношћу, садржај места се не може представити као скуп, већ као мултискуп (multi-set) жетона [138]. Дефиниција 4.10: Мултискуп ( , )M S m , над непразним скупом Ѕ, где је функција :m S се представља као формална сума  Ss ssm )`( . Са ЅМЅ означава се скуп свих мултискупова над Ѕ, где је МЅ скраћеница за мултискуп (multi-set). Коефицијенти мултискупа су ненегативне целобројне вредности })({ Sssm  . ms акко 0)( sm . Другим речима, m(ѕ) представља број појављивања елемента Ss у мултискупу M. Ако се у неком мултискупу над скупом Ѕ сваки елемент из Ѕ појављује само по једном (1`ѕ, ѕЅ), онда се 82 мултискуп може представити и самим скупом Ѕ. Мултискупови поседују велики број алгебарских својстава и над њима се могу извршити бројне стандардне операције: сабирање, одузимање, множење скаларом итд. Маркирање у обојеним ПМ може да се представи као функција која сваком месту р придружује мултискуп жетона одговарајућег типа. Овај тип податка обухвата све жељене атрибуте моделираног објекта, а може, ако је потребно да буде и неструктуриран. Ознаке које се односе на прелазе и гране обојене ПМ су: - Тип променљиве v, који се означава са Type(v); - Тип описа expr, који се означава са Type(expr); - Скуп променљивих у опису гране expr, који се означава са Var(expr); - Повезивање (binding) скупа променљивих V, који свакој променљивој vV придружује елемент b(v) типа Type(v). Овим се формира повезујући елемент за који посматрани прелаз t може да се догоди; - Вредност добијена евалуацијом описа гране (expr), која се означава са expr. За Var(expr) се захтева да буде истог типа као b, а евалуација се врши замењивањем сваке променљиве vV(expr) вредношћу b(v) типа Type(v), која је одређена повезивањем. Евалуација се врши за све улазне гране посматраног прелаза t. Прелази могу садржати израз, тј. функцију чији је резултат буловска променљива. Ова функција се назива чување (guard). Увођењем ове функције чувања, обезбеђује се да одређени жетон буде омогућен само ако је испуњен услов паљења прелаза, односно ако је вредност функције чувања true. Буловски тип променљиве ({true, false}) означава се са В. Сада је могуће формално дефинисати ОПМ. Дефиниција 4.11 [46]: Обојена ПМ је деветорка ),,,,,,,,( 0MEGCNATPCPN  где је (i)  коначан скуп типова (боја), 83 (ii) },...,,{ 21 npppP  коначан скуп места, (iii) 1 2{ , ,..., }nT t t t коначан скуп прелаза, (iv) )()( PTTPA  коначан скуп грана (v) N: )()( PTTPA  функција чворова, (vi) C:P функција типова (боја), (vii) G функција чувања, која пресликава Т у израз такав да: ])))((Var(Type))((Type[:  tGtGTt B , (viii) Е опис гране, који пресликава А у израз такав да: ])))((Var(Type)())((Type[:  aEpCaEAa MS , где је р место у N(а), (ix) М0 почетна функција, која пресликава P у затворени израз такав да: ])()((Type[: 0 MSpCpMPp  . Израз (i) дефинише типове, тј. боје садржане у мрежи. Изразима (ii -v) је описана структура мреже. Изразом (vi) је описано да се сваком месту придружује тип жетона који могу да се налазе у том месту. Са (vii) је дефинисана буловска функција чувања којом се задају додатни услови паљења прелаза. Изразом (viii) је дефинисано да у опису грана морају да буду садржане променљиве истог типа који је додељен улазном, односно излазном месту гране. На крају, као и у свим врстама ПМ, (ix) представља почетно маркирање на мрежи. Петријева мрежа којом се моделира конкретан процес се углавном не описује на формалан начин, већ се директно приказује графом и описима на графу. Када се ОПМ приказује графички, она се састоји из 3 дела: - Структура мреже, односно оријентисан, бипартитни граф дефинисан са (ii -v) из дефиниције 4.11; - Опис мреже или чвор описа мреже (decsription node), који се графички приказује као правоугаоник у коме се налази опис променљивих, константи и функција који се користе у мрежи; - Ознаке на мрежи: типови места, описи грана, услови паљења прелаза и почетно маркирање на мрежи. 84 4.3. Проширења ПМ Проширења ПМ су последица потреба моделирања конкретних зависности или особина процеса. Тако су нпр. за потребе моделирања слободних ресурса уведене ПМ са инхибиторским гранама [83]. Инхибиторске гране моделирају услов да њихов улазни прелаз може да се запали само када је излазно место празно. Због неодређености многих информација о моделираним процесима, уведене су фази ПМ [17,113]. Ово проширење ПМ увођењем елемената фази логике се може реализовати на више начина: фази маркирања која месту придружују фази број као број жетона или функцију припадности неком месту; фази правила паљења прелаза, итд. Да би се моделирале методе одлучивања уведене су објектне ПМ [40]. У овим мрежама се жетонима моделирају методе одлучивања које представљају жетоне веће системске мреже, у којој су места доносиоци одлуке или конкретни проблеми којима се придружују методе решавања проблема. Листа могућих проширења ПМ је велика. Овде су детаљније описане хијерархијске, временске и стохастичке ПМ. Хијерархијске ПМ Сврха увођења хијерархијских мрежа је разлагање ПМ модела на већи број мањих, који се могу независно анализирати. Овакво хијерархијско моделирање омогућава декомпозицију процеса на различитим нивоима детаљности. Начин увођења хијерархијских мрежа је такав да се хијерархијска ПМ увек може превести у одговарајућу нехијерархијску, и обрнуто. Хијерархијска и њој еквивалентна нехијерархијска мрежа имају иста својства и исто понашање. Хијерархијска ОПМ се формира заменом прелаза подмрежом. Основна идеја замене је да се прелазу и гранама које га окружују додели мрежа која детаљније описује активност коју прелаз представља. Посматрани прелаз се назива надчвор. Мрежа која садржи надчвор се назива надмрежа, а мрежа којом се прелаз описује – подмрежа. Сваки пут када је прелаз омогућен, покреће се једно извршавање (инстанца) придружене подмреже. Свако извршавање креће од другачијег почетног маркирања, зато што је оно увек промењено претходним извршавањем. 85 Временске ПМ У временским ПМ је местима и/или прелазима придружено одређено трајање. Ако је трајање придружено месту р, оно се односи на време које жетон, од момента пристизања у место р, треба да проведе у том месту [83]. У литератури је далеко више разматрано трајање које се придружује прелазима. Разлог за то је што места углавном представљају услове или стања, а прелази представљају операције или акције које имају одређено трајање, односно кашњење. У временској ПМ прелаз се може запалити када је омогућен и спреман (ready). Прелаз је омогућен, као и у случају невременске ПМ, када се у његовим улазним местима налази бар онолико жетона колико је задато описом одговарајуће гране. Прелаз је спреман када је временска вредност жетона у улазним местима већа или једнака тренутном времену глобалног сата [47]. Нека је паљењу прелаза t придружено трајање , и нека паљење t почиње у тренутку Т0. Онда се паљење прелаза t састоји у: уклањању жетона из свих места роt у тренутку Т0, и додавању жетона у сва места рtо у тренутку Т0+. Број и врста жетона који се уклањају, односно додају зависи од описа грана које повезују прелаз са местима. Претпоставља се да између тренутака Т0 и Т0+ жетони остају у прелазу t. Ако у ПМ постоји бар један прелаз са трајањем паљења или бар једно место у коме се жетон задржава одређено време, ПМ је временска. Уобичајено је, ако у ПМ постоје оба типа прелаза (временски и тренутни), да се прелази са трајањем графички приказују правоугаоником, а тренутни линијом. Стохастичке ПМ Трајање придружено паљењу прелаза може бити детерминистичко и стохастичко. Уколико у ПМ постоји бар један прелаз, чије је трајање паљења стохастичко, мрежа се назива стохастичком ПМ (СПМ). Иако је СПМ временска мрежа, постоји велики број аутора који је посматрају као посебну класу ПМ. У СПМ је трајање паљења прелаза случајна величина која подлеже некој расподели, а време потребно за паљење датог прелаза је различито за свако ново паљење прелаза. СПМ имају велику примену у моделирању променљивог трајања операција, што 86 је веома често у системима у којима операције обавља човек или када на трајање операција утичу неки спољни догађаји. Ако у мрежи постоје и тренутни и прелази са стохастичким трајањем, мрежа се назива генерализована стохастичка ПМ (ГСПМ). У [69] је показано како је k-ограничена ПМ, са експоненцијалном расподелом паљења прелаза, изоморфна са коначним Марковљевим ланцем. У [63] је дата веза између ГСПМ и Марковљевих ланаца и алгоритам за реализацију Марковљевих процеса, заснован на ПМ. 4.4. Својства ПМ Основна снага ПМ је у могућности анализирања различитих својстава моделираног система или процеса на основу својстава саме мреже. Својства ПМ се могу поделити у две групе: структурна својства, која зависе само од структуре ПМ и независна су од почетног маркирања и својства понашања (behavioural properties, marking-dependent), која зависе од структуре ПМ и од почетног маркирања. Овде ће бити описана најважнија својства понашања зато што су она значајна за тему овог рада. Достижност Проблем достижности (reachability) се састоји у испитивању да ли систем из тренутног стања може достићи неко жељено или нежељено стање. Када се систем моделира помоћу ПМ, ово испитивање се своди на анализу да ли се жељено или нежељено маркирање може достићи из почетног маркирања 0M . Дефиниција 4.12 [81]: Дата је 0( , , )fPN N M M . Проблем достижности састоји се у испитивању да ли 0( )fM R M . Сложеност проблема достижности зависи од врсте ПМ. За 1-safe ПМ, проблем достижности спада у PSPACE-комплетне проблеме, за ацикличне и 1-safe ацикличне ПМ у НП-комплетне, за Free Choice у EXPSPACE-тешке а за 1-safe Free Choice ПМ у PSPACE-комплетне проблеме [20]. PSPACE проблеми су 87 проблеми код којих рачунарски простор, при решешавању Тјуринговом машином, полиномијално расте са димензијама. За EXPSPACE-тешке проблеме, решавање заузима O(2p(n)) простора, односно потребан рачунарки простор експоненцијално расте са димензијама проблема. У овом раду ће се посматрати још један облик проблема достижности: одредити 0( )R M , скуп свих маркирања достижних из почетног маркирања 0M . У решавању неких проблема (као што ће овде бити случај) је довољно одредити неки подскуп скупа 0( )R M , а не читав скуп, што је лакши проблем. Живост У теорији ПМ се, за испитивање да ли систем може да достигне стање у којем је блокиран, користи концепт живости (liveness). Прелаз t у PN=(N, M0) је жив ако важи 0( )M R M  ' ( )M R M  такво да је t омогућен, тј. t може бити запаљен из сваког маркирања )( 0MRM  . ПМ је жива ако су јој сви прелази живи [83]. Дефиниција 4.12 [20]: Проблем живости састоји се у испитивању да ли је 0( , , )fPN N M M жива. Сложеност проблема живости такође зависи од врсте ПМ. За 1-safe ПМ он спада у PSPACE-комплетне проблеме, за ацикличне ПМ је време његовог решавања линеарно а за 1-safe ацикличне константно, за Free Choice спада у NP-комплетне проблеме а за 1-safe Free Choice ПМ време решавања је полиномијално [20]. Мртво маркирање Мртво маркирање (deadlock) је већ дефинисано (Дефиниција 4.4) као маркирање у коме ни један од прелаза ПМ није омогућен. Проблем мртвог маркирања се може дефинисати на следећи начин: Дефиниција 4.13: Дата је PN =(N, M0). Проблем мртвог маркирања је одређивање да ли је неко од маркирања )( 0MRM  мртво. 88 Сложеност овог проблема је иста као проблема живости за све поменуте врсте ПМ, осим за 1-safe Free Choice ПМ, за које проблем проверавања мртвог маркирања спада у NP-комплетне проблеме [20]. Проблем који ће се разматрати у овом раду је одређивање свих мртвих маркирања достижних из датог M0. Повратност и почетно стање У функционисању система потребно је, када дође до грешке у раду или из неког другог разлога, вратити систем у почетно стање или у неко друго изабрано стање, из кога он даље наставља са радом. Могућност да се системом управља на овај начин се у ПМ испитује помоћу својства повратности и изворног стања (Reversibility и Home State). ПМ је повратна ако је могуће вратити се у почетно маркирање из неког маркирања достижног из почетног, тј. 0 0( ) ( )M R M M R M   . Маркирање Ма у ПМ са почетним маркирањем М0, је изворно стање ако је достижно из било ког маркирања достижног из М0, тј. 0( ) ( )aM R M M R M   [83]. 4.5. Анализа ПМ Петријеве мреже, нарочито ПМ нижег нивоа, представљају моћан алат за анализу многих својстава система. Код виших ПМ се многе од метода за анализу не могу уопште или могу применити веома ограничено. У овом поглављу ће прво бити описана редукција ПМ и једначина стања, а затим технике за анализу ПМ: инваријанте, стабло достижности и симулација. 4.5.1. Редукција ПМ Један од проблема који се јавља у раду са ПМ је величина модела. У неким случајевима је могуће цео ПМ модел декомпоновати на модуле који се могу одвојено анализирати. Редукционе методе се, међутим, користе локално тј. редукују се поједини делови ПМ модела. Редукција је процедура која 89 трансформише ПМ у редуковане мреже или подмреже које чувају жељена својства оригиналне мреже. У литератури се могу наћи различите технике и класификације техника редукције невременских [56,110,71] и временских ПМ [101]. С обзиром на структуру ПМ које ће се проучавти у наставку, овде ће бити приказана само два правила редукције која се на њима могу применити: фузија прелаза и фузија места. Нека је TPX  скуп свих места и прелаза у ПМ, која се сада може представити као четворка: ),,,( 0MWAXPN  . Нека је D(x) степен чвора x, x X. Улазни степен чвора једнак је броју грана које улазе у тај чвор, а излазни степен је једнак броју грана које из чвора излазе [138]. Чвор x се може редуковати ако је и улазни и излазни степен чвора једнак јединици. На слици 4.2. су приказане фузија два места у јединствено место а) и фузија два прелаза у јединствени прелаз б). а) б) Слика 4.2. Фузија места а) и прелаза б) Фузија прелаза и фузија места чувају својства: живости, мртвог маркирања и повратности. 4.5.2. Матрица инциденције и једначина стања Структура ПМ се може описати помоћу матрице инциденције. Дефиниција матрице инциденције је спој дефиниције матрице инциденције бипартитног графа и дефиниције тежинске матрице (матрице растојања) [140]. Дефиниција 4.14 [83]: Матрица инциденције [a ], 1,..., , 1,...,ijA i n j m   чисте (без петљи) PN=(N, М0) је дефинисана на следећи начин: 90 0 0 ( , ) ако ( , ) ако 0 иначе j i j i ij j i j i W t p t p a W t p t p         (4.5) где је n број места, m број прелаза у ПМ, a ),( ij ptW тежина гране ),( ij pt . За чисту бинарну PN =(N,M0) (4.5) постаје: 0 0 1 ако 1 ако 0 иначе j i ij j i t p a t p         Захтев да ПМ буде чиста је зато што елемент који одговара месту р и прелазу t петље (р,t) може бити 1 и –1 истовремено, а сви елементи матице инциденције треба да буду јединствени. Матрица инциденције се може дефинисати и помоћу матрица: [ ]ijA a   и [ ]ijA a    , где је max(0, )ij ija a   и min(0, )ij ija a   при чему важи A A A   . Лако се уочава да је ija  број жетона који се додају месту рi, односно ija  број жетона који се уклања из места рi, после једног паљења прелаза tj. Прелаз tj је омогућен у маркирању М ако [71]: ( ), 1,...,ij ia M p i n   Матрица инциденције се може користити за формирање једначине стања посматраног процеса. Ова једначина омогућава да се аналитички одреди маркирање, које се достиже када се из неког почетног маркирања М0 запали неки дати скуп прелаза. Пре дефинисања једначине стања је потребно увести неке појмове. 91 Нека је дато М0 почетно маркирање и  допустива секвенца паљења прелаза у ПМ. Вектор паљења (firing count) је вектор 1[ ,..., ]mV v v  , где је vj број појављивања (догађања) прелаза tj у секвенци , односно вредност која показује колико се пута прелаз tj запалио. Вектор V се у литератури назива и карактеристични вектор секвенце паљења  [54]. Дефиниција 4.15 [83]: Нека је М маркирање које се добија из почетног маркирања М0, паљењем секвенце . Једначина стања којом се описује трансформација из М0 у М има следећи облик: T T T 0M M A V   (4.6) или T T T 0A V M M M     (4.7) Потребно је нагласити да маркирање, које се одреди помоћу једначине стања (4.6), не може да се достигне ако секвенца паљења  није допустива. Напомена 4.1: Вектор паљења означава само који су се прелази запалили приликом трансформације из М0 у М, а не и којим редоследом. То значи да ће све пермутације секвенце паљења  имати исти вектор паљења. Ова важна особина ће се користити у даљем раду. Ако је потребно одредити маркирање које се добија из почетног маркирања М0 паљењем само једног прелаза tj, вектор паљења V се састоји из m-1 нула и 1 на позицији j. 4.5.3. Инваријанте У теорији ПМ, инваријанта је својство које остаје непромењено за сва достижна маркирања ПМ [94]. Анализа инваријанти је структурни приступ у испитивању својстава ПМ. Могу се анализирати р-инваријанта која се односи на ограниченост ПМ и t-инваријанта којом се испитује живост ПМ. Између њих постоји дуалност, односно свака t-инваријанта ПМ је р-инваријанта дуалне ПМ која се добија транспоновањем матрице инциденције дате ПМ [120]. 92 р-инваријанта Вредност која у сваком стању система остаје инваријантна након паљења прелаза у ПМ представља р-инваријанту [96]. Вектор Z, n ненегативних целих бројева је р- инваријанта ако 0Z A  (4.8) где је А матрица инциденције ПМ, а n број места у ПМ. Својство 4.1: Нека је М0 почетно маркирање мреже PN=(N, М0) и МR(М0). Онда је TT 0 MZMZ  (4.9) где је Z р-инваријанта. Доказ: Множење једначине стања (4.6) са леве стране са А, резултира у: T T T 0Z M Z M Z A V      (4.10) Заменом (4.8) у (4.10) добија се (4.9).  Обрнути исказ својства 4.1 не важи, тј. може постојати М такво да важи (4.9), али да МR(М0). Ако су све компоненте р-инваријанте Z строго позитивне, онда је укупан број жетона у ПМ ограничен. Ако су, уз то, све компоненте једнаке 1, онда укупан број жетона у ПМ остаје константан након било које допустиве секвенце паљења. Скуп свих места која одговарају строго позитивним компонентама р-инваријанте Z се назива носач (support) р-инваријанте и означава са Z . Носач р-инваријанте је минималан ако не садржи носаче других р-инваријанти. За р-инваријанту се каже да је минимална ако не постоји друга р-инваријанта Z1 таква да 1( ) ( ), 1,...,i iZ p Z p i n   . Скуп свих минималних р-инваријанти је база за генерисање р-инваријанти, тј. свака р-инваријанта је линеарна комбинација минималних р-инваријанти. 93 t-инваријанта У контексту теорије ПМ, t-инваријанта се обично односи на вектор паљења који враћа систем у почетно стање [96]. Вектор W, m ненегативних целих бројева је t- инваријанта ако T 0A W  (4.11) где је А матрица инциденције ПМ, а m број прелаза у ПМ. Својство 4.2: Нека је  допустива секвенца паљења, а V одговарајући вектор паљења. Ако је V t-инваријанта, М0 почетно маркирање мреже PN=(N, М0), а М маркирање добијено стартовањем  из М0, тада је М=М0. Доказ следи из једначине стања (4.6). Како је V t-инваријанта и важи (4.11), следи да је T 0A V  , односно из једначине стања, T 0 T MM  .  Ово својство значи да, ако постоје допустиве секвенце паљења 1, 2,…, k, и ако су k V,...,V,V  21 t-инваријанте, стартовањем било које од ових секвенци, једном или више пута, ПМ се враћа у почетно маркирање, односно 0 0 , 1,..., . lM M l k    Обрнути исказ својства 4.2 не важи, тј. може постојати  такво да је V t- инваријанта, али да секвенца паљења  није допустива. Ако је у свим t-инваријантама иста компонента која одговара прелазу tj једнака нули, онда је немогуће вратити се у почетно маркирање након стартовања прелаза tj. У реалном систему, то значи да је немогуће вратити се у почетно стање након извођења операције која одговара нула компоненти t-инваријанте. Скуп свих прелаза који одговарају строго позитивним компонентама t-инваријанте W се назива носач (support) t-инваријанте и означава са W . Носач t-инваријанте је минималан ако не садржи носаче других t-инваријанти. За t-инваријанту се каже да је минимална ако не постоји друга t-инваријанта W1 таква да 1( ) ( ), 1,...,j jW t W t j q   . Скуп свих минималних t-инваријанти је база за генерисање t-инваријанти, тј. свака t-инваријанта је линеарна комбинација минималних t-инваријанти. 94 4.5.4. Граф достижности Испитивање својстава ПМ преко графа достижности (Reachability graph) подразумева пребројавање свих достижних маркирања ПМ. Анализа помоћу графа достижности може да се примени на све класе ПМ. У случају цикличних ПМ, иста маркирања и исте секвенце паљења се могу појавити више пута, па се за краћи приказ свих достижних маркирања користити и граф покривања (Coverability graph). У вишим ПМ се чешће може наћи термин потпуни граф догађања, О-граф (Full Occurrence Graph, O-graph) који садржи сва достижна маркирања у ПМ, граф догађања са класама еквиваленције, ОЕ-граф (Occurrence Graph with Equivalence Classes, OE-graph) који садржи класе еквивалентних маркирања и граф догађања са симетријом, ОС-граф (Occurrence Graph with Symetries, OS-graph) који се може формирати само за више ПМ у којима постоје симетрична маркирања. Пошто су овде предмет проучавања ацикличне ПМ, у наставку ће бити описан граф достижности. Нека је дата PN=(N,M0) и маркирање М. Као што је већ поменуто, проблем достижности састоји се у проверавању да ли постоји секвенца паљења σ која води у М почевши од М0, тј. MM 0 односно )( 0MRM  . За дату PN=(N,M0), из почетног маркирања M0 се може добити онолико нових маркирања колико је омогућених прелаза. Из новодобијених маркирања се, паљењем омогућених прелаза добијају нова маркирања, итд. Сва достижна маркирања представљају се графом достижности. Граф достижности почиње са почетним маркирањем (корен стабла). Свако маркирање на мрежи се представља једним чвором стабла достижности. Грана стабла достижности, која повезује два чвора, представља прелаз чијим се паљењем прелази из улазног чвора (маркирања ПМ) у излазни чвор графа достижности (маркирање ПМ). Формално се граф достижности може описати на следећи начин [33]: 95 Дефиниција 4.16: Нека је дата 0( , )PN N M . Граф достижности дате ПМ је усмерени гарф ( ) ( , )RG PN V E , где су је 0( )V R M скуп чворова и 0{ , , ' , ' ( ) '} tE M t M M M R M M M    скуп грана. Конструкција графа достижности је веома тежак проблем, са рачунарске стране, јер простор стања (достижних маркирања) може експоненцијално да расте са димензијама ПМ. Због тога је развијен велики број алгоритама којим се покушава да се превазиђе комбинаторна експлозија. У наставку је приказан општи алгоритам конструкције графа достижности [33]. Алгоритам 4.1 Конструкција графа достижности Улаз: 0( , )PN N M Излаз: ( ) ( , )RG PN V E 1. Иницијализација: 0( ) ({ }, )RG PN M  , 0M је необележен; 2. Док има необележених чворова у V ради: 2.1. изабрати необележени чвор M V и обележити га 2.2 за сваки омогућени прелаз t у M израчунати све 'M такве да 'tM M ; 2.3 { '}V V M  , 'M је неозначени чвор; 2.4 { , , ' }E E M t M  3. Крај алгоритма. ( ) ( , )RG PN V E је граф достижности. 4.5.5. Симулација ПМ Већина ПМ је намењена испитивању логичке исправности система и процеса, односно њихових динамичких својстава и функционалности. Међутим, ПМ, нарочито оне вишег реда, се могу користити и за испитивање перформанси као што су: време потребно за извршење циклуса, максимално време извршења неке активности, просечно време чекања на испуњење неког услова, просечан број 96 објеката који чекају да се над њима изврши нека активност итд. За овакву анализу користи се симулација. Како трајања активности углавном нису константна већ подлежу некој расподели, најбоље је симулирати ГСПМ. На основу резултата симулације, мере се вредности статистичких променљивих које представљају перформансе које је потребно испитати. Ове статистичке променљиве могу бити невременске (untimed) и временске (timed) [60]. Максимална, минимална, прва, последња, просечна вредност, број појављивања, сума, просечна вредност и варијанса су перформансе које се могу мерити помоћу оба типа променљивих. Тренутак првог или последњег појављивања, време извршавања активности и други временски интервали, се могу мерити само временским променљивама. Да би се симулирала ПМ, неопходна је примена софтверског пакета који омогућава симулацију и мерење њених резултата. 4.6. Инверзне ПМ Метода за генерисање минискупова, која ће бити представљена у овом раду, заснива се на коришћењу инверзних Петријевих мрежа (ИПМ). У литератури на енглеском језику се, за ову врсту ПМ, могу наћи термини inversed, reverse и backward, тако да се могу назваи и Обрнуте ПМ.. Појам инверзне ПМ преузет је из теорије графова у којима постоји дефиниција обрнутих графова. Дефиниција 4.17 [11]: Обрнути граф усмереног графа графа ( , )G V E је усмерени граф ( , )R RG V E са истим скупом чворова као G али са супротно оријентисаним гранама: {( , ) ( , ) }RE u v v u E  . ИПМ су у [82] дефинисане на следећи начин: Дефиниција 4.18: Инверзна ПМ дате ПМ, чија је структура ( , , )N P T F , је Петријева мрежа са структуром ( , , )RRN P T F , где је RF скуп супротно оријентисаних грана из F , тј. {( , ) ( , ) }RF u v v u F  . 97 Напомена 4.2: Пошто су све гране обрнуто оријентисане, матрица инциденције ИПМ може да се изрази као [ ], 1,..., ; 1,...,ijA a i m j n     , где је [ ], 1,..., ; 1,...,ijA a i m j n   матрица инциденције дате ПМ. Својство ИПМ, које је веома значајно за развој методе описане у овом раду, је: Својство 4.3: Нека су 0M и M маркирања ПМ и њене ИПМ, и нека је M достижно из 0M у ПМ. Тада је маркирање 0M достижно из маркирања M у ИПМ. Доказ: Трансформација из 0M у M у ПМ је дата једначином стања (4.6) која је еквивалнтна следећим једначинама: 0 M M A V   0 ( )M M A V    . (4.12) Једначина (4.12) је једначина стања која описује прелазак из M у 0M у ПМ са матрицом инциденције A , тј. у ИПМ дате ПМ.  Напомена 4.3: Секвенце паљења којима се врше трансформације 0M M и 0M M су обрнуте. Међутим, вектор паљења V је исти у обе једначине, зато што он означава само број паљења одређеног прелаза у секвенци али не и саму секвенцу паљења. 4.7. Област примене ПМ Петријеве мреже имају веома широку област примене, а користе их углавном истраживачки центри великих компанија у сарадњи са универзитетским институтима и департманима. Прва практична примена везана је за Bell Telephone Laboratories шездесетих година XX века, где су коришћене, у сарадњи са К.А. Петријем, за потребе тима за симулацију пројекта ESS-1 (Electronic switching system) [37,14]. Већина врста и проширења ПМ су развијене из практичних примена, а број врста које су прво теоријски конципиране је незнатан. Област 98 примене различитих класа ПМ је широка али са још увек великим простором за истраживање. Овде је издвојено неколико карактеристичних области, као и домети коришћења ПМ код нас. Поред примене у анализи позданости, која ће бити детаљније описана у следећој глави, неке од најчешћих области примене су:  Протоколи и мреже: Моделирање и валидација IPv6 протокола у Ericsson Telebit. Обојени ПМ модели и симулација су коришћени у анализи и избору сценарија за комуникацију [52]. Телекомуникационе мреже у Кoмапнији Deutsche Telekom. Објектно оријентисане ПМ су коришћене у раздвајању процеса на улоге чија је валидација извршена помоћу ПМ, прво појединачно, а затим процеса као целине [16]. Моделирање и анализа различитих варијанти TCP протокола, као део већег пројекта моделирања у сарадњи са Hewlett-Packard [6].  Војне примене: Програм управљања нуклеарним отпадом у САД [70]. Анализа перформанси командних компоненти NASA система осматрања земље [68]. Симулатор рада пројектила у Аустралији (управа Јужноаустралијског Универзитета и DSTO - Defence Science and Tehnology Organisation) [35]. Систем поморске команде и контроле у Канади. ПМ су коришћене за оцену перформанси у случају различитих одлука о рапореду наоружања [4].  Софтвер и хардвер: Моделирање и анализа дизајна и понашања VLSI чипова (Meta Software, Cambridge MA) [99]. Моделирање и симулација система за складиштење докумената [95]. Моделирање интеракције композитног веб сервиса са осталим веб сервисима [121].  Примене у саобраћају: Систем контроле Европских возова у Немачкој (Institute for Control and Automation Engineering at the Technical University of Braunschweig) [45]. Саобраћајна сигнализација у Бразилу [76]. Планирање секвенце слетања авиона на фреквентним аеродромима (German Aerospace Center) [73]. Симулација сигналисане Т-раскрснице [126].  Workflows и пословни процеси: Моделирање механизама за расподелу посла са аспекта ресурса [77]. Конфигурација и тестирање пословних процеса софтверским пакетом Protos2CPN, базираним на обојеним ПМ [36]. Моделирање пословних 99 процеса у финансијама [53]. Симулација и анализа ефекта бича у ланцима снабдевања [64]. Моделирање и симулација процеса у производњи [57,1,62,130]. Моделирање и анализа процеса контроле залиха [3]. Моделирање и симулација процеса пријема робе код велепродаваца воћа [136].  Остале примене: Симулација биохемијских процеса у организму [32,93]. СПМ модел система за праћење пацијената [102]. Моделирање процеса издавања часописа YUJOR [132]. Моделирање и симулација система одржавања аутобуса ГСП [128]. Закључивање о исправности аутобуса помоћу фази ПМ [113]. Симулација система са редовима чекања [131]. 100 5. ПРИМЕНА ПМ У АСН Прве примене ПМ у анализи поузданости почеле су већ седамдесетих година прошлог века [71]. Квалитативна анализа СН помоћу ПМ је први пут објављена касних осамдесетих година у [43]. Већ 1989. године, овај приступ је практично примењен у војној индустрији [67]. Интересовање за АСН помоћу ПМ постоји континуирано до данас и, поред БДО, највећи број публикација везаних за АСН је из области ПМ. Пошто је предмет овог рада квалитативна анализа СН, овде ће бити приказан преглед алгоритама за одређивање минипресека СН заснованих на ПМ. Пре тога ће бити објашњене основне поставке моделирања СН помоћу ПМ приказане у [43], на којима се заснивају касније методе других аутора. Хура (Hura) и Атвуд (Atwood) су први пут применили ПМ у анализи кохерентног СН. Полазна тачка моделирања СН помоћу ПМ је да се логичка кола типа И и ИЛИ могу директно моделирати Петријевим мрежама (слике 5.1. и 5.2). P2 . t P3 P1 p1 p2 p3 . Слика 5.1. Логичко коло типа И и његова еквивалентна ПМ P2 . P3 P1 p1 p2 p3 t1 t2 Слика 5.2. Логичко коло типа ИЛИ и његова еквивалентна ПМ Местима ПМ моделирани су догађаји СН (примарни и посредни). Присуство жетона у месту означава да се одговарајући отказ одиграо. У случају оба логичка кола са слика 5.1. и 5.2, почетно маркирање T[0,0,1]M одговара стању када се десио нежељени (вршни) догађај P3 . 101 Прелазима су моделирана логичка кола. У случају логичког кола типа И, до отказа P3 ће доћи ако се истовремено десе откази P1 и P2 . На еквивалетној ПМ (ЕПМ) са слике 5.1, жетон ће се појавити у месту 3p паљењем прелаза t само ако у оба улазна места 1p и 2p тог прелаза постоје жетони. Ако је логичко коло типа ИЛИ, до отказа P3 ће доћи ако се деси бар један од отказа P1 и P2 . На ЕПМ са слике 5.2, жетон ће се појавити у месту 3p паљењем прелаза 1t или 2t , односно ако бар једном од њихових улазних места 1p и 2p постоји жетон. Кохерентно СН је скуп логичких кола типа И и ИЛИ, тако да се сваком кохерентном СН може придружити ЕПМ. Пример На слици 5.3. је приказана ЕПМ СН са слике 2.4. ЕПМ је добијена разлагањем СН на појединачна логичка кола, њиховим моделирањем одговарајућим ПМ структурама и поновним спајањем у јединствену ПМ. p7 p8 p13 p14 p6p5 p9 p15 p4 p10 p2 p3 p1 t5 t6 t12 t4 t7 t9 t11 t10 t13 t3 t2t1 p11 p12 t8 Слика 5.3. ЕПМ за СН са слике 2.4. Динамика ЕПМ се може анализирати једначином стања (4.6): T T T 0M M A V   102 У случају логичког кола типа И, једначина стања којом се приказује прелазак из почетног маркирања T 0 [1,1,0]M  у нежељено стање T[0,0,1]M  , има облик:   0 1 1 0 1 1 1 1 0 1                           . У случају логичког кола типа ИЛИ, једначина стања којом се приказује прелазак из почетног маркирања T 0 [1,0,0]M  у нежељено стање T[0,0,1]M  , има облик: 0 1 1 0 1 0 0 0 1 0 1 0 1 1                              . Метода за одређивање отказа, која је приказана у [43], заснована је на једначини стања. Основна идеја је преузета из [71] где је други Кирхофов закон примењен на маркирани граф. Нека су 0M и M почетно и коначно маркирање и 0M M M   њихова разлика. Једначина стања (4.6) се сада може написати у облику: TM A V   (5.1) Вектори M и TA V треба да буду једнаки, односно њихова разлика TE A V M   треба да буде нула-вектор. Ако није добијен нула-вектор, онда елемент i , различит од нуле у колона вектору E , указује да i -том месту у ПМ треба променити маркирање. Ова метода се примењује за суседна маркирања (стања) и омогућава одређивање само по једног отказа у сваком кораку. То значи да ће у сваком кораку вектор паљења V садржати само један елемент различит од нуле. 5.1. Графичка метода за одређивање минипресека Графичка метода је приказана у [61], а основна идеја је преузета из MOCUS алгоритма. Ради једноставнијег описа алгоритма биће уведени следећи појмови: - Примарна места – места Петријеве мреже која моделирају примарне догађаје, 103 - Вршно место – место Петријеве мреже које моделира вршни догађај, - Рута – низ грана, места и прелаза којима су повезана два места у Петријевој мрежи. Уколико у СН постоје догађаји чија је вишеструкост већа од 1, свако њихово понављање се моделира местима са истом ознаком. Алгоритам методе се састоји од следећих пет корака: 1. Ако је примарно место повезано са вршним местом тако да на њиховој рути нема ни једног прелаза са више улазних места, онда одговарајући примарни догађај представља минипресек. 2. Ако на рути од примарног до вршног места постоји прелаз са више улазних места, поређати хоризонтално (у исти ред) сва улазна места тог прелаза. (Није неопходно разматрати руте од хоризонтално поређаних места до вршног места.) 3. Заменити хоризонтално поређана места њиховим примарним местима, односно хоризонтално поређана места посматрати као суб-вршна места, и понављати кораке 1-3 док се не дође до примарних места. 4. Уклонити надскупове, односно скупове пресека који садрже друге скупове пресека. Резултат су минипресеци. Пример Метода ће бити илустрована на СН са слике 2.1. На основу СН нумерисаног за примену MOCUS алгоритма, са слике 2.5, формирана је ПМ која је приказана на слици 5.4, заједно са поступком добијања минипресека помоћу графичке методе. У табели са слике, у трећем кораку су подвучени скупови пресека који се редукују, а у четвртом је добијено свих седам минипресека датог СН 104 1 2 G4 3 G1 G2 T 4 6 2 G5 3 G3 5 7 Кораци 1 2 3 4 1 1 1 1 2, G3 2,2 2,2 2 2,G5 2,5 2,7 2,3 2,3 4,G3 4,2 4,2 4,G5 4,5 4,5 4,7 4,7 4,3 4,3 6,G3 6,2 6,2 6,G5 6,5 6,5 6,7 6,7 6,3 6,3 3,G3 3,2 3,2 3,G5 3,5 3,7 3,3 3,3 2, G2 2,2 2,2 2,G4 2,4 2,6 2,3 2,3 5,G2 5,2 5,2 5,G4 5,4 5,6 5,3 5,3 7,G2 7,2 7,2 7,G4 7,4 7,6 7,3 7,3 3, G2 3,2 3,2 3,G4 3,4 3,6 3,3 3,3 3 Слика 5.4. ПМ за СН са слике 2.5. и кораци графичке методе . 5.2. Матрична метода У [119] је приказана одозго наниже матрична методе за одређивање минималних скупова пресека помоћу ПМ. Метода полази од већ формиране и нумерисане ПМ за дато СН. Препорука аутора је да се нумерисање врши одоздо на горе и то прво места којима се моделирају примарни, а затим места којима се моделирају 105 посредни догађаји. Уколико у СН постоје догађаји чија је вишеструкост већа од 1, свако понављање догађаја се моделира посебним местом ПМ. Правила за добијање минипресека матричном методом су: 1. За ИЛИ везу: уписати ознаке излазних места у истом реду. 2. За И везу: уписати ознаке излазних места у истој колони. 3. Приликом прослеђивања ИЛИ везе неког улазног места, елементи из његове колоне постају заједнички за сва његова излазна места. 4. Полазећи од вршног догађаја примењивати кораке 1-3, док сва места не буду замењена примарним догађајима. На тај начин је формирана матрица примарних догађаја. Колоне вектори ове матрице представљају скупове пресека. 5. Применити редукцију уклањањем надскупова. Колоне вектори које преостају су минипресеци. Пример ПМ са СН са слике 2.4, нумерисана одоздо на горе, приказана је на слици 5.5. t13 t5 t6 t7 t11 t12 p5 p10 p6 p12 p9p14 p15 p1 p2 t2 t8 t9 t10 p7 p11 p8 p13 t1 p3 p4 t4t3 Слика 5.5. ПМ за СН са слике 2.4. нумерисана за примену матричне методе 106 Поступак примене матричне методе је:  14 9     12    13 9    5 5 5 10 10 10 6 6 6    7 11 8 7 11 8 7 11 8 9    5 5 5 5 1 1 1 1 2 2 2 2 6 6 6 6    7 3 4 8 7 3 4 8 7 3 4 8 7 3 4 8 9    5 5 5 5 1 1 1 1 2 2 2 2 6 6 6 6    5 3 4 6 5 3 4 6 5 3 4 6 5 3 4 6 9    1 1 2 2    5 3 4 3 4 6 9 Колоне четврте матрице представљају свих 17 скупова пресека СН са слике 2.4. У петој матрици су сва понављања вишеструких догађаја означена истим бројевима, а у последњој матрици је, након примене закона апсорпције и уклањања надскупова, добијено свих 7 минипресека датог СН. 5.3. Подела ПМ на нивое У [92] је приказан алгоритам за налажење минипресека кохерентног СН, којим се ПМ дели и траже путеви од листова до корена преко веза између прелаза различитих нивоа. Алгоритам се састоји од следећих осам корака: 1. Анализирати структуру СН и поделити га у нивое. 2. Поставити почетно маркирање тако да свако место p за које важи 0 p  садржи жетон. 3. Наћи све омогућене прелазе (прелазе који се могу запалити). 4. Направити све могуће комбинације омогућених прелаза различитих нивоа 107 и у свакој комбинацији запалити све прелазе ijt , идући од нижег нивоа ка вишем. Индекс i се односи на ниво СН, а индекс j на прелаз у нивоу СН. 5. Издвојити све секвенце паљења прелаза ={ , коначно} k k  које трансформишу М0 у Мn. Мn су сва маркирања у којима место које моделира вршни догађај саджи жетон. 6. Заменити свако ij kt  скупом места 0 ijt . Нађени скуп места је скуп пресека. 7. Одбацити места p за која важи 0 p  и 0p  . 8. Упоредити свака два скупа пресека и издвојити минипресеке. Пример На слици 5.6. је приказана ПМ за СН са слике 2.4, подељена по нивоима, нумерисана за примену алгоритма и са почетним маркирањем одређеним на основу корака 2 алгоритма. . . . t42 t21 t22 t23 t31 t41 p21 p22 p23 p31 p42p41 p43 . . p11 p12 t12 . . t24 t25 t26 p24 p25 p26 p32 t11 . . p13 p14 t14t13 Ниво 1 Ниво 2 Ниво 3 Ниво 4 Слика 5.6. ПМ за СН са слике 2.4, подељена на нивое С обзиром да се предложени алгоритам односи на СН без вишеструких догађаја, резултат алгоритма у случају ПМ са слике 5.6. ће бити скупови пресека датог СН. 1. ПМ је подељена у четири нивоа. 108 2. Почетно маркирање је М0 = [111110110100010]. 3. На нивоу 1 омогућени су прелази: 11 12 13 14, , ,t t t t , на нивоу 2 прелази: 21 23 24 26, , , ,t t t t на нивоу 3 нема омогућених прелаза и на нивоу 4 омогућен је прелаз 42t . 4. Комбинације прелаза су: 1. 0 прелаза нивоа 1 и 2 и 1 прелаз нивоа 4:  1 42t   крајње маркирање 41 1p  2. 0 прелаза нивоа 1, 1 прелаз нивоа 2 и 0 прелаза нивоа 4:  2 21t   31t није омогућен, крајње маркирање 41 0p   3 23t   31t није омогућен, крајње маркирање 41 0p   3 24t   31t није омогућен, крајње маркирање 41 0p   5 26t   31t није омогућен, крајње маркирање 41 0p  3. 0 прелаза нивоа 1, 2 прелаза нивоа 2 и 0 прелаза нивоа 4:  6 21 23,t t   31t није омогућен, крајње маркирање 41 0p   7 21 24,t t   31t и 41t су омогућени, крајње маркирање 41 1p   8 21 26,t t   31t и 41t су омогућени, крајње маркирање 41 1p   9 23 24,t t   31t и 41t су омогућени, крајње маркирање 41 1p   10 23 26,t t   31t и 41t су омогућени, крајње маркирање 41 1p   11 24 26,t t   31t није омогућен, крајње маркирање 41 0p  4. 0 прелаза нивоа 1, 3 прелаза нивоа 2 и 0 прелаза нивоа 4:  12 21 23 24, ,t t t   31t и 41t су омогућени, крајње маркирање 41 1p   13 21 23 26, ,t t t   31t и 41t су омогућени, крајње маркирање 41 1p   14 23 24 26, ,t t t   31t и 41t су омогућени, крајње маркирање 41 1p  5. 0 прелаза нивоа 1, 4 прелаза нивоа 2 и 0 прелаза нивоа 4:  15 21 23 24 26, , ,t t t t   31t и 41t су омогућени, крајње маркирање 41 1p  На исти начин су испитане све остале комбинације омогућених прелаза. У табели 5.1. је дата листа комбинација и броја секвенци за сваку од комбинација. Укупно 109 постоји 49 комбинација. Међутим, из табеле су изостављене: 4 комбинације са прелазима другог и четвртог нивоа, 4 комбинације са прелазима првог и четвртог нивоа и 16 комбинација са прелазима сва три нивоа. Ове комбинације су изостављене, јер је очигледно да ће све бити редуковане у кораку 8, с обзиром да постоји само један омогућени прелаз нивоа 4, који је већ укључен као једини прелаз прве комбинације. Поред тога, у табели су за сваку комбинацију приказане секвенце паљења које трансформишу М0 у Мn, односно резултат корака 5. Због великог броја секвенци, након 18. комбинације приказане су само ознаке секвенци које се добијају у овом кораку. У следећој колони табеле приказани су одговарајући скупови места ПМ који су резултат корака 6. У последњој колони су приказани резултати корака 7 и 8. Табела 5.1. Кораци 2-4 алгоритма Rochdi-а број t по нивоима кораци р.б. 1 2 4 секвенце 5 6 7 и 8 1 0 0 1 1 1 42t  42p 42p 2 0 1 0 2 - 5 / / 3 0 2 0 6 - 11 7 21 24 31 41, , ,t t t t  8 21 26 31 41, , ,t t t t  9 23 24 31 41, , ,t t t t  10 23 26 31 41, , ,t t t t  21 24 31 32 41, , , ,p p p p p 21 26 31 32 41, , , ,p p p p p 23 24 31 32 41, , , ,p p p p p 23 26 31 32 41, , , ,p p p p p 21 24,p p 21 26,p p 23 24,p p 23 26,p p 4 0 3 0 12 - 14 12 21 23 24 31 41, , , ,t t t t t  13 21 23 26 31 41, , , ,t t t t t  14 23 24 26 31 41, , , ,t t t t t  21 23 24 31 32 41, , , , ,p p p p p p 21 23 26 31 32 41, , , , ,p p p p p p 23 24 26 31 32 41, , , , ,p p p p p p / 5 0 4 0 15 15 21 23 24 26 31 41, , , , ,t t t t t t  21 23 24 26 31 32 41, , , , , ,p p p p p p p / 6 1 0 0 16 - 19 / / 7 2 0 0 20 - 25 21 11 13 31 41, , ,t t t t  22 11 14 31 41, , ,t t t t  23 12 13 31 41, , ,t t t t  24 12 14 31 41, , ,t t t t  11 13 31 32 41, , , ,p p p p p 11 14 31 32 41, , , ,p p p p p 12 13 31 32 41, , , ,p p p p p 12 14 31 32 41, , , ,p p p p p 11 13,p p 11 14,p p 12 13,p p 12 14,p p 8 3 0 0 26 - 28 26 11 12 13 31 41, , , ,t t t t t  27 11 12 14 31 41, , , ,t t t t t  28 12 13 14 31 41, , , ,t t t t t  11 12 13 31 32 41, , , , ,p p p p p p 11 12 14 31 32 41, , , , ,p p p p p p 12 13 14 31 32 41, , , , ,p p p p p p / 9 4 0 0 29 29 11 12 13 14 31 41, , , , ,t t t t t t  11 12 13 14 31 32 41, , , , , ,p p p p p p p / 110 број t по нивоима кораци р.б. 1 2 4 секвенце 5 6 7 и 8 18 1 1 0 30 - 45 32, 33, 36 - 39, 42, 43 8 11 24,p p 11 26,p p 12 24,p p 12 26,p p 13 21,p p 13 22,p p 14 21,p p 14 22,p p 19 1 2 0 46 - 69 47 - 51, 53 - 62, 64 - 68 20 / 20 1 3 0 70 - 81 70 - 81 22 / 21 1 4 0 82 - 85 82 - 85 4 / 22 2 1 0 86 - 109 88 - 107 10 / 23 2 2 0 110 - 145 111 - 144 34 / 24 2 3 0 146 - 163 146 - 163 18 / 25 2 4 0 164 - 169 164 - 169 6 / 26 3 1 0 170 - 181 170 - 181 12 / 27 3 2 0 182 - 199 182 - 199 18 / 28 3 3 0 200 - 208 200 - 208 9 / 29 3 4 0 209 - 211 209 - 211 3 / 30 4 1 0 212 - 215 212 - 215 4 / 31 4 2 0 216 - 221 216 - 221 6 / 32 4 3 0 222 - 224 222 - 224 3 / 33 4 4 0 225 225 1 / Резултат корака 8 је свих 17 скупова пресека СН са слике 2.4. Сами аутори у [92] наглашавају непогодност алгоритма за одређивање минипресека за СН великих димензија и предлажу редукцију ПМ помоћу фузије прелаза за превазилажење проблема комбинаторне експлозије. 111 5.4. Одређивање минипресека помоћу t-инваријанте Одређивање минипресека помоћу t-инваријанте ПМ приказано је у [9]. Овај приступ се разликује од претходних зато што се не пролази кроз СН да би се одредили минипресеци, већ се директно, на основу структуре целог СН израженог преко матрице инциденције, одређују минипресеци. Алгоритам је првенствено намењен налажењу минипресека ГСПМ датог СН. Међутим, првим кораком алгоритма, ГСПМ се брисањем инхибиторских грана и уклањањем петљи, своди на елементарну ПМ. Уколико у СН постоје примарни догађаји чија је вишеструкост већа од 1, сва понављања истог вишестуког догађаја се моделирају истим местом ПМ. Након формирања ПМ датог СН, примењују се следећа четири корака: 1. Додати по један прелаз извор сваком месту које моделира примарни догађај СН и прелаз ушће месту које моделира вршни догађај. 2. Одредити t-инваријанте. Из t-инваријанти елиминисати све прелазе који нису извори. 3. Одредити носаче t-инваријанти. Добијени скупови одговарају скуповима пресека датог СН. 4. Елиминисати надскупове. Преостали скупови одговарају минипресецима датог СН. Овде су извршене две модификације алгоритма: Прво, изостављен је први корак оригиналног алгоритма, јер се овде разматрају само елементарне ПМ. Друга модификација убрзава одређивање минипресека. Наиме, оригиналним алгоритмом се прво одређују t-инваријанте и скупови места која одговарају добијеним инваријантама. Након тога се, из добијених скупова места, искључују места која не моделирају примарне догађаје. На крају се елиминишу надскупови. Пошто у ПМ датог СН прелази извори постоје само као улазни извори места која одговарају примарним догађајима, ефикасније је прво из t-варијанти елимисати прелазе који су улазни за места која моделирају посредне догађаје, па тек након тога одредити одговарајуће скупове места инваријанти. 112 Идеја приступа из [9] је оригинална и веома интересантна. Наиме, када се Петријевом мрежом моделира СН, t-иваријанте се могу интерпретирати као секвенце паљења прелаза које, стартујући из празног маркирања, воде у празно маркирање. Пошто је посматрана ПМ ациклична, празно маркирање је могуће постићи само ако се на почетку запали одговарајућа комбинација прелаза извора, а као последњи запали прелаз ушће. Прелаз ушће ће се запалити само ако се у његовом улазном месту, које моделира вршни догађај односно отказ система, појави жетон. Пример Алгоритам ће бити илустрован на истом примеру као и остали у овом поглављу. 1. На слици 5.7. је приказана ПМ за СН са слике 2.4, модификована увођењем седам прелаза извора и једног прелаза ушћа и њена транспонована матрица инциденције. t18 t11 t12 t13 t15 t17 p6p5 p7 p9 p12p11 p13 p1 p2 t6 t14 p8 p10 t5 p3 p4 t10t9 t1 t2 t3 t4 t7 t8 t16 t19 1 2 3 4 5 6 7 8 9 10 11 12 13 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 T p p p p p p p p p p p p p t t t t t t t t t A t t t t t t t t t t     0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 1 1 0 0 0 0 0 0 0 0 0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1                                                              Слика 5.7. ПМ са додатним прелазима и матрица инциденције 113 2. t-инваријанте су n-вектори W који се одређују на основу (4.11): T 0A W  где је А матрица инциденције ПМ, а n број прелаза у ПМ. У овом случају постоји додатни услов да су све вредности вектора W бинарне. Решавањем система (4.11) за матрицу инциденције са слике 5.7, добијају се следећа решења: W1= [1 0 1 0 1 0 0 0 1 0 1 0 0 1 1 0 1 0 1] W2= [1 0 0 1 1 0 0 0 0 1 1 0 0 1 1 0 1 0 1] W3= [0 1 1 0 0 1 0 0 1 0 1 0 0 1 1 0 1 0 1] W4= [0 1 0 1 0 1 0 0 0 1 1 0 0 1 1 0 1 0 1] W5= [0 0 0 0 0 0 1 0 0 0 0 1 0 0 1 0 1 0 1] W6= [0 0 0 0 0 0 0 1 0 0 0 0 1 0 1 0 1 0 1] W7= [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1] Одговарајуће t-инваријанте су: 1 3 5 9 11 14 15 17 19{ , , , , , , , , }t t t t t t t t t , 1 4 5 10 11 14 15 17 19{ , , , , , , , , }t t t t t t t t t , 2 3 6 9 11 14 15 17 19{ , , , , , , , , }t t t t t t t t t , 2 4 6 10 11 14 15 17 19{ , , , , , , , , }t t t t t t t t t , 7 12 15 17 19{ , , , , }t t t t t , 8 13 15 17 19{ , , , , }t t t t t и 16 18 19{ , , }t t t . Елиминисањем свих прелаза који нису извор, добијају се следеће редуковане t-инваријанте: 1 3{ , }t t , 1 4{ , }t t , 2 3{ , }t t , 2 4{ , }t t , 7{ }t , 8{ }t и 16{ }t . 3. Носачи добијених t-инваријанти су: 1 3{ , }p p , 1 4{ , }p p , 2 3{ , }p p , 2 4{ , }p p , 6{ }p , 7{ }p и 12{ }p и одговарају минипресецима датог СН. 5.5. Одређивање минипресека на основу матрице инциденције ПМ Одређивање минипресека на основу веза између улаза и излаза у матрици инциденције ПМ датог СН приказано је у [117] и [118]. Због лакшег разумевања алгоритма, уведени су појмови: вршно, посредно и примарно место за описивање места ПМ, којима се моделирају вршни, посредни и примарни догађаји СН, респективно. Поред тога, уведен је однос улаза и излаза између места, тако да се 114 за место ip каже да је улазно место места jp , ако постоји прелаз t такав да 0 it p и 0 jt p , односно прелаз чије је ip улазно а jp излазно место. Иако се одређивање минипресека врши помоћу матрице инциденције, у овом алгоритму се то не врши директно, као у алгоритму из 5.1.4. Наиме, овде се пролази кроз матрицу инциденције, чиме се, посредно пролази кроз дату ПМ. Алгоритам за одређивање минипресека помоћу матрице инциденције ПМ (АИ) се састоји од следећих 6 корака: 1. Наћи ред који садржи само вредности 1 и 0 и не садржи -1. Тај ред се назива ред вршног места, односно то је ред који садржи само излазна места. Затим почети претраживање од вршног реда. 2. Наћи вредност -1 у колони у којој вршни ред има вредност 1. Место које одговара реду са вредношћу -1 у тој колони је улазно место вршног места. Ако у колони постоји више вредности -1 , то значи да одговарајући прелаз има више излазних места, што даље значи да су сва та места у И вези. 3. Наћи вредност 1 у редовима места која су пронађена у кораку 2. Ако вредност 1 постоји у реду, значи да је у питању посредно место ПМ и тада понављати корак 2, све док се не дође до реда који садржи само вредност - 1. Ако вредност 1 не постоји у реду, нађено је примарно место. Ако у реду постоји више вредности 1, то значи да одговарајуће место има више улазних места која су у ИЛИ вези. 4. Понављати кораке 2 и 3 док се не нађу сва примарна места. 5. Заменити сва примарна места на основу И и ИЛИ веза да би се одредили скупови пресека. 6. Користити законе апсорпције и идемпотенције за одређивање минипресека. Уколико у СН постоји догађај чија је вишеструкост већа од 1, сва његова понављања се моделирају једним местом ПМ и повезују са свим својим излазним местима. Тиме се постиже графичка јасноћа и аритметичка једноставност ПМ. 115 Пример На слици 5.8. је приказана ПМ за СН са слике 2.4. која је формирана на описани начин и њена матрица инциденције. t11 t5 t6 t7 t9 t10 p6p5 p7 p9 p12p11 p13 p1 p2 t2 t8 p8 p10 t1 p3 p4 t4t3 1 2 3 4 5 6 7 8 9 10 11 1 2 3 4 5 6 7 8 9 10 11 12 13 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 1 0 0 0 1 0 0 0 0 0 0 0 1 1 1 0 1 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 1 t t t t t t t t t t t p p p p p p A p p p p p p p              0 0 0 0 0 0 0 0 0 1 1                                          Слика 5.8. ПМ за СН са слике 2.4, нумерисана за примену алгоритма АИ 1. Тринаести ред је вршни ред. 2. Вредност 1 је у колонама 10 и 11. Улазна места прелаза 10t и 11t су у ИЛИ вези. У 10. колони вредност -1 је у 11. реду а у 11. колони у 12. реду.  13 11 12p p p  3. У 11. реду вредност 1 је у 9. колони. У 9. колони вредност -1 је у 9. и 10. реду. Места 9p и 10p су у И вези, односно 11 9 10p p p . У 9. реду вредност 1 је у колонама 5, 6 и 7. Улазна места прелаза 5t , 6t и 7t су у ИЛИ вези. У 5. колони вредност -1 је у 5. реду, у 6. колони у 6. реду а у 7. колони у 7. реду.  9 5 6 7p p p p   . У 5. реду вредност 1 је у колонама 1 и 2. Улазна места прелаза 1t и 2t су у ИЛИ вези. У 1. колони вредност -1 је у 1. реду, у 2. колони у 2. реду.  5 1 2p p p  . У редовима 1 и 2 нема вредности 1, што значи да су 1p и 2p примарна места. 116 У редовима 6 и 7 нема вредности 1, што значи да су 6p и 7p примарна места.  9 1 2 6 7p p p p p    4. У 10. реду вредност 1 је у колонама 6, 7 и 8. Улазна места прелаза 6t , 7t и 8t су у ИЛИ вези. У 6. колони вредност -1 је у 6. реду, у 7. колони у 7. реду а у 8. колони у 8. реду.  10 6 7 8p p p p   . У редовима 6 и 7 нема вредности 1, што значи да су 6p и 7p примарна места. У 8. реду вредност 1 је у колонама 3 и 4. Улазна места прелаза 3t и 4t су у ИЛИ вези. У 3. колони вредност -1 је у 3. реду, у 4. колони у 4. реду.  8 3 4p p p  . У редовима 3 и 4 нема вредности 1, што значи да су 3p и 4p примарна места.  10 6 7 3 4p p p p p    5. Свих 17 скупова пресека се одређују заменом свих претходно добијених релација. 13 11 12p p p  13 9 10 12p p p p  13 1 2 6 7 6 7 3 4 12( )( )p p p p p p p p p p        13 1 6 1 7 1 3 1 4 2 6 2 7 2 3 2 4 6 6 6 7 6 3 6 4 7 6 7 7 7 3 7 4 12 p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p                  6. Применом закона апсорпције и идемпотенције, добија се свих седам минипресека: 13 1 3 1 4 2 3 2 4 6 7 12p p p p p p p p p p p p       117 6. ОДРЕЂИВАЊЕ МИНИПРЕСЕКА СН БЕЗ ВИШЕСТРУКИХ ДОГАЂАЈА ПОМОЋУ ИПМ У овој глави ће бити описана метода за одређивање минипресека помоћу инверзне ПМ. Основна идеја методе је објављена у [129] и [65]. Овде ће бити приказана на кохерентном СН без вишеструких догађаја, односно чији су сви догађаји вишеструкости 1, а у наредној глави ће бити проширена на кохерентна СН са вишеструким догађајима. 6.1. Основни појмови Неки појмови и објашњења из глава 2 и 4 овог рада, овде ће биће поновљени, да би се олакшало читање овог дела као посебне целине. 6.1.1. Презентација логичких кола помоћу ПМ Логичка кола СН се могу директно моделирати помоћу елементарне ПМ. Како су предмет овог рада кохерентна СН, у наставку ће бити приказана само трансформација И и ИЛИ кола у одговарајуће ПМ. И коло: На слици 6.1. је приказано логичко коло типа И и његова еквивалентна бинарна ПМ [43]. P2 . t P3 P1 p1 p2 p3 . Слика 6.1. Логичко коло И и еквивалентна ПМ Примарни догађаји P1 и P2 су представљени изворним местима p1 и p2, а вршни догађај P3 местом ушћа p3. Нека је 1 2 3[ ( ), ( ), ( )]M M p M p M p маркирање Петријеве мреже. Постојање жетона у месту моделира одигравање одговарајућег 118 догађаја. Логичко коло И је моделирано прелазом t, који је омогућен само ако оба његова улазна места p1 и p2 садрже жетон, тј. ако је почетно маркирање T 0 [1,1,0]M  . Након паљења прелаза t, резултујуће маркирање ће бити T 1 [0,0,1]M  (слика 6.2). Маркирање 1M је мртво маркирање које представља одигравање вршног догађаја P3. . t p1 p2 p3 Слика 6.2. ПМ са слике 6.1. након паљења прелаза t . ИЛИ коло: На слици 6.3. је приказано логичко коло типа ИЛИ и његова еквивалентна бинарна ПМ [43]. P2 . P3 P1 p1 p2 p3 t1 t2 . Слика 6.3. Логичко коло ИЛИ и еквивалентна ПМ Логичко коло ИЛИ је моделирано прелазом 1t , који је омогућен само ако његово улазно место p1 садржи жетон и прелазом 2t , који је омогућен само ако његово улазно место p2 садржи жетон, тј. ако је почетно маркирање T 01 [1,0,0]M  , T 02 [0,1,0]M  или T 03 [1,1,0]M  . На слици 6.3. је приказано почетно маркирање T 03 [1,1,0]M  . Из овог маркирања је могуће запалити оба прелаза. Након паљења нпр. прелаза 1t добиће се маркирање T 13 [0,1,1]M  (слика 6.4). Маркирање M није мртво маркирање јер је прелаз 2t и даље омогућен. p1 p2 p3 t1 t2 . . Слика 6.4. ПМ са слике 6.3. након паљења прелаза 1t 119 6.1.2. Проблем достижности и мртво маркирање Нека је M0 почетно маркирање ПМ и R(M0) скуп свих маркирања која се могу достићи из M0. Проблем достижности овде ће бити посматран шире од проблема достижности из дефиниције 4.2. У ПМ којима се моделира СН, проблем достижности ће бити посматран као проблем налажења свих M R (M0). Прелазак из једног маркирања у друго може се изразити једначином стања (4.6): 0M M A V   где је A матрица инциденције, а V вектор паљења. У 4.2 је на основу једначине стања доказано да је маркирање M, са жетонима само у местима ушћа, мртво маркирање. Сва маркирања, достижна из почетног маркирања M0 се могу приказати графом достижности. Граф достижности је граф у коме сваки чвор одговара једном маркирању ПМ, а гране одговарају прелазима чијим паљењем се из једног маркирања прелази у друго. Сваки чвор графа достижности има онолико излазних грана колико је омогућених прелаза у одговарајућем маркирању. Почетно маркирање M0 је корен, а мртва маркирања су листови графа достижности. 6.2. Еквивалента ПМ Кохерентно СН без вишеструких догађаја се може разложити на И и ИЛИ логичка кола и на тај начин директно трансформисати у еквивалентну ПМ (ЕПМ). Пошто се у овој глави разматрају СН без вишеструких догађаја, свако место, примарно или посредно, је улазно место тачно једног логичког кола. Одатле следи да ће свако место у ЕПМ имати тачно један излазни прелаз. То ЕПМ чини Free Choice (FC) мрежом (видети 4.2.2). Нека је u U број свих догађаја СН (примарних, посредних и вршног), а v V број логичких кола. Као што је показано у глави 2, пошто сваком посредном догађају и вршном догађају СН одговара по једно логичко коло, број примарних 120 догађаја у СН једнак је u v . Како сваком догађају одговара тачно по једно место ПМ, укупан број места у ЕПМ једнак је u . Број прелаза ЕПМ зависи од логичких кола у СН. Уколико су сва логичка кола у СН типа И, број прелаза ће бити једнак T G1 P1 G3G2 G4 P2 P3 P4 S1 P2 P3S2 P5 , а ако су сва типа ИЛИ, број прелаза ће бити једнак 1u  , јер тада сваки прелаз има тачно једно улазно место. Својство 6.1: Нека је 1 2{ , ,..., }mP p p p скуп места ЕПМ, где место 1p моделира вршни догађај. Основне особине ЕПМ су: 1. ЕПМ је FC Петријева мрежа у којој су примарни догађаји датог СН моделирани изворним местима, а вршни догађај местом ушћа. 2. Сваки скуп пресека датог СН се може представити маркирањем ЕПМ са жетонима, само у изворним местима која моделирају одговарајуће примарне догађаје. 3. Свако маркирање T 2[1, ( )..., ( )]mM M p M p , односно маркирање у коме је 1( ) 1M p  , моделира одигравање вршног догађаја, што представља отказ система. 4. Свако почетно маркирање M0 са жетонима само у изворним местима, из кога се достиже мртво маркирање T 2[1, ( )..., ( )]mM M p M p , представља један скуп пресека. 5. Ако почетно маркирање M0 моделира минипресек онда ће, према дефиницији минипресека, мртво маркирање ЕПМ бити T[1,0,...,0]M  [43]. Пример На слици 6.5. је приказана ЕПМ за СН са слике 2.4. ЕПМ је нумерисана одозго на ниже. Разлог за такво нумерисање ће бити објашњен у поглављу 6.4. Вршни догађај је моделиран местом 1p , посредни догађаји G1, G2, G3, G4 и G5 местима 3 4 10 6, , ,p p p p и 12p , респективно, а примарни догађаји P1, P4, P5, S1 и S2 местима 2 7 13 8, , ,p p p p и 14p , респективно. С обзиром да се у овој глави разматрају само СН без вишеструких догађаја, оба понављања примарног догађаја P2 су посматрана као различити догађаји који су моделирани местима 5p и 11p док су оба 121 понављања примарног догађај P3 моделирана местима 9p и 15p . На слици је приказано почетно маркирање T 0 [0,0,0,0,0,0,0,1,0,0,0,0,1,0,0]M  које одговара минипресеку P5S1.   p7 p8 p13 p14 p6p5 p9 p15 p4 p10 p2 p3 p1 t5 t6 t12 t4 t7 t9 t11 t10 t13 t3 t2t1 p11 p12 t8 Слика 6.5. ЕПМ за СН са слике 2.4. са почетним маркирањем 0M Мртво маркирање које се достиже из почетног маркирања 0M је T[1,0,...,0]M  . Одговарајући вектор паљења прелаза којим се M достиже из 0M је T[0,1,1,0,1,0,1,0,0,1,1,0,0]V  . Уколико би се поставило почетно маркирање које не одговара ни једном минипресеку, мртво маркирање које се из њега достиже не би било облика T[1,0,...,0]M  . Тако се, нпр. из T 0 [0,0,0,0,1,0,0,1,1,0,0,0,1,0,0]M  достиже мртво маркирање T 1 [1,0,0,2,0,...,0]M  за вектор паљења T[0,1,1,1,1,0,1,1,0,1,1,0,0]V  . Маркирање 1M одговара одигравању вршног догађаја, јер је 1( ) 1M p  , што значи да 0M одговара неком скупу пресека. Међутим, пошто је 4( ) 2M p  , тај скуп пресека није минималан. Нека је почетно маркирање T 0 [0,0,0,0,1,0,0,1,0,...,0]M  . Мртво маркирање које се достиже из 0M је T 2 [0,0,0,2,0,...,0]M  са вектором паљења T[0,0,0,1,1,0,1,0,...,0]V  . Маркирање 2M одговара неодигравању вршног догађаја јер је 1( ) 0M p  . 122 Тврђење 6.1: Проблем налажења свих минипресека датог СН своди се на следећи обрнути (инверзни) проблем достижности: наћи сва почетна маркирања M0 ЕПМ из којих је маркирање T[1,0,...,0]M  доступно, односно таква да важи T 0[1,0,...,0] ( )M R M  , где је маркирање у коме је 1( ) 1M p  и 1p моделира одигравање вршног догађаја. Овај проблем достижности је тежи од стандардног проблема достижности који се састоји у испитивању да ли 0( )fM R M и за који је показано да у случају Free Choice мрежа спада у EXPSAPCE-тешке (видети 4.4). 6.3. Основна идеја методе Основна идеја методе за одређивање минипресека је у томе да се они не добијају на основу ЕПМ, већ на основу Инверзне ПМ (ИПМ). У поглављу 4.6 је детаљно описана ИПМ. Подсетимо само да је ИПМ дате ПМ са структуром ( , , )N P T F , Петријева мрежа са структуром ( , , )RRN P T F , где је RF скуп супротно оријентисаних грана из F дате ПМ. Подсетимо се и својства 4.3, на основу кога важи да је маркирање и 0M достижно из M у ИПМ, ако је у ПМ маркирање M достижно из 0M . На слици 6.6. су приказане ИПМ за ПМ са слика 6.1. и 6.3, са почетним маркирањем M=[0,0,1]. . t p1 p2 p3a) p1 p2 p3 t1 t2 .b) Слика 6.6. ИПМ за ПМ са слика 6.1. и 6.3. Мреже на слици 6.6. представљају ИПМ логичких кола типа И и ИЛИ, тако да се ИПМ за дато СН може формирати директно, трансформацијом његових логичких кола у одговарајуће ИПМ структуре. ИПМ за неко СН ће бити инверзна мрежа 123 ЕПМ датог СН. Како сваком логичком колу СН одговара један посредни догађај, сваки прелаз у ИПМ ће имати тачно једно улазно место, односно излазну грану. Значи да је ИПМ такође FC мрежа. На основу особина ЕПМ и својства ИПМ, могу се дефинисати значајне особине ИПМ датог СН. Својство 6.2: Нека је ИПМ инверзна ЕПМ датог СН. Основне особине ИПМ су: 1. ИПМ је Петријева мрежа у којој су примарни догађаји датог СН моделирани местима ушћа, а вршни догађај изворним местом. 2. Сваки скуп пресека датог СН се може представити маркирањем ИПМ са жетонима у местима ушћа, која моделирају одговарајуће примарне догађаје. Такво маркирање је мртво. 3. Свако маркирање T 2[1, ( ),..., ( )]mM M p M p , односно маркирање у коме је 1( ) 1M p  , моделира одигравање вршног догађаја, што представља отказ система. 4. Свако мртво маркирање M0 са жетонима само у местима ушћа, које је достижно из маркирања T 2[1, ( ),..., ( )]mM M p M p , представља скуп пресека. 5. Свако мртво маркирање M0 са жетонима само у местима ушћа, које је достижно из маркирања T[1,0,...,0]M  , представља минипресек. Пример На слици 6.7. је представљена ИПМ за СН на слике 2.4. То је ЕПМ са слике 6.5, са супротно оријентисаним гранама. С обзиром да се у овом поглављу разматрају само СН без вишеструких догађаја, сва понављања неког вишеструког догађаја овде су третирана као посебни догађаји. Због тога ће се као минипресеци добити свих 17 скупова пресека датог СН. 124 p7 p8 p13 p14 p6p5 p9 p15 p4 p10 p2 p3 p1 t5 t6 t12 t4 t7 t9 t11 t10 t13 t3 t2t1 p11 p12 t8 Слика 6.7. ИПМ за СН са слике 2.4. С обзиром да ће се ИПМ увек посматрати са почетним маркирањем T[1,0,...,0]M  , и с обзиром на то да је ИПМ стабло, максималан број жетона у сваком месту је 1, односно за свако место р је ( ) 1M p  . То ИПМ чини и 1-safe мрежом (видети 4.2.1). Централна тачка предложене методе је у следећем тврђењу. Тврђење 6.2: Проблем налажења свих минипресека датог СН своди се на следећи директни проблем достижности: наћи сва крајња маркирања M0 ИПМ која су достижна из маркирања T[1,0,...,0]M  као почетног, односно таква да важи T 0 ( ), [1,0,...,0]M R M M  , где је маркирање у коме је 1( ) 1M p  и 1p моделира одигравање вршног догађаја. 6.4. Одређивање минипресека помоћу стабла достижности Као што је већ поменуто, проблем одређивања свих маркирања достижних из почетног маркирања може се решити помоћу графа достижности. У случају ИПМ, 125 маркирање T[1,0,...,0]M  је корен, а мртва маркирања која моделирају минипресеке датог СН су листови графа достижности. Пример Посматрајмо ИПМ са слике 6.7. С обзиром да је вршни догађај моделиран местом 1p , почетно маркирање ће бити T 0 [1,0,...,0]M  . Посматрајмо и један од минипресека, на пример P4P7, СН са слике 2.4. Крајње маркирање које предстваља овај минипресек је T[0,0,0,0,0,1,0,0,0,0,0,1,0,0]M  . То је маркирање у коме се жетони налазе у местима 7p и 13p , која моделирају примарне догађаје P4 и P7. Једна од секвенци паљења, којом се из почетног маркирања 0M достиже маркирање M је 2 3 5 6 10 11, , , , ,t t t t t t  . Граф достижности којим се приказује трансформација из 0M у M секвенцом паљења  , приказан је на слици 6.8. [100000000000000] [001000000000000] [000100000100000] [000001000100000] t3 t2 t5 t6 [000000100100000] [000000100001000] t10 t11 [000000100000100] Слика 6.8. Граф достижности за секвенцу паљења 2 3 5 6 10 11, , , , ,t t t t t t  Одређивањем свих могућих стања ИПМ са слике 6.7. из почетног маркирања 0 [1,0,0,0,0,0,0,0,0,0,0,0,0,0]M  , добија се цео граф достижности (слика 6.9). 126 [100000000000000] [010000000000000] [001000000000000] [000100000100000] [000010000100000] [000001000100000] [000100000001000] [000100000000001][000000001100000] [000100000010000] t1 t3 t2 t8t5t4 t13t10t9 t9 [000010000010000] t4 t10 [000010000001000] t4 t13 [000010000000001] t4 t6 [000000100100000] t7 [000000010100000] [000001000001000] [000001000000001][000001000010000] t13t10t9 t5 t5 t5 [000000001001000] [000000001000001][000000001010000] t13 t10 t9 t8 t8 t8 t11 t12 [000100000000100] [000100000000010] [000000100001000] [000000100000001][000000100010000] t13 t10 t9 t6 t6 t6 [000000010001000] [000000010000001][000000010010000] t13 t10 t9 t7 t7 t7 t11 t12 [000000001000100] [000000001000010] t11 t12 [000010000000100] [000010000000010] t4 t5 t8 [000001000000100] t4 t5 t8 [000100000000010] t11 t12 t11 [000000100000100] t12 [000000100000010] t6 t6t11 [000000010000100] t11 [000000010000010] t7 t7 Слика 6.9. Граф достижности ИПМ са слике 6.7. Приказани граф достижности садржи 39 чворова: корен, 21 унутрашњи чвор и 17 листова. Листови су маркирања која одговарају минипресецима датог СН. У табели 6.1. је приказано свих 17 маркирања и одговарајући скупови пресека. Табела 6.1. Минипресеци СН са слике 2.4. добијених помоћу ИПМ са слике 6.7. Листови графа достижности Места ИПМ која садрже жетон Минипресеци 1. [010000000000000] p2 P1 2. [000010000010000] p5, p11 P2, P5 3. [000000001010000] p9, p11 P3, P5 4. [000000001000001] p9, p15 P3, P6 5. [000010000000001] p5, p15 P2, P6 6. [000000100010000] p7, p11 P4, P7 7. [000000010010000] p8, p11 S1, P7 8. [000000100000001] p7, p15 P4, P6 9. [000000010000001] p8, p15 S1, P6 10. [000000001000100] p9, p13 P3, P5 11. [000000001000010] p9, p14 P3, S2 12. [000010000000100] p5, p13 P2, P5 13. [000010000000010] p5, p14 P2, S2 14. [000000100000100] p7, p13 P4, P7 15. [000000010000100] p8, p13 S1, P7 16. [000000100000010] p7, p14 P4, S2 17. [000000010000010] p8, p14 S1, S2 127 С обзиром да се понављања вишеструких догађаја овде посматрају као посебни догађаји, добијено је свих 17 скупова пресека датог СН. Листови графа достижности ИПМ неког СН су коњункције примарних догађаја. Збир тих листова предствља ДНФ која је енквивалнтна структурној функцији датог СН. Граф достижности може бити великих димензија и за релативно мале ПМ. Такође, ако су потребна само крајња маркирања, у графу постоји велики број грана и међустања, који су непотребни, јер више путева води до истог маркирања. У наставку ће бити показано како се не мора одредити цео граф достижности да би се добила сва мртва маркирања, већ само једно његово разапињуће стабло. Да би се то омогућило, потребно је увести посебан начин нумерисања ИПМ. ИПМ ће бити нумерисана у дубину и с леве на десну страну, тј. “при-ордер” (КЛД корен – лево подстабло – десно подстабло [134], енг. pre-order [51]), као што је нумерисана ИПМ са слике 6.7. С обзиром да је ИПМ бипартитни граф, чворови типа место и чворови типа прелаз ће бити различито нумерисани. Како у бипартитном графу, чворови истог типа нису међусобно повезани, између њих мора прво да се успостави поредак.  Приликом нумерисања места, за два места ip и jp сматраће се да су суседна уколико постоји прелаз qt такав да је: o i qp t и o q jt p (6.1) односно ако је ip улазно место прелаза qt , а qt улазни прелаз места jp . Дакле, ако у ИПМ постоје гране i q jp t p  , место ip ће представљати претходника места jp .  Аналогно, приликом нумерисања прелаза, за два прелаза qt и rt сматраће се да су суседни уколико постоји место jp такво да је: o q jt p и o j rp t (6.2) и тада ће прелаз qt представљати претходника прелаза rt . 128 Напомена 6.1: У изразима (6.1) и (6.2) свако место (осим корена) има тачно један улазни прелаз и сваки прелаз има тачно једно улазно место. Услов (6.1) се може краће записати o o( )i jp p , а услов (6.2) o o( )q rt t . На овај начин су формирана два подграфа ИПМ. Ови подграфови су два стабла или стабло и шума. Подграф чији су чворови типа место је увек стабло чији је корен место које моделира вршни догађај. Подграф чији су чворови типа прелаз је стабло, уколико вршном догађају СН одговара логичко коло И, односно шума, уколико вршном догађају СН одговара логичко коло ИЛИ. Пример На слици 6.10. су приказани подграфови ИПМ са слике 6.7. Слика 6.10. Подграфови ИПМ са слике 6.7. Са слике се може уочити да је подграф прелаза шума, зато што вршном догађају са слике 6.7. одговара логичко коло ИЛИ. Нумерисање у дубину се изводи аналогно претрази у дубину [139]. Нумерисање у дубину има три последице које су важне за развој методе за одређивање минипресека помоћу ИПМ. Последица 6.1: С обзиром да су све гране ИПМ оријентисане од корена ка листовима, на свакој грани ће за свака два суседна места важити ( ) ( )i jnum p num p , ако важи o o( )i jp p (место ip је претходник места jp ), 129 односно за свака два суседна прелаза важиће да је ( ) ( )q rnum t num t , ако важи o o( )q rt t (прелаз qt је претходник прелаза rt ). Последица 6.2: У свакој секвенци паљења 1 2 , ,..., rk k k t t t  која води од корена графа достижности до неког његовог листа, односно која одговара једном путу ИПМ, важи да је 1 2 ... rk k k   . У складу са уведеном нотацијом, за било која два места на истом путу од листа до корена ИПМ може се записати да важи: o o o... ( )i jp p (место ip је индиректни претходник места jp ), односно за било која два прелаза на истом путу важи o o o... ( )q rt t (прелаз qt је индиректни претходник прелаза rt ). Последица 6.3: Ако у некој секвенци паљења 1 ,..., , ,..., i j rk k k k t t t t  ИПМ за два суседна прелаза важи да је i jk k , онда, на основу последице 6.1, прелази ikt и jkt нису на истом путу, односно o o o... ( ) i jk k t t , већ се ова два прелаза налазе на различитим путевима ИПМ (слика 6.11). . . tkj tki Слика 6.11. Прелази на различитим путевима ИПМ Како је ik t  , jk t  , o o o... ( ) i jk k t t , онда важи o( ) 1 ik M t  и o( ) 1 jk M t  (улазна места оба прелаза садрже жетон). То значи да ће, након паљења прелаза ik t и даље важити o( ) 1 jk M t  , односно прелаз jk t је и даље омогућен. Ако се прво запали прелаз jk t и даље ће важити o( ) 1 ik M t  , односно прелаз ik t ће и даље бити омогућен. То, даље, значи да ова два прелаза могу да се запале у било ком редоследу, а да то не утиче на наредна маркирања ИПМ. Транспозицијом ова два 130 суседна прелаза у секвенци паљења, добија се секвенца 1 ,..., , ,..., j i rk k k k t t t t  , таква да је 1 ... ...j i rk k k k     . Познато је да свака пермутација може да се добије као низ транспозиција суседних елемената [105]. На основу претходног доказано је следеће тврђење: Свака допустива секвенца паљења ИПМ има пермутацију 1 2 , ,..., rk k k t t t  такву да је 1 2 ... rk k k   . Пример На графу достижности са слике 6.9. се може уочити да се до појединих листова (мртвих маркирања ИПМ) долази помоћу више путева. Поред тога, на слици 6.8. је на графу достижности показано како се мртво маркирање T[0,0,0,0,0,0,1,0,0,0,0,0,1,0,0]M  , које представља минипресек P4P7, може достићи из почетног маркирања T 0 [1,0,...,0]M  , паљењем секвенце 1 2 3 5 6 10 11, , , , ,t t t t t t  . Међутим, M се може достићи из 0M и помоћу неких пермутација секвенце 1 : 2 2 3 5 10 6 11, , , , ,t t t t t t  и 3 2 3 5 10 11 6, , , , ,t t t t t t  . Свакој секвенци паљења 1 2 , ,..., rk k k t t t  одговара вектор паљења V . Како је V вектор од n елемената, чији су елементи 1 2, ,..., rk k k једнаки 1, а остали елементи једнаки 0, он је исти за све пермутације секвенце паљења 1 2 , ,..., rk k k t t t  . Пример Секвенци паљења 1 2 3 5 6 10 11, , , , ,t t t t t t  са слике 6.8. и свим њеним пермутацијама одговара исти вектор паљења T[0,1,1,0,1,1,0,0,0,1,1,0,0]V  . Прелаз из почетног маркирања 0M у маркирање M секвенцом паљења  се може описати једначином стања (4.6): 131 0 M M A V   . Како V одговара свим пермутацијама секвенце паљења 1 2, ,..., rk k kt t t  , за сваку допустиву секвенцу која је пермутација секвенце паљења  важиће једначина стања (4.6), односно сваком допустивом секвенцом паљења која представља пермутацију секвенце паљења  се такође из почетног маркирања 0M достиже маркирање M . Одавде следи да је, ако је потребно из почетног маркирања 0M достићи маркирање ,M довољно одредити само једну од допустивих пермутација које одговарају вектору паљења V . На основу претходног важи: Тврђење 6.3: Нека су у ИПМ чворови означени по дубини и нека је дато почетно маркирање 0 [1,0,...,0]M  . Добијањем свих допустивих секвенци паљења 1 2 , ,..., rk k k t t t  за које важи 1 2 ... rk k k   , добијају се сва допустива маркирања ИПМ. Последица 6.4: Граф достижности ИПМ, који се добија одређивањем само допустивих секвенци паљења 1 2 , ,..., rk k k t t t  за које важи 1 2 ... rk k k   , је стабло. Пошто ће у наставку увек бити одређивано стабло достижности, у наставку ће се увек користити тај термин. Пример На слици 6.12. је приказано стабло достижности за ИПМ са слике 6.7, које се добија одређивањем само секвенци паљења 1 2 , ,..., rk k k t t t  за које важи 1 2 ... rk k k   . 132 [100000000000000] [010000000000000] [001000000000000] [000100000100000] [000010000100000] [000001000100000] [000100000001000] (t4, t5, t8) [000100000000001] (t4, t5, t8) [000000001100000] [000100000010000] (t4, t5, t8) t1 t3 t2 t8t5t4 t13t10t9 t9 [000010000010000] t10 [000010000001000] t13 [000010000000001] t6 [000000100100000] t7 [000000010100000] [000001000001000] (t6, t7) [000001000000001] (t6, t7) [000001000010000] (t6, t7) t13t10t9 [000000001001000] [000000001000001][000000001010000] t13 t10 t9 t11 t12 [000100000000100] (t4, t5, t8) [000100000000010] (t4, t5, t8) [000000100001000] [000000100000001][000000100010000] t13 t10 t9 [000000010001000] [000000010000001][000000010010000] t13 t10 t9 t11 t12 [000000001000100] [000000001000010] t11 t12 [000010000000100] [000010000000010] [000001000000100] (t6, t7) [000100000000010] (t6, t7) t11 t12 t11 [000000100000100] t12 [000000100000010] t11 [000000010000100] t11 [000000010000010] Слика 6.12. Стабло достижности ИПМ са слике 6.7. Приказано стабло достижности садржи исте чворове као граф достижности на слици 6.9: Прелази у заградама испод чворова представљају гране графа достижности које су исечене, јер одговарајући прелаз нема мањи индекс од индекса прелаза на свим улазним гранама посматраног чвора. На тај начин је добијено нових осам листова графа достижности. Међутим, ови листови одговарају маркирањима која нису мртва, јер у њима има омогућених прелаза, односно у њима постоје жетони у местима која нису листови одговарајуће ИПМ. Напомена 6.2: На овај начин се и даље одређује цео простор стања али је време његовог одређивања скраћено. Напомена 6.3: Само листови графа достижности који одговарају мртвим маркирањима ИПМ представљају минипресеке датог СН. То су маркирања у којима само листови ИПМ, односно места која моделирају примарне догађаје, имају жетон. 6.5. Алгоритам за одређивање свих минипресека Алгоритмом за одређивање свих минипресека кохерентног СН без вишеструких догађаја, се одређује разапињуће стабло графа достижности ИПМ за које важи да 133 је на сваком путу од корена стабла до листа 1 2 ... rk k k   , где су 1 2, ,..., rk k k индекси прелаза секвенце паљења 1 2 , ,..., rk k k t t t  . Стабло достижности се формира приликом претраживања ИПМ датог СН. Претраживање ИПМ врши се обилажењем чворова типа место. Свако место jp ИПМ описано је помоћу свог прелаза претходника и места претходника, односно представљено је тројком ( , , )i q j где су:  q индекс улазног прелаза места jp , тј, o q jt p .  i индекс улазног места прелаза qt , тј, o i qp t или o o( )i jp p .  j индекс места jp На овај начин је потпуно описана структура ИПМ. Корен ИПМ се представља тројком (0,0,1) . Уколико је место jp лист, неће постојати ни једна тројка у којој је први елемeнт једнак j . Ако места , ,...,j k up p p ИПМ моделирају догађаје СН који су у И вези и која следе место ip , биће представљени тројкама: ( , , )i q j , ( , , )i q k ,…, ( , , )i q u , односно прва два елемента тројки које их представљају су иста (слика 6.13). Ако места , ,...,j k up p p ИПМ моделирају догађаје СН, који су у ИЛИ вези и која следе место ip , биће представљени тројкама: ( , , ),i q j ( , , )i r k ,…, ( , , )i v u , односно само први елемент тројки које их представљају је исти (слика 6.14). pi tq pj pk pu . . . Слика 6.13. ИПМ И везе 134 pi tq pj pk pu . . . tr tv . . . Слика 6.14. ИПМ ИЛИ везе Поред структуре, сваку ПМ карактерише и маркирање, односно дистрибуција жетона у мрежи. Маркирање ИПМ је представљено, на уобичајени начин, вектором T 1 2[ ( ), ( ),..., ( )]mM M p M p M p . Улазни подаци који се користе у алгоритму су:  тројке ( , , ), 1,...,i q j j m , којима је описана структура ИПМ и  почетно маркирање 0 [1,0,...,0]M  , које одговара одигравању вршног догађаја. Параметри и скупови који се користе у алгоритму су:  k , p t . . . - индекс активног места и активног прелаза;  R - скуп места за која важи: o o( )j ip p . Овај скуп представља скуп оних места следбеника активног места (тројке) k , чији је индекс улазног прелаза p1 t1 t2 већи или једнак индексу активног прелаза, односно R={( k,q,j)  q ≥ r}. На тај начин се одређују само секвенце паљења 1 2 , ,..., rk k k t t t  , за које важи 1 2 ... rk k k   . Ако је P  , активно место представља посредни догађај, а ако је P  , активно место представља примарни догађај датог СН, односно активно место је лист ИПМ;  L - скуп индекса места који су листови ИПМ у тренутној итерацији. Овај скуп се може директно превести у одговарајуће маркирање јер је ( ) 1,jM p j L   , односно ( ) 0,jM p j L   ; 135  R - скуп места из R која су у И вези, R={(i,q,j)  q = q * }, где је q* индекс улазног прелаза активног места. Након паљења активног прелаза, сва места из R добијају жетон M(pj) = 1, ( (i,q,j)  R.  \R R - скуп места из R која су у ИЛИ вези. Пошто су у кохерентном СН логичка кола типа И или типа ИЛИ, у свакој итерацији ће један од скупова R и \R R бити празан. Међутим, ако се изврши редукција ИПМ, фузијом места, може се десити да ни један од поменутих скупова не буде празан;  Q - скуп парова: места у ИПМ која у тренутној итерацији садрже жетон и која нису у H2O t.. H2 .. O2 2 2 .. H2O t H2 . O2 2 2 a) b) , односно Q={(i,q,j)  j = 1, j  L}. То је скуп примарних и/или посредних догађаја чији су излазни прелази омогућени. Када се дође до листа ИПМ, који се смешта у L , потребно је изабрати ново активно место. То место се бира из Q тако да је * ( , , ) min i q j Q j j   . Ако је Q  , дошло се до листа стабла достижности, односно добијен је један скуп пресека, а индекси места која представљају тај скуп пресека су садржани у L ;  Q - скуп места која су у ИЛИ вези са активним местом и важећег маркирања када је место постало активно, Q = Q{[(i,q,j), Mj]  (i,q,j)  R, [(i,q,j}. Када се дође до листа стабла достижности, потребно је изабрати ново активно место. Оно се бира из Q тако да је * lex ( , , ) min min jM i q j Q j j   . Исто место (тројка) може бити додељено скупу Q у различитим итерацијама са различитим маркирањима. Због тога је уведено lex jM , односно у том случају активно постаје место са лексикографски мањим маркирањем. Ако је Q  добијени су сви скупови пресека и алгоритам стаје.  SP - скуп скупова пресека (излаз из алгоритма); Алгоритам за одређивање минипресека кохерентног СН без вишеструких догађаја се може сажети у следеће три фазе:  Резултат else гране Корака 1 је један лист ИПМ; 136  Резултат else гране Корака 3 је један лист стабла достижности који представља један минипресек;  Резултат else гране Корака 4 су сви листови стабла достижности, односно сви минипресеци датог СН. Алгоритам ИПМ_1 Почетак: (0,0,1), k  1, r  0, M  (1,0,…,0), R  , R  , Q  , Q  , L  , SP   Корак 1: R {(k,q,j)  q ≥ r}; If R ≠  then Корак 2 else L  L  {j}; Go to Корак 3. Корак 2: * ( , , ) : min i q j R q q   ; R{(i,q,j)  q = q * }; R  R \ R ; M(pk)  0; ( (i,q,j)  R) (M(pj)  1, Mj  M; M(pj)  0) Q  Q  {[(i,q,j), Mj]  (i,q,j)  R}; R  ; ( (i,q,j)  R ) M(pj)  1; * ( , , ) : min i q j P j j   ; k  j* ; r  q; R = ; Go to Корак 1. 137 Корак 3: Q{(i,q,j)  М (j) = 1, j  L}; If Q ≠  then * ( , , ) : min i q j Q j j   ; k = j * ; r = q; Q = ; Go to Корак 1. else SP = SP  {L}; Корак 4: If Q ≠  then * lex ( , , ) min min jM i q j Q j j   ; k = i; r = q; M = Mj ; Q = Q \ {[(i,q,j), Mj]}, L = ; Go to Корак 1; else Крај. Резултат алгоритма је скуп SP - скуп свих минипресека. Због услова q ≥ r, при формирању скупа R у Кораку 1, листови графа достижности који представљају одсечена маркирања се неће генерисати. Пример У наставку ће бити илустровано како се алгоритмом ИПМ_1 добијају минипресеци СН са слике 2.4. на основу стабла достижности ИПМ са слике 6.7. Улазни подаци који се користе у алгоритму су:  тројке (0,0,1), (1,1,2), (1,2,3), (3,3,4), (4,4,5), (4,5,6), (6,6,7), (6,7,8), (4,8,9), (3,3,10), (10,9,11), (10,10,12), (12,11,13), (12,12,14) и (10,13,15);  почетно маркирање T 0 [1,0,...,0]M  . Напомена: Маркирања ће у алгоритму бити означена као m -торке. Почетак: (0,0,1), k = 1, r = 0, M = (100000000000000 ), R = , R = , Q = , Q = , L = , SP = . 138 Корак 1: R={(1,1,2), (1,2,3)}; Корак 2: * ( , , ) min {1,2} 1 i q j R q    ; R={(1,1,2)}; M(p1) = 0; R ={(1,2,3)}; M(p3) = 1, M3=( 001000000000000 ); M(p3) = 0, Q = {[(1,2,3), M3]}; R = ; M(p2) = 1, M=( 010000000000000); * 2j  ; k = 2 ; r = 1, R = , Корак 1: R =  L = {2}; # пронађен је лист ИПМ Корак 3: Q = , SP = {{2}}; # пронађен је један минипресек Корак 4: * 3j  ; k = 1; r = 2; M = ( 001000000000000 ) ; Q = , L = ; Корак 1: R={(3,3,4), (3,3,10)}; Корак 2: * 3q  ; R={(3,3,4), (3,3,10)}; R=; M(p3)=0; Q = ; M(p4) =1; M(p10) =1, M=( 000100000100000 ); * 4j k  ; r =3; R = ; Корак 1: R={(4,4,5), (4,5,6) , (4,8,9)}; Корак 2: * 4q  ; R={(4,4,5)}; R = {(4,5,6) , (4,8,9)}; M(p4) = 1; M4=( 000001000100000 ), M(p4) = 0; M(p9) = 1; M9=( 000000001100000 ); M(p9) = 0; Q={[(4,5,6),M5],[(4,8,9), M9]}; R = ; M(p5) = 1; M = ( 000010000100000 ); * 5j k  ; r =4; R = ; Корак 1: R =  L = {5}; # пронађен је лист ИПМ Корак 3: Q={(3,3,10)}; * 10j k  ; r = 3; Q = ; Корак 1: R={(10,9,11), (10,10,12) , (10,13,15)}; Корак 2: * 9q  ; R={(10,9,11)}; R = {(10,10,12) , (10,13,15)}; M(p10) = 0; M(p12) = 1; М12=(000010000001000 ); M(p12) = 0; 139 M(p15) = 1; М15=(000010000000001 ); M(p15) = 0; Q={[(4,5,6),M5], [(4,8,9), M9], [(10,10,12), M12], [(10,13,15), M15]}; R = ; M(p11) = 1; M = ( 000010000010000 ); * 11j k  ; r =9; R = ; Корак 1: R =  L = {5,11}; # пронађен је лист ИПМ Корак 3: Q = , SP = {{2}, {5,11}}; # пронађен је још један минипресек Корак 4: * 6j  ; k = 6; r = 5; M = ( 000001000100000 ); Q={[(4,8,9),M9],[(10,10,12),M12], [(10,13,15), M15]}; R = ; Корак 1: R={(6,6,7), (6,7,8)}; Даљом применом алгоритма добијају се, редом, елеманти скупа SP : {7,11}, {8,11}, {9,11}, {5,13}, {7,13}, {8,13}, {9,13}, {5,14}, {7,14}, {8,14}, {9,14}, {5,15}, {7,15}, {8,15} и {9,15}. 6.6. Одређивање минипресека задате дужине С обзиром да број минипресека у сложеним системима може бити веома велики, одређивање свих листова стабла достижности може бити веома сложен, временски и просторно захтеван, комбинаторни проблем. У неким системима, чак и када се могу одредити сви минипресеци, они са малом вероватноћом се могу занемарити. Због тога је у квалитативној анализи СН често довољно или чак потребно одредити само најзначајније минипресеке. Најзначајнији минипресеци су они чија је вероватноћа одигравања највећа. Како је вероватноћа минипресека једнака производу вероватноћа његових примарних догађаја, најзначајнијим минипресецима се могу сматрати они са најмањим бројем примарних догађаја. Ово важи под претпоставком да су вероватноће примарних догађаја истог или приближног реда величине. Ред минипресека (order) представља број његових примарних догађаја [28]. Минипресеци реда l садрже l или мање примарних догађаја. У наставку ће бити 140 описан приступ у коме се, помоћу стабла достижности ИПМ датог СН, одређују само минипресеци датог реда, а остали се одсецају. Како број жетона у месту моделира одигравање одговарајућег догађаја датог СН, укупан број жетона у једном маркирању ИПМ преставља укупан број догађаја који су се истовремено одиграли. Пошто је свако маркирање ИПМ један чвор стабла достижности, следи да број жетона у сваком чвору стабла достижности ИПМ представља укупан број догађаја датог СН који су се одиграли. Коначно, број жетона у сваком листу стабла достижности, представља број примарних догађаја одговарајућег минипресека, односно његов ред. Својство 6.2: Број жетона у чворовима стабла достижности ИПМ датог СН је неопадајући идући од корена M = [1,0,…,0]T ка листовима. Доказ: ИПМ датог СН је стабло: сваки прелаз t има тачно једно улазно место, односно 0 1t  . Број излазних места зависи од типа логичког кола. Ако се прелазом t моделира ИЛИ логичко коло, онда је 0 1t  , односно прелаз t има једно излазно место. Ако се прелазом моделира И логичко коло, онда је 0 1t  , односно прелаз t има више излазних места. Како су тежине свих грана у ИПМ једнаке 1, промена маркирања приликом паљења неког прелаза изражена са (4.3), постаје: 0 0 ( )-1 ако ' ( ) ( ) 1 ако ( ) иначе M p p t M p M p p t M p         (6.3) Дакле, паљењем неког прелаза ,t из његовог улазног места се троши, а у његовом излазном месту се производи један, ако је 0 1t  , или више жетона, ако је 0 1t  . Другим речима, разлика у броју жетона након и пре паљења прелаза t је увек 0 . Нека је дата ИПМ са почетним маркирањем M = [1,0,…,0]T и нека је l број жетона у неком маркирању 1 ( )M R M у коме је омогућен прелаз t . На основу претходног, број жетона у ИПМ након паљења прелаза t је већи или једнак l . 141 Како сваком маркирању ИПМ одговара један чвор стабла достижности, следи да је, идући од корена M = [1,0,…,0]T ка листовима, број жетона у чворовима стабла достижности неопадајући.  Да би се издвојили само минипресеци датог реда, потребно је увести критеријум на основу кога ће се одсецати маркирања која одговарају минипресецима дужим од задатог. На основу својства 6.3, као критеријум одсецања се може усвојити број жетона у чворовима графа достижности. Алгоритам ИПМ_1 за одређивање минипресека се сада може проширити опцијом одсецања делова графа достижности. Прво је потребно увести нови улазни параметар и додатни излазни скуп:  l - параметар одсецања  SP - скуп одсечених чворова. Корак 2 алгоритма се сада модификује на следећи начин: Корак 2’ * ( , , ) min i q j P q q   ; R={(i,q,j)  q = q * }; R = R - R; M(pk) = 0; ( (i,q,j)  R) (M(pj) = 1, Mj = M; M(pj) = 0) Q = Q  {[(i,q,j), Mj]  (i,q,j)  R, [(i,q,j), Mj] ≠ Q}; R = ; ( (i,q,j)  R) M(pj) = 1; if 1 ( ) m j j M p l   then * ( , , ) min i q j P j j   ; 142 k = j * ; r = q; R = ; Go to Корак 1. else ( (i,q,j)  R) M(pj) = 0; M(pk) = 1 L = L + {j}; SP = SP + {L}; L = L \ {j} Q = ; Go to Корак 4. Елементи скупа одсечених чворова SP нису минипресеци већ представљају жива маркирања. Ако постоји потреба да се одреде минипресеци неког одсеченог дела графа достижности, довољно је одредити нови граф достижности са одговарајућим живим маркирањем као кореном. Пример Нека је за СН са слике 2.4. потребно одредити минипресеке дужине 1. Поред улазних података који су приказани у претходној илустрацији алгоритма, уводи се и параметар одсецања 1l  . Почетак: (0,0,1), k = 1, r = 0, M = (100000000000000 ), R = , R = , Q = , Q = , L = , SP = , SP  , 1l  . Корак 1: R={(1,1,2), (1,2,3)}; Корак 2: * ( , , ) min {1,2} 1 i q j R q    ; R={(1,1,2)}; M(p1) = 0; R ={(1,2,3)}; M(p3) = 1, M3=( 001000000000000 ); Q = {[(1,2,3), M3]}; R = ; M(p2) = 1, 15 1 ( ) 1j j M p l    ,M=( 010000000000000 ); * 2j  ; k = 2 ; r = 1, R = , Корак 1: R =  L = {2}; # пронађен је лист ИПМ Корак 3: Q = , SP = {{2}}; # пронађен је један минипресек Корак 4: * 3j  ; k = 1; r = 2; M = ( 001000000000000 ) ; Q = , L = ; Корак 1: R={(3,3,4), (3,3,10)}; 143 Корак 2: * 3q  ;R={(3,3,4), (3,3,10)};R = ; M(p3) =0;Q = ; M(p4) =1; M(p10) =1, 15 1 ( ) 2j j M p l    , M(p4)=0; M(p10)=0, M(p3) =1, M= (001000000000000) , L = {3}, SP = {{3}}; L =  # одсечен је један чвор Корак 4: Q = , Крај Резултат алгоритма су скуп SP = {{2}} и скуп SP = {{3}} са одсеченим маркирањем M = ( 001000000000000 ). Стабло достижности, које је одређено на овај начин, приказано је на слици 6.15. [100000000000000] [010000000000000] [001000000000000] t1 t2 Слика 6.15. Стабло достижности минипресека дужине 1 С обзиром да се овде посматра СН без вишеструких догађаја, модификовани Корак 2 ће дати тачан резултат, односно све минипресеке датог реда. Међутим, у СН са вишеструким догађајима се, након примене закона апсорпције, број примарних догађаја неког минипресека смањује. У том случају, Својство 6.3 не може директно да се користи, већ морају да се уведу додатни услови, што ће детаљно бити описано у глави 7. 6.7. Резултати експеримената Да би се тестирао алгоритам и његово проширење, одабрано је 10 СН тако што су су, у изабраним Bencmark СН, сва понављања вишеструких примарних догађаја посматрана као различити догађаји. У табели 6.2. су описане карактеристике одабраних СН у смислу: броја логичких кола, броја примарних догађаја, као и 144 димензије одговарајуће ИПМ датог СН. У последње три колоне приказан је: број минипресека и распон дужина минипресека. Минипресеци су добијени применом алгоритма ИПМ_1, који је имплементиран у програмском језику Visual Basic (VB) [111]. За експерименте је коришћен Intel Core 2 Duo CPU E8400 (3 GHz), RAM 3,25 GB. Табела 6.2. Карактеристике СН, ИПМ и резултат Алгоритма ИПМ_1 СН ИПМ СН Број логичких кола Број примарних догађаја Број места Број прелаза Број минипресека lmin lmax 1 40 104 144 124 2292 1 5 2 92 303 394 365 690 1 4 3 34 61 95 81 18541 1 12 4 90 299 389 332 654 1 12 5 31 78 109 95 4582 2 7 6 46 117 163 138 11074 1 8 7 49 118 167 136 1948 2 8 8 88 292 380 347 3603 1 5 9 31 78 109 95 7474 1 8 10 21 59 80 68 1400 3 8 Након одређивања свих минипресека, применом модификације Корака 2 алгоритма, извршено одсецање да би се добили минипресеци реда 1,2,3,4,5,6 и 7. Резултати одсецања, који представљају број минипресека датог реда, су приказани у табели 6.3. Време потребно за одређивање минипресека је било испод 10 секунди за резултате са ознаком ** и испод 1 секунде за резултате са ознаком *. Сви остали резултати су добијени готово тренутно (< 0.1 секунди). 145 Табела 6.3. Број минипресека датог реда Вредност параметра одсецања l СН 1 2 3 4 5 6 7 1 4 155 1319 2291 2292 2 53 433 438 690 3 3 13 73 157 469 1069 2269 * 4 34 390 395 648 648 649 651 5 0 182 196 1033 1674 * 2470 * 4582 ** 6 5 6 18 274 1426 3730 ** 6178 ** 7 0 12 480 1320 1840 * 1936 * 1946 * 8 29 376 381 633 3603 ** 9 5 6 18 274 274 2578 * 2578 * 10 0 0 735 840 1085 1330 1330 Поред минипресека датог реда, резултат алгоритма је и скуп одсечених чворова графа достижности ( SP ) и активно маркирање у тренутку одсецања. 146 7. ОДРЕЂИВАЊЕ МИНИПРЕСЕКА СН СА ВИШЕСТРУКИМ ДОГАЂАЈИМА ПОМОЋУ ИПМ Метода и алгоритам који су описани у претходној глави, овде ће бити проширени на СН са догађајима чија је вишеструкост већа од или једнака 1. Посебно ће бити разматрана два проблема: како од свих скупова пресека издвојити минималне и како одредити минипресеке задатог реда. У првом случају ће алгоритам ИМП1 бити проширен раздвајањем скупова пресека на скупове К1, К2 и К3 описане у поглављу 3.3.5, након чега се примењује алгоритам редукције СН3. У другом случају је главни задатак одређивање параметра одсецања l , тако да се не изостави ниједан од минипресека задате дужине. 7.1. Одређивање свих минипресека СН Уколико би се сва понављања истог примарног догађаја датог СН моделирала једним местом, као у 5.1.4 и 5.1.5, ИПМ не би била стабло, чиме би се изгубила многа од својстава коришћених у развоју алгоритма у глави 6. Због тога ће примарни догађаји, чија је вишеструкост већа од 1, бити представљени различитим местима ИПМ. На тај начин ће укупан број места бити једнак 1 ' u v i i u v k     , где је u број свих догађаја СН, v број логичких кола, u v број примарних догађаја у СН а ik вишеструкост примарног догађаја ix . Број прелаза ИПМ зависи од логичких кола у СН и може бити најмање v , уколико су сва логичка кола у СН типа И, а највише 'u , ако су сва логичка кола типа ИЛИ. Да би се сачували подаци о вишеструкости, уводи се улазни параметар, који повезује места која моделирају понављања истог примарног догађаја. Нека су местима 1 2 , ,..., ks s s p p p моделирана понављања датог примарног догађаја вишеструкости k . За такав догађај формира се ( 1k  )-торка 1 2( , , ,..., )kk s s s , чији први елемент представља вишеструкост примарног догађаја, а осталих k елемената индексе места којима су моделирана сва његова понављања. 147 Када се у кораку 3 алгоритма ИПМ_1 добије један скуп пресека, маркирање MC које га моделира, има једно од следећа три својства: 7.1. 1 ( ) 0 i k s i MC p   , односно ниједно од k места која моделирају понављања посматраног догађаја не садржи жетон. За овакав скуп пресека је у поглављу 3.3 доказано да је минипресек. 7.2. 1 ( ) i k s i MC p k   , односно 1 2( ) ( ) ( ) 1ks s sM p M p M p   - сва места која моделирају понављања посматраног догађаја садрже жетон. Последицом 3.4 је и за овакав скуп пресека доказано да, након 1k  применa закона идемпотенције: P P P  , постаје минипресек. 7.3. 1 0 ( ) i k s i MC p k    , односно нека, али не сва, места која моделирају понављање посматраног догађаја садрже жетон. За овакав скуп пресека треба испитати да ли је минипресек или се елиминише. Нека у СН постоји 'n примарних догађаја чија је вишеструкост већа од 1. Означимо са S скуп свих ( 1k  )-торки 1 2( , , ,..., )kk s s s , формираних за такве догађаје. Подсетимо да сваком мртвом маркирању T 1 2[ ( ), ( ),..., ( )]mM M p M p M p ИПМ одговара један скуп пресека, тако да примарни догађај припада скупу пресека ако је маркирање места које га представља јенако 1. Сада се скуп свих скупова пресека SP , који се добијају алгоритмом ИМП1, може поделити на три дисјунктна подскупа:  1 0 { |( ) ( ) 0} i k s i MSP C SP s S MC p       , који представља скуп свих скупова пресека који имају Својство 7.1. 0MSP је скуп К1 из алгоритма редукције СН3 из поглавља 3.3.5;  1 1 { \ 0 |( ) ( ) ( ) 0( )} i i k k s s i i MSP C SP MSP s S MC p k MC p           , скуп свих скупова пресека који имају Својство 7.2, односно таквих да, ако садрже неки примарни догађај чија је вишеструкост већа од 1, онда садрже сва његова 148 понављања. MSP је скуп К2 из алгоритма редукције СН3, тј. скупови пресека из MSP су облика *C ; и  \ ( 0 )SPR SP MSP MSP  , који представља скуп свих скупова пресека који имају Својство 7.3. SPR је скуп К3 алгоритма АРСН3;. Сада се алгоритам ИПМ_1 може модификовати на следећи начин:  Улазним подацима алгоритма ИПМ_1 придружује се скуп S .  У почетном кораку се изоставља скуп SP  , а додају дефинисани подскупови, тј. 0MSP  , MSP  и SPR  .  Корак 3 алгоритма постаје: Корак 3’: Q={(i,q,j)  j = 1, j  L}; If Q  then * ( , , ) min i q j Q j j   , *,k j r q  , Q  , Go to Корак1; else if 1 ( ) ( ) 0 i k s i s S M p     then 0 0 { }MSP MSP L  ; else if 1 1 ( ) ( ) ( ) 0( ) i i k k s s i i s S M p k M p         then { }MSP MSP L  ; else { }SPR SPR L  ; Пример Модификовани алгоритам ИПМ_1 за СН са слике 2.4, на основу стабла достижности ИПМ са слике 6.7, има исти број корака као у примеру у поглављу 6.5. Овде ће бити приказан само корак 3 за дати пример. Поред постојећих, нови улазни подаци су елементи скупа S ={(2,5,11), (2,9,15)}. Прва тројка представља опис примарног догађаја P2 СН са слике 2.4, које је вишеструкости 2 и чија су понављања моделирана местима 5p и 11p . Другом тројком је моделиран примарни догађај P3, чија су два понављања моделирана местима 9p и 15p . 149 Почетак: (0,0,1), k = 1, r = 0, M = (100000000000000 ), R = , R = , Q = , Q = , L = , 0MSP  , MSP  и SPR  . ... Корак 3: Q = , 5 11( ) ( ) 0M p M p  и 9 15( ) ( ) 0M p M p  , 0 {{2}}MSP  ; # пронађен је скуп пресека са својством 1. ... Корак 3: Q={(3,3,10)}; * 10j k  ; r = 3; Q = ; ... Корак 3: Q = , 5 11( ) ( ) 2M p M p  и 9 15( ) ( ) 0M p M p  , {{5,11}}MSP  ; # пронађен је скуп пресека са својством 2. ... Даљом применом алгоритма добијају се, редом, елеманети скупа 0MSP : {7,13}, {8,13}, {7,14} и {8,14}, скупа MSP : {9,15} и скупа SPR : {7,11}, {8,11}, {9,11}, {5,13}, {9,13}, {5,14}, {9,14}, {5,15}, {7,15} и {8,15}. Сада се над добијеним скуповима може применити алгоритам АРСН3, на исти начин како је на примеру истог СН примењено у поглављу 3.3.2. 7.2. Одређивање минипресека задате дужине За СН са свим примарним догађајима вишеструкости 1, број жетона у чворовима графа достижности ИПМ је веома природан критеријум одсецања скупова пресека дужих од задате вредности l , односно одређивања само скупова пресека реда l . Сваки чвор стабла достижности представља једно маркирање ИПМ, односно скуп посредних и/или примарних догађаја. Подсетимо да је предложена метода одређивања минипресека помоћу стабла достижности ИПМ типа одозго на ниже и да је доказано да је број жетона у чворовима графа достижности неопадајући. То значи да, када се достигне маркирање 'M у коме је 1 '( ) m i i M p l   , даљом 150 применом алгоритма се могу добити само маркирања M у којима је такође 1 ( ) m i i M p l   , па се одговарајућа грана стабла достижности може “одсећи”. Међутим, у СН са примарним догађајима чија је вишеструкост већа од 1, над скуповима пресека се примењује закон идемпотенције, након чега се њихова дужина смањује. Нека је, на пример, дат скуп пресека: 1 1 1... ... jk j j j ux x x x x       Овај скуп пресека садржи 1ju k  примарних догађаја, међу којима је jk понављања догађаја jx . Нека је параметар одсецања 1ju l u k    . Директном применом корака 2’ из поглавља 6.6, овај скуп пресека не би био одређен. Међутим, након 1jk  примене закона идемпотенције, дати скуп пресека постаје: 1 1 1... ...j j j ux x x x x       чиме се његова дужина скраћује на u . Другим речима, дати скуп пресека јесте реда l и треба да буде одређен. Како су скупови пресека комбинације примарних догађаја који изазивају отказ система, ниједна од њих не сме бити изостављена. Због тога у одређивању параметра l треба узети у обзир и будућу примену закона идемпотенције. 7.2.1. Одређивање параметра одсецања у СН Нека је ,vG v V , посредни догађај датог СН и [ ]vP G (као у 3.3.2) његов домен, односно мултискуп свих примарних догађаја, који су непосредни или посредни улаз логичког кола чији је излазни догађај vG . Нека је 'U скуп примарних догађаја, чија је вишеструкост већа од 1. Претпоставимо прво да у [ ]vP G постоји само један догађај из 'U , нпр. ix вишеструкости ik и да је v ik број понављања примарног догађаја ix у [ ]vP G .  У првом делу наредног излагања биће коришћена нотација СН из главе 3, а на крају ће главни закључци бити у поглављима 7.2.2 и 7.2.3 преведени у нотацију Петријевих мрежа. 151 На основу тврђења 3.1, ако је за сваки пар понављања догађаја ix минимално логичко коло ijG типа И, у структурној функцији подстабла са кореном vG , постоји скуп пресека облика *C , односно скуп пресека са свих v ik понављања догађаја ix . Нека посматрани скуп пресека садржи укупно k примарних догађаја. Након 1vik  примене закона идемпотенције, посматрани скуп пресека ће имати ( 1)vik k  елемената. Другим речима, скуп пресека облика *C ће бити скраћен за 1vik  . Међу осталим скуповима пресека постоји још скупова пресека који садрже више понављања догађаја ix и који ће такође бити скраћени применом закона идемпотенције, али за мање од 1 v ik  . За скуп пресека *C ћемо рећи да је максимално скраћени скуп пресека, а 1 v ik  максимално скраћење скупова пресека у подстаблу са кореном vG . Уколико у подстаблу са кореном vG не важи услов из Тврђења 3.1, број елемената у максимално скраћеном скупу пресека применом идемпотенције, је мањи од 1vik  . У том случају је могуће одредити максималан број понављања догађаја ix у [ ]vP G , таквих да је за сваки њихов пар минимално логичко коло 1 2 G4 3 G1 G2 T 4 6 2 G5 3 G3 5 7 типа И. Означимо га са t13 t5 t6 t7 t11 t12 p5 p10 p6 p12 p9p14 p15 p1 p2 t2 t8 t9 t10 p7 p11 p8 p13 t1 p3 p4 t4t3 . Тада, у структурној фунцкији подстабла са кореном vG , постоји скуп пресека са maxv ik понављања догађаја ix , у коме ће се применити max 1vik  закон идемпотенције. Дакле, max 1vik  је у том случају максимално скраћење скупова пресека у подстаблу са кореном vG . Ако су сва посматрана минимална логичка кола типа ИЛИ, max 1vik  и тада је max 1 0vik   , односно неће постојати ниједан скуп пресека у коме се може применити закон идемпотенције. Нека су vG и wG , ,v w V два посредна догађаја, таква да [ ]v wG P G и [ ]w vG P G и нека је maxv ik и maxw ik максималан број понављања догађаја ix у [ ]vP G и [ ]wP G , таквих да је за сваки њихов пар минимално логичко коло ijG типа И. Нека је (слично као у 3.3.3) vwG минимално логичко коло догађаја vG и wG , 152 односно корен минималног подстабла које садржи дате посредне догађаје. Ако посредном догађају vwG одговара логичко коло типа И, у структурној функцији подстабла са кореном vwG , постоји скуп пресека са k примарних догађаја у коме је max maxv wi ik k понављања примарног догађаја ix . Након примене закона идемпотенице, број елемената датог скупа пресека постаће max max( 1)v wi ik k k   , односно максимално скраћење је max max 1v wi ik k  . Ако посредном догађају vwG одговара логичко коло типа ИЛИ, максималан број понављања догађаја ix у [ ]vwP G једнак је max maxmax{ , }v wi ik k . У општем случају, нека је 'V скуп индекса посредних догађаја таквих да за сваки пар , , , 'v wG G v w V важи [ ]v wG P G и [ ]w vG P G и нека је max , 'vik v V максималан број понављања догађаја ix у [ ], 'vP G v V , таквих да је за сваки њихов пар минимално логичко коло ijG типа И. Нека је G минимално логичко коло посредних догађаја , 'vG v V типа И. Тада, у структурној функцији подстабла са кореном G , постоји скуп пресека са k примарних догађаја, у коме је max ' v i v V k   понављања примарног догађаја ix . Након примене закона идемпотенице, број елемената датог скупа пресека постаје max ' ( 1)vi v V k k    . Дакле, максимално скраћење које се може постићи у подстаблу са кореном G је: max ' 1vi v V k   (7.1). Ако је минимално логичко коло посредних догађаја , 'vG v V , G типа ИЛИ, максималан број понављања догађаја ix у [ ]P G једнак је max ' max{ }vi v V k  . (7.2) Напомена 7.1: Примарни догађаји, чија је вишеструкост већа од 1, овде ће такође бити посматрани као посредни догађаји, који су излаз логичког кола типа И и који сами чине свој домен, тј. [ ] , ''j jP x x j U  . За ове догађаје важи да је max 1jjk  . Зато ће се у наставку под скупом V подразумевати ''V U . 153 Претходно разматрање односило се на случај када се у домену посматраних логичких кола налази само један примарни догађај са вишеструкошћу већом од 1. Нека је сада " 'U U скуп свих примарних догађаја ix , чија је вишеструкост ik већа од 1 и који припадају домену датог vG , тј. "ix U и [ ]i vx P G . Нека је v ik број појављивања догађаја ix у [ ]vP G . Ако за сва понављања догађаја "ix U у [ ]vP G важи услов из Тврђења 3.1, у структурној функцији подстабла са кореном vG , постоји скуп пресека облика *C . Тада је максимално скраћење скупова пресека у подстаблу СН са кореном vG , које се добија применом закона идемпотенције, једнако " ( 1)vi i U k   . Ако у подстаблу са кореном vG не важи услов из Тврђења 3.1, тада је за сваки од догађаја "ix U у [ ]vP G , могуће одредити maxv ik - максималан број понављања догађаја таквих да је за сваки њихов пар минимално логичко коло ijG типа И. Тада је горња граница максималног скраћења у подстаблу са кореном vG једнака max " ( 1)vi i U k   (7.3) Максимално скраћење ће бити једнако (7.3) само у случају када за свака два примарна догађаја , "i jx x U , њихова понављања која чине max max,v vi jk k , имају минимално логичко коло типа И. Тада, у структурној фунцкији подстабла са кореном vG , постоји скуп пресека облика max " v ik i j i U j U x y     , где су jy неки примарни догађаји вишеструкости 1, односно \ 'U U U , који ће бити скраћен за (7.3) догађаја. Дакле, (7.1) је максимално скраћење за случај једног примарног догађаја у више домена посредних догађаја, чије је минимално логичко коло G типа И. Израз (7.3) је горња граница максималног скраћења за случај више примарних догађаја у домену једног посредног догађаја. Потребно је одредити максимално скраћење (или његову границу) за најопштији случај: више примарних догађаја у више домена посредних догађаја, чије је минимално логичко коло G типа И. 154 Посматрајмо сада најопштији случај. Нека постоје примарни догађаји " 'ix U U  чија је вишеструкост ik већа од 1 и који припадају доменима датих посредних догађаја , 'vG v V . Посредни догађаји , 'vG v V су такви да је њихово минимално логичко коло G типа И и да за сваки пар , , , 'v wG G v w V важи [ ]v wG P G и [ ]w vG P G . Нека је за свако ix познат max , 'vik v V , максималан број понављања догађаја ix у [ ], 'vP G v V , таквих да је за сваки њихов пар '( , )i ix x минимално логичко коло 'iiG типа И. Спајањем (7.1) и (7.3) добија се горња граница максималног скраћења за општи случај: max " ' ( 1)vi i U v V k     . Претходном дискусијом доказано је следеће тврђење: Тврђење 7.1: Нека су , 'vG v V посредни догађаји датог СН, такви да је њихово минимално логичко коло G типа И и да за сваки пар , , , 'v wG G v w V важи [ ]v wG P G и [ ]w vG P G . Скупови пресека подстабла са кореном G се, применом закона идемпотеције, могу скратити највише за: max " ' ( 1)vi i U v V k     (7.4) где је "i U индекс примарног догађаја ix вишеструкости веће од 1, који припада домену бар једног од посматраних посредних догађаја, а max , 'vik v V - максималан број понављања догађаја ix у [ ], 'vP G v V , таквих да је за сваки њихов пар '( , )i ix x минимално логичко коло 'iiG типа И. Дакле, прво се за сваки примарни догађај одреди појединачно максимално скраћење, када се само над његовим понављањима примени закон идемпотенције, а затим се одређује збир појединачних максималних скраћења, чиме се добија горња граница скраћења. Пример Посматрајмо, на пример, гранични случај када у СН постоји скуп пресека типа 1 2* 1 2 ... nkk k nC x x x    и када је G вршни догађај СН коме одговара логичко коло 155 типа И. У Напомени 3.2 у поглављу 3.3.2 је већ речено да се над скупом пресека *C може 1 ( 1) n i i k   пута применити закон идемпотенције. Покажимо да је то вредност која се добија и применом (7.4). На основу доказа Теореме 3.2., структурна функција СН је облика (3.9): 1 2[ ] [ ] [ ] ... uC D G C D G C D G C C C         где је 0, 1,..., , 1,...,vik i n v u   број понављања примарног догађаја ix у домену логичког кола vG и 1 u v i i v k k   . Пошто је посматрани скуп пресека облика *C , на основу тврђења 3.1, за сваки догађај ix и логичко коло vG , важи maxv v i ik k . Применом (7.4) на посматрано СН, добија се горња граница максималног скраћења његових скупова пресека: max 1 1 1 1 1 ( 1) ( 1) ( 1) n u n u n v v i i i i v i v i k k k               као што је и дато у Напомени 3.2. Вредност (7.4) показује за колико треба повећати параметар одсецања l када се неком од метода одозго на ниже одређују минипресеци задате дужине. На тај начин се обезбеђује да се одреде и сви скупови пресека који након примене закона идемпотенције постају реда t18 t11 t12 t13 t15 t17 p6p5 p7 p9 p12p11 p13 p1 p2 t6 t14 p8 p10 t5 p3 p4 t10t9 t1 t2 t3 t4 t7 t8 t16 t19 . Директна метода из поглавља 1.5.1.1 се сада може модификовати увођењем одсецања скупова пресека дужих од l примарних догађаја, на следећи начин: 1. За сваки посредни догађај , 'vG v V и сваки примарни догађај "ix U одредити maxv ik помоћу (7.1), ако је vG излаз логичког кола И или (7.2) ако је vG излаз логичког кола ИЛИ; 2. Написати Булове једначине за свако логичко коло. 156 3. Вршити замену променљивих њиховим изразима, док се не добије вршни догађај као функција само примарних догађаја. 3.1. У свакој ДНФ структурне функције, за сваку коњункцију, одредити број чинилаца 'l ; 3.2. Ако је 'l l развијати коњункцију, 3.3. Израчунати (7.4). Ако је max " ' ' ( 1)vi i U v V l k l       развијати конјункцију, у супротном елиминисати је. 4. Извршити редукцију применом закона Булове алгебре. Пример У наставку ће бити илустрована модификована директна метода на примеру СН са слике 2.4, у коме је, због једноставије примене, промењено нумерисање догађаја (Слика 7.1). x1 x2 x13 x9x3 x5 x4 x8 x6 x7 x10 x4 x8 x11 x12 Слика 7.1. СН са слике 2.4. са модификованим нумерисањем Кораци модификоване директне методе за параметар одсецања 1l  су: 1. 4x : 4max 4 1k  , 8max 4 0k  , 5max 4 0k  , 10max 4 0k  , 3max 4max 5max 8max 4 4 4 4max{ , , } max{1,0,0} 1k k k k   , 9max 4max 10max 8max 4 4 4 4max{ , , } max{1,0,0} 1k k k k   , 2max 3max 9max 4 4 4 1 1 2k k k     , 1max 2max 4 4max{ } 2k k  , 157 8x : 4max 8 0k  , 8max 8 1k  , 5max 8 0k  , 10max 8 0k  , 3max 8 max{0,0,1} 1k   , 9max 8 max{0,0,1} 1k   , 2max 8 1 1 2k    , 1max 8 2k  . 2. 1 2 13x x x  , 2 3 9x x x  , 3 4 5 8x x x x   , 9 4 10 8x x x x   , 5 6 7x x x  , 10 11 12x x x  3. 1 2 13x x x  3.1. 2x : ' 1l  , 13x : ' 1l  , 3.2. 2x : 'l l  развијати даље, 13x : 'l l  развијати даље, 1 3 9 13x x x x   3.1. 3 9x x : ' 2l  , 3.3. max 3max 9max 3max 9max 4 4 8 8 " ', : [ ] ( 1) [ 1] [ 1] [1 1 1] [1 1 1] 2 i v v i i U v V i x P G k k k k k                    max " ', : [ ] ' ( 1) 2 2 0 i v v i i U v V i x P G l k l            развијати даље, 1 4 5 8 4 10 8 13 4 4 5 4 8 4 4 10 5 10 8 10 4 8 10 8 8 8 13 ( ) ( )x x x x x x x x x x x x x x x x x x x x x x x x x x x                  3.1. 4 4 5 4 8 4 4 10 5 10 8 10 4 8 10 8 8 8, , , , , , , ,x x x x x x x x x x x x x x x x x x , : ' 2l  , 3.3. 4 4x x , 8 8x x : max " ', : [ ] ' ( 1) 2 1 1 i v v i i U v V i x P G l k l            развијати даље, 5 4 8 4 4 10 5 10 8 10 4 8 10 8, , , , , ,x x x x x x x x x x x x x x : max " ', : [ ] ' ( 1) 2 0 2 i v v i i U v V i x P G l k l            одсећи, 1 4 4 8 8 13x x x x x x   4. 1 4 8 13x x x x   Резултат су сви минипресеци реда 1: {P1}, {P2} и {P3}. С обзиром да је у питању горња граница одсецања, може се десити да су међу добијеним скуповима пресека и они који су, након идемпотенције дужи од l . Такви скупови пресека се одбацују. Ова грешка издвајања скупова пресека који не задавољавају задати услов је прихватљива, за разлику од грешке неодређивања неког скупа пресека реда l . 158 У наставку ће бити приказано како се тврђење 7.1 може применити у одређивању минипресека задате дужине (реда) помоћу графа достижности ИМП датог СН. 7.2.2. Одређивање параметра одсецања у ИПМ Одређивање минипресека задате дужине, односно реда l , у ИПМ се своди на испитивање да ли грану испод посматраног чвора стабла достижности треба одсећи или даље развијати. Сваки чвор стабла достижности, односно одговарајуће маркирање M , може се посматрати као корен једног његовог подстабла. С обзиром да се у скуповима пресека, који се добијају на основу листова стабла достижности, може применити закон идемпотенције, потребно је одредити или проценити за колико ће се скратити скупови пресека у листовима подстабла са кореном M . У Кораку 2 алгоритма ИПМ_1, ако активном чвору одговара логичко коло типа И, формира се R={(i, q * ,j)} - скуп свих излазних места активног чвора. У складу са дискусијом из претходног поглавља, може се рећи да скуп R чине места која моделирају посредне и/или примарне догађаје, за које активни чвор представља минимално логичко коло. Посматрајмо само места која моделирају посредне догађаје. Нека су местима и ИПМ моделирани посредни догађаји и датог СН. Уколико за и важи да су на истом путу (поглавље 6.4), односно o o o... ( )i jp p , онда је . Како су сва места излазна места истог прелаза, она не могу бити на истом путу, односно за свака два места из важи: o o o... ( )i jp p и o o o... ( )j ip p . Одатле следи да за свака два посредна догађаја , која су моделирана местима из , важи и . Након паљења активног прелаза, из активног места се троши жетон, а сва места из R добијају жетон, односно ( ) 0 ( ( , , ) )iM p i q j R    ( ) 1jM p  . На тај начин се добија ново маркирање 'M . У 'M може постојати још места , 1,...,jp j m за које ip jp vG , , 'wG v w V ip jp [ ]w vG P G R R , , , 'v wG G v w V R [ ]v wG P G [ ]w vG P G 159 је, у некој од претходних итерација, ( )jM p добило вредност 1. Сва места за које је '( ) 1jM p  , моделирају одигравање одговарајућих догађаја. Како се у свакој итерацији, у Кораку 2 алгоритма, за o i jp p врши промена маркирања: ( ) 0iM p  и ( ) 1jM p  , за сваки пар места rp и sp , за које је истовремено '( ) 1rM p  и '( ) 1sM p  , важи o o o... ( )r sp p и o o o... ( )s rp p . Одатле следи да за догађаје vG и wG , који су моделирани местима rp и sp , важи [ ]v wG P G и [ ]w vG P G . С друге стране, како важи o o o... ( )r sp p и o o o... ( )s rp p , следи да и припадају двема различитим гранама ИПМ. Те две гране имају заједничко место 'p , које уједно представља и корен минималног подстабла ИПМ које садржи места rp и sp ( p може бити и корен ИПМ који моделира вршни догађај СН). Како постоји маркирање 'M у коме је '( ) 1rM p  и '( ) 1sM p  , следи да је 'p улазно место једног прелаза, односно 'p моделира излаз логичког кола типа И датог СН. (Подсетимо да, пошто ИПМ има обрнуто оријентисане гране, излазном догађају датог логичког кола СН одговара улазно место прелаза ИПМ којим је моделирано посматрано логичко коло.) Претпоставимо супротно. Нека 'p моделира излаз логичког кола типа ИЛИ датог СН. У том случају 'p је улазно место онолико прелаза, колико посматрано логичко коло има улазних догађаја. Постојање жетона у месту 'p истовремено омогућава само један од прелаза 0't p , што значи да се жетон из 'p не може истовремено проследити у обе гране којима припадају места rp и sp . То даље значи да не може да се достигне маркирање 'M у коме је '( ) 1rM p  и '( ) 1sM p  . Дакле, минималном корену подстабла ИПМ које садржи места rp и sp одговара логичко коло типа И датог СН. Одатле следи да је минимално логичко коло догађаја vG и wG , који су моделирани местима rp и sp , типа И. На основу претходне дискусије доказано је следеће тврђење: rp sp 160 Тврђење 7.2: У чвору 'M стабла достижности ИПМ датог СН, местима , 1,...,jp j m за која је '( ) 1jM p  моделирани су догађаји , 'vG v V , чије је минимално логичко коло типа И и за које важи да је за свака два посредна догађаја , , , 'v wG G v w V , [ ]v wG P G и [ ]w vG P G . Нека је, како је већ означено у поглављу 7.1, S скуп свих ( 1k  )-торки 1 2( , , ,..., )kk s s s , чији први елемент представља вишеструкост примарног догађаја ix датог СН, а осталих k елемената индексе места 1 2, ,..., ks s sp p p , којима је моделирано његових ik понављања. Нека је jp место које моделира посредни догађај vG такво да је '( ) 1jM p  . Тада је maxj sk у ИПМ једнако maxv ik у датом СН. Сада је могуће, аналогно Тврђењу 1, дефинисати горњу границу максималног скраћења скупова пресека добијених у листовима подстабла стабла достижности са кореном 'M . Напомена 7.2: У (7.4), максимално скраћење се рачуна само за , "ix i U , односно за примарне догађаје вишеструкости веће од 1, који припадају домену бар једног од посматраних посредних догађаја. У ИПМ се овај услов своди на то да се очекивано скраћење израчунава само на основу 1 2( , , ,..., )kk s s s , таквих да постоји бар једно '( ) 1jM p  чији је следбеник неко од места 1 2, ,..., ks s sp p p . Овај услов се директно може изразити на следећи начин: o o o 1 2( { , ,..., })( {1,..., }) ( '( ) 1 ... ( ))k j j ii s s s j m M p p p       . Други, посредни начин је много једноставнији: max : '( ) 1 1 j j s j M p k   и он ће бити коришћен у формулацији Тврђења 7.3. Сада, коришћењем дате нотације, на основу тврђења 7.1 и 7.2 и напомене 7.2, следи: Тврђење 7.3: Нека је дато стабло достижности ИПМ датог СН и његово подстабло са кореном 'M . Скупови пресека добијени у листовима подстабла са кореном 'M се, применом закона идемпотенције, могу скратити највише за: 161 max : '( ) 1 max : '( ) 1: 1 ( 1) j js j M p j j s j M ps S k k        (7.5) где је s ( 1k  )-торка 1 2( , , ,..., )ks k s s s таква да постоји бар једно '( ) 1jM p  , чији је следбеник неко од места 1 2 , ,..., ks s s p p p , а maxj sk максималан број места 1 2 , ,..., ks s s p p p у подстаблу ИПМ са кореном jp , '( ) 1jM p  , таквих да, за сваки пар места 1 2 , ,..., ks s s p p p , корен њиховог минималног подстабла у ИПМ моделира излаз из логичког кола типа И. Напомена 7.3: Аналогно напомени 7.1, за места 1 2 , ,..., ks s s p p p која су листови ИПМ, је max 1, 1,...,r s sk r k  . На тај начин ће се добити тачан број понављања посматраног догађаја, ако је за неко од 1 2 , ,..., ks s s p p p у тренутном чвору стабла достижности '( ) 1 rs M p  . Нека је задат параметар одсецања l . Посматрајмо сада чвор 'M стабла достижности ИПМ датог СН, у коме је 1 '( ) ' n j j M p l   . Скупови пресека у листовима подстабла са кореном 'M датог стабла достижности ће имати 'l примарних догађаја или више, а применом закона идемпотенције се могу скратити највише за (7.5), односно њихова дужина може бити најмање: max : '( ) 1 max : '( ) 1: 1 ' ( 1) j js j M p j j s j M ps S k l k         . (7.6) Тада су могућа три случаја: 1. 'l l - чвор 'M стабла достижности треба даље развијати. 2. 'l l и max : '( ) 1 max : '( ) 1: 1 ' ( 1) j js j M p j j s j M ps S k l k l          - чвор 'M треба даље развијати јер се применом закона идемпотенције могу добити скупови пресека реда l . 3. max : '( ) 1 max : '( ) 1: 1 ' ( 1) j js j M p j j s j M ps S k l k l          - чвор 'M треба одсећи јер ће, и након идемпотеције, добијени скупови пресека бити дужи од l . 162 Поступак одсецања стабла достижности сада се састоји из следећих корака:  Из тренутног маркирања 'M извојити места jp за које је '( ) 1jM p  ;  За свако s одредити max : '( ) 1j j s j M p k   ;  Израчунати (7.5);  Израчунати (7.6),  Проверити који је од случајева 1-3) задовољен и поступити по њему. 7.2.3. Алгоритам за одређивање минипресека задате дужине Сада је могуће формулисати алгоритам за налажење минипресека задате дужине за СН са вишеструким догађајима. Алгоритмом је обухваћен и корак 3’ из поглавља 7.1. Овај алгоритам се може користити и за одређивање свих минипресека СН са вишеструким догађајем. Потребно је само задати довољно велики параметар одсецања l . У наставку ће прво бити наведени улазни подаци и скупови који се користе у алгоритму. Они који су већ коришћени у алгоритму ИМП1 и модификацијама Корака 2 и 3 ће бити само поновљени, а нови ће бити детаљније објашњени. Улазни подаци који се користе у алгоритму су:  ( , , ), 1,...,i q j j m - место jp ИПМ датог СН;  0 [1,0,...,0]M  - почетно маркирање;  S - скуп свих 1k  -торки 1 2( , , ,..., )kk s s s вишетрукости;  maxj sk - максималан број места 1 2, ,..., ks s sp p p која престављају догађаје у подстаблу ИПМ са кореном jp таквих да, за сваки пар места места 1 2 , ,..., ks s s p p p , корен њиховог минималног подстабла у ИПМ моделира излаз из логичког кола типа И. За места која представљају примарне догађаје је max 1r s sk  ;  l - параметар одсецања. Параметри и скупови који се користе у алгоритму су: 1 2 , ,..., ks s s p p p 163  k , r - индекс активног места и активног прелаза;  R - скуп места за која важи: o o( )j kp p ;  L - скуп индекса места који су листови ИПМ у тренутној итерацији;  R - скуп места из R која су у И вези;  \R R - скуп места из R која су у ИЛИ вези;  Q - скуп места која у тренутној итерацији садрже жетон и која нису у L ;  Q - скуп места која су у ИЛИ вези са активним местом;  0MSP , MSP и SPR - скуп скупова пресека који имају својство 7.1, 7.2 и 7.3, респективно;  SP - скуп одсечених чворова. Алгоритам за одређивање минипресека кохерентног СН са вишеструким догађајима се може сажети у следеће три фазе:  Резултат else гране корака 1 је један лист ИПМ или одсечени чвор стабла достижности;  Резултат последље else гране корака 2 је један одсечени чвор стабла достижности;  Резултат else гране корака 3 је један лист стабла достижности (један скуп пресека) са додељеним својствима 7.1-7.3;  Резултат else гране корака 4 су скупови 0MSP , MSP и SPR , који су улаз у алгоритам редукције СН3, и SP - скуп одсечених чворова. Алгоритам ИПМ_2 Почетак: (0,0,1), k := 1, r := 0, M := (1,0,…,0), R := , R := , Q := , Q := , L := , MSP0 := , MSP := , SPR := , :SP  164 Корак 1: R :={( k,q,j)  q ≥ r}; If R ≠  then Go to Корак 2 else L := L  {j}; Go to Корак 3. Корак 2: * ( , , ) : min i q j R q q   ; R :={(i,q * ,j)}; R := R - R; M(pk) := 0; ( (i,q,j)  R) (M(pj) := 1; Mj := M; M(pj) := 0) Q := Q  {[(i,q,j), Mj]  (i,q,j)  R}; ( (i,q,j)  R) M(pj) := 1; if 1 ( ) m j j M p l   then * ( , , ) min i q j P j j   ; k: = j*; r := q; R := ; Go to Step 1. else if max : '( ) 1 max 1 : '( ) 1: 1 ( ) ( 1) j js j M p j m j j s j j M ps S k M p k l            then * ( , , ) min i q j P j j   ; k = j*; r = q; R = ; Go to Step 1. else ( (i,q,j)  R) M(pj) = 0; M(pk) = 1; L = L + {j}; SP = SP + {L}; Q = ; Go to Step 4. Корак 3: Q:={(i,q,j)  j = 1, j  L}; If Q  then * ( , , ) min i q j Q j j   , *,k j r q  , Q  , R={(i,q, *j )}, Go to Корак 2; 165 else if 1 ( ) ( ) 0 i k s i s S M p     then 0 0 { }MSP MSP L  ; else if 1 1 ( ) ( ) ( ) 0( ) i i k k s s i i s S M p k M p         then { }MSP MSP L  ; else { }SPR SPR L  ; Корак 4: If Q ≠  then * lex ( , , ) min min jM i q j Q j j   ; k := i; r := q; M := Mj ; Q := Q \ {[(i,q,j), Mj]}, L = ; Go to Корак 3; else Крај. Алгоритам ИПМ_2 се разликује од алгоритма ИПМ_1 у Корацима 2 и 3. Поред тога, разлика је и у томе што се, након then гране корака 4 враћа на корак 3, a након тога на корак 2. Разлог за то је што, када се из Q изабере маркирање које ће се даље развијати, мора прво да се провери да ли ће скупови пресека у подстаблу ИПМ са кореном у новом активном чвору, након примене закона идемпотенције, задовољавати услов задатог параметра l . Пример У наставку ће бити илустровано како се алгоритмом ИПМ_2 добијају скупови пресека СН са слике 2.4, на основу стабла достижности ИПМ са слике 6.7. Улазни подаци који се користе у алгоритму су:  Тројке: (0,0,1), (1,1,2), (1,2,3), (3,3,4), (4,4,5), (4,5,6), (6,6,7), (6,7,8), (4,8,9), (3,3,10), (10,9,11), (10,10,12), (12,11,13), (12,12,14) и (10,13,15);  Почетно маркирање: T 0 [1,0,...,0]M  ;  Елементи скупа S ={(2,5,11), (2,9,15)}; 166  maxj sk : за 1s  : 5max 1 1k  , 11max 1 1k  , 4max 1 1k  , 10max 1 1k  , 3max 1 2k  , 1max 1 2k  и max 1 0, {2,6,7,8,9,12,13,14,15} jk j  , за 2s  : 9max2 1k  , 15max 2 1k  , 4max 2 1k  , 10max 2 1k  , 3max 2 2k  , 1max 2 2k  и max 2 0, {2,5,6,7,8,11,12,13,14} jk j  .  Параметар одсецања 1l  Почетак: (0,0,1), k = 1, r = 0, M = (100000000000000 ), R = , R = , Q = , Q = , L = , 0MSP  , MSP  , SPR  , SP  . Корак 1: R={(1,1,2), (1,2,3)}; Корак 2: * ( , , ) min {1,2} 1 i q j R q    ; R={(1,1,2)}; M(p1) = 0; R ={(1,2,3)}; M(p3) = 1, M3=( 001000000000000 ), M(p3) = 0; Q = {[(1,2,3), M3]}; R = ; M(p2) = 1, 15 1 ( ) 1j j M p l    , M=( 010000000000000 ); * 2j  ; k = 2 ; r = 1, R = , Корак 1: R =  L = {2}; # пронађен је лист ИПМ Корак 3: Q = , 5 11( ) ( ) 0M p M p  и 9 15( ) ( ) 0M p M p  , 0 {{2}}MSP  ; # пронађен је скуп пресека са својством 1. Корак 4: * 3j  ; k =1; r = 2; M = ( 001000000000000 ) ; Q =, L =; Корак 3: Q = {(1,2,3)}, * 3j  ; R={(1,2,3)}; Q  ; Корак 2: * 2q  ; R={(1,2,3)}; R = ; M(p1) =0;Q = ; M(p3) =1; 15 3 1 ( )=1, ( ) 1j j M p M p l    ,M=( 001000000000000 ), * 3j k  ;r=2;R=; Корак 1: R={(3,3,4), (3,3,10)}; Корак 2: * 3q  ; R={(3,3,4), (3,3,10)}; R = ; M(p3) =0;Q = ; M(p4) =1;M(p10) =1, 15 4 10 1 ( ( )=1, ( )=1) ( ) 2j j M p M p M p l     , 15 max 1 : '( ) 1 4max 10max 4max 10max 1 1 2 2 ( ) ( 1) 2 [( 1) ( 1)] 2 (1 1) 0 j j j s j s S j M p M p k k k k k l                     167 M=( 000100000100000 ); * 4j k  ; r =3; R = ; Корак 1: R={(4,4,5), (4,5,6) , (4,8,9)}; Корак 2: * 4q  ; R={(4,4,5)}; R = {(4,5,6) , (4,8,9)}; M(p4) = 0; M6=( 000001000100000 ), M9=( 000000001100000 ); Q={[(4,5,6),M6],[(4,8,9), M9]}; R = ; M(p5) = 1; 5max 10max 5max 10max 1 1 2 22 [( 1) ( 1)] 2 (1 0) 1k k k k l           M = ( 000010000100000 ); * 5j k  ; r =4; R = ; Корак 1: R =  L = {5}; # пронађен је лист ИПМ Корак 3: Q={(3,3,10)}; * 10j k  ; r = 3; R = {(3,3,10)}; Q = ; Корак 2: * 3q  ; R={(3,3,10)}; R=  5max 10max 5max 10max 1 1 2 22 [( 1) ( 1)] 2 (1 0) 1k k k k l           M = ( 000010000100000 ); * 10j k  ; r =3; R = ; Корак 1: R={(10,9,11), (10,10,12) , (10,13,15)}; Корак 2: * 9q  ; R={(10,9,11)}; R = {(10,10,12) , (10,13,15)}; M(p10) = 0; М12=( 000010000001000 ), М15=( 000010000000001 ); Q={[(4,5,6),M5], [(4,8,9), M9], [(10,10,12), M12], [(10,13,15), M15]}; R = ; M(p11) =1; 5max 11max 5max 11max 1 1 2 22 [( 1) ( 1)] 2 (1 0) 1k k k k l           M = ( 000010000010000 ); * 11j k  ; r =9; R = ; Корак 1: R =  L = {5,11}; # пронађен је лист ИПМ Корак 3: Q = , 5 11( ) ( ) 2M p M p  и 9 15( ) ( ) 0M p M p  , {{5,11}}MSP  ; # пронађен је скуп пресека са својством 2, tj. *C . Корак 4: * 6j  ; k = 4; r = 5; M =М6 = ( 000001000100000 ); Q={[(4,8,9),M9],[(10,10,12),M12], [(10,13,15), M15]}; L =; Корак 3: Q={(4,5,6),(3,3,10)}; * 6j k  ; r = 5; R = {(4,5,6)}; Q = ; Корак 2: * 5q  ; R={(4,5,6)}; R = ; M(p4) =0; M(p6) =1; 6max 10max 6max 10max 1 1 2 22 [( 1) ( 1)] 2 (0 0) 2k k k k l           M(p4) =1; M(p6) =0, M = ( 000100000100000 ), 168 L = {4}, SP = {{4}}; # одсечен је један чвор Корак 4: * 9j  ; k = 4; r = 8; M =М9 = ( 000000001100000 ); Q={[(10,10,12),M12],[(10,13,15), M15]}; L =; Корак 3: Q={(4,8,9),(3,3,10)}; * 9j k  ; r = 8; R = {(4,8,9)}; Q = ; Корак 2: * 8q  ; R={(4,8,9)}; R = ; M(p4) = 0; M(p9) = 1; 9max 10max 9max 10max 1 1 2 22 [( 1) ( 1)] 2 (0 1) 1k k k k l           M = ( 000000001100000 ); * 9j k  ; r =8; R = ; Корак 1: R =  L = {9}; # пронађен је лист ИПМ Корак 3: Q={(3,3,10)}; * 10j k  ; r = 3; Q = ; Корак 2: * 9q  ; R={(10,9,11)}; R = {(10,10,12) , (10,13,15)}; M(p10) = 0; М12=( 000000001001000 ), М15=( 000000001000001); Q={[(10,10,12),M12],[(10,13,15), M15],[(10,10,12), M12],[(10,13,15), M15]}; R = ; 9max 11max 9max 11max 1 1 2 22 [( 1) ( 1)] 2 (0 0) 2k k k k l           M(p11) =0; M(p10) =1, M = ( 000000001100000 ), L = {9}, SP = {{6},{9}}; # одсечен је још један чвор Даљом применом алгоритма, добија се сечење чвора стабла достижности у чворовима са маркирањима: ( 000010000001000 ), ( 000000001001000 ), ( 000010000000001) и ( 000000001010000 ), а у последњој итерацији алгоритма, добија се скуп пресека {9,15} са својством 7.2, тј. скуп пресека облика *C . Излаз из алгоритма су скупови: 0 {{2}}MSP  , {{5,11},{9,15}}MSP  и SPR  . Пошто је SPR  , сви добијени скупови пресека су минипресеци. Скупови пресека из MSP , након примене закона идемпотенције, постају реда 1. На тај начин су одређена сва три минипресека реда 1 СН са слике 2.4. Део стабла достизања са слике 6.12, који је тиме одређен, приказан је на слици 7.2. (одсечени чворови стабла достижности су подвучени). 169 [100000000000000] [010000000000000] [001000000000000] [000100000100000] [000010000100000] [000001000100000] [000100000001000] [000000001100000] t1 t3 t2 t8t5t4 t10 t9 [000010000010000] t10 [000010000001000] t13 [000010000000001] [000000001001000] [000000001000001][000000001010000] t13 t10 t9 Слика 7. 2. Скраћено стабло достижности ИПМ са слике 6.7. Елемент скупа SPR , након примене закона идемпотенције, постаје реда 'l и може имати једно од следећих својстава:  'l l и надскуп је неког скупа пресека из MSP или SPR . Посматрани скуп пресека ће бити елиминисан применом алгоритма редукције СН3;  'l l и није надскуп ниједног скупа пресека из MSP и SPR . Да би неки од одсечених скупова пресека био подскуп посматраног скупа пресека, његов ред мора бити јенако или мање од . Како су сви одсечени скупови пресека реда већег од l , ниједан од њих не може бити подскуп посматраног скупа пресека. Дакле, посматрани скуп пресека је минипресек;  'l l . У том случају скуп пресека ће бити елиминисан. Овде није битно да ли је посматрани скуп пресека минипресек или не, јер је његов број примарних догађаја већи од задатог. 7.2.4. Алгоритам за одређивање maxj s k Елементи maxj sk се одређују на основу структуре ИПМ датог СН. У поглављу 6.5 је показано да је структура ИПМ садржана у улазним тројкама ( , , ), 1,...,i q j j m . Овде ће бити поновљене основне особине овако записане структуре ИПМ, које су потребне за даљи рад. 'l 170  Место jp је представљено тројком ( , , )i q j , где је: q индекс улазног прелаза места jp , тј, o q jt p , i индекс улазног места прелаза qt , тј, o i qp t , односно o o( )i jp p и j индекс места jp ;  Корен ИПМ је (0,0,1) , а уколико је место jp лист, неће постојати ниједна тројка у којој је први елемeнт једнак j ;  Ако места , ,...,j k up p p ИПМ моделирају догађаје СН који су у И вези, прва два елемента тројки које их представљају су иста, тј: ( , , )i q j , ( , , )i q k ,…, ( , , )i q u ;  Ако места , ,...,j k up p p ИПМ моделирају догађаје СН који су у ИЛИ вези, само први елемент тројки које их представљају је исти, тј; ( , , )i q j , ( , , )i r k ,…, ( , , )i v u ; Међутим, улазним тројкама ( , , ), 1,...,i q j j m су понављања истог примарног догађаја, чија је вишеструкост већа од 1, представљена различитим местима, а за одређивање maxj sk је потребан податак и о вишеструкостима. Овај податак је садржан у 1 2( , , ,..., )kk s s s . Нека је pP скуп места ИПМ, којима су моделирани примарни догађаји датог СН. Свако место из pP може припадати само једној ( 1k  )-торки, тако да се за њих може одредити maxj sk на следећи начин: 1 2max 1 ако { , ,..., } , , 0 у супротном kj s j p j s s s k s S p P      . (7.6) Када је одређено maxj sk за сва места из pP , вредност овог параметра се може израчунати и за места која моделирају посредне догађаје. За сваки посредни догађај \g pp P P се на основу улазних тројки ( , , ), 1,...,i q j j m , може одредити скуп места следбеника o o( )gp : o o( ) {( , , )}gp g q j . (7.7) Ако место \g pp P P , моделира посредни догађај који је излаз из логичког кола типа И, онда за било који пар ( , ', '), ( , ", ")g q j g q j из o o( )gp , важи ' ''q q . Тада је на основу (7.1) и дискусије из поглавља 7.2.2: 171 o o max max :( , , ) ( ) 1 g g j s s j i q j p k k    (7.8). Ако место \g pp P P , моделира посредни догађај који је излаз из логичког кола типа ИЛИ, онда за било који пар ( , ', '), ( , ", ")g q j g q j из o o( )gp , важи ' ''q q . Тада је на основу (7.2) и дискусије из поглавља 7.2.2: o o max max :( , , ) ( ) max { } g g j s s j i q j p k k   (7.9) Пошто је ИПМ нумерисана у дубину и с леве на десну страну, одређивање maxg sk се врши од места са највећим индексом ка 1p . На тај начин ће, када се рачунају maxg sk за неко \g pp P P , maxg sk свих његових следбеника већ бити израчунати. Скуп o o( )gp се одређује на исти начин као скуп R={(k,q,j)  q ≥ r} у алгоритмима ИПМ_1 и ИПМ_2, само без додатног услова за индекс прелаза. Скупови из (7.8) и (7.9) се, такође, одређују аналогно одређивању скупова R и \R R . Због тога ће се у алгоритму за одређивање maxj sk за ове скупове користити исте ознаке као у ИПМ 1 и 2. Сада може да се формулише алгоритам за одређивање maxj sk . Улазни подаци који се користе у алгоритму су:  Тројке ( , , ), 1,...,i q j j m и  'S - скуп k -торки 1 2' { , ,..., }ks s s s . Параметри и скупови који се користе у алгоритму су:  k , v - индекс активног места и места претходника;  ( , , )v r k - променљива типа ( , , )i q j ;  pP - скуп листова ИПМ који моделирају примарне догађаје;  gP - скуп места ИПМ који моделирају посредне догађаје;  { ( , ), , 1,..., }K k s j s S j m   - скуп параметара maxj sk . 172 Алгоритам Kmax Почетак: pP := , gP := , R := , R := , К :=  : {( , , ) | ( ( , , ) }gP i q j j r k P   : {( , , ) | ( ( , , )) }pP i q j v r k v j   ( ' ') ( ( , , ) ) if ' then ( ', ) 1ps S i q j P j s k s j       max ( , , ) * ( , , ) * max max :( , , ) max max :( , , ) max max ( ' ')[( ( , , ) ) {( , , ) } if 1 then min {( , , ) }, \ if then 1 else max { } else 0 { }] g j s i q j R i q j R k j s s j i q j R k j s s j i q j R R k s k s s S v r k P R i q j i k k q q R i q j q q R R R R k k k k k K K k                              Крај. Пример У наставку ће бити показано како се Алгоритмом Kmax добијају елементи скупа K за ИПМ са слике 6.7. Улазни подаци који се користе у алгоритму су:  Тројке: (0,0,1), (1,1,2), (1,2,3), (3,3,4), (4,4,5), (4,5,6), (6,6,7), (6,7,8), (4,8,9), (3,3,10), (10,9,11), (10,10,12), (12,11,13), (12,12,14) и (10,13,15);  Елементи скупа S ={(5,11), (9,15)}; Почетак: pP = , gP = , R = , R = , К =  173 {(0,0,1), (1,2,3), (3,3,4), (4,5,6), (3,3,10), (10,10,12)}gP  {(1,1,2), (4,4,5), (6,6,7), (6,7,8), (4,8,9), (10,9,11), (12,11,13), (12,12,14),(10,13,15)} pP  Примарни догађаји: 1 (5,11) : (1,2) (1,7) (1,8) (1,9) (1,13) (1,14) (1,15) 0 (1,5) (1,11) 1 s k k k k k k k k k           2 (9,15) : (1,2) (1,5) (1,7) (1,8) (1,11) (1,13) (1,14) 0 (1,9) (1,15) 1 s k k k k k k k k k           Посредни догађаји: * 1 (5,11) (10,10,12) : {(12,11,13), (12,12,14)}, (1,13) (1,14) 0 (1,12) 0 (3,3,10) : {(10,9,11), (10,10,12), (10,13,15)}, (1,11) (1,12) (1,15) 1, 9, {(10,9,11)}, {(10,10,12), (10,13,15)} (1,10) s R k k k R k k k q R R k                * max{1,0,0} 1 (4,5,6) : {(6,6,7), (6,7,8)}, (1,7) (1,8) 0 (1,6) 0 (3,3,4) : {(4,4,5), (4,5,6), (4,8,9)}, (1,5) (1,6) (1,9) 1, 4, {(4,4,5)}, {(4,5,6), (4,8,9)} (1,4) max{1,0,0} 1 (1,2,3): {(3,3, R k k k R k k k q R R k R                   * * 4), (3,3,10)}, (1,4) (1,10) 2, 3, {(3,3,4), (3,3,10)}, (1,3) 1 1 2 (0,0,1): {(1,1,2), (1,2,3)}, (1,2) (1,3) 2, 1, {(1,1,2)}, {(1,2,3)} (1,1) max{0,2} 2 k k q R R k R k k q R R k                    174 * 2 (9,15) (10,10,12) : {(12,11,13), (12,12,14)}, (2,13) (2,14) 0 (2,12) 0 (3,3,10) : {(10,9,11), (10,10,12), (10,13,15)}, (2,11) (2,12) (2,15) 1, 9, {(10,9,11)}, {(10,10,12), (10,13,15)} (2,10) s R k k k R k k k q R R k                max{0,0,1} 1 (4,5,6) : {(6,6,7), (6,7,8)}, (2,7) (2,8) 0 (2,6) 0R k k k     * * (3,3,4) : {(4,4,5), (4,5,6), (4,8,9)}, (2,5) (2,6) (2,9) 1, 4, {(4,4,5)}, {(4,5,6), (4,8,9)} (2,4) max{0,0,1} 1 (1,2,3): {(3,3,4), (3,3,10)}, (2,4) (2,10) 2, 3, {(3,3,4), (3,3,10)}, ( R k k k q R R k R k k q R R k                   * 2,3) 1 1 2 (0,0,1): {(1,1,2), (1,2,3)}, (2,2) (2,3) 2, 1, {(1,1,2)}, {(1,2,3)} (2,1) max{0,2} 2 R k k q R R k             Тиме су одређени сви елементи скупа K који су коришћени у примеру из Поглавља 7.2.3. 7.3. Резултати експеримената Проширење алгоритма ИПМ_1 кораком 3’, којим се скупови пресека разврставају у скупове К1, К2 и К3, имплементирано је у програмском језику VB (Visual Basic). Модификовани алгоритам је тестиран на групи СН (Benchmark Fault Tree) из [87] на рачунару Intel Core 2 Duo CPU E8400 (3 GHz), RAM 3,25 GB. Део добијених резултата је већ приказан у табели 3.2. у 3.3.6. Због тога ће овде, у табели 7.1, бити приказане само карактеристике одабраних СН: број логичких кола, број примарних догађаја, број места и прелаза одговарајуће ИПМ, као и број добијених скупова пресека и минипресека. 175 Табела 7.1. Карактеристике СН, ИПМ и резултат модификованог ИПМ_1 СН ИПМ рб СН Бр. логичких кола Бр. примарних догађаја Бр. места Бр. прелаза Бр. скупова пресека Бр. минипресека 1 das9205 51 19 77 71 210160 17280 2 ftr10 175 93 394 364 690 305 3 isp9606 89 40 141 121 2292 1776 4 chinese* 60 35 95 81 1010 392 5 chinese(ф) 25 23 48 37 272 11 6 das9202(фм) 37 31 92 90 18750 22 7 das9203(ф) 51 20 40 35 7000 1150 За СН под редним бројем 4, није било могуће добити све скупове пресека за прихватљиво време, па је због тога одређено само првих 40000 скупова пресека. Затим је, на СН под редним бројевима 2, 3, 5 и 7, примењен алгоритам ИПМ_2, који је такође имплементиран у програмском језику VB. У нову имплементацију је укључен и алгоритам за одређивање елемената maxj sk , тако да су улазни подаци за ИПМ_2 исти као за модификовани ИПМ_1, а све додатне вредности се израчунавају у самом програму. За сва четири СН одређени су минипресеци реда: 1, 2, 3, 4 и 5. Резултати одсецања стабла достижности су приказани у табели 7.2. За свако СН је дат распон вишеструкости његових примарних догађаја (lmin и lmax). Од резултата је приказан број минипресека са својством 7.1, 7.2 и 7.3, односно број чланова скупова К1, К2 и К3 алгоритма редукције СН3, који се добија за сваку вредност параметра одсецања. Поред тога, ради поређења добијених резултата, за свако СН је, на основу минипресека добијених алгоритном ИМП1, одређен укупан број минипресека датог реда. Ова вредност (БМ) је такође приказана у табели 7.2. 176 Табела 7.2. Минипресеци датог реда СН lmin lmax одсецање на 1 одсецање на 2 одсецање на 3 одсецање на 4 одсецање на 5 ftr10 1 3 БМ 57 300 305 K1 47 67 72 K2 4 4 4 K3 6 229 229 isp9606 1 5 БМ 4 167 1103 1775 1776 K1 4 60 740 867 867 K2 0 12 12 12 12 K3 0 95 351 896 897 chinese(ф) 2 5 БМ 0 1 2 5 11 K1 0 0 0 0 0 K2 0 1 2 3 3 K3 0 0 0 2 8 das9203(ф) 2 5 БМ 0 1 19 205 1150 K1 0 0 0 0 945 K2 0 1 17 195 195 K3 0 0 2 10 10 Поред скупова пресека датог реда, резултат алгоритма су и одсечена маркирања. Свако од одсечених маркирања је корен једног одсеченог подстабла стабла достижности. Постојање податка о одсеченом маркирању омогућава, ако је потребно, накнадну анализу неистраженог простора стања. Поред тога, податак о броју одсечених маркирања би могао бити показатељ ефикасности различитих модификација алгоритма одсецања ИПМ_2. Алгоритмима ИПМ_1 и ИПМ_2, одређује се подстабло графа достижности коме одговарају секвенце паљења 1 2 , ,..., rk k k t t t    за које важи да је 1 2 ... rk k k   . Другим речима, из сваког чвора графа достижности, прелази се у чвор у коме ће жетон добити место са најмањим индексом. С обзиром да је ИПМ нумерисана у дубину и с леве на десну страну, њено претраживање се врши у дубину. Уколико су места, која моделирају примарне догађаје вишеструкости веће од 1, дубоко у 177 структури ИПМ, сви њихови претходници ће имати велике вредности параметра maxj sk . Због тога ће и вредност (7.6), која представља потенцијалну дужину скупова пресека у стаблу достижности, бити мала и неће доћи до одсецања све док не постане активно неко од места са великим maxj sk . Поред обилажења ИПМ по дубини, извршене су још две врсте претраживања. Применом оба начина претраживања, добијени су исти резултати као у табели 7.2. Међутим, број одсечених маркирања се разликује. У табели 7.3. је приказан број одсечених маркирања за сва три начина претраживања за три СН. Табела 7.3. Број одсечених маркирања СН приступ одсецање на 1 одсецање на 2 одсецање на 3 одсецање на 4 одсецање на 5 isp9606 П1 11 143 3 1 0 П2 20 44 14 1 0 П3 15 62 16 1 0 chinese(ф) П1 73 100 144 189 181 П2 44 63 85 115 139 П3 60 78 95 140 158 das9203(ф) П1 200 225 795 2470 0 П2 10 45 440 3267 0 П3 200 225 795 2470 0 Први начин претраживања је претраживање у дубину, алгоритмом ИПМ_2, чији су резултати одсецања приказани у редовима табеле 7.3. означеним са П1. Други начин претраживања подразумева да се, од свих места ИПМ која могу постати активна, прво обиђе место које има највећи показатељ вишеструкости. На тај начин би се вредност (7.6) брже смањивала и може се очекивати да би се неке гране графа достижности раније одсецале. То се постиже модификацијом алгоритма, којом се, у сваком кораку, за нови активни чвор бира чвор са 178 максималном вредношћу израза: max :( , , ) j s j i q j R k   . Резултат оваквог одсецања приказан је у редовима табеле 7.3. означеним са П2. Трећи начин претраживања ИПМ је у ширину. Овакво претраживање захтева да ИПМ буде нумерисана у ширину. У алгоритму је укинут услов да индекс новог прелаза буде већи од последњег активног и уведен скуп већ обиђених чворова. Тиме се и даље одређује само једно подстабло графа достижности. Резултати одсецања приликом овог претраживања приказани су у редовима табеле 7.3. означеним са П3. Укупан број генерисаних чворова графа достижности једнак је збиру броја генерисаних листова, односно мртвих маркирања ИПМ, и броја одсечених чворова, тј. одсечених маркирања. С обзиром да је број листова графа достижности у сва три начина претраживања исти, ефикаснијим се може сматрати оно претраживање у коме је мањи број одсечених маркирања. На основу резултата из табеле 7.3, може се уочити да ниједан од начина претраживања не даје увек мањи број одсечених маркирања. Због тога се, у овом тренутку, може донети само прелиминарни закључак да ефикасност начина претраживања зависи од структуре СН. Даљим истраживањем би требало утврдити који елементи структуре и на који начин утичу на ову ефикасност. Из табеле 7.2. се може видети да је у три СН из табеле 7.3, дужина, односно максималан број примарних догађаја у минипресецима, једнака пет. У случају СН chinese(ф), у табели 7.3. се може уочити да, и када се одређују минипресеци од пет примарних догађаја, постоје одсечена маркирања. То значи да су добијени сви минипресеци, а да није одређено цело стабло достижности. Односно, у случају када треба одредити све минипресеке неког СН, ако је позната максимална дужина његових минипресека, боље је применити алгоритам ИПМ_2 или неку од поменутих његових модификација, него алгоритам ИПМ_1. 179 8. ЗАКЉУЧАК Предмет истраживања у овом раду је анализа стабла неисправности, једна од најчешће примењиваних метода у одређивању поузданости производа и система. Проблем, који је посебно изучаван, је одређивање минималних скупова пресека кохерентног СН са вишеструким догађајима. Приступ, који је коришћен у решавању поменутог проблема, заснован је на Петријевим мрежама. Постигнути доприноси и изведени закључци се могу сумирати на следећи начин:  Предложена је нова метода за одређивање минипресека кохерентног СН са вишеструким догађајима, заснована на анализи графа достижности ИПМ. На основу једначине стања, доказано је да сва мртва маркирања ИПМ, достижна из маркирања T[1,0,...,0]M  као почетног, представљају скупове пресека датог СН. На тај начин је проблем одређивања скупова пресека сведен на проблем одређивања листова графа достижности ИПМ датог СН. При томе је доказано, такође на основу једначине стања, да није потребно одредити читав граф достижности, већ само једно његово разапињуће подстабло.  Развијен је и имплементиран алгоритам за одређивање свих скупова пресека кохерентног СН са вишеструким догађајима на основу листова стабла достижности ИПМ, назван ИПМ_1. Алгоритам ИПМ_1 је примењен на групи проблема за тестирање.  Анализирани су скупови пресека *C са особином да, ако садрже неки примарни догађај чија је вишеструкост већа од 1, онда садрже сва његова понављања. Формулисана је теорема о минималности скупова пресека облика *C . Доказано је да ови скупови јесу минимални, али да могу бити подскуп неког од неминималних скупова пресека. Такође је доказано да су скупови пресека, чији су сви примарни догађаји вишеструкости 1, минимални и да не могу бити подскуп ниједног скупа пресека. Показано је које услове структура СН треба да задовољава да би СН садржало скупове пресека облика *C . Уколико скуп пресека 180 облика *C постоји, могуће је одредити минимални број скупова пресека који га садрже, односно који ће се редуковати као његов надскуп.  Представљен је нови алгоритам редукције АРСН3, који је заснован на подели фамилије скупова пресека у три групе: скупови пресека који садрже само примарне догађаје вишеструкости 1 (скуп К1), скупови пресека облика *C (скуп К2) и остали скупови пресека (скуп К3). Алгоритам редукције СН3 се може применити у свакој методи одозго наниже за одређивање минипресека. Алгоритам ИПМ_1 је модификован тако да одређује елементе скупова: К1, К2 и К3 и примењен на групи проблема за тестирање. Уколико скуп К2 није празан, број операција поређења скупова пресека се може значајно смањити ако се прво издвоје К1 и К2 – скупови минипресека, затим елиминишу скупови пресека из К3 који су надскупови скупова пресека из К2 и на крају изврши међусобно поређење преосталих скупова пресека из К3.  Предложен је приступ у одређивању минипресека СН великих димензија, којим се одређују само минипресеци задатог реда (дужине). Показано је да број места која садрже жетон у сваком маркирању ИМП, односно чвору стабла достижности, не опада, идући од корена ка листовима стабла достижности. На основу тога се за СН без вишеструких догађаја, одређивање минипресека задатог реда своди на одсецање чворова стабла достижности, у којима је број жетона већи од задатог реда. Затим је анализиран параметар одсецања у СН са вишеструким догађајима. Као последица теореме о минималности скупова пресека облика *C , може се утврдити горња граница максималног скраћења скупова пресека. За сваки чвор стабла достижности, ова граница представља максималан број примена закона идемпотенције над скуповима пресека добијених у листовима подстабла, чији је корен посматрани чвор.  Развијен је алгоритам за одређивање минималних скупова пресека датог реда за СН са вишеструким догађајима ИПМ_2, којим се, у сваком чвору стабла достижности, одређује вредност параметра одсецања, која гарантује одређивање свих минипресека задатог реда. Алгоритам ИПМ_2 је имплементиран и примењен на групи проблема за тестирање. 181  Дат је преглед напознатијих метода и приступа за: одређивање минипресека СН, редукцију СН и редукцију скупова пресека. Посебно су обрађене и илустроване методе и алгоритми за одређивање минипресека СН помоћу ПМ. Први правац даљег истраживања биће у смеру побољшања ефикасности алгоритма ИПМ_2, другачијим претраживањем графа достижности. Наиме, предложеним алгоритмом, стабло достижности се одређује тако што прво постају активна места ИПМ са мањим индексом. Може се очекивати да ће алгоритам, којим се формира подстабло графа достижности, обилажењем прво места са већом вредношћу maxj sk , брже налазити минипресеке задатог реда и раније одсецати чворове стабла достижности. Поред тога, може се испитати како промена структуре СН, која не мења његову структурну функцију, утиче на ефикасност алгоритма ИПМ_2. С обзиром на велику флексибилност теорије ПМ, предложени приступ одређивања минипресека помоћу стабла достижности ИПМ, се може проширити на више начина:  Приступ се може проширити на некохерента СН. Постојање инхибиторских грана у ПМ, омогућава моделирање негације примарних догађаја, а функције додатних услова паљења прелаза у ПМ омогућавају моделирање операција попут: ексклузивно ИЛИ, приоритетно И и m од n логичких кола;  ПМ вишег нивоа, посебно Обојене ПМ, пружају могућност увођења вредности жетона која, у случају АСН, може представљати вероватноћу одигравања отказног догађаја;  Временске и стохастичке ПМ омогућавају моделирање динамичких СН, која у анализу укључују и временску димезију. 182 ЛИТЕРАТУРА [1] F Ahmad, H Huang, and X-L Wang, "Petri net modeling and deadlock analysis of parallel manufacturing processes with shared-resources," Journal of Systems and Software, vol. 83, no. 4, pp. 675-688, 2010. [2] J A Anderson, Дискретна математика са комбинаториком. Београд: CET, 2005. [3] B Andrić, D Makajić-Nikolić, B Stevanović, and M Vujošević, "Modelling Inventory Control Process Using Coloured Petri Nets," in 7th Balkan Conference on Operational Research, Constanta, 2005, pp. 25 - 28. [4] J Berger and L Lamontagne, "A Colored Petri Net Model for a Naval Command and Control System," Lecture Notes in Computer Science, vol. 691, pp. 532-541, 1993. [5] L Bernardinello and F Cindio, "A survey of basic net models and modular net classes, Advances in Petri Nets," The DEMON Project 1992. [6] J Billington and B Han, "Modelling and Analysing the Functional Behaviour of TCP's Connection Management Procedures," International Journal on Software Tools for Technology Transfer, pp. 269-304, 2007. [7] A Birolini, Reliability Engineering: Theory and Practice. Heidelberg: Springer, 2010. [8] Z Bluvband, R Polak, and P Grabov, "Bouncing failure analysis (BFA): the unified FTA-FMEA methodology," in Annual Reliability and Maintainability Symp. IEEE, Piscataway, 2005, pp. 463-467. [9] A Bobbio, G Franceschinis, R Gaeta, and L Portinale, "Parametric Fault Tree for the Dependability Analysis of Redundant Systems and Its High-Level Petri Net Semantics," IEEE Transactions on Software Engineering, vol. 29, no. 3, pp. 270- 287, 2003. [10] G V Bochmann and G V Jourdan, "Testing k-Safe Petri Nets," Lecture Notes in Computer Science, vol. 5826, pp. 33-48, 2009. [11] T B Boffey, Graph Theory in Operations Research. London: Macmillan Press, 1982. [12] B J Bowles and E C Pelaez, "Application of fuzzy logic to reliability engineering," Proceedings of the IEEE, vol. 83, no. 3, pp. 435-449, 1995. [13] W Brauer and W Reisig, "Carl Adam Petri and Petri Net," Informatik-Spektrum, vol. 29, no. 5, pp. 369-374, 2006. [14] M Broy and E Denert, Software Pioneers. Berlin: Springer-Verlag, 2002. [15] J Campos, G Chiola, and M Silva, "Properties and Performance Bounds for 183 Closed Free Chioce Synchronized Monoclass Queueing Networks," IEEE Transactions on Automatic Control, vol. 36, no. 12, pp. 1368-1381, 1991. [16] C Capellmann, H Dibold, and U Herzog, "Using High-Level Petri Nets in the Field of Intelligent Networks," Application of Petri Nets to Communication Networks, Lecture Notes in Computer Science, vol. 1605, pp. 1-36, 1999. [17] J Cardoso and B Pradin-Chezalviel, "Logic and Fuzzy Petri Nets," in Manufacturing and PN, XVIII International Conference on Application and Theory of PN, Toulous, 1997. [18] J A Carrasco and V Sune, "An algorithm to find minimal cuts of coherent fault- trees with event-classes, using a decision tree," IEEE Transactions on Reliability, vol. 48, no. 1, pp. 31 – 41, 1999. [19] K Z Chakib, "An improved minimal cut set algorithm," The International Journal of Quality and Reliability Management, vol. 13, no. 2, pp. 114-132, 1996. [20] A Cheng, J Esparza, and J Palsberg, "Complexity results for 1-safe nets," Theoretical Computer Science, vol. 147, no. 1-2, pp. 117-136, 1995. [21] C H Cheng, Y W Wu, and M C Tsai, "Applying α-cut Approach to Analyze Fuzzy System Reliability," in VI IFSA World Congress, Sao Paulo, 1995, pp. 101- 104. [22] P L Clemens. (2002) Fault Tree Analysis. [Online]. http://www.fault-tree.net/by- title.htm [23] S Contini and V Matuzas, "Analysis of large fault trees based on functional decomposition," Reliability Engineering and System Safety, vol. 96, pp. 383–390, 2011. [24] O Coudert and J Madre, "Fault Tree Analysis: 1020 Prime Implicants and Beyond," in In Proc. Annual Reliability and Maintainability Symposium, Atlanta, 1993, pp. 240 - 245. [25] S Dinghua, "A Unified Algorithm for Computer-aided Fault Tree Analysis," Scientia Sinica, vol. XXVII, no. 7, 1984. [26] J Dugan, S Bavuso, and M Boyd, "Dynamic fault tree models for fault computer system," IEEE Transactions on Reliability, vol. 41, pp. 363-377, 1992. [27] C A Ericson II, "Fault Tree Analysis - A History," in Proceedings of the 17th International System Safety Conference, Orlando, 1999, pp. 87-96. [28] C A Ericson II, Hazard Analysis technique for System Safety. New Jersey: John Wiley & Sons, 2005. [29] C A Ericson, "What do you do when you run out of computer," in Proceedings of the 19th international safety conference, 2001. [30] M.H C Everdij and H.A P Blom. (2008) Safety Methods Database. [Online]. http://www.nlr.nl/documents/flyers/SATdb.pdf 184 [31] J B Fussell, E B Henry, and N H Marshall, MOCUS a Computer Program to Obtain Minimal Sets from Fault Trees. Idaho Falls: ANCR 1156 Aerojet Nuclear Company, 1974. [32] H Genrich, R Kоffner, and K Voss, "Executable Petri Net Models for the Analysis of Metabolic Pathways," International Journal on Software Tools for Technology Transfer, vol. 3, no. 4, pp. 394-404, 2001. [33] C Girault and R Valk, Petri Nets for Systems Engineering A Guide to Modelling, Verification, and Applications. Heidelberg: Springer-Verlag, 2001. [34] L González, D García, and B Galván, "An Intrinsic Order Criterion to Evaluate Large,Complex Fault Trees," IEEE Transactions on reliability, vol. 53, no. 3, pp. 297-305, 2004. [35] S Gordon and J Billington, "Analysing a Missile Simulator with Coloured Petri Nets," International Journal on Software Tools for Technology Transfer, vol. 2, pp. 144-159, 1998. [36] F Gottschalk, W.M P van der Aalst, M H Jansen-Vullers, and H.M W Verbeek, "Protos2CPN: Using Colored Petri Nets for Configuring and Testing Business Processes," International Journal on Software Tools for Technology Transfe, vol. 10, no. 1, pp. 95-110, 2008. [37] T Greene, T Brown, and L Route, "Control in AUTOVON Electronic Switching Centers," IEEE Transactions on Communication Technology, vol. 17, no. 4, pp. 442 – 446, 1969. [38] D F Haasl, "Advanced Concepts in Fault Tree Analysis," in Proceedings of the System Safety Symposium, Seattle, 1965. [39] Y Y Haimes, Risk Modeling, Assessment, and Management. 3rd Edition. New Jersey: John Wiley & Sons, 2008. [40] S Heitsch, M Köhler, M Martens, and D Moldt, "High-level Petri Nets for a Model of Organizational Decision Making," in 21st International Conference on Application and Theory of Petri Nets, Aarhus, 2000. [41] HPNS. (1998) High-level Petri Nets Standard, Letter Ballot Summary of CD 15909. [Online]. http://www.petrinets.org [42] H Z Huang, X Tong, and M J Zuo, "Posbist fault tree analysis of coherent systems," Reliability Engineering and System Safety, vol. 84, pp. 141–148, 2004. [43] G S Hura and J W Atwood, "The Use of Petri Nets to Analyze Coherent Fault- Trees," IEEE Transaction on Reliability, vol. 37, pp. 469-474, 1988. [44] ISO/IEC. (1997) High-level Petri Nets – Concepts, Definitions and Grafical Notation, Committee Draft ISO/IEC 15909, Version 3.4. [Online]. http://www.petrinets.org [45] L Jansen, M Meyer, Z Horste, and E Schnieder, "Technical Issues in Modelling 185 the European Train Control System," in Proceedings of the Workshop on Practical Use of Coloured Petri Nets and Design/CPN, Aarhus, 1998, pp. 103- 115. [46] K Jensen, Coloured Petri Nets. Basic Concepts, Analysis Methods and Practical Use. Heilderbeg: Springer-Verlag, 1997. [47] K Jensen and L M Kristensen, Coloured Petri Nets. Modelling and Validation of Concurrent Systems. Heidelberg: Springer, 2009. [48] C W Johnson, Failure in Safety-Critical Systems: A Handbook of Accident and Incident Reporting. Glasgow: University of Glasgow Press, 2003. [49] D B Kececioglu, Reliability Engineering Handbook. Lancaster: DEStech Publications, Inc, 2002. [50] A Keisner and J Olds, "Reliability Analysis Technique Comparison, as Applied to the Space Shuttle. AE8900 Special Project," Atlanta, 2003. [51] D E Knuth, TheArt of Computer Programming, Volume 4, Generating All Tree. Мassachusetts: Addison-Wesley, 2006. [52] L M Kristensen and K Jensen, "Specification and Validation of an Edge Router Discovery Protocols for Mobile Ad Hoc Networks. In Integration of Software Specification Techniques for Applications in Engineering," Notes in Computer Science, pp.. Springer-Verlag, vol. 3147, pp. 248-269, 2004. [53] P M Kwantes, "Design of Clearing and Settlement Operations: A Case Study in business Process Modelling and Evaluation with Petri Nets," in Proceedings of the 7th Worskhop and Tutorial on Practical Use of Coloured Petri Nets and the CPN Tools, Aarhus , 2006, pp. 217-236. [54] S Laftit, J M Proth, and X Xie, "Optimization of Invariant Criteria for Event Graphs," IEEE Transactions on Automatic Control, vol. 37, no. 5, pp. 547-555, 1992. [55] C Y Lee, "Representation of Switching Circuits by Binary-Decision Programs," Bell Systems Technical Journa, vol. 38, pp. 985–999, 1959. [56] K H Lee and J Favrel, "Hierarchical Reduction Method for Analysis and Decomposition of Petri Nets," IEEE Transactions on Systems, Man. And Cybernetics, vol. SMC-15, no. 2, pp. 272-281, 1985. [57] J Li, X Dai, Z Meng, J Dou, and X Guan, "Rapid design and reconfiguration of Petri net models for reconfigurable manufacturing cells with improved net rewriting systems and activity diagrams," Computers & Industrial Engineering, vol. 57, no. 4, pp. 1431-1451, 2009. [58] N Limnios, Fault Тree. Wiltshire: ISTE Ltd, 2007. [59] N Limnios and R Ziani, "An Algorithm for Reducing Cut Sets in Fault-Tree Analysis," IEEE Transactions on Reliability, vol. 35, no. 5, pp. 559 – 562, 1986. 186 [60] B Lindstrom and L Wells, "Simulation Based Performance Analysis in Design/CPN," in CPN’98, First Workshop and Tutorial on Practical Use of Coloured Petri Nets and Design/CPN, 1998. [61] T S Liu and S B Chiou, "The application of Petri nets to failure analysis," Reliability Engineering and System Safety, vol. 57, pp. 129-142, 1997. [62] H Liu, Z Jiang, Y Richard, and K Fung, "Performance modeling, real-time dispatching and simulation of wafer fabrication systems using timed extended object-oriented Petri nets," Computers & Industrial Engineering, vol. 56, no. 1, pp. 121-137, 2009. [63] D Lyon. (2001) On the Use of Stochastic petri Nets for the Performance of Real- time Nth Order Stochastic Composition. [Online]. http://www.docjava.com/pub/document/cmj [64] D Makajić-Nikolić, B Panić, and M Vujosević, "Bullwhip Effect and Supply Chain Modelling and Analysis using CPN Tools," in Proceedings of the Fifth Workshop and Tutorial on Practical Use of Coloured Petri Nets and the CPN Tools, Aarhus, 2004, pp. 219-234. [65] D Makajić-Nikolić and M Vujošević, "Minimal Cut Sets Generation Using Reverse Petri Nets," in 10th BALCOR, Thessaloniki, 2011, pp. 362-369. [66] R Manian, J B Dugan, D Coppit, and K J Sullivan, "Combining various solution techniques for dynamic fault tree analysis of computer systems," in 3rd IEEE International High-Assurance Systems Engineering Symposium (HASE'98), Washington, 1998, pp. 21–28. [67] Jr, R J McGraw, "Petri Net and Fault Tree Analysis: Combining Two Techniques for a Software Safety Analysis on an Embedded Military Application," Naval Postgraduate Schoo, Monterey, Master's thesis 1989. [68] V Mogulothu, H H Ammar, K Lateef, and T Nikzadeh. "Performability Analysis of the Commanding Component of NASA’s Earth Observing System" The 10th Int. Conf. on Parallel and Distributed Computing, New Orleans, Oct. 1997 [69] M K Molloy, "Performance Analysis Using Stochastic Petri Nets," IEEE Transactions on Computers, vol. C-31, no. 9, pp. 913-917, 1982. [70] K H Mortensen and V O Pinci, "Modelling the Work Flow of a Nuclear Waste Management Program," Lecture Notes in Computer Science, vol. 815, pp. 376- 395, 1994. [71] T Murata, "Petri Nets: Properties, Analysis and Applications," Proceedings of the IEEE, vol. 77, no. 4, pp. 541-580, 1989. [72] H Nguyen, Transactions on Rough Sets V. Heidelberg: Springer, 2006. [73] H Oberheid, "A Coloured Petri Net Model of Cooperative Arrival Planning in Air Traffic Control," in Proceedings of the Seventh Worskhop and Tutorial on Practical Use of Coloured Petri Nets and the CPN Tools, Aarhus, 2006, pp. 177- 187 196. [74] P.D T O'Connor, Practical reliability engineering. - 4th ed. Chichester: John Wiley and Sons, 2002. [75] F Ortmeier and G Schellhorn, "Formal Fault Tree Analysis – Practical Experiences," Electronic Notes in Theoretical Computer Science, vol. 185, pp. 139–151, 2007. [76] A Perkusich, L M Araújo, R S Coelho, K C Gorgônio, and A.J P Lemos, "Design and Animation of Colored Petri Nets Models for Traffic Signals," in Proceedings of the 2nd Workshop on Practical Use of Coloured Petri Nets and Design/CPN, Aarhus, 1999, pp. 99-118. [77] M Pesic and W.M P van der Aalst, "Modeling Work Distribution Mechanisms Using Colored Petri Nets," International Journal on Software Tools for Technology Transfer, vol. 9, no. 3-4, pp. 327-352, 2007. [78] C A Petri, "Communicatiomn with automata, Supplement 1 to technical report RADC-TR-65-377, vol. 1, Translated by Greene Jr CF from Kommunikation mit Automaten," 1966. [79] C A Petri, "Fundamentals of a Theory of Asynchronous Information Flow," in 1st IFIP World Computer Congress, Munich , 1963, pp. 386-390. [80] PNW. (2010) Petri Nets World. [Online]. http://www.informatik.uni- hamburg.de/TGI/PetriNets/ [81] M Praveen and K Lodaya, "Analyzing Reachability for Some Petri Nets With Fast Growing Markings," Electronic Notes in Theoretical Computer Science, vol. 223, pp. 215-237, 2008. [82] L Priese and H Wimmel, Petri-Netze. Heidelberg : Springer, 2008. [83] J M Proth and X Xie, Petri Nets: A Tool For Design And Management Of Manufacturing Systems. New York: John Wiley & Sons, 1996. [84] P Racloz and D Buchs. (2008) Reseaux de Petri: Verication des propri_et_es. [Online]. https://smv.unige.ch//teaching/old-courses/Formal_tools_09_10/ files/ RdPVerifProp.pdf [85] D M Rasmuson and N H Marshal, "FATRAM: A Core Efficient Cut-Set Algorithm," IEEE Transaction on Reliability, vol. R-27, no. 4, pp. 250-253, 1978. [86] M Rausand and A Høyland, System Reliability Theory; Models, Statistical Methods and Applications. New York: Wiley, 2004. [87] A Rauzy. (2010) A Benchmark of Boolean Formulae. [Online]. http://iml.univ- mrs.fr/~arauzy/aralia/benchmark.html [88] A Rauzy, "New algorithms for fault tree analysis," Reliability Engineering and System Safety, vol. 40, pp. 203-221, 1993. [89] K A Reay, Efficient fault tree analysis using binary decision diagrams. 188 Loughborough: Loughborough University, 2002. [90] R Remenyte-Prescott and J D Andrews, "An enhanced component connection method for conversion of fault trees to binary decision diagrams," Reliability Engineering and System Safety, vol. 93, pp. 1543-1550, 2008. [91] (2011) Report of Japanese Government to the IAEA Ministerial Conference on Nuclear Safety - The Accident at TEPCO’s Fukushima Nuclear Power Stations. [Online]. http://www.ornl.gov/sci/nsed/outreach/presentation/2011/Beatty.pdf [92] Z Rochdi, B Driss, and T Mohamed, "Industrial systems maintenance modeling using Petri nets," Reliability Engineering and System Safety, vol. 65, no. 2, pp. 119-124, 1999. [93] T Runge, "Application of Coloured Petri Nets in Systems Biology," in Proceedings of the Fifth Workshop and Tutorial on Practical Use of Coloured Petri Nets and the CPN Tools, Aarhus, 2004, pp. 77-96. [94] S Sankaranarayanan, H Sipma, and Z Manna, "Petri Net Analysis Using Invariant Generation Verification: Theory and Practice," Lecture Notes in Computer Science, vol. 2772, pp. 188-189, 2004. [95] G Scheschonk and M Timpe, "Simulation and Analysis of a Document Storage System," Lecture Notes in Computer Science, vol. 815, pp. 454-470, 1994. [96] K Schmidt, "Computation of Invariants for Algebraic Petri Nets," in Proceedings of the CS & P Workshop, Nieborow, 1993. [97] S N Semanderes, "ELRAFT: A computer program for the Efficient Logic Reduction Analysis of Fault Tree," IEEE Transaction on Nuclear Scienece, vol. 18, no. 1, pp. 481-487, 1971. [98] D M Shalev and J Tiran, "Condition-based fault tree analysis (CBFTA): A new method for improved fault tree analysis (FTA), reliability and safety calculations," Reliability Engineering & System Safety, vol. 92, no. 9, pp. 1231-1241, 2007. [99] R M Shapiro, "Validation of a VLSI Chip Using Hierarchical Coloured Petri Nets," Journal of Microelectronics and Reliability, Special Issue on Petri Nets, pp. 667-687, 1991. [100] R M Sinnamon and J D Andrews, "New approaches to evaluating fault trees," Reliability Engineering and System Safety, vol. 58, pp. 89-96, 1997. [101] R H Sloan and U Buy, "Reduction rules for time Petri nets," Acta Informatica, vol. 33, pp. 687-706, 1996. [102] E Sloane and B Gelhot, "Applications of the Petri net to simulate, test, and validate the performance and safety of complex, heterogeneous, multi-modality patient monitoring alarm systems Engineering in Medicine and Biology Society," in IEMBS '04, 2004. [103] (2011) SRPS EN 61025:2011. [Online]. http://www.iss.rs/standard/?natstandard _document_id=34234 189 [104] M Stamatelatos and W Vesely, Fault Tree Handbook with Aerospace Applications. Washington: NASA Headquarters, 2002. [105] D Stanton and D White, Constructive Combinatorics. New York: Springer- Verlag, 1986. [106] P V Suresh, A K Babar, and V V Raj, "Uncertainty in Fault Tree Analysis: A Fuzzy Approach," Fuzzy Sets and Systems, vol. 83, pp. 135-141, 1996. [107] H.L T Tanaka, F S Fan, and K Toguchi, "Fault-Tree Analysis by Fuzzy Probability," IEEE Transactions on Reliability, vol. R-32, no. 5, pp. 453-457, 1983. [108] A Törn. (2008) Modeling primitives. [Online]. http://users.abo.fi/atorn/Petri/ P22.html [109] (1975) US Nuclear Regulatory Commission: Reactor Safety Study: An Assessment of Accident Risks in U.S. Commercial Nuclear Power Plants, Appednix II. [Online]. http://www.professormcgill.com/blog/WASH1400/ WASH1400-Appendix_II.pdf [110] M Uzam, "The use of the Petri net reduction approach for an optimal deadlock prevention policy for flexible manufacturing systems," The International Journal of Advanced Manufacturing Technology, vol. 23, no. 3-4, pp. 204-219, 2004. [111] VB. (2010) [Online]. http://msdn.microsoft.com/en-us/vstudio/hh388568 [112] W E Vesely, F F Goldberg, N H Roberts, and D F Haasl, Fault Tree Handbook.: NURREG-0492, U.S. Nuclear Regulatory Commission, 1982. [113] M Vujošević, D Makajić-Nikolić, and M Strak, "Fuzzy Petri Net Based Reasoning for the Diagnosis of Bus Condition," in Proceedings of NEUREL 2004: Seventh Seminar on Neural Networks Applications in Electrical Engineering, Belgrade, 2004, pp. 225-229. [114] Y S Way and D Y Hsia, "A simple component-connection method for building decision diagrams encoding a fault tree," Reliability and System Safety, vol. 70, pp. 59-70, 2000. [115] R R Willie, Computer-aided Fault Tree Analysis. Berkeley: OR Center, 1978. [116] D B Wlheeler, J S Hsuan, R R Duersch, and G M Roe, "Fault Tree Analysis Using Bit Manipulation," IEEE Transactions on Reliability, vol. R-26, no. 2, pp. 9-99, 1977. [117] Y Wu, L Xie, and Y Yue, "Study of Fault Analysis Technology by Means of Petri Nets," International Journal of Performability Engineering, vol. 6, no. 3, pp. 269- 277, 2010. [118] X Yang, J Li, W Liu, and P Guo, "Petri Net model and Reliability Evaluation for Wind Turbine Hydraulic Variable Pitch Systems," Energies, vol. 4, pp. 978-997, 2011. 190 [119] S Yang and T Liu, "Failure Analysis for an Airbag Inflator by Petri Nets," Quality and Reliability Engineering International, vol. 13, no. 3, pp. 139-151, 1997. [120] D A Zaitsev, "Decomposition-based Calculation of Petri net Invariants," in Proceedings of Workshop on Token based computing (ToBaCo), 25-th International conference on application and theory of Petri nets, Bologna, 2004, pp. 79-83. [121] K Zurowska and R Deters, "Overcoming Failures in Composite Web Services by Analysing Colored Petri Nets," in Proceedings of the Eighth Workshop and Tutorial on Practical Use of Coloured Petri Nets and the CPN Tools, vol. 87-106, Aarhus, 2007. [122] М Вујошевић, "Анализа стабла неисправности: преглед основних појмова и техника," Техника, vol. 38, no. 11, pp. 1546-1555, 1983. [123] М Вујошевић, "Управљање ризицима као сегмент интегрисаног система менаџмента," Total Quality Management & Excellence, vol. 36, no. 4, 2008. [124] В Е Котов, Сети Петри. Москва: Наука, 1984. [125] С Крчевинац, М Чангаловић, В Ковачевић-Вујчић, М Мартић, and М Вујошевић, Операциона истраживања. Београд: ФОН, 2004. [126] Д Макајић-Николић, Б Андрић, М Станојевић, and П Павловић, "Симулација рада семафора помоћу петријевих мрежа," in XXXIII Симпозијум о операционим истраживањима, Бања Ковиљача, 2006, pp. 433-436. [127] Д Макајић-Николић and М Вујошевић, "Анализа стабла неисправности када су вероватноће примарних догадаја фази бројеви," in XXVII SYM-OP-IS, Београд, 2000, pp. 313-317. [128] Д Макајић-Николић, М Вујошевић, and Б Васић, "Примена обојених петријевих мрежа у моделирању система одржавања аутобуса," in SYM-OP- IS, 2001. [129] Д Макајић-Николић, М Вујошевић, and Н Николић, "Одређивање минималних скупова пресека помоћу Петријевих мрежа," in XXXI SYM-OP- IS, Фрушка Гора, 2004, pp. 217-220. [130] Н Небојша and Д Макајић-Николић, "Решавање проблема распоређивања у произвдоним системима применом Петријевих мрежа," in СимОрг, Златибор, 2004. [131] Н Новокмет, Д Макајић-Николић, and М Вујошевић, "Моделирање процеса пријема и испоруке пошиљака помоћу петријевих мрежа," in XXXIII SYM- OP-IS, Златибор, 2007, pp. 385-388. [132] Б Панић, Б Лончар, and Д Макајић-Николић, "Примена Петријевих мрежа у моделирању процеса издавања часописа YUJOR," in SYM-OP-IS'02, Тара, 2002, pp. V-1-V-5. 191 [133] Љ Папић, "Основне концепције и модели у анализи стабла отказа," in DQM, зборник радова, Чачак, 2004, pp. 6-36. [134] В Петровић, Теорија графова. Нови Сад: ПМФ, 1998. [135] Р Петровић, М Вујошевић, and Д Петровић, Оптимизација редундантних система. Београд: Саобраћајни факултет, 1993. [136] И Петровић, Д Макајић-Николић, and М Вујошевић, "Моделирање и симулација процеса пријема робе код велепродавца воћа применом петријевих мрежа," in XXXII SYM-OP-IS, Врњачка Бања, 2005, pp. 373-376. [137] (2009) ТР. [Online]. http://www.ef.uns.ac.rs/Download/menadzment _rizikom_master /2009-11-05_teorija_rizika.pdf [138] Д Цветковић, Теорија графова и њене примене. Београд: Научна књига, 1990. [139] Д Цветковић and С Симић, Одабрана поглавља из дискретне математике. Београд: Академска мисао, 2002. [140] Д Цветковић et al., Комбинаторна оптимизација: Математичка теорија и алгоритми. Београд: ДОПИС, 1996. БИОГРАФИЈА Драгана Макајић-Николић рођена је 29.11.1969. године у Неготину. Основну и средњу школу завршила је у Зајечару са одличним успехом. Факултет организационух наука уписала је 1990. године. Дипломирала је 1994. године на смеру за менаџмент са средњом оценом 8.97 (осам, 97/100) и дипломским радом, на предмету Операциона истраживања, оцењеним оценом 10. Исте године уписала је последипломске студије, смер операциона истраживања, Положила је све планом предвиђене испите са просечном оценом 9.89 (девет, 89/100), а јуна 2002. године одбранила је магистарску тезу под називом: „Примена обојених Петријевих мрежа у реинжењерингу пословних процеса”, под менторством проф.др Мирка Вујошевића. Од 01.04.1995. до 01.04.1997. године радила је на Факултету организационих наука као сарадник обдарен за научно-истраживачки рад на предмету Операциона истраживања. Од маја 1997. до октобра 1998. године учествовала је на пројекту "Оптимизација асортимана у ICN Југославија" на коме су ангажовани чланови Лабораторије за операциона истраживања Факултета организационих наука. Од октобра 1998. до јуна 2003. године радила на Факултету организационих наука као аситент-приправник на предмету Операциона истраживања, а од јуна 2003. године као асистент на области Операциона истраживања. Учествовала је на пет научно истраживачких пројекта који су финансирани од стране Министарства за науку и технологију. Такође, била је члан организационог одбора две домаће и једне међународне научне конференције у организацији ФОН-а. Ангажована је као сарадник на пројекту мастер студија за индустријско инжењерство који је реализован у сарадњи ФОН-а и Централне школе из Париза.