• Nie Znaleziono Wyników

Algorytmy przetwarzania diagramu kształtów

W dokumencie Index of /rozprawy2/10294 (Stron 68-73)

5 Metodyka rozwiązania

5.4 Model K-GK

5.4.10 Algorytmy przetwarzania diagramu kształtów

Po zdefiniowaniu statycznego modelu gramatyki moŜliwe jest rozpoczęcie prac nad ustabilizowaniem algorytmów sterujacych przetwarzaniem gramatyką. RozwaŜania naleŜy rozpocząć od głównego algorytmu sterującego całym procesem przetwarzania diagramu kształtów. Modyfikacja przetwarzanego materiału na pewno będzie prowadzona wieloetapowo. W kolejnych krokach rozwaŜań naleŜy wyspecyfikować procedurę określającą proces generalizacji kształtu graficznego, uruchamiany gdy konieczne staje się odszukanie nowej klasy

Metodyka rozwiązania

69

kształtu w bieŜącej wiedzy lub wiedzy pochodzącej z innej dziedziny. Następnie – algorytm sterujący przetwarzaniem diagramu kształtów regułami substytucji i wreszcie – algorytm sterujący procesem dopasowania LHS konkretnej reguły kształtu do aktualnej zawartości diagramu kształtów.

Główna procedura sterująca

Procedura przetwarzania diagramu kształtów gramatyką K-GK otrzymuje zbiór kształtów początkowych. Przetwarzanie jest realizowane z wykorzystaniem:

• modelu klas kształtów dla danej dziedziny, • zbioru reguł substytucji,

• diagramu kształtów.

Celem głównym jest eliminacja kształtów nie terminalnych z diagramu kształtów.

Procedura będzie zakładała istnienie wielu etapów przetwarzania diagramu kształtów, nazywanych iteracjami. Prowadzone będzie kontrolowane uruchamianie algorytmu sterującego konkretną iteracją, oraz (w określonych sytuacjach) algorytmu poszukiwania nowych klas kształów. Procedura kontrolująca uruchamianie reguł będzie wykonywała kod sterujący wyraŜony za pośrednictwem dodatkowego diagramu, zwanego diagramem sterującym. Diagram ten określi kolejność naprzemiennego uruchamiania iteracji i prowadzenia procesu generalizacji. Diagram moŜna będzie wyrazić w postaci graficznej, umieszczając na nim graficzne symbole rozkazów wykonania iteracji, generalizacji, wykonania skoków, powtórzeń wielkrotnych itd. Diagram ponadto musi określać krok rozpoczynający i kończący przetwarzanie. Tak zdefiniowany diagram sterujący będzie moŜna wprowadzać do interfejsów uŜytkownika w gotowych systemach tworzonych na podstawie rozwaŜanej metodyki, udostępniając narzędzia do jego edycji.

Zakończenie wykonania procedury odbędzie się z chwilą osiągnięcia ostatniego kroku naniesionego na diagram sterujący lub po stwierdzeniu braku jakichkolwiek kształtów nie terminalnych przez algorytm sterujący iteracją. Warto dodatkowo zauwaŜyć, iŜ w przypadku uŜycia proponowanego modelu do wsparcia procesów sterowania i symulacji w grafice (przetwarzanie ciągłej) zakończenie wykonania algorytmu moŜna będzie uzaleŜniać od warstw wyŜszych, sterujących takimi procesami (a tym samym na przykład od uŜytkownika).

Metodyka rozwiązania

70

Algorytm sterujący iteracją

Wyspecyfikowanie tego algorytmu jest kluczowe dla określenia reguł prowadzenia konkretnego procesu transformacji w diagramie kształtów. Wobec mnogości moŜliwości postępowania pewne regulacje zwiazane z projektowaniem algorytmu trzeba było przyjmować aksjomatycznie. Inne załoŜenia zostały ustabilizowane w konsekwencji liczych prób (takŜe testów implmentacji) i ewaluacji pod kątem moŜliwości wykorzystania w konkretnych zagadnieniach praktycznych.

Treść algorytmu będzie następująca:

1. Oznacz wszystkie kształty z diagramu kształtów jako nie wykorzystane w bierzącej iteracji,

2. Sprawdź czy w diagramie kształtów istnieją kształty nie terminalne. Jeśli nie – zakończ zwracając tą informację,

3. Weź pierwszy element r ze zbioru R reguł substytucji K-GK wykonaj: 3a. Uruchom algorytm dopasowania reguły kształtu r (opisany w następnym podrozdziale),

3b. Gdy otrzymano wynik negatywny (nie nastąpiło dopasowanie) przejdź do 3f, 3c. Wykonaj przekształcenie diagramów kształtów dopasowaną regułą substytucji r podstawiając do LHS tej reguły kombinację kształtów vi otrzymaną za pośrednictwem algorytmu dopasowania,

3d. Uruchom funkcję konwertera reguły substytucji r podstawiając do niej kształty z diagramu kształtów zgodnie z treścią LHS i RHS reguły substytucji,

3e. Gdy po wykonaniu reguły substytucji powstały kształty terminalne – przekształć je gramatykami kształtu zawartymi w ich klasach kształtu,

3f. Weź kolejny element ze zbioru R. Jeśli jest - przejdź do 3a,

4. Sprawdź, czy na diagramie kształtów istenieją jakiekolwiek kszałty oznaczone przez algorytm dopasowania reguł substytucji jako wykorzystane. Jeśli nie – zakończ z

Metodyka rozwiązania

71

informacją o konieczności prowadzenia generalizacji klas kształtów, jeśli tak – zakończ normalnie.

