1. Podstawowe informacje i definicje
1.1 Systemy ekspertowe
Definicje podstawowych pojęć
Określeniem "system ekspertowy"
[2] można nazwać dowolny program komputerowy, który na podstawie szczegółowej wiedzy, tylko w jej granicach, może wyciągać wnioski,
podejmować decyzję, działać w sposób zbliżony do procesu rozumowania człowieka. Konkretniej, systemy ekspertowe są programami komputerowymi przeznaczonymi do rozwiązywania
specjalistycznych problemów wymagających profesjonalnej ekspertyzy.
Spotykane są następujące polskie i angielskie synonimy:
| system ekspertowy = program regułowy = program z regułową bazą wiedzy
|
expert system = knowledge based system = rule based system
|
|
Z pojęciem "system
ekspertowy" związane są nieodłącznie osoby inżyniera wiedzy i eksperta.
Inżynier wiedzy - zajmuje się: |
| |
pozyskiwaniem i strukturalizacją wiedzy ekspertów,
|
| |
dopasowywaniem i wyborem odpowiednich metod wnioskowania i wyjaśniania rozwiązywanych problemów, |
| |
projektowaniem odpowiednich układów pośredniczących między komputerem a użytkownikiem. |
Ekspert - osoba posiadająca odpowiednią wiedzę i kompetencje do rozwiązywania problemów w danej dziedzinie.
|
Rodzaje systemów ekspertowych
Systemy ekspertowe możemy podzielić na kilka sposobów m.in. ze względu na
prezentację rozwiązania lub strategię ich tworzenia.
Pierwszy podział pozwala wyodrębnić następujące grupy:
|
| |
doradcze z kontrolą człowieka - prezentujące rozwiązania dla użytkownika, który jest w stanie ocenić ich jakość, zatwierdzić, lub zażądać innej propozycji,
|
| |
doradcze bez kontroli człowieka - system jest sam dla siebie końcowym autorytetem. Rozwiązanie takie jest wykorzystane m.in. w układzie sterowania promem kosmicznym. Układ 5 komputerów przygotowuje się do podjęcia decyzji. Następnie porównuje otrzymane wyniki i przy pełnej zgodności wykonuje odpowiednie działanie, w przeciwnym przypadku cały proces jest powtarzany, |
| |
krytykujące - dokonujące analizy i komentujące uzyskane rozwiązanie. |
|
Natomiast
drugi:
|
| |
dedykowane - tworzone od podstaw przez inżyniera wiedzy współpracującego z informatykiem, |
| |
szkieletowe - gotowy system z pustą bazą wiedzy, do wypełnienia przez inżyniera wiedzy i eksperta z danej dziedziny. |
Elementy składowe systemów ekspertowych

