• Nie Znaleziono Wyników

przykładzie systemu CastExpert

W dokumencie Index of /rozprawy2/10290 (Stron 93-109)

Najczęstszym przykładem zastosowania regułowej reprezentacji wiedzy są systemy ekspertowe. Systemy ekspertowe umożliwiają korzystanie z wiedzy i ułatwiają podejmowanie decyzji, mogą wspomagać, bądź zastępować ludzkich ekspertów w danej dziedzinie; mogą dostarczać rad, zaleceń i diagnoz dotyczących problemów tej dziedziny.

Przez system ekspertowy rozumiany jest program wykorzystujący wiedzę i procedury rozumowania dla wspomagania rozwiązywania problemów na tyle trudnych, że do ich rozwiązania potrzebna jest wiedza eksperta [136]. Literatura na temat systemów ekspertowych jest bogata, czytelnika zainteresowanego podziałem i charakterystyką systemów ekspertowych odsyłamy do pozycji: [106, 108]. Stanowią jedną z gałęzi stosowanej sztucznej inteligencji. Podstawowa idea systemu ekspertowego polega na przeniesieniu wiedzy eksperta do programu komputerowego, wyposażonego w bazę wiedzy, konkretne reguły wnioskowania oraz język komunikacji z użytkownikiem lub interfejs graficzny na taką komunikację pozwalający. Cała wiedza zgromadzona w systemie może być wykorzystywana wielokrotnie przez wielu użytkowników, zwracających się do komputera kiedy potrzebują rady. Komputer powinien zawracać najlepsze rozwiązanie problemu i jeśli to konieczne, tłumaczy logikę na podstawie której powstały wnioski wyjściowe. Głównym zadaniem stawianym przed diagnostycznym systemem ekspertowym jest ocena danego środowiska na podstawie obserwacji i wykrywanie wad. Podaje sposób postępowania w przypadku nieprawidłowego funkcjonowania danego obiektu [3].

Klasycznymi językami używanymi przy tworzeniu systemów ekspertowych są m.in. Prolog, CLIPS. Obecnie zamiast tworzyć je od podstaw, używa się gotowych szkieletów systemów ekspertowych (expert system shell) z zaimplementowanym mechanizmem wnioskowania. Szkielet taki to właściwie system ekspertowy z pustą bazą wiedzy [76].

CastExpert jest systemem ekspertowym, który na podstawie szczegółowej wiedzy może wyciągać wnioski, działając w sposób zbliżony do procesu rozumowania człowieka. Opiera się na technice symbolicznego przetwarzania informacji, stosowaną tu formą zapisu wiedzy są reguły [64]. Prototypowa wersja systemu CastExpert została uruchomiona na serwerach Instytutu Odlewnictwa w Krakowie, od tego czasu trwają prace badawcze związane rozwojem i integracją z innymi modułami rozproszonego systemu informacyjnego INFOCAST oraz systemów zarządzania wiedzą. Cenną zaletą systemu są jego małe wymagania sprzętowe, do obsługi wymagana jest jedynie przeglądarka obsługująca aplety

Javy, sam mechanizm wnioskujący i podsystem współpracy z użytkownikiem umieszczony jest na serwerze, dając tym samym możliwość pracy zdalnej poprzez sieć Internet (rys. 47).

Źródło: opracowanie własne opublikowane w [75]

Rysunek 47. Schemat architektury systemu CastExpert.

Jednym ze szkieletów wykorzystanych w systemie CastExpert jest CLIPS (C Language Integrated Production System) stworzony w 1985 przez Johnson Space Center (NASA). Od tamtego czasu jest rozwijany, obecnie obowiązuje wersja 6.24. Zapewnia on środowisko programistyczne do tworzenia systemów ekspertowych oraz zawiera narzędzia do tworzenia systemów bazujących na rozumowaniu regułowym i reprezentacji wiedzy. Daje także programistom możliwość rozbudowy. Innym przykładem szkieletów systemów ekspertowych jest JESS (Java Expert System Shell) – stworzony w 1995 przez Sandia National Labolatories (organizacja rządowa USA). Początkowo miała być tylko interpreterem CLIPS’a pisanym w języku Java, jednak obecnie stanowi już niezależny shell [75].

