czwartek, 19 września 2013

PODSUMOWANIE I WNIOSKI KONCOWE

Ewolucja systemów ekspertowych spowodowała modyfikacje w budowie i przeznaczeniu oraz funkcjonowaniu systemów.

Przyczyną tych zmian jest  gwałtowny  przyrost liczby potencjalnych źródeł wiedzy. Internet stał się narzędziem służącym do pozyskiwania wiedzy  . Spowodowało to gwałtownie zwiększające się liczbę dostępnych źródeł co ma niebagatelne znaczenie w procesie tworzenia nowych systemów ekspertowych.

sobota, 14 września 2013

Dokumentacja Programowa

No to zaczynamy zabawę ;)

Budowę aplikacji zaczynamy poprzez określenie i zapasanie wiedzy w formie reguł. Po uruchomieniu  programu PC-Shell , klikamy men Edycja w oknie generatora nowej bazy  zaczynamy pola Blok Facet , Blok Reguł, podajemy nazwę pliku i klikamy OK. Zapisujemy do Pliku.

Tworzona przez nas baza wiedzy zapisuje się w pliku BW w PC-Shell. Bazę wiedzy umieszczamy w bloku instrukcji " knowledge base stanowisko...end",w ramach ,której zapisujemy najpierw definicje wszystkich używanych zmiennych( blok facet...end).
Fasetami określamy zbiór deklaracji odnoszących się do wybranych atrybutów .Blok Faset zawiera wykaz wszystkich atrybutów użytych w bazie wiedzy .Nie wszystkie atrybuty musza być opisane fasetami , lecz wszystkie muszą być zadeklarowane w bloku faset , Ogólna struktura bloku faset wygląda następująco :


Fasets

Opis Faset

End;

Opis faset składa się z deklaracji globalnych, ask, single oraz zbioru atrybutów i związanych z nimi faset.

Deklaracja ask określa , czy system może zadawać pytania o poprawność reguł . Jeśli wybrana zostaje opcja "yes" , to system będzie zadawał pytania o prawdziwość warunków , które nie mogą być potwierdzone w oparciu o wiedzę zawartą w bazie wiedzy w postaci faktów i reguł. Opcja "no" oznacza , ze system nie może zadawać pytań użytkownikowi w celu potwierdzenia warunków . Może jedynie wykorzystywać wiedzę zawarta w bazie wiedzy. 

 Od tych ogólnych reguł można określić wyjątki, stosując deklaracje ask  w deklaracji faset.
System przyjmuje domyślnie ask yes  oraz  single no.

Struktura opisu faset:

[ ask{yes  no\ };]
[ single {yes no \} ; ]

atrybut _1 [ deklaracja _faset_1 ];

...

atrybut _n [ deklaracja _faset_n];



Fragment bloku faset z aplikacji:

single yes ;

decyzja :
ask no
val oneof {

" zatrudniony and szycie",
"zatrudniony and pracownik_biura",
" zatrudniony and pracownik_ochrony",
" zatrudniony and informatyk",
" zatrudniony and pracownik_dzialu_obslugi_z_klientem",
" zatrudniony and pracownik_gospodarczy",
" brak_podstaw_do zatrudnienia" };

rodzaj_pomocy_socjalnej:

ask no
val oneof {
"rehabilitacja and turnusy_rehabilitacjne and dofinansowanie_pelne",
"rehabilitacja and turnusy_rehabilitacjne and dofinansowanie_czesciowe",
"rehabilitacja and turnusy_rehabilitacjne and dofinansowanie_pelne and dofinasowanie_dla_opiekuna",
"rehabilitacja and turnusy_rehabilitacjne and dofinansowanie_polowa_kosztow";
}

typy_umowy_wynagrodzenia:
ask no
val oneof {
"umowa_zlecenie",
"okres_probny",
" umowa_o_prace",
"pensja";
}
(...) end;

Następnie zapisujemy  same reguły (blok rules....end).


Blok reguł pełni główną role z punktu widzenia reprezentacji wiedzy ekspertowej . Opis reguł składa się ze zbioru reguł poprzedzonych słowem  rules oraz zakończonych słowem end.

Składnia definicji i reguł jest następująca:

jeśli chcemy określić regułę według której uzyskanie odpowiedzi tak dla zmiennych
warunek 1 i warunek 2 ma zwracać na temat wyniku wynik informacje o treści wystepuje to odpowiedni blok reguł może wyglądać następująco :

wynik =" zatrudniony and szycie" if warunek 1 ="tak",
warunek2= "tak";

fragment bloku rules z aplikacji "ZPCHR"

stanowisko="brak_podstaw_do_zatrudnienia" if grupa ="nie";

stanowisko = "zatrudniony and pracownik_biura " if

grupa= "tak",
stopien =" lekki ",
okres=" tak",
wzrok=" tak",
sluch=" dobry",
poruszanie =" samodzielnie",
wyksztalcenie =" wyższe",
jezyki =" angielski or niemiecki or francuski or inne ",
komputer="slaba";

(...)

/niektóre wersje programów czytają polskie znaki niektóre nie i wychodzi błąd w programie /

Do pobierania danych używamy operatora zapytania query, zadającego użytkownikowi podane pytanie oraz dwóch operatorów ograniczających zakres dopuszczalnych odpowiedzi :
 val oneof (...), akceptującego wyłącznie jedna z możliwości podanych w nawiasach oraz  val range (...) akceptujące tylko wartości liczbowe. Tak przygotowana baza jest już sama w sobie gotową aplikacją.

Aby uruchomić z menu Plik wybieramy Otwórz i wskazujemy plik zapisanej uprzednio bazy. Teraz wybieramy Wnioskowanie- do tyłu , co spowoduje otwarcie okna dialogowego Hipoteza.
W tym oknie formułujemy hipotezę , która ma być sprawdzona na podstawie informacji zawartych  w bazie wiedzy - w naszym przypadku chcemy się dowiedzieć  czy kandydat może być zatrudniony w zakładzie pracy chronionej, jaki rodzaj umowy może być podpisany oraz ewentualne wynagrodzenie  a także jakie świadczenia socjalne przysługują pracownikowi. Zamiast zapisywać hipotezę możemy wybrać oba jej elementy z list dostępnych po naciśnięciu przycisków ATRYBUT , WARTOŚĆ.
klikamy wnioskuj. Teraz program będzie nas prosił o podawanie zmiennych użytych w bazie reguł .Dane są przetwarzane   sekwencyjnie i system zadaje tyle pytań ile jest mu potrzebne do weryfikacji hipotezy -jeżeli już po podaniu pierwszej wartości będzie jasne , ze kandydat ma szanse na zatrudnienie bądź jaki typ umowy może podpisać to nasz wynik zostanie wyświetlony jako hipoteza potwierdzona bądź niepotwierdzona . Dzieje się to za pomocą algorytmu maszyny wnioskującej w tył.
Dodanie bardziej zaawansowanych funkcji interfejsu użytkownika wymaga dołączenia do programu bloku sterowania control...end, umożliwiającemu algorytmicznie sterowanie praca samego systemu regułowego.