Rysunek 1.1: Elementy składowe systemu ekspertowego
Istnieje jeszcze inny podział systemu ekspertowego na składowe, proponowany przez Antoniego Niederlińskiego
[3], w którym baza wiedzy zawiera reguły, procedury objaśniania jako bazę rad i pliki rad, oraz tzw. bazę ograniczeń dbającą o nie powstawanie sprzeczności podczas
wnioskowania.
|
Sposoby wnioskowania
Wnioskowanie - umiejętność podejmowania decyzji w oparciu o posiadaną wiedzę.
W przypadku systemów ekspertowych jest to wyznaczanie nowych faktów na podstawie bazy wiedzy i zbioru faktów początkowych, zadeklarowanych przez użytkownika.
Z pojęciem sztucznej inteligencji (AI), a do tej dziedziny należą systemy ekspertowe, związanie są następujące sposoby wnioskowania:
|
| |
wprzód - na podstawie dostępnych reguł i faktów należy generować nowe fakty tak długo, aż wśród wygenerowanych faktów znajdzie się postawiona hipoteza np.
Jeżeli źródło napięcia jest sprawne i obwód jest zamknięty to żarówka świeci.
|
| |
wstecz - polega na wykazaniu prawdziwości hipotezy głównej na podstawie
prawdziwości przesłanek np. Gdy żarówka nie świeci to obwód jest przerwany lub źródło napięcia jest niesprawne.
|
1.2 Bazy danych
Definicje, podstawowych pojęć
Baza danych [1] jest częścią systemu informacyjnego odpowiedzialną za reprezentację pewnego fragmentu rzeczywistości, ściślej zbiorem obiektów - tabel, kwerend, formularzy - związanych z konkretnym zagadnieniem lub zadaniem.
Aplikacje (programy) korzystają z bazy danych za pomocą dwóch obejmujących ją składników:
1. Modelu danych
2. Systemu zarządzania bazą danych (SZBD)
| ad.2.
|
|
System zarządzania bazą danych (SZBD) jest zorganizowanym zbiorem narzędzi umożliwiających dostęp do danych w bazie oraz do ich aktualizacji.
Jego podstawowe funkcje to:
|
| |
operacje plikowe na dysku,
|
| |
wyszukiwanie potrzebnych danych, |
|
zarządzanie bazą danych - utrzymanie kont użytkowników, ograniczenie dostępu, monitorowanie działania bazy danych.
|
|
|
Oprócz tego do SZBD zalicza się także narzędzia wspomagające tworzenie aplikacji baz danych. Połączeniem pomiędzy tymi częściami dla modelu relacyjnego reprezentacji danych jest SQL (strukturalny język zapytań).
|
| ad.1.
|
Model danych jest to zbiór zasad dotyczących struktury danych, ich używania oraz
określania warunków wspomagających utrzymanie zgodności danych z rzeczywistością. W tym sensie mówimy o relacyjnym modelu danych.
W relacyjnym modelu danych baza danych jest zbiorem relacji. Relacja jest zbiorem układów pochodzących z ustalonych zbiorów wartości. Przyjmuje się powszechnie
reprezentację, przy której pojedyncza relacja jest dwuwymiarową tabelą złożoną z kolumn i wierszy.
|
Ponadto z relacyjnymi bazami danych związane jest pojęcie kwerendy. Jest to narzędzie umożliwiające budowanie zapytań związanych z danymi przechowywanymi w bazie.
|
Rodzaje baz danych
Wyróżniamy następujące rodzaje baz danych ze względu na przetwarzanie danych:
|
| |
Operacyjne - dane są gromadzone i przetwarzane dynamicznie.
|
| |
Analityczne - informacja jest statyczna, przechowywane dane są historyczne, służą one celom statystycznym oraz prognozowaniu.
|
2. Uzasadnienie wyboru dziedziny doradztwa
Dziedzina doradztwa, przedmiotowego systemu ekspertowego, obejmuje układy
automatycznej regulacji przepływu i poziomu cieczy [9] oraz związane z tą tematyką zagadnienia
dotyczące pomiarów odpowiednich parametrów. Ze względu na dużą różnorodność warunków, nie ma możliwości skonstruowania uniwersalnego przepływomierza. Powoduje to, że produkowane są dziesiątki ich odmian, o działaniu opartym na różnych zasadach i zjawiskach fizycznych.
Piszą o tym m.in. dla przewodów ciśnieniowych [4],
[5], [6] oraz dla kanałów otwartych
[8]. Obecnie pomiary przepływów odgrywają istotną rolę w wielu gałęziach przemysłu i ochronie środowiska naturalnego. Prawidłowe ich przeprowadzenie umożliwia racjonalne wykorzystanie surowców, energii, poprawę jakości produktów. Są także podstawą rozliczeń handlowych. Szczególne znaczenie dla ochrony środowiska mają pomiary przepływów w kanałach otwartych. W przemyśle chemicznym i petrochemicznym bardzo ważną rolę odgrywają zagadnienia związane z procesami odmierzania dawek i regulacji stosunku poszczególnych komponentów
[11]. Szczególnie istotnym problemem jest dobranie odpowiedniego sposobu napełniania zbiorników, tak aby odbyło się to z zachowaniem odpowiedniej dynamiki i nie zakończyło się przepełnieniem
[7]. O znaczeniu tych zagadnień miałem okazję przekonać się podczas praktyk, latem 2000 roku, w Przemysłowym Instytucie Automatyki i Pomiarów w Zakładzie Pomiaru Parametrów Przepływu. Spotkałem się tam z problematyką dotyczącą m.in. automatyzacji oczyszczalni ścieków. Natomiast w Laboratorium Pomiarów Objętości Gazów Głównego Urzędu Miar
zapoznałem się z tematyką dotyczącą pomiarów służących rozliczeniom handlowym i konstrukcjami różnych gazomierzy oraz przeliczników do gazomierzy.
W zbudowanym systemie ekspertowym powyżej opisane zagadnienia zostały
przedstawione w sposób dość skrótowy. Spowodowane jest to połączeniem w jednej osobie - autora - inżyniera wiedzy, eksperta, informatyka. Rozwiązanie takie w kontekście aktualnej metodologii tworzenia oprogramowania
[12] jest z założenia nieoptymalne. Tego typu zadania powinny być realizowane w zespole, ale ze względu na to, że praca ta jest próbą stworzenia czegoś nowego, przetarciem ścieżek, a nie gotowego produktu, rozwiązanie takie jest do zaakceptowania.
3. Sposób realizacji przedmiotowego systemu
3.1 Spotykane sposoby realizacji
Hasło
"systemy ekspertowe" w pierwszej chwili kojarzy się z językami typu LISP, PRO-LOG, jednak nie jest to jedyna możliwość realizacji. Narzędzia do implementowania systemów ekspertowych można podzielić na następujące grupy
[2]:
1. Systemy szkieletowe (expert system shells)
2. Środowiska programowe ułatwiające implementacje sytemu
3. Języki systemów ekspertowych (Clips, Flops, OPSS)
4. Języki programowania symbolicznego (LISP, PROLOG)
5. Języki algorytmiczne, proceduralne np. Basic, Pascal, C, C++
| ad.1,2.
|
Zapewniają one mechanizmy dla reprezentacji wiedzy i budowy bazy wiedzy.
|
|
Oprócz tego do SZBD zalicza się także narzędzia wspomagające tworzenie aplikacji baz danych. Połączeniem pomiędzy tymi częściami dla modelu relacyjnego reprezentacji danych jest SQL (strukturalny język zapytań).
|
| ad.3,4.
|
Podstawową trudnością przy zastosowaniu tej grupy języków jest ich specyfika - dość trudna do opanowania przez osoby, programujące w typowych językach algorytmicznych, proceduralnych. |
| ad.5.
|
Typowe i ogólnie stosowane narzędzia do tworzenia oprogramowania. Dzięki swojej
uniwersalności nadają się do większości zastosowań.
|
Ciekawy sposób realizacji doradczego systemu ekspertowego zaproponowali Marcin
Bajer i Antoni Ligęza [13] w referacie
"Koncepcja inteligentnego serwera WWW jako interfejsu do bazy wiedzy i narzędzia komunikacji w zespole
projektowym" z konferencji "Inżynieria wiedzy i systemy
ekspertowe" Zielona Góra 2000. W artykule tym przedstawiono koncepcję systemu wspomagającego prace projektowo - programistyczne przy wykorzystaniu bazy wiedzy
reprezentowanej w relacyjnej bazie danych. Zaproponowano koncepcję
hipertekstowego interfejsu użytkownika i mechanizmu komunikacji wykorzystującego serwer WWW wspomagany usługami sieciowymi.
Tak przedstawione założenia oraz to, że wiedza dziedzinowa, dla przedmiotowych
zagadnień, często zorganizowana jest w tabele (poradniki inżynierskie) i jest częściowo
zalgorytmizowana np. sposób doboru odpowiedniego przepływomierza
[6]. Spowodowało to, że podjąłem się próby realizacji doradczego systemu ekspertowego opartego na rozwiązaniach stosowanych w aplikacjach bazodanowych z relacyjnym modelem danych tzn. organizacji danych w tabele (relacje), wykorzystanie formularzy oraz języka SQL. Sposób ten łączy w sobie rozwiązanie
zaproponowane w powyżej cytowanym referacie i zalety programowania w języku proceduralnym.
Niewątpliwym argumentem za tym środowiskiem jest rozpowszechnienie pakietu
MS OFFICE i systemu operacyjnego WINDOWS.
Opracowane mechanizmy, dla budowania systemów ekspertowych, z wykorzystaniem tego narzędzia mogą być przydatne do implementacji zagadnień rozpatrywanego typu w innym środowisku. Możliwe to jest dzięki temu, że w każdym środowisku relacyjnych baz danych dostępny jest język SQL, a interfejs użytkownika pozwala na używanie pól wyboru, pól kombi itp.
3.2.2
Zastosowane mechanizmy
Mechanizmy oferowane przez MS ACCES i wykorzystane do budowy sytemu zostały przedstawione na rysunku . Przedstawia on bloki typowego systemu ekspertowego (patrz:
Elementy składowe systemów ekspertowych) z zaznaczonymi obiektami udostępnianymi przez MS ACCESS pomocnymi przy ich
tworzeniu.