7.2. Mechanizm wnioskowania

W systemie CastExpert mechanizm wnioskujący został oparty na szkielecie systemów ekspertowych (expert system shell) z zaimplementowanym mechanizmem wnioskowania, jakim jest CLIPS, a także wspomagającym go JESS – interpreterze Javy. Konstrukcja taka daje możliwość prostej obsługi przez przeglądarkę oraz zapewnia sposobność do rozbudowy i współpracy z innymi modułami. CLIPS wykorzystuje mechanizm wnioskowania w przód (forward chaining) (rys. 48). W kolejnych krokach następują poszczególne czynności [112]:

− sprawdzenie, czy przesłanki którejś z reguł są faktami zaobserwowanymi przez użytkownika, jeżeli tak to taka reguła jest uaktywniana;

− konkluzja tak wybranej reguły jest wprowadzana jako nowy fakt do bazy wiedzy; − powrót do punktu 1. do momentu, kiedy wśród wygenerowanych faktów znajdzie

się postawiony cel (diagnoza) lub gdy nie ma w bazie wiedzy więcej reguł do uaktywnienia.

Źródło: opracowanie własne na podstawie [112]

Rysunek 48. Mechanizm wnioskowania w przód (forward chaining mechanism)

7.3. Schemat procedury diagnostycznej

Zadaniem systemu ekspertowego jest przeprowadzić diagnozę stanu zastanego poprzez wyciąganie wniosków przy użyciu zaprogramowanych reguł w sposób zbliżony do ludzkiego rozumowania. Reguły takie można zapisać w sposób symboliczny jako:

IF <przesłanka> THEN <konkluzja>

CastExpert wykorzystuje do wnioskowania również fakty (przesłanki), które dostarczane są przez użytkownika. Pierwszym etapem procesu diagnostycznego jest tzw. dialog wstępny (rys. 49), który umożliwia użytkownikowi określenie jaki stop należy brać po uwagę i jaki rodzaj wady wystąpił w odlewie. Użytkownik ma też możliwość dokonania porównania wyglądu wady z bazą przypadków zebranych w systemie i na tej podstawie wyboru rodzaju wady.

Część zasadnicza procesu diagnostycznego to poszukiwanie przyczyny wystąpienia wady (rys. 50). System prowadzi dialog z użytkownikiem zadając mu kolejne pytania, dzięki którym możliwe jest wyeliminowanie tych potencjalnych przyczyn, które na pewno w diagnozowanym procesie nie miały miejsca.

Źródło: opracowanie własne opublikowane w [74]

Źródło: opracowanie własne na podstawie [64]

Rysunek 50. Diagram procesu diagnostycznego w systemie CastExpert.

Przykładowa reguła dotycząca przyczyny powstawania pęknięć na zimno zapisana w języku CLIPS posiada następującą postać:

(defrule conclusion-a19-right-cast-construction (not (defect yes))

(defect-kind ?)

(a19-right-cast-construction no) => (assert (defect yes))

(assert (diagnosis defect-r140))) (defrule check-a19-right-cast-construction (declare (salience -20))

(not (defect yes)) (diagnosis)

(defect-kind ?)

(not (a19-right-cast-construction ?)) =>

(bind ?answer (question "Is there right cast construction?")) (assert (a19-right-cast-construction ?answer)))

Odpowiada ona za zadanie pytania do użytkownika podczas prowadzonego dialogu o jedną z przyczyn powstawania wady oznaczonej jako W-302 (Pęknięcie na zimno/cold crack). Na pytanie: „Czy konstrukcja odlewu jest poprawna?” użytkownik odpowiada TAK/NIE/NIE WIEM. Zaistnienie faktu w postaci odpowiedzi NIE zaowocuje podaniem diagnozy:

