Prace dyplomowe

2020

Prace magisterskie

Rozszerzenia uczenia online dla algorytmu indukcji drzewa procesu Inductive Miner
Opracowanie rozszerzeń uczenia online i detekcji dryftu pojęcia na podstawie dzienników zdzarzeń w procesie biznesowym napływających w czasie rzeczywistym; implementacja w/w rozszrzeń w środowisku ProM lub APROMORE; ewaluacja eksperymentalna opracowanych algorytmów i porównanie z algorytmem wsadowym Inductive Miner. Wyniki pracy mogą zostać opublikowane w artykule naukowym.
Literatura uzupełniająca:

Rozszerzenia uczenia online dla algorytmu odkrywania grafu procesu Fuzzy Miner
Opracowanie rozszerzeń uczenia online i detekcji dryftu pojęcia na podstawie dzienników zdzarzeń w procesie biznesowym napływających w czasie rzeczywistym; implementacja w/w rozszrzeń w środowisku ProM lub APROMORE; ewaluacja eksperymentalna opracowanych algorytmów i porównanie z algorytmem wsadowym Fuzzy Miner. Wyniki pracy mogą zostać opublikowane w artykule naukowym.
Literatura uzupełniająca:

Edytor sieci Petriego w przeglądarce internetowej
Projekt i implementacja edytora modeli procesów biznesowych w reprezentacji sieci Petriego działający w przeglądarce internetowej; edytor powinien obsługiwać import i eksport z/do formatu PNML, symulację pracy sieci i funkcjonalność debugowania sieci (zatrzymania w trakcie pracy).
Literatura uzupełniająca:

Edytor sieci przyczynowych (Causal nets) w przeglądarce internetowej
Projekt i implementacja edytora modeli procesów biznesowych w reprezentacji sieci przyczynowych (Causal net, C-net) działający w przeglądarce internetowej; edytor powinien obsługiwać import i eksport modelu z/do formatu JSON, symulację pracy sieci i funkcjonalność debugowania sieci (zatrzymania w trakcie pracy).
Literatura uzupełniająca:

Implementacja algorytmów uczenia maszynowego rozszerzających bibliotekę Accord.NET: X-means, One-Class Very Fast Decision Tree, Least Squares Support Vector Machine, Support Vector Data Description
Zadanie polega na implementacji wybranych algorytmów uczenia maszynowego, w tym klasyfikacji i grupowania, z wykorzystaniem API (interfejsów) biblioteki Accord.NET, tym samym rozszerzając ją. Implementacje algorytmów należy uzupełnić o ich testy jednostkowe. W drugiej części zadania należy eksperymentalnie zweryfikować parametry zaimplementowanych algorytmów i porównać je z innymi, obecnymi w bibliotece Accord.NET.
Literatura uzupełniająca:

Metoda przekształcania programów sekwencyjnych na programy równoległe na platformę OpenCL lub CUDA
Celem pracy jest wykorzystanie algorytmu Programowania Genetycznego (ang. Genetic Programming, GP) lub Ewolucji Gramatycznej (ang. Grammatical Evolution, GE) do syntezy programu na platformę OpenCL lub CUDA (docelowo uruchamianego na GPU) na podstawie danego programu sekwencyjnego uruchamianego na CPU. GP jest algorytmem ewolucyjnej syntezy dyskretnych struktur z dyskretnych elementów budulcowych np.: programów, wyrażeń arytmetycznych i układów elektronicznych. GP/GE będzie mógł uruchomić zadany program sekwencyjny dla dowolnych danych wejściowych, aby poznać charakterystykę przekształcenia argumentów programu w wyjście, a następnie utworzenia programu równoległego realizującego to przekształcenie.
Literatura uzupełniająca:

Biblioteka problemów testowych dla metod automatycznej syntezy modeli matematycznych systemów
Celem pracy jest opracowanie zbioru parametrycznych problemów testowych o znanej charakterystyce (ang. Benchmark) służącego formułowaniu zadań syntezy modeli matematycznych systemów w celu oceny metod syntezy. Problemy testowe powinny skalować się ze względu na rozmiar, np.: liczbę zmiennych, liczbę ograniczeń oraz stopień złożoności ograniczeń. Ponadto problemy te powinny być wyrażalne w postaci analitycznej i pozwalać na efektywne pozyskiwanie przykładów uczących, a także porównywanie modeli uzyskanych przez metody syntezy z modelami rzeczywistymi. Pożądaną cechą jest zbieżność problemów testowych z problemami rzeczywistymi. Drugim celem pracy jest opracowanie miar (metryk) syntaktycznych i semantycznych pozwalających na porównywanie zsyntetyzowanych modeli z rzeczywistymi.