Blok sterowania control...end jest trzecim (po fasets and rules) blokiem w kodzie bazy wiedzy.
Od pozostałych rożni  się tym , ze jest nieobowiązkowy. W bloku sterowania używany jest wyspecjalizowany język wysokiego poziomu stworzony specjalnie dla potrzeb programu PC-Shell w celu ułatwienia obsługi specyficznych wymagań aplikacji w nim tworzonych.

Poza funkcjami sterującymi , język dostarcza instrukcji i typów danych niezbędnych w systemach ekspertowych , umożliwia utworzenie interfejsu użytkownika , pozwala integrować aplikacje z innymi programami daje możliwość efektywnego opisywania wiedzy o  charakterze algorytmicznym .

     W bloku control użyto następujące polecenia :

Run-  uruchomienie programu  zawartego w bloku sterowania


Goal (hipoteza )- uruchomienie -  wnioskowania z  podaną hipotezą


Answer (wartość )- przypisanie -  odpowiedzi na zapytanie o wartość zmiennej

Solution - element rozwiązania (pełna trójka OAW )

Kod z bloku control w aplikacji ZPCHR

contorl

int Odp;


 Budowę interfejsu użytkownika rozpoczynamy w kodzie control ...end wpisujemy

createAppWindow;



run;
vignette  ( "ZPCHR" , "DEMONSTRACYJNA BAZA WIEDZY DOTYCZACA WYBORU STANOWISKA PRACY DLA OSOBY NIEPELNOSPRAWNEJ . TYP UMOWY , WYSOKOSC WYNAGRODZENIA ORAZ  PROPONOWANA OPIEKA SOCJALNA W ZALEZNOSCI  OD STOPNIA NIEPELNOSPRAWNOSCI\nAutor : Beata XXXX", "Copyright (C) 1992-99 AITECH Artificial Intelligence Laboratory");

setAppWinTitle, (" na jakim stanowisku ma pracować kandytat ");

setAppWinTitle, ("proponowany rodzaj umowy i proponowane wynagrodzenie");

setAppWinTitle, (" jakie świadczenia socjalne może uzyskac osoba niepelnosprawna ");

addSolution (yes);

W łatwy sposób możemy dodać ekran powitalny aplikacji , służy do tego instrukcja Vignette .

Dodajemy do naszej aplikacji menu w bloku menu..end jest pewien rodzaj instrukcji warunkowej .
Jako parametr podajemy nazwę menu a następnie kolejne pozycje . Ponieważ aplikacja jest z raportowaniem z jednej pozycji menu musimy podać kod DDE.
 Nawiązanie konwersacji wymaga podania trzech parametrów : zmiennej typu int której przypisany zostanie numer otwartego kanału ( w przypadku pozytywnego nawiązania konwersacji) oraz dwóch parametrów określających nawiązywaną konwersacje -usługi  oraz nazwę tematu .W przypadku aplikacji "ZPCHR" nazwa usługi to" WinWord" nazwa tematu "System"

Przy nawiązywaniu łączności z edytorem tekstu Word w pakiecie Office mogą wystąpić problemy . Należy sprawdzić z jakiego pakietu Office korzystamy .W zależności od edycji zmieniają się numery kolejnej edycji plików Office.
 Kod raportowania W DDE umieszczamy w bloku menu w instrukcji case .
 W bloku menu można umieścić notatkę gdzie można zapisywać uwagi - służy temu  kod



system( "notepad.exe oaplik.text");

Zakonczenia systemu zapisujemy kodem , aby kod zadziałał należy w bloku control zaimplementować zmienna int odp :


case 4 :




system( "notepad.exe oaplik.text");
case 5 :
confirmBox (0,0, "Wyjscie ..","\n\nKONIECPRACY", odp);
  while (odp==1)
Begin
exit;
 end;
end;
end;
end;

Instalacja programu

Przed przystąpieniem do pracy należy zainstalować pakiet SPXINKS do zbudowanie niniejszej aplikacji .

Korzystałam z wersji demonstracyjnej Pakietu SPXINKS , zakupionego razem z gazetą Software Extra r 10

Wymaganie systemowe:

Komputer 486 lub nowszy ,Pamięć RAM 8MB lub więcej .

W systemie Windows  Vista program działa niekompletnie , nie można uruchomić opcji pomoc.
Po włożeniu płyty CD do napędu program instalacyjny powinien uruchomić się automatycznie , z wyjątkiem sytuacji ,gdy opcja autostartu płyty jest wyłączona w ustawieniach systemu Windows .
W tym przypadku uruchomiamy ikonę Setup .exe
Po prawidłowym uruchomieniu programu instalacyjnego Pakietu SPXINKS pojawia się okno dialogowe z przyciskiem opcje , który umożliwia ustawienia instalacji żądanych systemów w systemie Windows . Uruchomienie instalacji programu Adobe Acrobat Reader wymagane do obsługi dokumentacji elektronicznej. Domyślnie instalowane są wszystkie systemy. Wybranie przycisku Instaluj rozpoczyna proces instalacji. System instalowany jest w katalogu podanym przez użytkownika. Domyślnie ustawiony jest katalog C:\SPHIKS 4.0, lecz można to zmienić.

W czasie instalacji sprawdzana jest obecność w systemie tego katalogu . Jeśli nie istnieje to użytkownik jest pytany o zgodę na jego założenie . Jeśli istnieje , to użytkownik jest proszony o potwierdzenie jego użycia.
Po prawidłowym zainstalowaniu plików następuje proces utworzenia grupy Sphinks 4.0 .
W menu Start zawierający ikonę programów pakietu SPHINKS .
W wersji 4.0program instalacyjny generuje zapytanie o to czy utworzyć skróty dla wszystkich użytkowników danego komputera czy tylko aktualnie instalującego pakiet.

   Po prawidłowym zainstalowaniu sytemu program instalacyjny po potwierdzaniu zostaje zamknięty .
Programy pakietu są dostępne w menu Start

uwaga!!!!!!!!!!

Wskazane jest, aby podczas instalacji w systemie Windows nie była uruchomiona żadna aplikacja . W przypadku zaistnienia konfliktów używania bibliotek dll przez inne aplikacje należy je zamknąć i ewentualnie uruchomić ponownie system i rozpocząć instalacje od nowa.


A jak wygląda to w praktyce

W moim przypadku celem praktycznym było zbudowanie bazy wiedzy do szkieletowego systemu ekspertowego PC-shell oraz dokładna analiza tego systemu dla potrzeb wspomagania pracy Zakładu Pracy Chronionej zatrudniającego osoby niepełnosprawne.