(defrule print-diagnosis-r140 (defect yes)

(diagnosis defect-r140) => (diag (create$ "1. Analyze construction of the cast."

"2. Avoid excessive difference in thickness of sides in the cast."

"3. Eliminate unfavorable side joins that cause occurrence of heat distribution centers."

"4. Avoid protruding parts that cause restraining of freezing shrinkage."

"5. Attempt to make sides even thick. Apply large angles, curvature of corners." "6. Eliminate sudden transitions from large sections to thin ones.")))

W podobny sposób przebiega dialog dla pozostałych zdiagnozowanych we wstępnym etapie wad. Po odnalezieniu przyczyny, system podaje sposób działania zmierzający do usunięcia wady i przywrócenia prawidłowości procesu.

Źródło: opracowanie własne

Rysunek 51. Dialog w celu poszukiwania przyczyn wystąpienia wady w systemie CastExpert

System prowadzi dialog z użytkownikiem zadając mu pytania, na których odpowiedź może ujawnić przyczynę powstania wady. Liczba pytań zależna jest od momentu odkrycia zaistniałej przyczyny, jeśli już w pierwszym pytaniu uda się zdiagnozować przyczynę, dialog zostaje zakończony. Odpowiednio: jeśli przyczyna nie zostanie ujawniona podczas dialogu, oznacza to, że zostały zadane wszystkie pytania zaimplementowane w systemie, czyli w bazie nie ma odpowiednich reguł, które pozwoliłyby określić przyczynę danej wady. Można zatem wyobrazić sobie sytuację, w której użytkownik zmuszony jest odpowiedzieć na wiele pytań zanim uzyska satysfakcjonujący wynik. Warto też zauważyć, że jeśli zaistniało kilka przyczyn na raz, użytkownik po każdorazowym usunięciu przyczyny powtarza cały dialog, aby odkryć kolejną nieprawidłowość w procesie odlewania. Może być to żmudny proces odpytywania, który zmniejsza użyteczność systemu.

W obecnym stanie systemu kolejność zadawania pytań, a w związku z tym wywoływania odpowiednich reguł z bazy wiedzy zależna jest od czynników pozamerytorycznych, a mianowicie od kolejności wprowadzania do systemu, a także autorytarnej decyzji programisty, a nie technologa. Istnieje jednak istotna cecha nadawana regułom w trakcie implementacji, a mianowicie ich ‘ważność’ (salience). Parametr SALIENCE określa priorytet reguły względem innych reguł w bazie. Domyślnie parametr ten posiada

wartość równą zeru, nadanie mu wartości dodatniej powoduje przyporządkowanie mu wyższego priorytetu, analogicznie: im bardziej ujemny parametr, tym niższy priorytet. Reguły o najwyższym priorytecie uruchamiane są najwcześniej (przed innymi regułami).

W celu zwiększenia użyteczności systemu i zwiększenia tym samym odczuwanej przez użytkownika jakości komunikacji z systemem należałoby tak ustawić kolejność zadawania pytań, aby te przyczyny, które najczęściej powodują daną wadę zostały wyeliminowane już w pierwszych pytaniach, co w większości przypadków skróci w sposób istotny dialog. W tym celu należy posłużyć się rankingiem przyczyn wykonanym przy użyciu logiki wiarygodnego rozumowania.

Parametr SALIENCE powinien w sposób dynamiczny określać priorytet reguły zależnie od rangi uzyskanej w rankingu przyczyn powstawania wady.

7.4. System CastExpert jako multimedialna baza wiedzy

W 1995r w Instytucie Odlewnictwa został udostępniony sieciowo system informacyjny INFOCAST, którego podstawowymi modułami były [71]:

− baza danych bibliograficznych SINTE,

− baza norm krajowych i międzynarodowych NORCAST, − baza danych o stopach odlewniczych CASTSTOP, − system ekspertowy CASTEXPERT.

