dr Barbara Strug Autoreferat 1. Imię i Nazwisko: Barbara Strug 2. Posiadane dyplomy, stopnie naukowe/artystyczne z podaniem nazwy, miejsca i roku ich uzyskania oraz tytułu rozprawy doktorskiej Magister informatyki (dyplom z wyróżnieniem), Uniwersytet Jagielloński w Krakowie, Instytut Informatyki, Wydział Matematyki i Fizyki, Kraków,1993 Doktor nauk technicznych w zakresie informatyki, Instytut Podstawowych Problemów Techniki Polskiej Akademii Nauk, Warszawa, 2002 Tytuł rozprawy doktorskiej Zastosowanie algorytmów ewolucyjnych i transformacji grafowych w projektowaniu graficznym wspomaganym komputerowo 3. Informacje o dotychczasowym zatrudnieniu w jednostkach naukowych/ artystycznych 2013 - obecnie adiunkt, Katedra Informatyki Stosowanej, Wydział Elektrotechniki, Automatyki, Informatyki i Inżynierii Biomedycznej, AGH, 2006 - obecnie adiunkt, Wydział Fizyki, Astronomii i Informatyki Stosowanej UJ, 2010-2013 adiunkt, Katedra Informatyki, Wydział Elektrotechniki, Automatyki i Informatyki, Politechnika Świętokrzyska w Kielcach 2003-2010 adiunkt, Bielska Wyższa Szkoła im. Tyszkiewicza, Bielsko- Biała, 2005-2006 adiunkt, Instytut Informatyki UJ, 1993-2005 asystent, Instytut Informatyki UJ, 1992-1993 asystent stażysta (staż w trakcie V roku studiów), Instytut Informatyki UJ 4. Wskazanie osiągnięcia* wynikającego z art. 16 ust. 2 ustawy z dnia 14 marca 2003 r. o stopniach naukowych i tytule naukowym oraz o stopniach i tytule w zakresie sztuki (Dz. U. nr 65, poz. 595 ze zm.): a) tytuł osiągnięcia naukowego/ artystycznego, Grafowa reprezentacja wiedzy w projektowaniu wspomaganym komputerowo modele i ich zastosowania b) (autor/autorzy, tytuł/tytuły publikacji, rok wydania, nazwa wydawnictwa), Barbara Strug, Grafowa reprezentacja wiedzy w projektowaniu wspomaganym komputerowo modele i ich zastosowania, seria Monografie, Rozprawy, tom 301, 2014, Wydawnictwa AGH, Kraków
c) omówienie celu naukowego/artystycznego ww. pracy/prac i osiągniętych wyników wraz z omówieniem ich ewentualnego wykorzystania. Celem powyższej monografii było opracowanie reprezentacji wiedzy na potrzeby projektowania wspomaganego komputerowo, w którym modyfikacje wykonywane są z wykorzystaniem transformacji grafowych oraz wprowadzenie formalnych mechanizmów pozwalających na wnioskowanie o projektach na podstawie ich reprezentacji z wykorzystaniem analizy częstych wzorców oraz grafowych funkcji jądra. Istotnym elementem projektowania jest korzystanie z nagromadzonej wiedzy. Aplikacje wspomagające projektowanie dobrze radzą sobie z zagadnieniami, które dają się opisać wzorami, bądź sformułować w języku logiki, ale ich możliwości dotyczące wykorzystania wiedzy nagromadzonej przez projektantów w trakcie wykonywania wielu projektów są znacznie mniejsze. Jednym z najważniejszych zagadnień mających znaczący wpływ na wykorzystanie tej wiedzy i zastosowanie metod komputerowych we wspomaganiu procesu projektowania jest opracowanie odpowiedniego modelu reprezentacji wiedzy o projektowanych obiektach. Model taki ma na celu zapewnienie pewnego poziomu abstrakcji pozwalającego na sformalizowanie przeprowadzanych na nim operacji, jednocześnie ułatwiając zrozumienie reprezentowanego projektu. Opracowane zostały dwa modele reprezentacji wiedzy projektowej oparte na grafach. Jeden z nich, model hierarchiczny, pozwala na wzbogacenie prostych grafów o informacje dotyczące hierarchicznej struktury poszczególnych elementów reprezentowanych przez atomy grafu. Model ten pozwala na zakodowanie zarówno wiedzy o strukturze takiego projektu, jak i o zależnościach hierarchicznych pozwalających na grupowanie pewnych komponentów projektu, na przykład ze względu na ich funkcje. Drugi opracowany model, multihipergrafy, stanowi rozszerzenie grafów prostych o możliwość reprezentowania relacji wieloargumentowych oraz dopuszczenie istnienia różnych relacji, których argumentami są te same elementy. Sytuacje wymagające takich rozwiązań są dość powszechne w zagadnieniach projektowych, gdzie te same elementy, rozważane pod różnym kątem czy też w różnych aspektach projektu, mogą wchodzić w różne relacje. W zagadnieniach CAD argumentami relacji często są nie całe komponenty projektu, ale ich wyróżnione fragmenty. Dlatego też opracowany został specjalny rodzaj multihipergrafów - multihipergraf rozkładu. Model ten pozwala na bezpośrednią reprezentację dowolnych fragmentów każdego komponentu projektu oraz na reprezentowanie relacji, których argumentami są te fragmenty. Zarówno dla grafów hierarchicznych jak i dla multihipergrafów wprowadzone zostało etykietowanie, które pozwala na powiązanie poszczególnych elementów modelu grafowego z elementami projektu i relacjami pomiędzy nimi oraz atrybutowanie, które pozwala na reprezentowanie własności elementów projektu (na przykład geometrycznych) oraz relacji. Dla grafów hierarchicznych wprowadzone zostało ponadto etykietowanie hierarchiczne, które pozwala na precyzyjniejsze zdefiniowanie semantyki. Ponadto wprowadzone zostało pojęcie konkretyzacji, która definiowana jest jako etykietowany i atrybutowany graf, w którym wszystkim atrybutom wierzchołków i (hiper)krawędzi przypisane zostały wartości. Dzięki wprowadzeniu etykietowania i atrybutowania wprowadzone tu modele grafowe pozwalają na reprezentowanie pełnej wiedzy o danym projekcie. Każda konkretyzacja
struktury grafowej reprezentuje stan danego projektu w pewnym momencie jego istnienia (w pewnej fazie jego projektowania). Wprowadzenie grafowego opisu projektu pozwala reprezentować wiedzę projektową o strukturze projektu, a dzięki wprowadzeniu etykiet i atrybutów także informacje semantyczne i własności poszczególnych elementów projektu (na przykład własności geometryczne). Wyspecjalizowany model formalny projektu pozwala nie tylko na zapewnienie odpowiedniego poziomu abstrakcji, ale może zostać wykorzystany do opisu dynamicznych zmian w projekcie oraz do jego oceny. W celu opisania dynamiki zmian w projekcie związanej z dokonywaniem modyfikacji projektowanego obiektu wykorzystane zostały transformacje grafowe. W szczególności opracowane zostały transformacje z parametrami oraz transformacje parametryczne. Pierwsze z nich pozwalają na stosowanie pojedynczych produkcji, które reprezentują wykonanie modyfikacji na konkretnym fragmencie projektu wskazanym przez projektanta i mającym określone parametry. Drugi rodzaj opracowanych produkcji pozwala na wykorzystanie w transformacjach parametrów, które pozwalają na dopasowanie lewej strony produkcji do różnych elementów (mających różne etykiety). Rozwiązanie takie pozwala z jednej strony na, nieraz znaczne, zmniejszenie liczby produkcji wchodzących w skład danego systemu transformacyjnego, a z drugiej umożliwia pogrupowanie produkcji względem typu modyfikacji jakie są przez dane transformacje reprezentowane, w dużej mierze niezależnie od szczegółowej struktury tych modyfikacji. Grafowy opis pozwala na sformalizowanie opisu generacji projektów za pomocą gramatyk grafowych oraz modyfikacji projektu za pomocą transformacji grafowych. Gramatyka grafowa pozwala na wygenerowanie struktury grafowej reprezentującej projekt należący do określonej klasy (rozwiązujący konkretny problem). Transformacje grafowe pozwalają natomiast dokonywać modyfikacji grafu reprezentującego dane rozwiązanie projektowe w sposób, który gwarantuje zachowanie spójności reprezentacji i jej poprawności strukturalnej i semantycznej. Otrzymana w ten sposób grafowa reprezentacja wiedzy o projektowanym obiekcie może stanowić podstawę dla mechanizmów oceny jakości projektu. Ocena jakości projektu opiera się na kilku elementach. Po pierwsze konieczna jest ocena jego formalnej poprawności, która jest związana ze zgodnością z obowiązującymi w danej dziedzinie regulacjami prawnymi, normami i standardami oraz spełnieniem założonych wymagań projektowych (np. co do określonych rozmiarów lub ceny projektu). Ten aspekt poprawności projektu jest już mocno obecny w istniejących narzędziach (aplikacje do projektowania architektonicznego i inżynierskiego), a także był przedmiotem prac badawczych. Jednak o jakości projektu stanowi nie tylko jego formalna poprawność, ale także wiele innych, niesformalizowanych czynników. W drugiej części pracy wprowadzone zostały dwie metody pozwalające na dokonanie oceny projektowanego obiektu na podstawie wiedzy o nim zakodowanej w postaci jednej ze struktur grafowych wprowadzonych w monografii.. Ocena taka dokonywana jest w sposób automatyczny przy wykorzystaniu bazy zawierającej grafy reprezentujące projekty będące realizacjami takiego samego lub zbliżonego zadania projektowego. Pierwsza z metod oceny jakości projektów oparta jest na znajomości wzorców powtarzających się często w projektach danego typu. W pierwszym kroku wykorzystane są algorytmy znajdujące częste wzorce w bazie struktur grafowych reprezentujących projekty.
Następnie znalezione częste wzorce są wykorzystywane w celu obliczenia numerycznej oceny nowego projektu. Opracowanych zostało kilka metod obliczania wartości takiej oceny dla nowego projektu. Pierwsza metoda polega na zsumowaniu liczby częstych wzorców, które występują w nowym projekcie. Im większa jest liczba takich wzorców tym wyższa jest ocena danego projektu. Opracowane zostały także metody oceny, w których wykorzystana została częstotliwość występowania częstych wzorców, zarówno w grafie reprezentującym nowy projekt jak i w grafach reprezentujących projekty z bazy projektów. W szczególności opracowana został metoda oparta na częstotliwości względnej wzorców, która przypisuje wyższą wartość oceny takim projektom, w którym częstotliwość występowania poszczególnych wzorców jest bliższa częstotliwości ich występowania w projektach z bazy. Wprowadzone zostały także metody, w których wykorzystane są dodatkowo informacje dotyczące jakości projektów w bazie. W metodzie tej wyższa wartość oceny przypisywana jest projektom zawierającym więcej wzorców występujących w lepszych projektach z bazy, i jednocześnie zawierającym mniej wzorców występujących w słabszych projektach. Ponadto zaproponowana została metoda, w której wykorzystywane są wzorce uzyskane poprzez analizę złych lub błędnych projektów, co pozwala na eliminację wzorców neutralnych, czyli częstych zarówno w dobrych jak i złych projektach, przy jednoczesnym wyznaczeniu wzorców, które wyraźnie wyróżniają dobre projekty. Opracowany model teoretyczny został również zweryfikowany eksperymentalnie na przykładzie bazy projektów z dziedziny projektowania rozkładów pomieszczeń reprezentowanych w postaci multihipergrafów rozkładu. Eksperyment ten pokazał przydatność wprowadzonego modelu teoretycznego. Najbardziej kosztowną czynnością w procesie oceny nowego projektu jest ustalenie, poprzez badanie izomorfizmu podgrafów, które częste wzorce występują w jego grafowej reprezentacji. Zatem bardzo duża liczba częstych wzorców znacznie podnosi koszty przeprowadzenia oceny dla dużych projektów. Dlatego też przedstawiona została metoda przyspieszania oceny projektów, w której wykorzystany został algorytm ewolucyjny do wybrania podzbioru częstych wzorców, który zapewnia poprawność oceny. Uzyskane wyniki eksperymentalne pokazują, że w ten sposób możliwe jest znacznie zmniejszenie liczby częstych wzorców wykorzystywanych w ocenie, przy niewielkiej utracie dokładności tej oceny w stosunku do oceny uzyskiwanej z wykorzystaniem całego zbioru. Rozwiązania oparte na częstych wzorcach nie pozwalają na bezpośrednie obliczenie podobieństwa między dwoma grafami, tym samym pomiędzy reprezentowanymi przez nie projektami, ale pozwalają one jedynie ustalić podobieństwo danego projektu do wcześniej zrealizowanych projektów przechowywanych w danej bazie, a więc ustalić jego przynależność do pewnej klasy projektów. Oznacza to, że podobieństwo między dwoma projektami zależy nie tylko od tych projektów, ale też od zawartości wykorzystywanej bazy przykładowych rozwiązań. Dodanie lub usunięcie grafów z bazy może, nawet znacząco, zmienić zbiór znalezionych w niej częstych wzorców i, co za tym idzie, wpłynąć na ocenę nowego projektu. Można zatem powiedzieć, że opracowana metoda oparta na zastosowaniu częstych wzorców pozwala na ocenę kontekstową projektów, przy czym kontekst jest tu rozumiany jako baza projektów stanowiąca podstawę wyszukiwania częstych wzorców. Oznacza to, że obliczona tu ocena nie jest jednoznaczna, ale zmienia się wraz ze zmianą kontekstu (to jest bazy projektów). Można także potraktować zbiór częstych wzorców jako
zbiór oczekiwań jakie powinien spełniać projekt będący rozwiązaniem w konkretnym zadaniu projektowym. Podejście takie może być wadą w pewnych zastosowaniach, jednak bardzo dobrze oddaje ono sposób w jaki projekty oceniane są w rzeczywistości przez ludzi: nie są one oceniane jako dobre lub złe w oderwaniu od kontekstu, ale dopiero w odniesieniu do pewnego konkretnego zadania projektowego. Opracowano także metody pozwalające na bezpośrednie obliczenie podobieństwa między strukturami grafowymi, i co za tym idzie pomiędzy reprezentowanymi przez nie projektami, w których wykorzystane zostały funkcje jądra. W wyniku prowadzonych badań opracowane zostały funkcje jądra dla grafów hierarchicznych oraz obu typów multihipergrafów. W obliczaniu funkcji jądra dla grafów hierarchicznych wykorzystane zostały różne funkcje jądra dla wierzchołków, które z kolei są oparte na zdefiniowanym wcześniej hierarchicznym etykietowaniu wierzchołków. Korzystając z funkcji jądra dla wierzchołków i (hiper)krawędzi zdefiniowane zostały funkcje jądra dla grafów hierarchicznych i multihipergrafów. Sposób zdefiniowania funkcji jądra został oparty na podejściu wykorzystującym dekompozycję złożonych obiektów na podstruktury (wprowadzoną przez Hausslera) oraz na funkcjach jądra z odwzorowaniem (wprowadzonych przez Shina dla struktur drzewowych). Podstruktury zostały zdefiniowane w sposób pozwalający jak najlepiej wykorzystać każdy z zaproponowanych tu modeli reprezentacji wiedzy. W przypadku grafów hierarchicznych podstruktury takie zostały zbudowane z wierzchołka, jego przodka, jego bezpośrednich potomków i jego sąsiedztwa. Natomiast dla multihipergrafów składają się one z wierzchołku lub hiperkrawędzi obiektowej i odpowiednio zdefiniowanego sąsiedztwie. Każda taka podstruktura reprezentuje pewien fragment projektu, zatem obliczoną wartość funkcji jądra można w przybliżeniu interpretować jako liczbę podobnych elementów projektu znajdujących się w podobnym położeniu. Na podstawie wartości funkcji jądra obliczona została odległość między poszczególnymi grafami (i tym samym reprezentowanymi przez nie projektami). Przeprowadzone eksperymenty dla projektów rozkładu pomieszczeń zakodowanych w postaci grafów hierarchicznych oraz multihipergrafów rozkładu pokazują, że wprowadzony tu model teoretyczny dobrze sprawdza się w praktyce. Choć zdefiniowane w tej pracy funkcje jądra zasadniczo wykorzystują wyłącznie informacje o strukturze grafu, to zaproponowane zostały także funkcje jądra dla atomów grafu, w których uwzględnione zostały wartości atrybutów przypisanych do nich. Zastąpienie tymi funkcjami funkcji binarnych stosowanych w funkcjach jądra dla wierzchołków i (hiper)krawędzi opartych wyłącznie na ich etykietach pozwoli uwzględnić w obliczaniu podobieństwa między projektami nie tylko typu i struktury elementów projektu, ale także ich własności. Dodatkowy, zastosowany w eksperymentach algorytm knn, pozwala nie tylko na obliczenie oceny na podstawie podobieństwa projektowanego obiektu do innych znanych rozwiązań, ale także podaje, w pewnym sensie, uzasadnienie tej oceny przez podanie k najbliższych (najbardziej podobnych) projektów. Pozwoli to projektantowi z jednej strony zorientować się do jakich projektów jego aktualny projekt jest najbardziej podobny, z drugiej zainspirować się pewnymi rozwiązaniami obecnymi w tych projektach. Za oryginalny wkład do dziedziny projektowania wspomaganego komputerowo uważam: wprowadzenie multihipergrafów i multihipergrafów rozkładu pozwalających na reprezentację wiedzy projektowej z uwzględnieniem różnych aspektów projektu,
wprowadzenie transformacji parametrycznych opartych na etykietowaniu wierzchołków, które pozwalają zmniejszyć liczbę transformacji niezbędnych w systemie projektowania, zdefiniowanie transformacji parametryzowalnych, które pozwalają na dynamiczne ustalanie dopasowania, zdefiniowanie wzorca w grafach hierarchicznych oraz multihipergrafach, opracowanie metod pozwalających na obliczanie oceny projektów na podstawie ich grafowej reprezentacji z wykorzystaniem metody wyszukiwania częstych wzorców, zdefiniowanie funkcji jądra dla grafów hierarchicznych i multihipergrafów, zastosowanie funkcji jądra do porównywania projektów. Wykorzystanie przedstawionych wyników. W większości dotychczasowych prac związanych ze wspomaganiem projektowania na różnych etapach tworzenia projektu dominowały dwa główne nurty. Jeden z nich, związany z podejściem opartym na wnioskowaniu z przykładów, dążył do znacznego, a nawet całkowitego, wyeliminowania udziału człowieka w projektowaniu poprzez oparcie się na opisaniu zadania projektowego w odpowiednim formalizmie, znalezieniu w bazie projektu najbardziej podobnego opisu i wykorzystanie związanego z nim rozwiązania danego zadania. Zależnie od systemu znalezione rozwiązanie mogło być zmieniane w zakresie dopuszczalnych parametrów, bądź z niewielkim udziałem projektanta. Drugi nurt związany jest z wykorzystaniem symbolicznych metod reprezentacji wiedzy o projektach do oceny jego poprawności. Wykorzystywane są tu różne modele reprezentacji wiedzy, w tym także grafowe, a do ich analizy wykorzystana jest logika. Podejście to pozwala na formalną weryfikację poprawności projektów, w szczególności spełnienie przez niego wymagań projektowych zdefiniowanych przez projektanta, a także norm i przepisów prawnych obowiązujących w danej dziedzinie. Dobrze zdefiniowany formalizm logiczny, pozwalający na weryfikację poprawności projektów, jest niezbędny i wprowadzone tu rozwiązania nie mają na celu jego zastąpienia, ale raczej jego rozszerzenie. O ile jednak formalna poprawność projektu stanowi warunek konieczny uznania go za dobry projekt, to w żadnym wypadku nie stanowi warunku wystarczającego. Wprowadzone w tej pracy metody pozwalają wyjść z oceną jakości projektów poza badanie ich formalnej poprawności i zgodności z wymaganiami poprzez wprowadzenie elementu doświadczenia. Pozwala to uwzględnić na przykład takie cechy jak styl w architekturze, dopasowanie projektu do otoczenia w którym ma się znaleźć czy, ogólniej, kontekst w jakim rozwiązywany jest dany problem projektowy. Opracowane metody pozwalają także na wprowadzenie do systemów projektowania możliwości wspomaganie projektanta poprzez wskazywanie mu projektów podobnych do obecnie przez niego opracowywanego.
5. Omówienie pozostałych osiągnięć naukowo - badawczych (artystycznych). Głównym obszarem moich badań w latach 1993-2002 (przed uzyskaniem stopnia doktora) było wykorzystanie grafów do reprezentacji obiektów graficznych a także zastosowanie metod generacyjnych opartych na gramatykach grafowych do generacji takich obiektów. Z tego zakresu opublikowałam przed doktoratem 4 prace (wszystkie w czasopiśmie Machine Graphics and Vision). W latach 1995-1997 uczestniczyłam w pracach przy realizacji projektu KBN nr 8 5503 044 05 ( Komputerowe modelowanie, rozpoznawanie i uczenie się złożonych kształtów oraz ich cech dla potrzeb budowy inteligentnych systemów automatycznego projektowania i wytwarzania, kierowany przez prof. dr. hab. Ryszarda Jakubowskiego). W ramach tego projektu opracowałam aplikację, której celem było modelowanie obiektów 3D za pomocą operacji wycinania i wyciągania fragmentów konturów. Kontury tak uzyskanych obiektów były zapisywane w postaci elementów języka opisu kształtów, a następnie mogły być analizowane przez narzędzia rozpoznające cechy kształtów i zamieniane na odpowiednie polecenia urządzeń wytwarzających części (np. obrabiarki numeryczne). Następnie podjęłam tematykę związaną z zastosowaniem metod ewolucyjnych w zagadnieniach projektowania wspomaganego komputerowo, w których jako reprezentację projektów stosuje się grafy kompozycyjne (B.Strug, Graph Equivalents of Genetic Operators and their Application to Graphical Design, materiały II Krajowej Konferencji Komputerowe Systemy Rozpoznawania KOSYR 2001, pp. 349-354, B. Strug, Hierarchical Representation and Operators in Evolutionary Design, Lecture Notes in Computer Science 3911, pp. 447-454, 2005). Badania dotyczyły także połączenia metod ewolucyjnych i generacyjnych dla symulacji procesów biologicznych, w których do generacji wykorzystane zostały L-systemy (B. Strug, A Framework for an L-System Based Evolutionary Model for Structure Design and Representation, Image Processing and Communications, vol. 9 no 3-4, pp. 69-77, 2003) a także gramatyki grafowe (D. Nowak, W. Palacz, B. Strug, Representation of Structures and Changes in 3D Objects with Graph Grammars and Artificial Evolution, Advances in Intelligent Computing 30, pp. 885-892, Springer, 2005, D. Nowak, W. Palacz, B. Strug, On Using Graph Grammars and Artificial Evolution to Simulate and Visualize the Growth Process of Plants, Computational Imaging and Vision 32, pp. 668-673, Springer, 2006). W latach 2001-2003 uczestniczyłam w realizacji projektu KBN nr. 8T07A01621 "Zastosowanie grafów w optymalizacji konstrukcji", w którym podejście ewolucyjne zostało wykorzystane do optymalizacji konstrukcji wież przesyłowych. Zastosowany został tu trójstopniowy proces ewolucyjny, w którym optymalizacja odbywała się na poziomie topologicznym, geometrycznym oraz komponentów (A. Borkowski, E. Grabska, P. Nikodem, B. Strug, Searching for innovation structural layouts by means of graph grammars and evolutionary optimization, System-based Vision for Strategic and Creative Design, Bontempi (ed.), Swets&Zeitlinger, Lisse, pp. 475-480, 2003). W podejściu tym gramatyka grafowa została wykorzystana do wygenerowania populacji początkowej, a następnie przeprowadzana była optymalizacja topologiczna (przy założeniu jednorodnych komponentów) pozwalająca na uzyskanie najlepszej struktury konstrukcji. W kolejnym kroku algorytm ewolucyjny wykorzystany został do modyfikacji geometrii poszczególnych komponentów (P. Nikodem, B. Strug, Graph Transformations in Evolutionary Design, Lecture Notes in Computer Science, 3070 pp. 456-46, 2004, A. Borkowski, E. Grabska, P. Nikodem, B. Strug, On genetic search of optimum layout of skeletal structures, Proc. 9 th International Workshop on Intelligent Computing in Engineering, 2002, pp. 166-175, Darmstadt).
Prowadzone były także prace nad zastosowaniem algorytmów ewolucyjnych w zagadnieniach wykorzystujących bardziej złożone metody reprezentacji obiektów, to jest takie, w których genotypy generowanych projektów kodowane były w postaci hipergrafów oraz hipergrafów hierarchicznych. Struktury takie pozwalają wyrazić zarówno zależności hierarchiczne pomiędzy fragmentami rozwiązania, jak i relacje wieloargumentowe. Podejście to wymagało także opracowania odpowiednich operatorów genetycznych uwzględniających stosowaną reprezentację (B. Strug, E. Grabska, G. Ślusarczyk, Supporting the design process with hypergraph genetic operators, Advanced Engineering Informatics 28(1), pp. 11-27, Elsevier, 2014). Ponadto prowadzone były prace, w których metody ewolucyjne zostały zastosowane do rozwiązania zagadnienia odwrotnego dla iterowanych systemów funkcji (IFS) polegającego na znalezieniu IFS-a opisującego zadany obraz bitmapowy, przy czym nie zakładano, że znana jest liczba odwzorowań w szukanym opisie. W podejściu tym zaproponowany został nowy algorytm ewolucyjny, który opierał się na wykorzystaniu hierarchicznych genotypów. Genotyp reprezentował jeden konkretny IFS, jednak ponieważ różne IFS-y składają się z różnej liczby odwzorowań i liczba ta nie jest znana z góry, populacja składała się z niejednorodnych osobników (różnych gatunków, gdzie przez gatunek rozumiana była liczba odwzorowań). Zatem każdy genotyp zawierał pewną liczbę odwzorowań opisujących dany IFS (poziom gatunku), z kolei każde odwzorowanie reprezentowane było przez sześć współczynników (poziom wektorów), które z kolei (na najniższym, binarnym, poziomie hierarchii) reprezentowane były przez ciągi binarne. Opracowane zostały operatory krzyżowania pozwalające na wykonywanie operacji na poziomie wektorów reprezentujących współczynniki, a także zdefiniowano operację wzrostu, pozwalającą na zwiększenie w wybranym genotypie liczby odwzorowań. Badane były także różne funkcje oceny oparte na względnym pokryciu punktów w zadanym obrazie oraz w obrazie stanowiącym atraktor ocenianego IFS (A. Bielecki, B. Strug, An Evolutionary Algorithm for Solving the Inverse Problem for Iterated Function Systems for a Two Dimensional Image, AISC, vol. 30, pp. 347-354, Springer, 2005, A. Bielecki, B. Strug, Evolutionary Approach to Finding Iterated Function Systems for a Two Dimensional Image, Computational Imaging and Vision vol. 32, pp. 516-521, Springer, 2006). Badane było także zastosowanie operacji reasortacji wykorzystującej mechanizm replikacji wirusowej pozwalający na wymianę elementów pomiędzy osobnikami z różnych gatunków (zawierających różna liczbę odwzorowań). Ponadto wprowadzone zostały operatory pozwalające na wymianę informacji genetycznej na różnych poziomach hierarchii genotypu: krzyżowanie jednopunktowe i mutację na poziomie binarnym, a krzyżowanie arytmetyczne oraz mutację na poziomie wektorów. Dodatkowo wprowadzono operator dodawania osobników do populacji, przy czym wybór gatunku do którego dodawany był osobnik uzależniono od średniej oceny tego gatunku (A. Bielecki, B. Strug, Finding an Iterated Function Systems based Representation for Complex Visual Structures Using an Evolutionary Algorithm, Machine Graphics & Vision, 16 no 1/2, 2007, pp. 171-189). Jedną z konsekwencji zastosowanie metod ewolucyjnych w projektowaniu wspomaganym komputerowo jest konieczność dokonywania oceny tak generowanych obiektów. Spowodowało to moje zainteresowanie metodami, które mogłyby pomóc w dokonywaniu oceny projektów na podstawie ich reprezentacji strukturalnej, co wymagało opracowania metod porównywania różnego rodzaju struktur grafowych. Ich wynikiem były prace dotyczące metod wnioskowania o projektach na podstawie ich wewnętrznej
reprezentacji w postaci grafów hierarchicznych i multihipergrafów z wykorzystaniem metod wyszukiwania grafowego (ang. graph-mining) oraz z wykorzystaniem funkcji jądra. Prace te zostały przedstawione w monografii, a ich główne cele i wyniki zostały omówione w poprzednim punkcie. Prowadzone były również prace badawcze dotyczące zastosowania systemu współpracujących ze sobą gramatyk grafowych w projektowaniu wspomaganym komputerowo. W systemie takim poszczególne gramatyki odpowiedzialne są za generację określonych elementów projektowanego obiektu, bądź elementów znajdujących sie na określonym poziomie hierarchii projektu. Zastąpienie pojedynczej gramatyki, która miała za zadanie wygenerowanie całego projektu przez system gramatyk upraszcza proces opracowywania gramatyki poprzez podział zadanie na mniejsze podzadania. Ponadto umożliwia także wielokrotne wykorzystywanie raz opracowanej gramatyki w różnych systemach gramatyk, które są przeznaczone do generacji projektów mających fragmenty. W celu zapewnienia poprawności wywodu w takim systemie gramatyk wprowadzone zostało pojęcie symboli komunikacyjnych, które umożliwiają przekazywanie prowadzenie wywodu pomiędzy gramatykami tworzącymi dany system (B. Strug, Using Distributed Cooperating Graph Grammar Systems in Design, Proc.12th International Workshop on Intelligent Computing in Engineering, Radziejowice, 2005, E. Grabska, B. Strug, Applying Cooperating Distributed Graph Grammars in Computer Aided Design, Lecture Notes in Computer Science, vol. 3911, pp. 567-574, 2005). Badane były także systemy gramatyk hipergrafowych złożone z rodziny gramatyk, zbioru hipergrafów startowych i specjalnych zmiennych, nazwanych zmiennymi klasowymi, które umożliwiały aktywację odpowiedniej gramatyki należącej do systemu. (E. Grabska, B. Strug, G. Ślusarczyk, A Graph Grammar Based Model for Distributed Design, in A. Cader et al. (eds.), Artificial Intelligence and Soft Computing, EXIT, Warszawa, 2006, pp. 440-445, E. Grabska, B. Strug, G. Ślusarczyk, W. Grabski, Grammar- Based Disrtibuted Design, in L. Rutkowski et al. (eds.), Computational Intelligence: Methods and Applications, EXIT, Warszawa, 2008, pp. 493-502). Badano także problem powiązania systemu gramatyk z modelem systemu wieloagentowego, w którym do poszczególnych gramatyk hipergrafowych przypisane zostały specjalne zmienne, które powodują aktywację agentów równolegle rozwiązujących różne podzadania projektowe (E. Grabska, B. Strug, G. Ślusarczyk, A Multiagent Distributed Design System, Advances in Intelligent and Soft Computing 55, Springer, 2009, pp. 364-373). W wielu zagadnieniach graf reprezentujący dany obiekt lub system może okazać się zbyt duży, aby praktyczne było przetwarzanie go w całości (graf reprezentujący duży obiekt może składać się z wielu tysięcy atomów). W związku z tym prowadzone są także prace dotyczące rozproszonej reprezentacji grafowej. W szczególności rozważane są dwa kluczowe zagadnienia: efektywne metody rozproszenia grafu, poprzez podział na lokalne grafy reprezentujące fragmenty projektu, oraz metody zapewnienia synchronizacji i spójności reprezentacji grafowej w trakcie i po wykonaniu na niej operacji. Badane było podejście oparte na rozproszeniu grafów reprezentujących projektowane obiekty, w którym do modyfikacji projektów na poziomie reprezentacji grafowej stosowane są transformacje grafowe. Stosowanie produkcji sterowane jest poprzez środowisko kontrolne (DCE) złożone z lokalnych diagramów sterujących stosowaniem produkcji na poziomie lokalnych grafów. Ponieważ w wyniku podziału pewne wierzchołki zostają zreplikowane (to znaczy należą do dwóch lub więcej lokalnych grafów) w przypadku stosowanie produkcji dotyczącej takich wierzchołków konieczne jest zapewnienie synchronizacji z wszystkimi lokalnymi grafami do których należy taki wierzchołek. Proces ten realizowany jest poprzez system żądań
przesyłanych pomiędzy lokalnymi diagramami sterującymi (L. Kotulski, B. Strug, Distributed Adaptive Design with Hierarchical Autonomous Graph Transformation Systems, LNCS vol. 4488 pp. 870-877, 2007). Grafy współdzielące jeden lub więcej wierzchołków nazywane są grafami komplementarnymi a zreplikowane wierzchołki wierzchołkami brzegowymi. Z każdym grafem komplementarnym związany może być agent, który odpowiedzialny jest za stosowanie lokalnych produkcji na danym grafie, a w razie produkcji dotyczących wierzchołków brzegowych za komunikację z agentami zarządzającymi grafami komplementarnymi do danego grafu (L. Kotulski, B. Strug, Using Graph Transformations in Distributed Adaptive Design System, LNCS vol. 5337, pp. 477-486, 2008). Rozważany był również problem rozproszonego systemu projektowego, w którym projekty reprezentowane były w postaci hieprgrafów oraz hieprgrafów rozkładu (L. Kotulski, B. Strug, Multi-agent System for Distrubuted Adaptive Design, Key Engineering Materials, vol. 486, pp. 217-220, 2011, L. Kotulski, B. Strug, Supporting communication and cooperation in distributed representation for adaptive design, Advanced Engineering Informatics 27, pp. 220-229, 2013). O ile w opisanych powyżej badaniach rozważany był jeden graf (scentralizowany lub rozproszony) to w wielu sytuacjach praktycznych możemy mieć do czynienia z reprezentacją heterogeniczną, w której różne elementy projektu reprezentowane są przez specyficzne dla danego zastosowania struktury. Choć w takich sytuacjach wiele operacji wykonywanych jest lokalnie wyłącznie na jednej reprezentacji, to pojawia się konieczność odpowiedniej synchronizacji w razie wykonywania operacji na elementach współdzielonych przez kilka modeli, które w poszczególnych modelach mogą być reprezentowane w inny sposób. Opracowany został w tym celu formalny opis elementów współdzielonych oraz metoda synchronizacji wykonywanych na nich operacji (L. Kotulski, A. Sędziwy, B. Strug, Heterogeneous Graph Grammars Synchronization in CAD Systems Supported by Hypergraph Representations of Buildings, Expert Systems with Applications, 41(4), pp. 990-998, Elsevier 2014, L. Kotulski, A. Sędziwy, B. Strug, Coordination of Design Processes in Two Prespectives of Computer Aided Design, Key Engineering Materials, vol 572, pp. 119-122, 2013). Ponadto prowadzone są badanie nad transakcyjnym modelem stosowania produkcji dla modyfikacji grafu wymagających wykonania kilku produkcji, kiedy wymagane jest zapewnienie wykonania wszystkich, a w razie niemożliwości zastosowania jednej z nich nie może być wykonana żadna z produkcji (L. Kotulski, B. Strug, Transactional Model of Graph Transformations in Computer Aided Design, Key Engineering Materials, vol. 572, pp. 315-318, 2013). Ponadto brałam udział w pracach związanych z opracowaniem grafowej reprezentacji systemów typu Grid, w których wprowadzone zostały grafy warstwowe pozwalające na reprezentacje zarówno fizycznych jak i funkcjonalnych elementów systemu oraz wykonywania operacji (B. Strug, I. Ryszka, E. Grabska, G. Ślusarczyk, Generating a virtual computational grid by graph transformations, F. Davoli et al (eds.), Remote Instrumentation for escience and Related Aspects, pp. 209-226, Springer, 2012, E. Grabska, W. Palacz, B. Strug, G. Ślusarczyk, A Graph-based Generation of Virtual Grids, Lecture Notes in Computer Science 7203, pp. 451-460, 2011). Biorę także udział w pracach związanych z grafowymi metodami generacji siatek na potrzeby metody elementu skończonego. W podejściu tym wykorzystywane są grafy kompozycyjne do reprezentacji struktury siatki oraz gramatyki grafów kompozycyjnych do generacji siatki. Wprowadzone zostały gramatyki kompozycyjne z pamięcią, które pozwalają na przechowywanie istotnych danych w sposób umożliwiający dostęp do nich wszystkim produkcjom gramatyki (B. Strug, A. Paszyńska, M. Paszyński, E. Grabska, Using Grammar Systems in Finite Element Method. Proc. 19 th International Workshop on Intelligent Computing in Engineering, European