Rysunek 3.1: Schemat typowego systemu ekspertowego w kontekście mechanizmów
dostarczanych przez MS ACCESS
Zabezpieczenie przed powstaniem sprzeczności:
Po zmianie kryterium poprzedniego wartość wybrana dla kryterium następnego zostaje
anulowana i na nowo ustalana jest lista dostępnych wartości. |
"Wnioskowanie
wstecz", doradztwo przeglądowe:
Pokazanie wszystkich możliwych odpowiedzi systemu dla danego działu uzupełnionych o wady, zalety, zakres stosowalności itp.
Możliwość weryfikacji hipotez użytkownika.
3.3 Alternatywne sposoby implementacji
Do alternatywnej implementacji, rozszerzenia stosowalności przedmiotowego systemu można wykorzystać:
1. Serwer bazodanowy - przechowywanie struktury tabel i ich zawartości np.: MS SQL
Server, My SQL, Postgres
2. Serwer WWW - formatowanie WE/WY np.: MS IIS, Apache
3. Przeglądarka internetowa - narzędzie do przeglądania bazy przez użytkownika np.: MS
Internet Explorer, Netscape
4. Prezentacja przedmiotowego doradczego systemu ekspertowego
System występuje pod nazwą SEPP - System Ekspertowy dla Projektowania Układów Automatycznej Regulacji Przepływu i Poziomu Cieczy.
Program ten należy do grupy doradczych systemów ekspertowych z kontrolą człowieka (patrz:
Rodzaje systemów ekspertowych).
4.1 Podstawowe funkcje
Aplikacja ta pomocna jest przy ocenie zachowania lub wyborze odpowiednich dla użytkownika układów automatycznej regulacji służących do stabilizacji natężenia przepływu, poziomu w zbiorniku oraz regulacji stosunku i odmierzania dawki. Powyżej wymienione przykłady zostały zrealizowane jako pliki symulacyjne dla programu Matlab 5.3 (Simulink 3.0). Ponadto program dostarcza informacje i pozwala dobrać metodę pomiaru przepływu lub poziomu cieczy. Dzięki modułowi obliczeniowemu możliwe jest wykonanie obliczeń przewężenia kryzy ISA z analizą niepewności pomiaru strumienia masy, wyznaczenie odpowiednich współczynników korekcji dla węzłów przepływowych, obliczenie poziomu napełnienia koryta pomiarowego.
4.2
Schemat blokowy
Schemat ten przedstawia podstawowe bloki i zależności pomiędzy
nimi dla przedmiotowego programu (rys. 4.1).