Danym wejściowymi dla systemu " ZPCHR" są odpowiednio przetworzone informacje , dane dotyczące kandydata ubiegającego się o prace tzn . stopień niepełnosprawności ,wyksztalcenie ,czy wymaga opieki osób trzecich i inne , które klasyfikują ubiegającego się o prace na określone stanowisko , którym dysponuje dany zakład .Jest to ogólna wiedza służąca do stworzenia demonstracyjnej bazy wiedzy.
Będąc osoba niepełnosprawną pracującą w podobnym zakładzie na bieżąco mogę śledzić sposoby zatrudniania i opieki socjalnej w tego typu zakładach.
dane są wiarygodne . Fikcją ssą orientacyjne wynagrodzenia pracownika.

piątek, 13 września 2013

Implementowanie systemu

Ostatnim  z wyodrębnionych etapów realizacyjnych jest opracowanie gotowego systemu ekspertowego ,który po odpowiednich procedurach weryfikacyjnych zostaje przekazany użytkownikowi. Środowisko narzędziowe , w którym system powstaje różni się istotnie od innych produktów informatycznych . Mając bazę wiedzy wyróżnioną za pośrednictwem określonego formalizmu ,staramy się odwzorować ją w określonym języku programowania lub tez " szkieletowym " systemie ekspertowym . Należą do nich:

- baza wiedzy ,
-moduł sterujący funkcjonowaniem aplikacji
-moduł komunikacji z użytkownikiem
Każdy element powinien być zaprojektowany , a następnie oprogramowany za pośrednictwem wybranego narzędzia .
Implementacja wiedzy w systemie jest czynnością bardzo specyficzną .Zazwyczaj dysponujemy wieloma narzędziami pozwalającymi na jednoznaczne wprowadzenie opracowanych reguł czy ram . Oprócz prostej edycji mamy udogodnienia umożliwiające wstępną weryfikacje wprowadzanej wiedzy.
Moduł sterujący na pozór wydaje się podobny do tradycyjnego oprogramowania , ale istota całego procesu eksploatacji ,zasadza się na działaniu mechanizmu wnioskującego. Moduł sterujący ma na celu aktywizowanie istotnych dla procesu generowania decyzji fragmentów wiedzy uzupełniając je  w razie potrzeby także rezultatami procesu wnioskowania.

Moduł komunikacji z użytkownikiem jest najbardziej zbliżony do klasycznej aplikacji .
Użytkownicy komunikują się za pośrednictwem określonych poleceń wyboru czy wyboru z menu , wprowadzając określone określone wartości parametrów, dane etc.
System może mieć możliwość rozpoznawania poleceń w języku naturalnym tu konieczna jest budowa określonej klasy słowników interpretacyjnych .  Systemy ekspertowe są wyposażone w moduł objaśniający , który musi być sprzężony z generowanymi ekspertyzami .

Różnorodność danych wejściowych powoduje konieczność zastosowania wyrafinowanych technik wprowadzania danych.
W ramach całego cyklu życia systemu wspomagania decyzji wyodrębnia się etap testowania.
Po wykryciu błędów formalnych oprogramowania należy przede wszystkim ocenić , jakość zaimplementowanej bazy pod kątem wiarygodności generowanych rezultatów , a także poddać weryfikacji kompletności czy spójności .

Przykładowa dokumentacja użytkownika

Napisze  dla zainteresowanych jak wygląda proces instalacji i dokumentacja użytkownika


Po zainstalowaniu Pakietu Sphinx uruchamiamy ikonę PC-shell
 
 

Ekran powitalny naszej aplikacji .Po zaakceptowaniu programu przyciskiem OK. ukazuje się menu naszej aplikacji
 

Wybieramy pozycję w menu , którą chcemy zrealizować np.


Zaznaczamy wybraną przez nas odpowiedź na zadane pytanie. Czynność tą powtarzamy ,aż do uzyskania końcowego wniosku czyli w naszym przypadku oceny ryzyka zachorowania na cukrzycę  bądź ocenę typu cukrzycy lub ewentualne metody leczenia .W zależności jaką pozycję menu wybieramy


Po zaakceptowaniu OK. program zadaje pytanie o wydrukowanie raportu

W wyniku akceptacji otrzymamy raport jak powstała konkluzja

KONKLUZJA: ryzyko = "konsultacja"

 

 79: ryzyko = "konsultacja" JEŚLI

       pacjent_ma_chorobę_układu_naczyniowo_sercowego = "nie_wiem";

 

----------------------------------------------------------------------------------------------------

 

 14* Fakt :pacjent_ma_chorobę_układu_naczyniowo_sercowego = "nie_wiem"

Po wybraniu opcji wyjscie ukazuje się okno aplikacji kończącej program.

 

 
 
 
W menu mamy okno pozycję notatnik ,w której użytkownik może zapisywać własne notatki . Po ponownym uruchomieniu programu i otwarciu z menu „Notatnik” zapisane notatki będą zachowane.
To taki przykład zastosowania systemu ekspertowego ,program mógłby być pomocy w pracy lekarza podczas diagnozowania pacjenta oraz pomocny studentom medycyny , w programie zawarte są ,dzięki mojemu ekspertowi wszystkie dane dotyczące cukrzycy oraz jej rodzajów a także metod i sposobów leczenia. 
 Na obronie program zadziałał :)
 

środa, 11 września 2013

CAKE jako narzędzie budowy bazy wiedzy dla PC-shell’a


„System CAKE (ang. Computer Aided Knowledge Engineering) jest przeznaczony do komputerowego wspomagania procesu realizacji dziedzinowych aplikacji szkieletowego systemu ekspertowego PC-Shell.
Pierwszym krokiem w stronę realizacji koncepcji systemu CAKE był opracowany na początku lat 90 system dbMaker, przeznaczony głównie do tworzenia i obsługi wyjaśnień typu "co to jest?" oraz metafor systemu ekspertowego PC-Shell. Następnie przystąpiono do prac nad praktyczną implementacją autorskiej koncepcji systemu CAKE dr. Krzysztofa Michalika, pierwotnie rozwijanej w firmie Aitech pod roboczymi nazwami kbMaker i kbBuilder (analogicznie aplikacja Aitech DSS była początkowo rozwijana pod roboczą nazwą dssBuilder). Projekt CAKE w całości był finansowany i realizowany wyłącznie w przez firmę AITECH.” www.aitech.pl

System CAKE umożliwia :

-weryfikacja poprawności wiedzy

- wspomaganie procesu tworzenia, rozbudowy i pielęgnacji baz wiedzy

- generowanie baz wiedzy w klasycznej postaci tekstowej

- generowanie baz wiedzy w postaci binarnej

-zarządzanie projektem aplikacji, również hybrydowych

- ochrona projektu aplikacji systemem uprawnień i haseł,