W danym okresie, CASTEXPERT [77] był pierwszym w kraju systemem ekspertowym przeznaczonym do diagnostyki wad określonej klasy odlewów. System ten, oparty na zastosowaniu regułowej bazy wiedzy zrealizowany został z wykorzystaniem systemu szkieletowego CLIPS oraz interfejsu umożliwiającego diagnozowanie przyczyn wad przy użyciu prostych procedur dialogowych.

Rozwój przemysłu odlewniczego, obejmujący zarówno pojawienie się nowych materiałów i technologii, jak też działania innowacyjne w zakresie technologii już istniejących, stwarza nowe potrzeby w zakresie wykorzystania informatyki do wspomagania procesów produkcyjnych oraz podnoszenia jakości wyrobów.

Równocześnie, duże osiągnięcia w zakresie budowy sprzętu komputerowego oraz nowych narzędzi programistycznych, pozwalają na poszukiwanie rozwiązań systemowych dostosowanych do aktualnych potrzeb środowisk przemysłowych.

Powyższe okoliczności stały się inspiracją do podjęcia zamierzeń ukierunkowanych na opracowanie nowej wersji systemu CastExpert+. Zamierzenia te obejmowały w szczególności: − stworzenie multimedialnej bazy wiedzy, zawierającej nie tylko wiedzę diagnostyczną, lecz również wiedzę umożliwiającą prowadzenie specjalistycznych konsultacji oraz wspomaganie decyzji dotyczących realizacji procesu technologicznego;

− opracowanie rozbudowanego interfejsu, umożliwiającego użytkownikowi efektywne korzystanie z udostępnionej w systemie wiedzy;

− prowadzenie badań w zakresie wykorzystania nowych formalizmów i technik inżynierii wiedzy, wzbogacających zdolności diagnostyczne i decyzyjne systemu; − rozbudowa istniejącej bazy wiedzy i reguł w szczególności dotyczących wad

odlewów staliwnych.

CastExpert+ został rozbudowany i obecnie dostępny jest moduł dotyczący samego staliwa. Zawiera on:

− 16 455 linijek kodu w bazie reguł

− 526 reguł (dialogi + diagnozy/zalecenia technologiczne) − 263 scenariusze technologiczne

− 27 wad z możliwością ekspertyzy. Ponadto baza wiedzy obejmuje:

− 46 gatunków staliwa w bazie struktur

− 183 zdjęć struktur znormalizowanych z opisem technologicznym − 236 przypadków (zdjęć) wad (z opisem)

− 37 wad objętych identyfikacją wizualną: opisy, wyszczególnieni możliwych przyczyn i sposobów zapobiegania i przypadki wystąpień

− 8 symulacji.

Wady objęte systemem ekspertowym: − W-201 chropowatość − W-202 pęcherz zewnętrzny − W-203 kornik − W-204 ospowatość − W-205 nakłucia − W-206 obciągniecie − W-207 fałda − W-208 strup − W-209 blizna − W-210 rakowatość − W-211 wgniecenie − W-219 wżarcie − W-220 żyłki − W-221 przypalenie − W-302 pękniecie na zimno − W-401 pęcherz − W-402 porowatość − W-403 jama skurczowa − W-404 rzadzizna − W-405 zażużlenie − W-405 zapiaszczenie − W-407 zimne krople − W-408 obcy metal − W-411 zabielenie − W-416 niejednorodność

− W-5041 nieszczelność, dodatkowo: w-404 rzadzizna, w-403 jama skurczowa − W-501 niezgodny skład chemiczny

Źródło: opracowanie własne

Rysunek 52. CastExpert+

Realizowany interfejs użytkownika, ukierunkowany na pracę dialogową, ma w maksymalnym stopniu ułatwić korzystanie z systemu, umożliwiając wariantowe udostępnianie z zawartych w nim zasobów wiedzy.

W przyjętej koncepcji, baza wiedzy nowo tworzonej wersji systemu CastExpert+ posiada charakter multimedialny. W konsekwencji udostępniana w tym systemie wiedza posiada strukturę modułową przedstawioną schematycznie na rys. 53.

Źródło: opracowanie własne

Wiedza udostępniana jest, przy wykorzystaniu interfejsu graficznego, odpowiednio do scenariusza wynikającego z potrzeb i intencji użytkownika.

