100 likes | 339 Views
V Międzynarodowa Konferencja EXPLO-SHIP 2008 Akademia Morska w Szczecinie Kołobrzeg - Bornholm 28-30.05. 2008. ON CALCULATING ALGORITHMS IN RELIABILITY ANALYSIS O ALGORYTMACH OBLICZENIOWYCH W ANALIZIE NIEZAWODNOŚCIOWEJ. Leszek Chybowski Zbigniew Matuszak. Algorytm.
E N D
V Międzynarodowa Konferencja EXPLO-SHIP 2008 Akademia Morska w Szczecinie Kołobrzeg - Bornholm 28-30.05. 2008 ON CALCULATINGALGORITHMS INRELIABILITY ANALYSISO ALGORYTMACH OBLICZENIOWYCH W ANALIZIE NIEZAWODNOŚCIOWEJ Leszek Chybowski Zbigniew Matuszak
Algorytm Słowo algorytm jest często łączone z imieniem greckiego matematyka Euklidesażyjącego w latach 365-300 p.n.e., który przedstawił przepis obliczania największego wspólnego dzielnika dwóch liczb całkowitych (NWD). Najbardziej prawdopodobnym źródłosłowem tego pojęcia jest nazwisko żyjącego w IX wieku n.e. perskiego pisarza i matematyka Abu Ja’far Mahammed ibn Műsâ al-Khowârizmî, którego ostatni człon pisano po łacinie Algorismus. Matematyk ten przedstawił szereg reguł wyjaśniających krok po kroku zasady operacji arytmetycznych na liczbach dziesiętnych.
Algorytm Słowem algorytm obecnie określa się: • skończony ciąg (sekwencja) reguł, które aplikuje się na skończonej liczbie danych, pozwalających rozwiązać zbliżone do siebie klasy problemów; • zespół reguł charakterystycznych dla pewnych obliczeń lub czynności informatycznych. W artykule jako algorytm rozumie się precyzyjnie zdefiniowany tok postępowania mający na celu wyznaczenie w skończonym czasie, określonej miary ilościowej lub jakościowej systemu w oparciu o dane o elementach systemu, czyli dane wejściowe należące do jednoznacznie zdefiniowanego zbioru.
Struktura systemu Punktem wyjściowym wszystkich algorytmów dla szacowania miar niezawodnościowych jest wstępna analiza struktury niezawodnościowej systemu celem przetworzenia jej do postaci wymaganej dla przeprowadzenia obliczeń. Struktura systemu przedstawiona jest zwykle w formie graficznej np. w postaci grafu, drzewa niezdatności, blokowego schematu niezawodnościowego itp.
Algorytmy włączeń i wyłączeń (IE-algorytmy od ang. Inclusion-Exclusion algorithms), bazujące na znajomości minimalnych ścieżek lub minimalnych przekrojów systemu i wykorzystujące wzór Poincare’go. Algorytmy te należą do najczęściej stosowanych w praktyce do szacowania miar niezawodnościowych, z uwagi na fakt, iż są one stosunkowo proste. Powstało wiele algorytmów włączeń i wyłączeń, m.in. opracowane przez: Caversa, Dhillona, Nelsona, Locksa, Shoomana. Wadą tej grupy algorytmów jest bardzo szybko rosnący czas obliczeń wraz ze wzrostem liczby przekrojów czy ścieżek minimalnych systemu. W sytuacjach takich możliwe jest wykorzystanie algorytmów włączeń i wyłączeń wykorzystujących nierówności Bonfferoniego oraz ich ulepszenia. Do najbardziej znanych algorytmów tego typu należą: Fonga-Buzacotta, Dziubdzieli-Kopocińskiego, Heidtmanna, Huntera, Worsley’a.
Algorytmy sum rozłącznych iloczynów (SDP-algorytmy od ang. Sum of Disjoint Products algorithms) oparte na generowaniu struktury systemu jako sumy rozłącznych iloczynów. Algorytmy te generują parami rozłączne iloczyny zmiennych boolowskich, dające w sumie funkcję struktury systemu. Powstało dotychczas wiele algorytmów tej grupy, m.in. opisane w pracach. Większość SDP-algorytmów wymaga znajomości wszystkich minimalnych ścieżek lub przekrojów systemu. Do najefektywniejszych algorytmów tej grupy należy algorytm Abrahama, który generuje kolejne iloczyny zmiennych boolowskich w taki sposób, że każdy nowo wygenerowany iloczyn jest rozłączny z wcześniejszymi. Algorytm ten doczekał się ulepszeń, m.in. przez redukcję ilości generowanych rozłącznych iloczynów oraz poprzez wykorzystanie algorytmu odwracającego dla generowania ścieżek lub przekrojów minimalnych systemu. Innym szeroko znanym algorytmem tej grupy jest algorytm Dotsona-Gobiena.
Algorytmy faktoryzacji (ang. factoring algorithms), zwane również algorytmami dekompozycji liniowej, wykorzystujące dekompozycję Shannona względem wybranego elementu. Ich działanie opiera się na liniowej dekompozycji systemu względem kolejnych elementów tak długo, aż otrzyma się system trywialny lub system, dla którego można w prosty sposób oszacować wskaźniki niezawodności. Algorytmy te przeważnie nie wymagają znajomości przekrojów lub ścieżek minimalnych systemu, m.in. poza przypadkami, gdzie minimalne ścieżki lub przekroje stanowią narzędzie dla wyznaczania stanu systemu po kolejnej faktoryzacji lub stanowią kryterium zakończenia procesu faktoryzacji. Do chwili obecnej powstało wiele publikacji poświęconych algorytmom faktoryzacji głównie dla systemów zamodelowanych grafem. Algorytmy faktoryzacji połączone z odpowiednią redukcją struktury systemu uważa się za jedne z najbardziej efektywnych
Pozostałe algorytmy wykorzystujące inne od powyżej przedstawionych metod. Wyróżnić tu można algorytmy bazujące na znajomości ścieżek lub przekrojów minimalnych, wykorzystujące operacje na macierzach boolowskich, korzystające z różnych operacji logicznych dla uzyskania dogodnej do dokonania podstawień postaci funkcji strukturalnej systemu oraz różnego typu algorytmy mieszane, jak np. algorytm przedstawiony przez Hariri i Raghavendra, w którym wykorzystano elementy SDP-algorytmów oraz prawdopodobieństwo warunkowe. Istnieje grupa algorytmów niewymagających znajomości przekrojów lub ścieżek minimalnych systemu. Algorytmy te bazują na opisie graficznym systemu przy pomocy grafu lub drzewa niezdatności, wyróżnić tu można m.in. tzw. metody sygnałowe z ewentualną transformacją grafu oraz metody transformujące graf w drzewo niezdatności. W ostatnich latach rozwijane są metody tzw. dynamicznych drzew niezdatności. Osobną grupę stanowią algorytmy wykorzystujące łańcuchy i procesy Markowa oraz algorytmy wykorzystujące oszacowania miar niezawodnościowych.