- wspomaganie organizacji pracy grupowej.

 

 „Dzięki wykorzystaniu systemu CAKE można realizować aplikacje systemu PC-Shell bez dokładnej znajomości języka opisu bazy wiedzy. Na każdym z etapów pracy system oferuje wygodne narzędzia wspomagające, eliminujące konieczność żmudnego wprowadzania kodu. Zapis baz wiedzy w postaci binarnej zapewnia z jednej strony ochronę zgromadzonej wiedzy przed niepowołanym dostępem, z drugiej zaś strony poprawia efektywność wykonania aplikacji w środowisku systemu PC-Shell. Dzięki systemowi uprawnień i haseł można ograniczyć dostęp do aplikacji zarówno na etapie jej tworzenia jak również na etapie jej wykonywania”www.aitech.pl

System CAKE umożliwia realizację funkcji:

- tworzenie bazy wiedzy w oparciu o specjalizowany edytor bazy wiedzy

- realizowanie na bieżąco kontroli poprawności  wprowadzanych informacji

- automatyczna generacja teksu źródłowego bazy wiedzy

-automatyczna generacja bazy wiedzy w postaci binarnej , która nie podlega procesowi translacji  ,odpowiednie  struktury modułu wnioskującego będą wypełniane automatycznie

-ochrona wiedzy zapisana w postaci binarnej w oparciu o system haseł i uprawnień

-efektywne i ergonomiczne zarządzanie bazą wiedzy za pośrednictwem narzędzi w postaci specjalizowanych edytorów bloków baz wiedzy

Podstawowym blokami funkcjonalnymi systemu CAKE są:

-moduł bazy wiedzy :

    1.Edytor bloku atrybutów

    2.Edytor bloku faktów

    3.Edytor bloku reguł

    4.Edytor bloku sterującego

-moduł uprawnień

-moduł zarządzania bazą wiedzy

-translator języka Sphinx

-moduł raportów

Moduł bazy wiedzy realizuje funkcje dialogowe systemu. Użytkownik systemu może realizować wszystkie operacje na bazie wiedzy. Główny edytor składa się ze specjalizowanych edytorów na poszczególnych blokach bazy wiedzy.

Moduł zarządzania bazą wiedzy odpowiada za realizację wszystkich operacji związanych z bezpośrednimi manipulacjami na bazie wiedzy. Tu następuje kontrola poprawności wprowadzanych czy zmienianych elementów bazy wiedzy-atrybutów, faktów ,reguł.

Translator języka opisu bazy wiedzy jest odpowiednikiem translatora wbudowanego w system ekspertowy PC-shell .Zadaniem jego jest kontrola poprawności bloku sterowania oraz kontrola poprawności baz zapisanych w postaci tekstowej , importowanych do systemu CAKE  w celu wygenerowanie wersji binarnej lub weryfikacji.

W module  raportów w systemie CAKE możemy automatycznie utworzyć dokumentację zawierającą opisowe informacje o bazie  jak i o poszczególnych jej blokach oraz ich właściwościach. Dokumentacja może być wydrukowana w postaci raportu.

pisząc program  trzeba bardzo uważać na znaki ,gdyż brak np.";" spowoduje ,ze program nie będzie działał
 

Regułowa reprezentacja wiedzy


Najpopularniejszym sposobem reprezentacji wiedzy w systemach ekspertowych jest reprezentacja bazy wiedzy oparta na regułach IF – THEN  Z prawdziwości pewnych faktów można wnioskować o prawdziwości innych. Takie zależności zapisane są w regułach .W bazie wiedzy zgromadzony jest zbór reguł i faktów.Wyrażenia w przesłankach i konkluzjach nazywamy klauzulami.

 

Ogólna postać reguły:

 

 

IF x1   is  F1 and/or x2  is F2 and / or …….xn  is Fn       przesłanka

 

THEN y is  G                                                             konkluzja

 

Gdzie x1 ,x2, …………….xn, y oznaczają  obiekty , a F1 , F2, …………Fn , G – wartości

 

 

Przykład :

 

IF poziom_cukru_pacjenta IS < 60

 

THEN ryzyko_zachorowania _na_cukrzycę is DUŻY

 

 

Reguły są oparte na trójkach OAW(Obiekt ,Atrybut ,Wartość ):

- w przesłance :

Obiekt pacjent ;  Atrybut poziom_cukru;   Wartość <60

 

- w konkluzji :

Obiekt pacjent ; Atrybut poziom; Wartość duży

 

Należy podkreślić różnicę w traktowaniu atrybutu i wartości w przesłance i konkluzji.

W przesłance system porównuje –sprawdza , czy relacja atrybut –wartość

 (poziom_cukru <60) jest prawdziwa , w konkluzji natomiast następuje  podstawienie .Konkluzja jest wnioskiem , co ma się  dziać z atrybutem .(ustaw wartość ryzyka na duży).

Ogólna postać reguły zakłada istnienie wielu wejść (trójek OAW ) i jedno wyjście .Możliwe jest zbudowanie reguły , w wyniku której podając kilka działań i która ma kilka na wyjściu kilka trójek OAW:

 

 

 

IF x1  is F1 and /or x2 is F2 and/or …..xn   is     F n

 

THEN y1 is G1 and y2 is G2

 

 W konkluzji jedynym spójnikiem logicznym ,jest spójnik „and”. Stosowanie spójnika „or” jest dopuszczalne , lecz nie zalecane ze względu na większe skomplikowanie modułu wnioskującego.

Reprezentacja regułowa wykorzystywana jest w systemach dedukcyjnych , w których zbiór faktów początkowych jest przekształcany w zbiór faktów końcowych. W zależności od przeznaczenia system może spełniać funkcje taki jak :klasyfikowanie , ustalanie przyczyn , planowanie , monitorowanie ,diagnozowanie itp.

Zbiór reguł można rozpatrywać jako szczególny sposób zapisu  sieci  stwierdzeń , ponieważ z prawdziwości jednego stwierdzenia mogą wynikać inne. W niektórych systemach dopuszczalna  jest rozwinięta (tzw. pełna ) postać reguł., która zawiera dodatkowe stwierdzenie uznawane za prawdziwe w razie niespełnienia przesłanki .

Ogólna postać reguły rozwiniętej jest następująca:

 

IF przesłanka THEN konkluzja1 ELSE konkluzja2

Konkluzja2 jest tym dodatkowym stwierdzeniem . Taka postać reguł  czasami może prowadzić do uznania nieoczekiwanych konkluzji. Ze względu na złożona nieraz kompletność bazy wiedzy , brak przesłanki jest utożsamiany z uznaniem tej przesłanki za fałszywą .

 

 

 

 

 

 

            Fakty i Reguły

 

Wiedza jest to informacja , która umożliwia ekspertowi podejmowanie decyzji .

Typy wiedzy to:

- Fakty czyli wiedza stała i zmienna Np.