Jako podstawowe warianty takiego scenariusza można wskazać [71]: − prosta procedura diagnostyczna realizowana według schematu:

− diagnoza połączona z rozpoznaniem wady, gdy użytkownik nie może jednoznacznie określić jej rodzaju:

− pogłębiona analiza przyczyn wystąpienia wady, w przypadku gdy informacje posiadane przez użytkownika nie pozwalają na wiarygodne wskazanie przyczyny wady:

Możliwe są również inne warianty scenariuszy wykreowane przez użytkownika lub łączenie procedur wyżej podanych ( np.: DIAG2 + DIAG3).

7.5. Komponenty wiedzy: Reprezentacja regułowa

W klasycznych systemach ekspertowych podstawową (a często jedyną) formą przedstawienia wiedzy jest reprezentacja regułowa. Zapis w postaci:

IF (x1 , x2,...,xn) THEN (y k) (22)

stanowi stwierdzenie, że przy zaistnieniu przesłanek x1, x2, .. , xn zachodzi zdarzenie yk, stanowiące konkluzję reguły.

Przy zastosowaniu logiki dwuwartościowej wyrażenie (22) przybiera postać:

IF (x 1 ∧ x 2 ∧ ... ∧ x n) THEN (y k) (23)

czyli lewa strona stanowi alternatywę zmiennych binarnych x1, x2, .. , xn zaś yk

przyjmuje wartość 0 lub 1.

Bardziej złożoną formę posiadają reguły logiki rozmytej, przypadek ten był rozważany w rozdziale 8.1.

Reprezentacja regułowa, choć najczęściej stosowana, posiada ograniczoną siłę wyrazu i przy szerzej rozbudowanych potrzebach użytkownika okazuje się niewystarczająca.

Źródło: opracowanie własne

Rysunek 54. Przykład reguł w języku CLIPS oraz przykład realizacji dialogu w systemie CastExpert

7.6. Komponenty wiedzy: Katalog wad i zdjęć

Rozpoczynając procedurę diagnostyczną, użytkownik może nie być w pełni przekonany jakiego typu wada występuje w rozważanym odlewie, W takim przypadku znajduje zastosowanie przedstawiony poprzednio scenariusz DIAG2, uwzględniający fazę rozpoznania rodzaju wady, przy wykorzystaniu katalogu wad łącznie z ich zdjęciami i opisem.

Przykładowy fragment takiego katalogu, udostępnianego w systemie CastExpert+, przedstawiony został na rys. 49, 56.

7.7. Komponenty wiedzy: Katalog struktur

znormalizowanych

Trudności w postawieniu jednoznacznej diagnozy wynikają często z braku pełnych informacji ze strony użytkownika odnośnie warunków w jakich został wyprodukowany posiadający wadę odlew.

W takich przypadkach (scenariusz DIAG3) istotną pomoc stanowić może katalog struktur znormalizowanych, przypisujący poszczególnym rodzajom metalu typowe struktury, oraz ich deformacje związane z wystąpieniem określonego typu wady.

Źródło: opracowanie własne

Rysunek 55. Katalog struktur znormalizowanych

7.8. Komponenty wiedzy: Baza przypadków

Kolejnym komponentem wiedzy, ułatwiającym postawienie trafnej diagnozy jest baza przypadków. W bazie tej zawarte są zdjęcia i opisy wybranych przypadków wystąpienia wad w konkretnych zakładach przemysłowych.

Tworząc bazę przypadków starano się uwzględnić w szczególności:

− przypadki wad najbardziej charakterystycznych dla technologii produkcji staliwa, − wady trudne do zdiagnozowania występujące incydentalnie, przy nietypowym

zbiegu okoliczności.

Zgromadzone dotychczas materiały dotyczące przypadków, pozyskano dzięki bezpośrednim kontaktom z zakładami przemysłowymi, trzeba jedna zaznaczyć, że skompletowanie pełnych informacji odnośnie warunków wystąpienia danego przypadku wady, napotyka niejednokrotnie na istotne trudności.