Rysunek 4.1: Schemat blokowy programu SEPP
Typowe konfiguracje UAR
- doradztwo i prezentacja układów automatycznej regulacji
przepływu, istnieje możliwość uruchomienia symulacji wymagany Matlab 5.3 i Simulink 3.0.
Metody pomiarowe - doradztwo i prezentacja metod pomiaru przepływu i poziomu w kanałach otwartych, przewodach ciśnieniowych i zbiornikach.
Moduł obliczeniowy - obliczenia dla kryzy ISA wg PN-93/M-53950/01
[14], obliczenia dla kanału Khafagi - Venturi wg
[10], obliczenia współczynników korekcji dla węzłów przepływowych z zastosowaniem mnożników Lagrange'a.
Bibliografia - spis literatury i oprogramowania wykorzystywanego przy tworzeniu systemu.
Podsystem rozbudowy i aktualizacji - dostępny tylko w momencie gdy użytkownikiem jest ,,SEPPadmin''. Oferuje możliwość aktualizacji i rozbudowy istniejących tabel w bazie, sporządzenia i przejrzenia spisu wszystkich istotnych elementów aplikacji (tabel, kwerend, formularzy, raportów). Istnieje także możliwość zmiany ścieżki do pliku matlab.exe.
4.3 Wymagania sprzętowe i programowe
System operacyjny:
Windows 9x/Me/NT/2000
Dodatkowo:
MS ACCESS 8.0 (97) (plik SEPP.mdb lub SEPP.mde)
MS ACCESS 2000 (plik SEPP2000.mdb lub SEPP2000.mde)
Do pełnego wykorzystania systemu: Matlab 5.3 i Simulink 3.0
Komputer:
Pentium MMX lub lepszy
Program najlepiej używać w rozdzielczości 800x600
|
5. Wnioski i perspektywy rozwojowe
5.1 Perspektywy rozwojowe
W przypadku rozpowszechniania aplikacji przewidziano dwie wersje:
|
| |
pełną z możliwością rozszerzenia o dodatkowe bloki - forma pliku
mdb,
|
| |
z ograniczoną możliwością rozszerzenia - tylko poprzez dopisywanie danych do istniejących tabel - forma pliku
mde. |
Do poszerzenia stosowalności systemu można skorzystać z pakietu MS OFFICE DEVELOPER EDITION i przygotować go do działania na komputerach z nie zainstalowanym programem MS ACCESS.
Następnym krokiem w rozwoju aplikacji powinno być nawiązanie kontaktu z producentami sprzętu pomiarowego i dodanie bloku, który sugerowałby wykorzystanie konkretnego przepływomierza. Program mógłby być rozpowszechniany razem z katalogami wytwórców. Równolegle należałoby opracować wersję SEPP udostępnioną w sieci INTERNET
(patrz: Alternatywne sposoby implementacji).
|
2.
Wady:
|
| |
ograniczenie zastosowania do wiedzy dziedzinowej dającej się organizować w tabele,
|
| |
przy dużej liczbie reguł utrudnione zarządzanie nimi. |
Podsumowując środowisko MS ACCESS i inne służące do obsługi baz danych polecałbym do implementacji programów doradczych o małej liczbie reguł i wiedzy dziedzinowej
zorganizowanej w tabele i częściowo zalgorytmizowanej.
W przypadku wyboru takiego sposobu realizacji systemu ekspertowego staje się on
elementem Systemu Zarządzania Bazą Danych odpowiadającym za dostarczenie użytkownikowi odpowiedniego zestawu danych.