Ceny nieruchomości są wysokie

- Reguły opisują zawiązki i relacje pomiędzy faktami Np.

 

              if

stopa inflacji jest wysoka

            then

                        ceny nieruchomości  wysokie

 

Fakty są to elementarne składniki informacji używane w Systemach Ekspertowych.

 

FAKTY + REGUŁY => WNIOSKI

1.Cechy faktów:

-są stwierdzeniami opisującymi specyficzne cechy obiektów

- zmienność i dezaktualizacja

- mogą być pewne lub niepewne

Z faktami możemy wiązać współczynniki wiarygodności tzw. stopień pewności , który mówi nam na ile można ufać danej informacji.

Wprowadzanie nowych faktów do bazy danych:

2. Wprowadzanie nowych faktów do bazy danych:

 

              Wprowadzone do bazy danych przed rozpoczęciem pracy SE (fakty stałe)

              Wprowadzone w czasie pracy SE (wynik wykonania reguł)

              Wprowadzone jako odczyt z urządzeń zewnętrznych

              Wprowadzone z zewnętrznej bazy danych (żądanie użytkownika, wykonanie reguły działania)

Fakty sterują procesem podejmowania decyzji oraz określają , które reguły mają być wykonane.  Jakość procesu wnioskowania zależy od istotności faktów użytych w danym  procesie.

Fakty i reguły tworzą bazę danych zwaną bazą wiedzy. Bazy reguł są często bardzo rozbudowane ,  zawierają wiele połączonych ze sobą elementów. W trakcie pracy systemu baza może być zmieniana. Możemy dodawać nowe reguły , a już istniejące zmieniane lub usuwane .Może to prowadzić do utraty kontroli nad zawartością bazy, a przez to do istnienia niepotrzebnych , sprzecznych bądź niekompletnych reguł.

 

Reguły to warunkowe stwierdzenia o istnieniu pewnych zależności między obiektami.

 

Cechy reguł:

- Korespondują ze sposobem w jaki ekspert przestawia swoją wiedzę

- Opisują reakcje systemu na napływające informacje (bez względu na kolejność)

 

 

A oto dwie metody , które mogą ułatwić inżynierowi wiedzy panowanie nad baza wiedzy.

 

  1. Grupowanie Reguł

 

Reguły mogą być pogrupowane w bazie wg konkluzji lub wg przesłanki .Umieszczając obok siebie reguły które kończą się taką samą konkluzją , daje możliwość prześledzenia przesłanek , które do tej konkluzji prowadzą . Następnie uporządkowanie grup. Najważniejsze są grupy zawierające konkluzje końcowe  .Podobnie porządkujemy w przypadku przesłanek .takie 

 

  1. Sieć zależności
Jest to graficzna metoda sprawdzania kompletności bazy reguł




Dzięki tej metodzie można odnaleźć w bazie danych reguły , które nie prowadza do konkluzji końcowej ,niepotrzebne przesłanki i nieosiągalne konkluzje .

Np. Dany jest następujący zbiór reguł

 

R1: If  b and c

 

      Then  g

 

R2: If  a and g

 

       Then I

 

R3: If d and g

 

     Then J

 

R4: if e or f

 

    Then h

 

R5: if d and e

 

   Then K

 

I , J i K są konkluzjami końcowymi . Zakłada się , ze jest to pełen , końcowy zbiór reguł , podlegający weryfikacji.

Podczas analizy sieci można zauważyć , ze reguła R4 , której wynikiem jest konkluzja pośrednia h , nie jest później nigdzie wykorzystywana .stad wynika ,ze albo reguła nie jest potrzebna , albo brakuje dalszego rozumowania .Jeśli reguła R4 jest niepotrzebna , to jednocześnie fakt f jest niewykorzystywany bazy wiedzy może być usunięta reguła R4 i fakt f.

Ze względu na sposób uzyskiwania ostatecznych konkluzji w procesie wnioskowania rozróżniamy dwa rodzaje reguł:

  1. Reguły proste – to ,takie ,które maja postać wniosków pośrednich ;
  2. Reguły złożone – to , takie, które umożliwiają bezpośrednie wyznaczanie wniosków przez system.

Przykład reguły złożonej :

If są spełnione wszystkie warunki niezbędne do przyjęcia wniosku ,ze u pacjenta stwierdzono wysokie ryzyko zachorowania na cukrzyce then należy skonsultować się z diabetologiem .

Zaletą reguł złożonych jest to, że nie wymagają maszyn wnioskujących o skomplikowanym sposobie działania ;ponieważ każdą z reguł w konkluzji zawiera pewien wniosek końcowy .

Wystarczy uaktywnić jedna regule ,aby osiągnąć wynik. Wadą jest trudność formułowania odpowiedniego zbioru reguł oraz złożony sposób jego weryfikacji i uzupełniania .

Zaletą reguł prostych jest łatwość weryfikacji zbioru reguł i ograniczenie ich redundancji.

Wada jest potrzeba realizacji złożonych działań przez maszynę wnioskująca ,dlatego ze trzeba uaktywnić wiele reguł.

 

Baza wiedzy i metody reprezentacji wiedzy


Moc systemu ekspertowego leży przede wszystkim od zakodowanej w nim bazy wiedzy a w mniejszym stopniu od mechanizmów wnioskowania. Istotnym problemem jest pozyskanie i zapisanie wiedzy w programach komputerowych. Zajmuje się  tym inżynieria wiedzy. Do głównych zadań należy rozwijanie i stosowanie metod pozyskiwania wiedzy od ekspertów oraz rozwój i stosowanie metod reprezentacji wiedzy. Wyróżniamy dwa rodzaje wiedzy z jakimi mają do czynienia eksperci i inżynierowie wiedzy. Są to:

 

 

  1. wiedza a priori-wiedza będąca dziedzictwem kulturowym ; są to reguły i fakty dotyczące danej dziedziny, znane z góry , które mogą być podane przez każdego eksperta .
  2. wiedza wnoszona- jest to wiedza dotyczącą konkretnego przypadku ,który pojawił się w trakcie pracy systemu ekspertowego czy eksperta, nabywana podczas procesu podejmowania decyzji.

 

Zadaniem inżyniera wiedzy jest zapisanie tej wiedzy w maszynach cyfrowych,  w sposób najbliższy sposobu rozumowania człowieka.

 

 

4.1. Reprezentacja  wiedzy

 

Baza wiedzy  w systemach ekspertowych składa się z faktów i reguł. Fakty są to proste stwierdzenia określające pewien stan. Najczęściej przyjmują formę zdań oznajmujących ,określających cechę podmiotu zdania (Pacjent ma gorączkę ).Reguły określają zależności.

Są to zdania  podrzędne złożone ,zbudowane w formie zdań warunkowych .

(Jeśli pacjent ma gorączkę ,to jest chory)