Źródło: opracowanie własne

Rysunek 56. Baza przypadków

7.9. Komponenty wiedzy: Wizualizacja dynamiczna

Wizualizacja dynamiczna stanowi uzupełniającą i nie stosowaną dotychczas formę udostępniania wiedzy o wadach. Prezentacja taka polega na przedstawieniu krótkiego, (kilkudziesięciosekundowego) filmu stanowiącego wynik symulacji dynamicznych zmian zachodzących w stygnącym odlewie.

Symulacja dotyczyć może przebiegu zmian temperatury, powstawania fazy stałej metalu, względnie wielkości ziaren. W pewnych przypadkach, symulacja pokazywać może

miejsca powstawania wad (wynikające np. z niewłaściwego zaprojektowania odlewu lub formy).

Wprawdzie, w chwili obecnej trudno jest jeszcze przesądzić na ile wizualizacja dynamiczna ułatwi bezpośrednie stawianie diagnoz, jednakże wprowadzenie tej formy udostępnienia wiedzy wydaje się celowe, gdyż powinna pobudzić wyobraźnię użytkownika, a jednocześnie wskaże możliwości symulacji komputerowej, jako narzędzia wspomagającego projektowanie technologii i umożliwiającego głębsze zrozumienie procesów zachodzących w stygnącym odlewie.

Źródło: opracowanie własne

Rysunek 57. Przykłady symulacji dla staliwa

7.10.Przykład użycia systemu CastExpert+

System CastExpert+ ma wspierać użytkownika w odnalezieniu przyczyny poprzez zadawanie mu pytań związanych z procesem produkcyjnym, a następnie podanie sposobu postępowania w celu wyeliminowania wady.

Szczegółowa procedura korzystania z systemu określona jest poprzez komunikaty pojawiające się na ekranie komputera. Tutaj ograniczono się do przykładu zawierającego kilka podstawowych etapów dialogu, stanowiących ilustracje prowadzonych powyżej rozważań.

Istotnym etapem procedury realizowanym wg scenariusza DIAG2 jest rozpoznanie rodzaju wady. Ekran inicjujący fazę rozpoznania, skonstruowany z wykorzystaniem katalogu zdjęć, przedstawiono na rys. 58.

Źródło: opracowanie własne

Rysunek 58. Ekran inicjujący fazę rozpoznania

Każde z prezentowanych zdjęć może zostać powiększone, odpowiednio do sugestii użytkownika. W miarę potrzeby, mogą być pokazane zdjęcia z katalogu struktur znormalizowanych.

Po zidentyfikowaniu wady, następuje przejście do scenariusza DIAG1, w ramach którego zadawana jest seria pytań zmierzających do ustalenia przyczyny określonej wady. Przykład takiego pytania podano na rys. 51 i 54. Seria pytań kończy się w momencie wskazania przyczyny, ewentualnie po wyczerpaniu informacji posiadanych przez użytkownika (gdy na kolejne pytania udziela odpowiedzi „Nie wiem”).

Końcowy etap procedury diagnostycznej, polega na podaniu zaleceń zmierzających do usunięcia przyczyny danej wady. Przykład odpowiedniego ekranu podano na rys.59.

Źródło: opracowanie własne

7.11. Podsumowanie

Przedstawiono opis konstrukcji i funkcjonowania działającego na serwerach AGH systemu CastExpert opartego na zastosowaniu regułowej reprezentacji wiedzy z zakresu diagnostyki wad odlewów. Oryginalny wkład autora rozprawy dotyczy tutaj wzbogacenia bazy wiedzy (szczególnie w zakresie staliwa) oraz jej części multimedialnej (katalog struktur znormalizowanych, baza opisów i przypadków, baza symulacji) oraz doskonalenia procedur dialogowych. W efekcie tych prac powstała nowa wersja systemu diagnostycznego CastExpert+.

W dokumencie Index of /rozprawy2/10290 (Stron 93-109)

Powiązane dokumenty