Algorytm będzie uruchamiany wielokrotnie. Operując w ramach jednej iteracji przeprowadzi walidację reguł substytucji pod kątem moŜliwości ich wykorzystania. Będzie przestrzegał uporządkowania reguł na ich liście. KaŜdy z kształtów graficzncych, który został juŜ przetworzony w bieŜącej iteracji nie będzie mógł brać udziału w dalszym procesie dopasowania.

Tym samym algorytm dopuszcza w kaŜdej iteracji moŜliwość jednokrotnej aplikacji zmiany jakościowej kształtu lub moŜliwość jednokrotnego wywarcia wpływu na jakościową zmianę innego kształtu w diagramie kształtów.

Algorytm dopasowania reguły substytucji

Algorytm ten był wielokrotnie modyfikowany ewoluując w czasie trwania badań nad procedurami najbardziej optymalnego wykorzystania wiedzy zawartej w proponowanym modelu. Jego finalna postać jest następująca:

1. Utwórz zbiór K wszystkich klas kształtu, jakich elementy znajdują się w LHS reguły kształtu,

2. Stwórz zbiór R referencji do wszystkich kształtów z diagramu kształtów, których klasy kształtu są równe któremukolwiek elementowi K. Ignoruj elementy juŜ wykorzystane w bieŜącej iteracji. Diagram kształtów przeglądaj sekwencyjnie (zgodnie z kolejnością na liście diagramu kształtów),

3. Zakładając, iŜ liczba kształtów (nie liczba klas kształtów) w LHS rozwaŜanej regule substytucji wynosi n stwórz zbiór V n-elementowych wariacji bez powtórzeń zbioru R dla kaŜdej z klas. Wyklucz ze zbioru V te elementy, w których na dowolnej pozycji klasa kształtu elementu z LHS reguły substytucji nie pasuje do klasy kształtu odpowiadającego kształtu w elemencie zbioru V,

4. Wytypuj pierwszy element vi∈ V,

4a. Sprawdź, zaleŜnie od rodzaju reguły kształtu czy dla wytypowanego elementu vi

nie definiuje ona transformacji modyfikujęcej którykolwiek z ewentualnych kształtów terminalnych zawartych w vi. Jeśli tak – przejdź do 4d,

Metodyka rozwiązania

72 4b. Wywołaj funkcję walidatowa w(vi),

4c. Gdy funkcja w(vi) zwróci prawdę oznakuj kształty z R jako wykorzystane w bierzącej iteracji i zakończ zgłaszajac dopasowanie, oraz zwracając vi,

4d. Weź kolejny element vi∈ V i przejdź do 4a, 5. Zakończ zgłaszając brak dopasowania.

Algorytm umoŜliwi odnalezienie pierwszego, a potem kolejnych dopasowań reguły substytucji eliminując takie kształty, które nie mogą juŜ podlegać zmianom.

Procedura poszukiwania klas kształtów

Ogólna, określona przez omawianą metodykę zasada brzmi, iŜ model klas K-GK będzie stosowany do realizowania procesu generalizowania kształtów. Oznacza to, iŜ z uwagi na moŜliwość istnienia nadklasy względem klasy kształtu wykorzystanie tej nadklasy wesprze transformację kształtu graficznego - gdy ta nie moŜe być prowadzona jedynie w oparciu o opis klasy wyprowadzonej. Inna zaleta uwidacznia się poprzez fakt, iŜ generalizacja moŜe zostać wymuszona poprzez interpretację diagramu sterującego. To drugie rozwiązanie daje moŜliwość wyprowadzenia procesu decycyjnego do interfejsu uŜytkownika systemu przetwarzajacego, a tym samym przejęcie przez niego kontroli nad etapami całego procesu. Wejdzie on wtedy w interaktywny tryb pracy prowadzony z narzędziem generującym. Manualnie wymuszana generalizacja klas będzie mogła zostać przeprowadzona na Ŝądanie, stymulując poszukiwania innych niŜ znane uŜytkownikowi, alternatywnych rozwiązań. Przetwarzany kształt będzie wówczas interpretowany jako bardziej ogólny, więc w kolejnym kroku transformacji zostaną (być moŜe, zaleŜnie od kształtu wiedzy) zastosowane wobec niego inne, bardziej ogólne metody obróbki. W konsekwencji generalizacji moŜe on znów zostać wyspecjalizowany (po kolejnej iteracji procesu przetwarzania) w zupełnie inny kształt niŜ ten, którym był poprzednio. Operacja specjalizowania kształtów jest realizowania za pośrednictwem reguł substytucji.

Poszukiwanie nadklasy będzie polegało na wyodrębnieniu jej ze zbioru klas na podstawie relacji gen-spec między klasami kształtów K-GK.

W przypadku niepowodzenia procedury wyszukującej nadlklasy moŜna rozwaŜyć skorzystanie z pomocy interfejsu, który dostarczy odpowiednik znaczeniowy klasy kształtu występujący w innej gramatyce. Klasa kształtu wraz z procedurami jego modyfikacji moŜe być zdefiniowana w innej bazie wiedzy i pod inną leksykalnie wyraŜoną nazwą. Zastosowanie

Metodyka rozwiązania

73

rozwiązania umoŜliwiającego dostarczenie odpowiedników ontologicznych nazw klas kształtów umoŜliwi wykorzystanie wiedzy kolektywnej - pochodzącej od róŜnych ekspertów, lecz określonej nad tą samą dziedziną. Interfejs umoŜliwiający wymianę takiej wiedzy zostanie przedstawiony w kolejnych podrozdziałach.

5.5 Interpretacja logiki funkcjonowania systemów graficznych

W dokumencie Index of /rozprawy2/10294 (Stron 68-73)