Metody reprezentacji wiedzy mają za zadanie:

 

      1.Nadać wiedzy format kompatybilny z komputerem

 

2        Utrzymać formę bliską formie, w jakiej ekspert podaje reguły i fakty

 

3        Ustalić reprezentacje taką ,by możliwe było łatwe modyfikowanie ,dodawanie i usuwanie faktów oraz reguł

 

 

 

1.Trójki OAW, czasem oznaczane OAV

(Obiekt –Atrybut-Wartość lub Obiekt-Atrybut Value)

 

Jest to sposób reprezentacji faktów ,szczególnie tych zawartych w wiedzy wnoszonej. 

Wartość nie musi być wyrażana w liczbach ,mogą być użyte wyrażenia lingwistyczne

 

W niektórych systemach są rozbudowywane do uporządkowanej czwórki (Obiekt-  Atrybut- Wartość – Stopień_pewności) w ten sposób uzyskujemy stwierdzenie przybliżone .

Najczęściej są to liczby z przedziału [-1;1].Stopień_ pewności =0 oznacza to ,ze nic na ten temat nie wiadomo. Jak do tej pory stopnie pewności wyznaczane są subiektywnie.

2.Sieci semantyczne

Są to rozbudowane trójki OAW, używane do reprezentacji kilku obiektów i kilku atrybutów danego obiektu. Sieć semantyczna jest pewnego rodzaju logiką, gdzie relacje między obiektami są przedstawiane graficznie. Mechanizm dedukcji jest wyrysowany. Wnioskowanie odpowiada  poruszaniu się po grafie. Dodatkowo pomiędzy poszczególnymi węzłami grafu mogą zachodzić relacje zaczerpnięte z języka naturalnego: ma ,jest, równie. Sieci semantyczne są stosowane w systemach analizy i rozumienia języka naturalnego w tłumaczeniach elektronicznych oraz w systemach wspomagania uczenia.

 

 

3.Ramki

Jest to prosty i jasny sposób przedstawiania wiedzy. Ramka składa się z obiektu i pól  w których można zapisywać informacje związane z tym obiektem. Zawartością pól może być  może być atrybut ,jego wartość ,wskaźnik do innej ramki lub zbiór lub zbiór reguł. Ramki są często używane z powodu ich prostoty, struktury podobnej do obiektów oraz łatwości zapisów operacji w formie procedur w językach programowania. Dają możliwość  zbudowania dużych złożonych baz wiedzy ,szczególnie zawierających fakty wiedzy a priori.

 

 

4.Zdania logiczne

 

Zdania logiczne to te ,których wynikiem  jest prawda lub fałsz. Mogą być połączone spójnikami „and” ,’or”, not”. Elementami składowymi są predykaty i argumenty. Predykat to stwierdzenie dotyczące obiektu lub relacji danego obiektu w jaką wchodzi ze światem rzeczywistym.

Przykład:

Ssak (pies )-przy założeniu ze zdanie jest prawdzie oznacza ze „pies jest ssakiem”

4nogi(pies)-oznacza ,przy założeniu jak wyżej ,”Pies ma 4 nogi”

Zdania logiczne mogą być wykorzystywane do reprezentacji reguł .Przyjmują postać

 

       Predykat (argument): if predykat (argument)

Przykład:

    Spadek (koszt_kredytu) : if spadek (stopa_procentowa) .

 

Zapisy w formie zdań logicznych są używane w językach programowanie sztucznej inteligencji , tj. w PROLOGU i w LISP-ie.

 

Rozwój i charakterystyka największych SE


 

 

Dobrze działające systemy ekspertowe zaliczane są do tzw. "programów inteligentnych"

i są częścią dziedziny nazywanej "Sztuczną Inteligencją". Są jednym z najbardziej praktycznych działów „Sztucznej Inteligencji”  Od kilkunastu lat głównie w USA, Japonii i Europie Zachodniej wzrasta liczba zastosowań tych systemów  w praktyce. Potencjalne możliwości tej nowoczesnej technologii informatycznej są ogromne. Począwszy od medycyny, geologii , technikę oraz w dziedzinie wspomagania decyzji gospodarczych i finansowych.

Pierwsze systemy ekspertowe powstały w 1975 roku. Zakończono wówczas tworzenie systemu DENDRAL służącego do identyfikacji i analizy struktury chemicznej cząsteczek.

Na niektórych lotniskach działa do dziś system nazywany GATES ,którego zadaniem jest przydzielanie kolejnym przewoźnikom bramek(ang.gates) ,którymi przechodzi się do strefy wolnocłowej i na płytę lotniska. Wyznaczanie bramki może stać się skomplikowanym zadaniem , wymagającym natychmiastowego rozwiązania ,szczególnie przy zakłóceniach pracy na lotnisku. System śledzi ponad 100 lotów dziennie , ma bezpośredni dostęp do bazy danych lotniska i może przydzielić bramkę w ciągu 30 sekund. Poprzednio zajmowało to ok. godziny.

Istotny postęp w metodologii projektowania systemów ekspertowych osiągnięto w wyniku realizacji programu Heuristic Programming . Project kierowany przez pracowników Uniwersytetu Stanford : Feigenbaum , Buchanan i Shortliffe .Praktycznym efektem tego projektu jest system ekspertowy MYCIN [Buchanan , Shortliffe 1984 r.) , który do dzisiaj jest traktowany jako klasyczny przykład inteligentnego programu komputerowego. Przeznaczeniem tego programu jest diagnostyka chorób na tle bakteryjnym . Wybór terapii przez MYCIN to czteroetapowy proces decyzyjny , obejmujący :

- zdiagnozowanie , czy pacjent jest ofiarą infekcji bakteryjnej ,

- zidentyfikowanie typu bakterii odpowiedzialnej za infekcję ,

- określenie zestawu leków i działań terapeutycznych,

- sformułowanie specyficznej terapii dla konkretnego pacjenta .

Program MYCIN posiada olbrzymią bazę objawów chorób i proponowanych leczeń .Zawartość bazy została ustalona przez grono konsylium lekarskiego. Na podstawie owej bazy danych program po wpisaniu objawów dokonuje diagnozy i proponuje leczenie. Lekarz natomiast może zgodzić się z komputerem lub nie. Należy pamiętać , że lekarz oprócz wiedzy ma również doświadczenie oraz intuicje ,czego nie da się nauczyć komputera.

Środowisko, w którym działają systemy ekspertowe nazywamy dziedziną przedmiotową .Do niej zaliczamy system przedmiotowy ,czyli układ realny bądź abstrakcyjny , którego funkcje i struktura są kształtowane przez świadome działanie człowieka .Osobę odpowiedzialną za kształtowanie charakterystyki strukturalno-funkcjonalnej systemu przedmiotowego nazywamy decydentem. Osobę, która dysponuje wiedzą o systemie przedmiotowym  nazywamy ekspertem.