Inne tematy prac
Jestem otwarty na inne tematy prac z ogólnej tematyki: automatyczna synteza programów w popularnych językach programowania, programowanie genetyczne (genetic programming), search-based software engineering, automatyczne budowanie modeli programowania matematycznego na podstawie przykładów działania systemów rzeczywistych, synteza modeli procesów biznesowych z dzienników zdarzeń i kontrola zgodności wykonania procesu biznesowego z modelem.

Zainteresowanych studentów proszę o kontakt w celu ustalenia szczegółów.

2019

Prace magisterskie

Metody heurystycznej indukcji procesów biznesowych z danych
Eksploracja Procesów (ang. Process Mining, PM) jest nauką na styku uczenia maszynowego, nauki o danych (ang. data science) i badań operacyjnych (ang. operations research), zajmująca się odkrywaniem, weryfikacją i optymalizacją procesów biznesowych. Proces biznesowy reprezentowany jest przy użyciu grafu modelującego przepływ zasobów (danych/towarów/dokumentów) pomiędzy uczestnikami (pracownicy/urządzenia/kontrahenci). W typowym podejściu, graf procesu biznesowego budowany jest z dziennika zdarzeń zachodzących w systemie na przestrzeni czasu. Większość istniejących algorytmów odkrywania procesów działa w trybie "offline", tj. jednorazowo wczytuje dziennik zdarzeń i buduje na jego podstawie graf. Celem pracy magisterskiej jest rozszerzenie wybranego algorytmu syntezy grafu procesu biznesowego, np.: algorytmu α, algorytmu uczenia causal nets, algorytmów ewolucyjnych itp., o możliwości syntezy "online", tj. modyfikacji istniejącego grafu pod wpływem zdarzeń spływających w czasie rzeczywistym.
Literatura uzupełniająca:

Metody heurystycznej syntezy modeli matematycznych dla systemów rzeczywistych
Celem pracy jest opracowanie algorytmu (lub algorytmów) automatycznej syntezy (indukcji) modelu systemu lub procesu rzeczywistego wyrażonego w postaci zadania Programowania Liniowego (ang. Linear Programming, LP) lub Nieliniowego (ang. Non-Linear Programming, NLP), wykorzystując do tego celu przykłady współwystąpienia wartości zmiennych w modelowanym systemie. Proponowanym jest użycie metod znanych z uczenia maszynowego i klasyfikacji, w tym Maszyny Wektorów Nośnych (ang. Support Vector Machine, SVM), drzew decyzyjnych C4.5/J48, Programowania Genetycznego (ang. Genetic Programming, GP) i pochodnych.
Literatura uzupełniająca:

2018

Prace magisterskie

Marcin Karmelita, Synteza ograniczeń Programowania Liniowego z danych z użyciem Adaptacyjnej Strategii Ewolucyjnej.

Bartosz Litwiniuk, Synteza ograniczeń Programowania Kwadratowego z danych z użyciem hiperelipsoid,
Powiązana publikacja:
Bartosz Litwiniuk, Tomasz P. Pawlak, Ellipsoidal One-Class Constraint Acquisition for Quadratically Constrained Programming, IEEE Transactions on Knowledge and Data Engineering (in review).

Patryk Olejniczak, Synteza ograniczeń Programowania Matematycznego z użyciem drzew decyzyjnych.

2017

Prace magisterskie

Patryk Kudła, One-class synthesis of Linear Programming constraints with C4.5 decision tree
Jednoklasowa synteza ograniczeń Programowania Liniowego z użyciem drzewa decyzyjnego C4.5,
Powiązana publikacja:
Patryk Kudła, Tomasz P. Pawlak, One-class synthesis of constraints for Mixed-Integer Linear Programming with C4.5 decision trees, Applied Soft Computing 68:1-12, Elsevier, 2018.

Maciej Buzalski, Automatyczna synteza ograniczeń Programowania Liniowego z użyciem Maszyny Wektorów Nośnych.

Daniel Sroka, Synteza ograniczeń programowania liniowego z użyciem przeszukiwania lokalnego,
Powiązana publikacja:

Daniel Sroka, Tomasz P. Pawlak, One-Class Constraint Acquisition with Local Search, GECCO '18, pp. 363-370, ACM, 2018.

Arkadiusz Chorian, Synteza ograniczeń dla modeli Programowania Matematycznego z użyciem Strategii Ewolucyjnych.

2013

Jakub Aftowicz, Jakub Bacic, Jan Łukaszewicz, Maciej Tronowski, DiSCo: System analizy wyników rozproszonych eksperymentów obliczeniowych, promotor: dr hab. inż. Krzysztof Krawiec, prof. PP, opiekun: mgr inż. Tomasz Pawlak.