Funkcje programów ekspertowych takie jak czynności doradcze , objaśniające i związane z nabywaniem nowych wiadomości decydują o przynależności programów do technik inteligentnych.

System ekspertowy wykonuje zadania :

 - konsultacyjne , gdy stawia pytania , wyciąga wnioski formułując porady,

-  eksplanacyjne , gdy odpowiada na pytania i wyjaśnia , w jaki sposób skonstruował diagnozę,

 

- związane z rozwojem wiedzy , gdy przyswaja nowe metody diagnozy i rozwiązywania problemów .

Formułowanie diagnoz ,wskazówek i zleceń to najważniejsza funkcja programu ekspertowego .

W zależności od sposobu wykonywania funkcji doradczej , systemy ekspertowe dzielimy na:

-ekspanacyjne ,które tłumaczą mechanizmy funkcjonowania systemu przedmiotowego

-konsultacyjne ,które proponują decydentowi alternatywne rozwiązania problemu

- rozstrzygające ,które znajdują rozwiązania problemu ,po czym je samodzielnie aplikują

 

Do czynności pomocniczych w systemach ekspertowych służy funkcja objaśniania .

Ma ona kluczowe znaczenie dla wiarygodności programu doradczego . Procedury objaśniające systemu ujawniają drogę wnioskowania , która doprowadziła do wygenerowania porady eksperckiej  dzieje się to na zadanie użytkownika .

System objaśniający można logicznie oddzielić od reszty ale jest on integralną częścią całego systemu ekspertowego . Ważną cechą systemu ekspertowego jest możliwość korzystania z niego przez osoby bez przygotowania informatycznego Dlatego istotne jest aby system był zrozumiały z interesującym interfejsem.

A oto zestaw najczęściej spotykanych zapytań (opcji) , których znaczenie zależy od powodu zgłoszenia systemu objaśniającego.

 

1.      Why ?- odpowiada na pytanie , dlaczego jest analizowany dany warunek ,podając nazwę                         i postać reguły analizowanej z zaznaczeniem bieżącego warunku. Opcja niedostępna po ustaleniu końcowych odpowiedzi .

 

2.      How?- opcja dostępna w dowolnej chwili , różni się znaczeniem w zależności od kontekstu wywołania . Po ustaleniu odpowiedzi końcowej ,przy wywołaniu –odpowiada na pytanie : jak system doszedł do tego , że cel stal się wynikiem. Możliwe jest odtworzenie całej drogi wnioskowania dzięki pamiętaniu śladu wnioskowania. Użytkownik  podając numer faktu z listy faktów uzyska odpowiedź na pytanie : jak system doszedł do tego , że fakt przyjmuje taką wartość.

 

3.      What will be if…- opcja pomaga użytkownikowi w udzielaniu odpowiedzi .System podaje konsekwencje wyboru ( jeden krok w przód) po wybraniu jednej z możliwych odpowiedzi. Opcja dostępna tylko przy zadawaniu pytań.

 

4.      All Rules-  wyświetla  na ekranie wszystkie reguły z jakich składa się baza wiedzy ze wszystkimi warunkami .przy każdym wywołaniu działanie opcji jest jednakowe.

 

5.      All Facts-  wyświetla na ekranie wszystkie fakty dostępne aktualnie na liście faktów z zaznaczeniem pochodzenia.  Opcja powinna być dostępna przy każdym wywołaniu.

 

 

 

 

Istnieją różne typy problemów rozwiązywanych przez systemy ekspertowe i różnego rodzaju odpowiedzi otrzymywane są na wyjściach takich systemów. Systemy możemy podzielić na grupy:

 

1. Klasyfikacja-na podstawie przesłanek otrzymuje się wynik ,określenie stanu czy klasy do której należy obiekt. Do tej grupy należą systemy medyczne (diagnoza na podstawie objawów),systemy naprawcze ,systemy rozpoznawania postaci i obiektów.

 

2. Plan- jest to poszukiwanie aranżacji ,porządku elementów.(np.  system GATES)

 

3. Prognoza-na podstawie istniejących danych przewiduje się stan przyszły np. system przewidujący zjawiska atmosferyczne czy zapotrzebowanie na wodę lub energię.

 

Systemy ekspertowe dzielimy również ze względu na sposoby realizacji:

 

  1. Systemy dedykowane –są to systemy z zaszytą w nich bazą wiedzy ,tworzone na konkretne zamówienie.

 

  1. Systemy szkieletowe- systemy z pustą bazą wiedzy, umożliwiająca wprowadzenie własnych informacji ,z którymi ma pracować system.
Niezależnie od rozwiązywania problemów systemy ekspertowe składają się z kilku bloków.



Projektowane systemu ekspertowego można radykalnie skrócić ,  jeżeli system zostanie zbudowany z wykorzystaniem specyficznej struktury szkieletowej  , zwanej z j.ang, shellem .Program typu Shell  jest systemem ekspertowym pozbawionym bazy wiedzy a zatem ograniczony do mechanizmu wnioskującego i modułu współpracy z użytkownikiem .W zależności od tematyki dołączanej ad hoc bazy wiedzy system może obsługiwać różne dziedziny przedmiotowe .Programy typu shell  powstają na bazie klasycznych , sprawdzonych systemów ekspertowych ; Np. adaptacją  programu MYCIN  do postaci szkieletowej , rozpowszechniania następnie  pod nazwą Emycin (Emty Mycin).Oprogramowanie typu Shell zawiera bogate środowisko pomocne w rozwijaniu systemów z bazą wiedzy , którego elementami mogą być edytory kodu , wykrywacze błędów ( debuggers) , procedury projektowania w układzie okienkowym.

Programy szkieletowe upraszczają czynności związane z definiowaniem modułu objaśniającego ,reprezentacją wiedzy i mechanizmu wnioskującego jak również oferują wszechstronną pomoc i doradztwo w najważniejszych fazach budowy systemu ekspertowego.

Przykładem pierwszego polskiego systemu ekspertowego jest program PC-Shell , rozpowszechniany przez firmę AITech (www.aitech.com.pl) .Wchodzi w skład Pakietu Sztucznej Inteligencji Sphinx , który zawiera: pakiet PC-Shell ,  symulator sieci neuronowych NEURONIX, system komputerowego wspomagania  inżynierii  wiedzy CAKE oraz programy ekspertowe: Doradca finansowy ,Doradca inwestycyjny , Doradca kapitałowy. W skład struktury systemu PC-shell wchodzą :

 - jądro systemu czyli moduł sterujący

 - baza wiedzy

 - moduł współpracujący z użytkownikiem

Mechanizm wnioskujący funkcjonuje na zasadzie wnioskowania do tyłu (backward chaining).

W systemach ekspertowych ,które są budowane za pomocą PC-Shell , baza wiedzy reprezentowana jest w formie deklarowanej czyli fakty i reguły , jako trójki O-(obiekt) –A(Atrybut)-V(Wartość),jak również jako program algorytmiczny czy też jako wiedza rozproszona w sieci neuronowej. System posiada bogaty zestaw funkcji objaśniających typu:

„jak?”, „dlaczego?” , „ co to jest?” oraz metafor tłumaczących znaczenie reguł w procesie wnioskowania .

„ … charakteryzując bardzo ogólnie ten pakiet , należy podkreślić jego następujące cechy:

- hybrydowy charakter , zarówno w zakresie reprezentacji wiedzy , jak i sposób przetwarzania,

- system ekspertowy realizuje architekturę tablicową , co umożliwia budowanie dużych , złożonych tematycznie aplikacji ,

- zastosowano mechanizm automatycznej i dynamicznej parametryzacji baz  wiedzy,

- elastyczny i silnie rozbudowany język reprezentacji wiedzy,

- system PC-Shell udostępnia arkusze kalkulacyjne wraz z ich obsługą ,

- komunikacja multimedialna (tekst, obraz, dźwięk, animacja), dostępna w trakcie konsultacji (zapytań i generowanych konkluzji ) oraz częściowo podczas wyjaśnień ,

- duża otwartość architektury”[Michalik i Twardowski , 1998, str.227]

Obszary zastosowania systemu PC-Shell:

- systemy doradcze i wspomagania decyzji

- dydaktyka(wyższe uczelnie , szkoły średnie)

System znalazł zastosowanie w takich dziedzinach ,jak:

 

- analizy finansowe (ekonomiczne),

- analizy wniosków kredytowych w bankach,

- doradztwo podatkowe,

- dzięki otwartej architekturze może być łatwo zintegrowany z Systemami Informowania Kierownictwa, służąc Np. do automatycznej analizy wskaźników ekonomicznych,

- technika, Np. do analizy danych pomiarowych,

- medycyna, do diagnostyki i zaleceń terapeutycznych.

 

Za pomocą systemu PC-Shell możemy budować  różnej wielkości aplikacje .

System ekspertowy PC-Shell jest szczególnie predysponowany do rozwiązywania następujących klas problemów :

 

- analiza (interpretacja) danych

- klasyfikacja,

- diagnostyka,

- finanse i bankowość,

- inwestycje,

- marketing,

- technika,

- dydaktyka,

- komponent dla systemów SIK, analizatorów, arkuszy kalkulacyjnych,

- komponent programów edukacyjnych.

System PC-Shell wyposażony  jest we własny język reprezentacji wiedzy.

Język ten dzięki przyjętym rozwiązaniom, w tym blokowej strukturze, cechują :

 

- elastyczność,

- czytelność,

- pełne rozdzielenie wiedzy eksperckiej i procedur sterowania,

- łatwość nauczania.

„Obecna wersja systemu wykorzystuje do rozwiązywania problemów wnioskowanie wstecz

(ang. backward chaining). Zastosowana metoda wnioskowania wykorzystuje m.in. mechanizm nawrotów, podobny jak w spotykanych systemach prologowych.

Mechanizm uzgadniania jest bardzo elastyczny i nie wymaga deklarowania typów wartości

dla uzgadnianych zmiennych. Wartościami zmiennych mogą być liczby, symbole lub łańcuchy znakowe. Parametryzacja baz wiedzy Począwszy od wersji 2.1 istotną cechą systemu

 PC-Shell jest możliwość parametryzacji baz wiedzy. Dzięki przyjętemu rozwiązaniu jest możliwa dynamiczna (automatyczna) zmiana wartości wybranych parametrów w bazie

wiedzy, zmian tekstu źródłowego bazy.

Dobrym przykładem zastosowania parametryzacji mogą być bazy wiedzy,

w których sprawdzane są wartości pewnych wskaźników w odniesieniu do określonych wartości progowych.

Jednocześnie niektóre wartości progowe mogą być zmienne, zależnie od kontekstu. Dla

przykładu, inaczej można oceniać pewne wskaźniki finansowe firm należących do różnych branż. Podobne problemy pojawiają się w innych dziedzinach, Np. w technice.

PC-Shell ułatwia to zadnie, pozwalając również tworzyć kategorie parametrów.

Korzyści z zastosowania tej metody:

- może być z łatwością stosowana zarówno przez inżyniera wiedzy jak i użytkownika końcowego,

- obniża koszty wdrożenia i utrzymywania aplikacji opartej o system PC-Shell,

- pozwala zarówno na interakcyjna jak równie. programowa (dynamiczna) zmianę wartości parametrów,

- umożliwia zmianę wartości wybranych parametrów oraz grup ujętych w ramach tzw. kategorii, zarówno

programowo jak i interakcyjnie,

- zastosowane pojecie kategorii zmiennych parametrycznych pozwala na lepsze dostosowanie aplikacji

do specyfiki niektórych klas problemów,

- narzędzia do parametryzacji pozwalają zwiększyć czytelność oraz zmniejszyć bazy wiedzy niektórych

aplikacji SE.

Interfejs do baz danych System ekspertowy PC-Shell jest wyposażony w interfejs do typowych

popularnych baz danych (Np.: dBase, Oracle, itd.). Inżynier wiedzy ma do dyspozycji zestaw instrukcji do komunikacji z bazami danych z użyciem poleceń języka SQL.

Otwartość systemu PC-Shell może być łatwo integrowany z innymi aplikacjami.

W szczególności może być wykorzystany jako moduł do analizy(interpretacji) danych

i wskaźników z systemów typu SIK, arkuszy kalkulacyjnych lub innych systemów

pomiarowych. Ułatwiają to instrukcje uruchamiania innych aplikacji, jak równie. możliwość wywołania systemu PC-Shell przez inna aplikacje.

Wymiana danych może odbywać się przez plik tekstowy (PC-Shell) ma rozbudowany interfejs

i instrukcje do obsługi tego typu plików) oraz z użyciem mechanizmu DDE.

Ponadto istnieje możliwość integracji za pomocą uruchamiania podstawowych procesów systemowych za pomocą funkcji DLL tychże systemów. Dokumentacja systemu System jest dostarczany wraz z obszerna dokumentacja, opisująca szczegółowo sposób obsługi systemu

oraz język reprezentacji wiedzy.

Umieszczono w niej wiele przykładów znacznie ułatwiających (zwłaszcza w połączeniu z

demonstracyjnymi bazami wiedzy) nauczenie się korzystania z systemu. Wymagania systemowe

SPRZĘT :

Komputer 486 lub nowszy, pamięć RAM 8MB lub więcej

 

OPROGRAMOWANIE :

Windows 9x/NT/2000 lub nowszy.

AITECH Artificial Intelligence Laboratory - Sztuczna Inteligencja

http://aitech.pl Kreator PDF Utworzono 16 October, 2007, 21:14”