Tematy prac magisterskich

2023

Na razie szkic

  1. [Zarezerwowane A.P] Budowa i uczenie ChatBota https://chatterbot.readthedocs.io/en/stable/index.html. Uczenie na podstawie plików z napisami do filmów. Web scraping plików z napisami. Prosta aplikacja, np. Dash demonstrująca jego działanie
  2. [Zarezerwowane B.B.] Uczenie zespołowe z wykorzystaniem platformy ray.io. Np. dla zagadnienia klasyfikacji. Budujemy zbiór równolegle uczonych klasyfikatorów C, a następnie podczas predykcji agregujemy wyniki (głosowanie). W pracy należy przetworzyć kilka zbiorów danych. Należy porównać działanie dla wybranych podzbiorów zbioru C. Dany klasyfikator “widzi” tylko części zbioru. Przetestujemy różne podziały - zachowujące częstości wystąpienia klas i ukierunkowane na wybieranie części klas. Testujemy także podział: klasa A i inne. Sklasyfikowane jako “inne” trafiają do kolejnego klasyfikatora. Kontynuujemy tworząc łańcuch…
  3. Zastosowanie algorytmu XYZ [PSO-roju cząstek lub ACO - mrówkowy lub ABC - pszczeli] w procesie wyboru cech opartym na metodzie zbiorów przybliżonych. Praca powinna zawierać przegląd zagadnień związanych ze zbiorami przybliżonymi (rough sets) i ich zastosowaniem do wyboru cech. RS dzielą przestrzeń na 3 podzbiory - elementów które należą do zbioru, te które nie należą i podzbiór brzegowy - elementów co do których nie ma pewności. W procesie wyboru cech usuwane są te atrybuty, które nie modyfikują tego podziału. Zazwyczaj potrzebny jest algorytm optymalizacyjny, które sprawdzi różne kombinacje. A więc z XYZ należy podstawić jakiś znany algorytm (metaheurystykę) dla zagadnień dyskretnych. Klasycznym rozwiązaniem jest alg. genetyczny. Dodatkową modyfikacją ma być zmiana w relacji nierozróżnialności. Zamiast równości atrybutu, spełnienie predykatu.
  4. [Zarezerwowane M.M.] Ustalanie autorstwa/stylu obrazów. W pracy należy zgromadzić przykłady obrazów różnych artystów reprezentujących różne style. Stosujemy dwie etykiety - autor i styl. Następnie generujemy wycinki obrazów i trenujemy klasyfikator z funkcją straty agregującą autora i styl. Klasyfikator jest uczony na wycinkach obrazów (mniej więcej w stylu laboratorium dotyczącego augmentacji danych z Comp Intelligence). Zastosujemy transfer learning (z douczaniem i bez).
  5. [Zarezerwowane P.W.] Autorstwo utworów muzycznych. Przygotowujemy kilka zestawów danych wewnątrz gatunków, np. muzyka klasyczna, pop, rock, klubowa, disco-polo, k-pop, itp. W ramach tch gatunków należy rozpoznać autora (zespół). Ponieważ współczesne utwory muzyczne są produktem poddanym mocnej obróbce dźwiękowej, można przypuszczać, że nowsze gatunki będą słabiej rozróżnialne. Do ekstrakcji cech wykorzystywana jest librosa. Na ten temat było laboratorium z Eksploracji danych dla specjalności IO.
  6. Zastosowanie rozmytych map kognitywnych do klasyfikacji szeregów czasowych. Rozmyte mapy kognitywne są porównywalne z rekurencyjnymi sieciami neuronowymi https://en.wikipedia.org/wiki/Fuzzy_cognitive_map. Użyjemy mapy kognitywnej wyższego stopnia, która będzie pamiętała k poprzednich wartości. Liczba węzłów wyjściowych odpowiada liczbie klas. Mapa ma przetwarzać ciągi róznej długości (bez wyrównania). Należy przetestować kilkanąscie jedno i wielowymiarowych zbiorów danych dla różnych stopni mapy. Platforma TensorFlow i zastosowanie gradientowego algorytmu uczenia mapy.

2022

1. Detekcja anomalii na nagraniach z rejestratorów lotniczych (MP ?)

2. Klasyfikacja szeregów czasowych (MW ?)

3. Zastosowanie rozmytych map kognitywnych do predykcji natężenia ruchu drogowego

Zarezerwowane MO

Rozmyte mapy kognitywne (ang. Fuzzy Cognitive Maps - FCM) są bliskie rekurencyjnym sieciom neuronowym. Celem pracy jest opracowanie i przebadanie algorytmu, który będzie automatycznie budował model dla wielowymiarowych danych z pomiarami natężenia ruchu drogowego w sieci autostrad. Źródłem danych będzie system PEMS.

4. Estymacja gęstości prawdopodobieństwa dla danych komunikacyjnych

Zarezerwowane K.P.

Standardowe metody estymacji prawdopodobieństwa (ang. Kernel Density Estimation) opisane są w Wikipedii. Implementowane są przez wiele pakietów do wizualizacji map, np.. https://geopandas.org/en/stable/gallery/plotting_with_geoplot.html Są to na ogół estymacje na podstawie odległości euklidesowej od punktów w przestrzeni R2. Celem pracy będzie opracowanie oprogramowania, który będzie estymowało gęstość w sieci drogowej - z uwzględnieniem rzeczywistej odległości pomiędzy odcinkami dróg. Źródłem danych mapy ma być OSM. Do ewentualnego wykorzystania moduł pgRouting lub własna implementacja algorytmu typu A*.

5. Grupowanie i predykcja dla danych komunikacyjnych z systemu Car Sharing

Zarezerwowane KR

Podstawowe dane systemu to miejsca parkowania samochodów, interakcje użytkowników z systemem oraz przejazdy. Dane te są rejestrowane w pewnym obszarze (np.. granice miasta Krakowa). Celem pracy jest dobór lub opracowanie algorytmu grupowania hierarchicznego, który zapewni podział wyjściowego obszaru na podobszary odpowiadające grupom blisko położonych danych. Kryterium walidacyjnym ma być maksymalizacji efektywności predykcji wartości wyjściowych (podział jest lepszy, jeżeli uśrednione współczynniki predykcji są lepsze).

Predykcja działa zupełnie nieźle dla dzielnic, ale duże dzielnice są dość niejednorodne.

6. Optymalizacja miejsc parkowania pojazdów w systemie Car Sharing

Celem pracy jest opracowanie i przebadanie algorytmu, który będzie podpowiadał decyzje o relokacji zaparkowanych pojazdów w celu lepszego zaspokojenia zapotrzebowania na pojazdy.

7. Hybrydowe metoda optymalizacji ciągłej

Zarezerwowane MS

Celem pracy jest opracowanie i przebadanie hybrydowego populacyjnego algorytmu optymalizacji. Jego ideą jest podział procesu optymalizacji na epoki, podczas których nieprzerwanie wykonywana jest określona liczba iteracji algorytmu o pewnej konfiguracji. Po zakończeniu epoki jej populacja przechodzi do następnej epoki, w której następuje wybór innego algorytmu/konfiguracji. Wybór następuje z pewnym prawdopodobieństwem, które zmienia się w zależności od oceny algorytmu/konfiguracji w poprzedniej epoce.

8. Agentowa/inspirowane biologicznie metoda poprawy efektywności optymalizacji (lokalnej)

Rezerwacja A.Z.

Celem pracy jest opracowanie metody optymalizacji lokalnej (np. dla algorytmu pszczelego) zainspirowanej zachowaniem organizmów. Atrybutem agenta jest rozwiązanie. Agenci przeszukują swoją przestrzeń lokalną wykonując kilkanaście zakodowanych podstawowych operacji. Na przykład dla optymalizacji ciągłej może być to losowy skok na pewną odległość, ruch naprzód, cofnięcie się, itp. Wybór operacji dokonywany jest losowo i zależy od genotypu. Blisko położone osobniki mogą się rozmnażać - tworzony jest nowy i następuje losowe krzyżowanie genów.

9. Algorytm rekomendacji filmów (?)

Zarezerwowane PT

Na podstawie danych z MovieLens rozszerzonych o dane zawarte w TMDB: plakat, opis fabuły, informacje o obsadzie, itp. Wykorzystanie sieci konwolucyjnych do przetwarzania posteru oraz LSTM (lub podobnych) do opisu fabuły. Do rozważenia warstwy embedding.

10. Klasteryzacja danych z TMDB

Zarezerwowane BK

Należy je pobrać - sortując według popularności. Liczba filmów do ustalenia Wykorzystać dane tekstowe, plakat, informacje o obsadzie, gatunkach. Zdefiniować (stratny) autoenkoder, który pozwoli zredukować wymiar wektora cech. Plakatu oczywiście nie odtwarzamy. Przeprowadzić grupowanie w zredukowanej przestrzeni (k-means lub inne algorytmy, do rozważenia fuzzy c-means ) Zweryfikować jakość grupowania, stosując metrykę typu Vmeasure z użyciem informacji o gatunkach.

11. Przewidywanie cen nieruchomości (?)

Zarezerwowane KŻ

  1. Web scraping danych z serwisu (gratka/otodom?).
  2. Próba odrzucenia duplikatów
  3. Próba ustalenia przybliżonej lokalizacji (np. na podstawie pojawiających się w opisach nazw ulic - mapa OSM)
  4. budowa cech (dane strukturalne i niestrukturalne na podstawie opisu)
  5. sieć konwolucyjna dla zdjęć

12. Ostatni slot

  1. Przewidywanie sposobu wykorzystania terenu (ang. landuse) na podstawie zdjęć satelitarnych i danych OSM. Pobieranie zdjęć satelitarnych (Google?). Etykietowanie za pomocą danych OSM. Nanoszenie na obraz maski (obszarów ze znanymi etykietami). Zastosowanie algorytmów segmentacji opartych na sieciach neuronowych.
  2. Przygotowanie zbioru danych do rozpoznawania twarzy (na podstawie sekwencji wideo). Następnie użycie / dotrenowanie sieci typu OpenFace. Rozpoznawanie na klatkach wideo z wieloma twarzami.
  3. Symulacja deepfake. Celem jest zamiana twarzy na sekwencji wideo. (1) Rozpoznawanie punktów charakterystycznych - landmarków na dwóch zdjeciach A - oryginalnym i B - fałszywym (2) transformacja zdjęcia B zgodnie ze przesunięciami na A (3) Wygładzanie B - filtry i sieć GAN (4) Nałozenie B na oryginalne zdjęcie w miejsce A
  4. Ekstrakcja relacji z tekstów. Relacje pomiędzy zidentyfikowanymi terminami (ang. Named entity).

2021

Generacja widoków ontologii Ontologie przechowują informacje o klasach relacjach pomiędzy klasami, atrybutach oraz instancjach klas. Można w dużym uproszczeniu traktować je jako połączenie diagramu klas i obiektów UML.

Widok ontologii jest jej podzbiorem zachowującym relacje (oryginalne lub wywiedzione - ang. inferred). Czyli, jeżeli np. mamy dziedziczenie A←B←C, a z widoku usuwamy B, to powinniśmy otrzymać A←C. Podobne zależności dotyczą asocjacji.

System rekomendacji

  • Przetwarzanie zbioru danych MovieLens, w którym rekomendacje użytkownika mają pieczątki czasowe
  • Rekomendacje są traktowane jak sekwencje - analogiczne do sekwencji słów w tekście
  • Zastosowanie opublikowanych/dostępnych w postaci kodu algorytmów generacji tekstu wykorzystujących sieci neuronowe typu LSTM lub Transformer
  • Ocena trafności przewidywań

Federacyjne uczenie maszynowe Teoretycznie wygląda takhttps://ai.googleblog.com/2017/04/federated-learning-collaborative.html lub https://en.wikipedia.org/wiki/Federated_learning ale raczej chodzi tu o przeprowadzenie eksperymentów symulujących FL

  1. Wybieramy obszerny zbiór danych, np. ImageNet z obrazkami psów, kotów, fok i niedźwiedzi polarnych
  2. Dzielimy na grupy użytkowników/agentów - jedni widzą psy i koty, drudzy foki i niedźwiedzie polarne
  3. Dla każdego użytkownika losujemy część danych i uczymy - np. sieć neuronową
  4. Użytkownicy “przesyłają” modele na serwer - tak naprawdę oznacza to etap agregacji
  5. - Agregujemy modele w jeden
  6. Odsyłamy do użytkowników
  7. Oni uczą się dalej na nowych przykładach
  8. I w zasadzie nie powinniśmy przerywać….

Interesujące są następujące kwestie:

  • Czy jest szansa na agregację (psów,kotów) oraz (fok,niedźwiedzi), czy może potrzebne są także modele (kot,foka)?
  • Czy taki model z czasem poprawia się, wchodzi w overfitting?
  • Czy jest potrzebny kompromis pomiędzy wielkością modelu (wielkość danych przesyłanych w systemie) a dokładnością
  • Jak często należy modele agregować? Co ile epok/iteracji/itd.

Predykcja szeregów czasowych na przykładzie danych ruchu drogowego PEMS

Metryki podobieństwa symulacji

2020

1. Generacja widoków ontologii Ontologie przechowują informacje o klasach relacjach pomiędzy klasami, atrybutach oraz instancjach klas. Można w dużym uproszczeniu traktować je jako połączenie diagramu klas i obiektów UML.

Widok ontologii jest jej podzbiorem zachowującym relacje (oryginalne lub wywiedzione - ang. inferred). Czyli, jeżeli np. mamy dziedziczenie A←B←C, a z widoku usuwamy B, to powinniśmy otrzymać A←C. Podobne zależności dotyczą asocjacji.

2. Ustalanie autorstwa tekstów :!: Zarezerwowane J.R. Celem pracy jest zastosowanie sieci neuronowych do ustalania autorstwa tekstów. Problem należy traktować jako zagadnienie klasyfikacji. Mamy próbki tekstu różnych autorów i budujemy klasyfikator potrafiący odróżnić je od siebie.

Przewiduje się ekstrakcję klasycznych cech stosowanych przy określaniu autorstwa:

  • częstych słów
  • statystyk znaków
  • tagowania części mowy
  • n-gramów znakowych
  • ale także bezpośrednie wyodrębnianie cech przez zastosowanie sieci konwolucyjnych.

https://www.researchgate.net/publication/317617809_Stylometric_Features_for_Authorship_Attribution_of_Polish_Texts

3. Analiza danych geograficznych - grupowanie :!: Zarezerwowane A.D. Celem pracy jest przeprowadzenie grupowania obszarów geograficznych na podstawie takich cech, jak gęstość dróg, obecność obiektów określonego typu (budynki, instytucje, infrastruktura, zakłady pracy, rzeki, jeziora, itp).

  • źródło danych: mapa OSM dla Polski zaimportowana do PostgreSQL
  • ekstrakcja cech (raczej za pomocą procedur składowanych wykorzystujących PostGIS)
  • przygotowanie plików CSV
  • zastosowanie bibliotecznych algorytmów grupowania (platforma Python/scikit-learn)

https://www.researchgate.net/publication/333406466_Speed_Limits_Can_Be_Determined_from_Geospatial_Data_with_Machine_Learning_Methods

4. Analiza obrazów zastosowana do map :!: zarezerwowane

Do rozwinięcia:

  • Użycie konwolucyjnych sieci neuronwuych (TensorFlow i keras)
  • Analiza map (obrazów) z serwera OSM lub wygenerowanych lokalnie o wybranej skali
  • Próba oszacowania ograniczeń prędkości (klasyfikacja)

https://www.researchgate.net/publication/333406466_Speed_Limits_Can_Be_Determined_from_Geospatial_Data_with_Machine_Learning_Methods

:!: W odrożnieniu od poprzedniego tematu przetwarzana jest grafika.

5. Analiza danych z web scrapingu :!: zarezerwowane P.B.

Do rozwinięcia. Np. web scraping ofert sprzedaży mieszkań i zastosowanie regresji do porównywania cen w danej miejscowości. Zastosowanie kilku metod regeresji z biblioteki scikit-learn oraz sieci neuronowych. Także analiza zdjęć towarzyszących ofercie.

6. System rekomendacji

  • Przetwarzanie zbioru danych MovieLens, w którym rekomendacje użytkownika mają pieczątki czasowe
  • Rekomendacje są traktowane jak sekwencje - analogiczne do sekwencji słów w tekście
  • Zastosowanie opublikowanych/dostępnych w postaci kodu algorytmów generacji tekstu wykorzystujących sieci neuronowe typu LSTM lub Transformer
  • Ocena trafności przewidywań

2019

Ze względu na możliwość przekroczenia limitów godzin dydaktycznych do ustalenia zajęć około 25 września tematy nie będą proponowane (poza osobami, które już je uzgodniły).

Tematy do realizacji 2018/2019

:!: Brak wolnych miejsc w roku 2018/2019

Optymalizacja (kilka tematów prac do uzgodnienia)

  1. Algorytmy optymalizacji ciągłej: mrówkowe, pszczele, PSO (wraz z modyfikacjami). Funkcje celu CEC. Implementacje na różnych platformach: CUDA, TensorFlow (python), OpenCL, Nd4j
  2. Zastosowanie automatów komórkowych do optymalizacji (ciągłej?/dyskretnej?). W praktyce byłoby to wykorzystanie rozwiązań z algorytmu populacyjnego, ale interesujące będzie przebadanie różnych topologii sąsiedztwa i reguł uaktualniania stanów

Uczenie maszynowe

  1. Odkrywanie reguł decyzyjnych za pomocą algorytmów optymalizacyjnych - optymalizacja przesłanek i kolejności reguł
  2. Przetwarzanie danych (klasyfikacja) wprowadzonych przez grupę (crowdsourcing) https://data.world/datasets/crowdsourced
  3. Rozpoznawanie klawiszy na podstawie zarejestrowanych dźwięków (klawiatura leżąca na stole)
  4. Rozpoznawanie klawiszy na podstawie wskazań czujników w komórce (np. akcelerometr)

Tematy do realizacji 2017/2018

Szkic

  1. Pobieranie danych ze stron internetowych metodą rozpoznawania obrazów data scraping (np. należy pobrać informacje o cenach i towarach na stronie: zapisz obraz strony, wykryj układ, zastosuj OCR do poszczgólnych regionów)
  2. Ro(botyzacja). Zastąpienie działania użytkownika systemu botem posługującym się interfejsem użytkownika (pobierz dane z pola aplikacji, wykonaj na nich operację, zapisz wartości w innym okienku/polu aplikacji).
  3. Algorytm rzutowania ścieżek GPS na mapę (map matching). Implementacja w języku plpgSQL (Postgres + PostGIS)
  4. Rekomendacja treści z wykorzystaniem charakterystyk czasowych (na przykładzie zbiorów danych MovieLens, Netflix, itp)
  5. Algorytm mrówkowy, zastosowanie do optymalizacji ciągłej, testy na funkcjach CEC 2015/2017, implementacja z użyciem nd4j lub na GPU
  6. Agentowy (“rozproszony”) system klasyfikacji. Melanż Akka (system agentowy) + Weka (biblioteka uczenia maszynowego).

Tematy do realizacji w roku 2016/2017

:!: Uwaga w roku 2016/2017 brak wolnych tematów

Temat1. Implementacja systemu umożliwiającego generację widoków ontologii :!: Zajęty
CelDla uproszczenia: ograniczymy się do ontologii odpowiadających diagramom klas. Często ontologie zawierają setki lub tysiące klas. W wielu zastosowaniach, np.: wnioskowania, taka reprezentacja jest nadmiarowa i prowadzi do znacznego zwiększenia czasu przetwarzania. W rzeczywistości używa się kilkunastu klas i relacji. Widok ontologi to jej podzbiór obejmujący wybrane klasy, atrybuty (datatype property) i relacje. Celem pracy jest 1) opracowanie prostego języka specyfikacji widoków 2) realizacja systemu (biblioteki), który będzie takie widoki budował (3) przeprowadzenie testów
Platforma implementacjiJava + biblioteka Jena lub OWL API
Kwalifikacje dyplomantaZnajomość języka Java. Pożądana znajomość zagadnień Semantic Web
Temat2. Analiza strumieni danych pomiarowych z wykorzystaniem platformy MOA :!: Zajęte
Cel MOA http://moa.cms.waikato.ac.nz/getting-started/ jest platformą oferującą różne funkcje data mining dla strumieni danych (klasyfikacja, klasteryzacja, uczenie). Celem pracy jest przeprowadzenie predykcji zapotrzebowania na energię na podstawie symulowanych danych pomiarowych. W ramach pracy należy też część danych wygenerować.
Platforma implementacjiJava + MOA + Weka
Kwalifikacje dyplomantaTBD
Temat3. Analiza strumienia wiadomości tekstowych z wykorzystaniem platformy MOA :!: Zarezerwowany
Cel MOA http://moa.cms.waikato.ac.nz/getting-started/ jest platformą oferującą różne funkcje data mining dla strumieni danych (klasyfikacja, klasteryzacja, uczenie). Celem pracy jest przeprowadzenie klasyfikacji strumienia krótkich wiadomości tekstowych. Źródło - do ustalenia
Platforma implementacjiJava + MOA + Weka
Kwalifikacje dyplomantaTBD
Temat4. Wyznaczanie i wnioskowanie o rozmytych relacjach na mapie :!: Zajęty
Cel Celem pracy jest realizacja platformy pozwalającej na wyznaczanie, przechowywanie w formie zmaterializowanej rozmytych relacji opisujących obiekty mapy. Relacje rozmyte mają wartości z przedziału [0,1] (0=false, 1=true) Przykładem relacji jest blisko, np. blisko(Kraków, Zakopane). Wartość tej relacji zależy od kontekstu (blisko w skali kraju, ale raczej daleko w skali województwa). Jest to kontynuacja wcześniejszej pracy magisterskiej.
Platforma implementacjiOSM - żródło mapy, PostgreSQL+PostGIS, Java
Kwalifikacje dyplomantaTBD
Temat5. Rekomendacja ograniczeń prędkości na podstawie danych geograficznych :!: Zajęty
Cel Celem pracy jest realizacja oprogramowania, które na podstawie danych mapy zbuduje model w postaci zbioru odcinków dróg wraz z relacjami do obiektów mających potencjalny wpływ na ustalanie dopuszczalnej prędkości. W dalszej części pracy należy zastosować gotowe algorytmy uczenia maszynowego (regresji, klasyfikacji, detekcji anomalii, rekomendacji) w celu wyznaczenia zalecanej prędkości. Końcowym efektem pracy powinny być: (1) wybór cech [wspomnianych relacji] (2) przeprowadzone testy algorytmów dla różnych kombinacji parametrów oraz ocena ich skuteczności działania Ze względu na możliwośc zastosowania różnych algorytmów podobne tematy mogą być realizowane przez kilka osób. Wtedy nastąpi uściślenie dotyczące klasy zastosowanego algorytmu.
Platforma implementacjiOSM - żródło mapy, Java, algorytmy uczenia maszynowego: Weka, SciPy (Python), Matlab/Octave (do wyboru)
Kwalifikacje dyplomantaTBD
Temat7. Agentowa implementacja algorytmu PSO :!: Zarezerwowany
Cel Celem pracy jest prototypowego oprogramowania, implementującego algorytm PSO (Particle Swarm Optimization) w rozproszonym środowsiku agentowym. Do komunikacji pomiędzy agentami należy użyć protokołu wzorowanego na newcast (dostosowanego jednak do typu zagadnienia). Ze względu na potencjalnie dużą liczbę agentów należy zaimplementować kilka wybranych wariantów różniących się topologią roju. Działanie należy przetestować na co najmniej dwóch przykładach - optymalizacji ciągłej oraz dyskretnej.
Platforma implementacjibiblioteka Akka, Java
Kwalifikacje dyplomantaTBD

Opisy protokołu Newcast http://www.cs.unibo.it/bison/publications/ap2pc03.pdf https://www.researchgate.net/publication/225850594_ORIGINAL_PAPER_EvAg_a_scalable_peer-to-peer_evolutionary_algorithm

Temat8. Agentowa implementacja algorytmu pszczelego (Bees algorithm) :!: Zarezerwowany
Cel Podobnie, jak 7. Wybór algorytmu narzuca jednak inną strukturę grafu komunikacji.
Platforma implementacjibiblioteka Akka, Java
Kwalifikacje dyplomantaTBD
Temat9. Agentowa implementacja algorytmu mrówkowego :!: Zarezerwowany
Cel Podobnie, jak 7. Wybór algorytmu narzuca jednak inną strukturę grafu komunikacji.
Platforma implementacjibiblioteka Akka, Java
Kwalifikacje dyplomantaTBD
Temat10. Przetwarzanie danych na platformie Apache Spark (tytuł roboczy)
Cel Celem pracy jest uruchomienie wybranych algorytmów klasyfikacji, klasteryzacji na platformie SPark https://spark.apache.org/ dla zbiorów danych różnej wielkości i postaci. Należy przeprowadzić zarówno testy jakościowe (np. jakość klasyfikacji) oraz wydajnościowe.
Platforma implementacjiplatforma Apache Spark, Java
Kwalifikacje dyplomantaTBD
Temat11. Przetwarzanie danych tekstowcyh na platformie Apache Spark :!: Zarezerwowane
Cel Cel: TBD (klasyfikacja lub analiza sentymentu), np. dla danych z twittera
Platforma implementacjiplatforma Apache Spark, Java
Kwalifikacje dyplomantaTBD

Tematy do realizacji w roku 2015/2016

Temat1. Implementacja algorytmu typu Pregel na platformie OpenCL Zajęte :!:
Cel Algorytm Pregel pozwala na wykonywanie równoległych operacji na grafach w środowisku rozproszonym. Węzły wysyłają komunikaty do sąsiadów, ci z kolei uaktualniają swój stan i przesyłają komunikaty dalej. Pregel jest używany np. do obliczania indeksu PageRank. Celem pracy jest zaimplementowanie pewnej uproszczonej wersji algorytmu przeznaczonej do wykonania na GPU oraz przetestowanie działania dla wybranych zagadnień
Platforma implementacjiJava + aparapi lub C/C++
Kwalifikacje dyplomantaTBD
Temat2. System do analizy i rekomendacji treści w kanałach RSS / System for content analyzis and recommendation in RSS channels :!: Zajęty
Cel Celem pracy jest projekt i implementacja systemu pozwalającego na dobór informacji z kanałów RSS na podstawie preferencji i zainteresowań użytkownika. Elementami do zrealizowania są moduły pobierania dokumentów z kanałów RSS, interfejs webowy pozwalający na prezentację treści oraz zbieranie danych o akcjach użytkownika, a także moduł rekomendacji wykorzystujący techniki uczenia maszynowego..
Platforma implementacjiWeka?
Kwalifikacje dyplomantaTBD
Temat3. Symulacja i analiza systemu komunikujacych się pojazdów pojazdów w sieci typu VANET / Simulation and analysis of communication between vehicles in VANET networks :!: Zajęte
CelCelem pracy jest opracowanie systemu pozwalającego na realistyczną symulację systemu komunikujących się pojazdów w sieciach VANET (Vehicle ad hoc Networks). Proponowane jest podejście agentowe, w którym każdy pojazd animowany przez agenta porusza się, uczestniczy w komunikacji oraz buduje wewnętrzny model otoczenia obejmujący stan sąsiadujących pojazdów oraz ich połączeń. Zaimplementowana platforma powinna pozwalać na elastyczne zarządzanie symulacją oraz wybór zbieranych danych,możliwość zapisu do bazy danych lub formatu wynikowego XML.
Platforma implementacjiOSM - żródło mapy, PostgreSQL+PostGIS, Java
Kwalifikacje dyplomantaTBD
Temat4. Zastosowanie technik uczenia maszynowego do rekomendacji wymagań dla projektów informatycznych / Application of machine learning techniques for recommendation of IT project requirements :!: Zajęte
CelCelem pracy jest przeprowadzenie eksperymentówmających na celu rekomendację niejawnych (niewyspecyfikowanych) wymagań dla projektów informatycznych. W pracy należy skoncentrować się na opisach w języku polskim obejmujących kategorie projektów, aktorów, skróconych specyfikacjach przypadków użycia i obiektów dziedziny. Przewiduje się wykorzystanie narzedzi wspomagających przetwarzanie tekstów w języku polskim (jak Morfologik lub Wordnet/slowosiec). Praca powinna zawierać przegląd metod rekomendacji, opis przeprowadzonych eksperymentów oraz opis wykonanego systemu rekomendacji.
Platforma implementacjiJęzyk Java, biblioteki Weka, Morfologik
Kwalifikacje dyplomantaTBD
Temat5. Symulacja zużycia prądu w gospodarstwach domowych z wykorzystaniem środowiska agentowego / Simulation of energy consumption in households on a multiagent platform :!: Zajęte
CelCelem pracy jest opracowanie oraz implementacja symulacyjnego modelu zużycia prądu w gospodarstwach domowych. Model powinien obejmować dane takie jak struktura gospodarstwa domowego, profile domowników i urządzeń oraz czynniki zewnętrzne (np. czas i pogoda). Użytkownik powinien mieć możliwość zdefiniowania lub wygenerowania symulowanego świata, a także zdefiniowania sposobu agregacji rezultatów. System powinien pozwalać na śledzenie przebiegu symulacji, a jej rezultaty powinny zostać umieszczone w specjalnie do tego zaprojektowanej bazie danych.
Platforma implementacjiJęzyk Java, biblioteka Akka
Kwalifikacje dyplomantaTBD
Temat6. Implementacja algorytmów uczenia rozmytych map kognitywnych na platformie OpenCL / OpenCL implementation of Fuzzy Cognitive Map learning algorithms :!: Zajęte
CelCelem pracy jest opracowanie oraz implementacja algorytmów uczenia rozmytych kognitywnych. Wybraną platformą implementacji jest GPGPU (ze szczególnym wskazaniem na OpenCL). Przewidywanym zastosowaniem jest predykcja szeregów czasowych. W ramach pracy należy zrealizować i przetestować kilka wariantów algorytmu różniących się normami wykorzystywanymi do oceny błędów predykcji oraz porównać zagadnienia wyznaczania dyskretnych i ciągłych wag wpływów.
Platforma implementacjiJęzyk Java, biblioteka aparapi
Kwalifikacje dyplomantaTBD
Temat7. Mobilny system monitorowania aktywności fizycznej / Mobile system for monitoring physical activities :!: Zajęte
CelCelem pracy jest opracowanie oraz implementacja systemu obejmującego aplikację mobilną oraz serwer pozwalającego na zbieranie informacji o aktywności fizycznej użytkownika, przesyłanie ich na serwer, przechowywanie oraz sporządzanie raportów i statystyk. Ważnym elementem ma być możliwość rozpoznawania akcji wykonywanych przez użytkownika: chodzenie, bieganie, wchodzenie po schodach, jazda rowerem, itp. W tym celu mają zostać wykorzystane odczyty z czujników typu akcelerometr, żyroskop oraz zastosowane algorytmy uczenia maszynowego do klasyfikacji akcji na podstawie pomiarów. Należy przewidzieć tryb konfiguracji aplikacji mobilnej obejmujący analizę dostępnych czujników, dobór algorytmu klasyfikacji oraz kalibrację pozwalającą dostosować do indywidualnych cech użytkownika.
Platforma implementacjiJęzyk Java, Android, biblioteka Weka
Kwalifikacje dyplomantaTBD
Temat9. Zagadnienie optymalnego planowania projektów MRCPSP/max. Implementacja na platformie OpenCL
Cel Implementacja wybranego algorytmu: PSO, Bees, Ant Colony lub GA
Platforma implementacjiJava + aparapi lub C/C++
Kwalifikacje dyplomantaTBD
Temat13. Biometryczna autentykacja użytkownika wykorzystująca własności interakcji z urządzeniem mobilnym / Biometric user authentication based on interaction with a mobile device :!: Zajęte
CelCelem pracy jest opracowanie komponentu dla systemu Android pozwalającego na autentykację użytkownika na podstawie charakterystyk czasowych interakcji z urządzeniem mobilnym. W ramach pracy należy (1) zaprojektować i zaimplementować kilka interfejsów użytkownika (wprowadzanie haseł, tekstów, przesuwanie), następnie (2) zebrać dane opisujące interakcje z użytkownikami, (3) zaproponować zbiór cech i dobrać algorytmy klasyfikacji cechujące się najlepszą dokładnością i precyzją. Ostatnim (4) etapem pracy jest implementacja i testy komponentu wykorzystującego wybrane interfejsy, zestawy cech i dobrane algorytmy klasyfikacji.
Platforma implementacjiJęzyk Java, Android, biblioteka Weka
Kwalifikacje dyplomantaTBD

Tematy do realizacji w 2013+

Temat1. Narzędzie pracy grupowej wspierające dokumentowanie i ocenę architektury oprogramowania :!: Zajęte
Cel Celem pracy jest projekt i implementacja oprogramowania mającego na celu zapewnienie wsparcia dla metody oceny architektury ATAM poprzez: (1) definiowanie wymagań (scenariuszy) (2) możliwość wprowadzania danych uściślających opis architektury (3) możliwość głosowania przez grupę ekspertów (4) możliwość wprowadzania ocen
Platforma implementacjiJava, JSP lub odpowiednik, usługi sieciowe jako opakowanie dostępu do BD
Kwalifikacje dyplomantaZnajomość języka Java. Pożądana (chociaż niekonieczna) znajomość zagadnień Semantic Web. Mile widziana kreatywność w zakresie projektowania interfejsu.
Temat2. Agentowy System interpolacji parametrów ruchu wykorzystujący model FCM :!: Zrealizowane
Cel Motywacja: w wybranych punktach sieci drogowej zainstalowane są czujniki mierzące parametry ruchu drogowego. Jednakże pokrycie jest rzadkie, znamy np: parametry ruchu na Alejach, ale nie na ulicy Reymonta… Celem pracy jest (1) przeprowadzenie symulacji z wykorzystaniem pakietu SUMO i zebranie danych o dynamice ruchu. (2) Projekt i implementacja systemu mającego na celu interpolację parametrów ruchu dla rzadkich pomiarów. Zakład się, że sieć drogowa zostanie podzielona na obszary odpowiadające mniej więcej otoczeniu punktów pomiaru. Każdym z obszarów będzie zarządzał samodzielny proces (agent). Agenty będą interpretowali pomiary i okresowo wymieniali się informacjami o ruchu na odcinkach granicznych. Źródło mapy: OSM
Platforma implementacjiJava, C++ lub Python dla wstawek do SUMO
Kwalifikacje dyplomantaZnajomość języka Java i C++.
Temat3. Agentowy symulator zużycia energii wykorzystujący wizualny język modelowania zachowań :!: Zajęte
Cel TBD
Platforma implementacjiJava / JADE
Kwalifikacje dyplomantaZnajomość języka Java.
Temat4. Implementacja systemu umożliwiającego generację widoków ontologii
CelDla uproszczenia: ograniczymy się do ontologii odpowiadających diagramom klas. Często ontologie zawierają setki lub tysiące klas. W wielu zastosowaniach, np.: wnioskowania, taka reprezentacja jest nadmiarowa i prowadzi do znacznego zwiększenia czasu przetwarzania. W rzeczywistości używa się kilkunastu klas i relacji. Widok ontologi to jej podzbiór obejmujący wybrane klasy, atrybuty (datatype property) i relacje. Celem pracy jest 1) opracowanie prostego języka specyfikacji widoków 2) realizacja systemu (biblioteki), który będzie takie widoki budował (3) przeprowadzenie testów
Platforma implementacjiJava + biblioteka Jena lub OWL API
Kwalifikacje dyplomantaZnajomość języka Java. Pożądana znajomość zagadnień Semantic Web
Temat5. Identyfikacja procesów na podstawie logów zdarzeń (Process mining) :!: Zrealizowane
CelPraca ma obejmować: (1) analizę literatury związaną z zagdadnieniem, analizę postaci opublikowanych zbiorów danych (2) projekt i implementację szkieletu aplikacji, do którego będzie można włączyć (a) formalizmy opisu procesów (b) algorytmy generacji opisu procesowego © narzędzie sprawdzania, czy ścieżka zdarzeń reprezentuje proces (d) możliwość przechowywania populacji procesów (e) funkcję oceny. Ostatnim elementem jest pokazanie, że zaprojektowaną strukturę można dostosować do potrzeb konkretnego algorytmu i przeprowadzenie testów na standardowych zestawach danych.
Platforma implementacjiJava
Kwalifikacje dyplomantaZnajomość języka Java.
Temat6. System śledzenia pojazdów :!: Zrealizowane
Cel Celem pracy jest projekt i implementacja systemu umożliwiającego śledzenie i wizualizację ruchu pojazdów. Jego podstawowe komponenty to aplikacja mobilna zainstalowana na terminalu wyposażonym w czujnik GPS, serwer, na którym następuje filtracja przesłanych danych oraz rzutowania na mapę, baza danych przechowująca rozpoznane trajektorie oraz interfejs pozwalający na wybór (dokonywanie zapytań) i wizualizację ścieżek. Model danych powinien uwzględniać profile użytkownika, typ czujnika GPS oraz kontekst (punkty POI oraz zdarzenia, np.: zjawiska pogodowe, zgłoszone imprezy masowe). Istotne atrybuty jakości, które należy uwzględnić przy projektowaniu to: wydajność oraz skalowalność
Platforma implementacjiJava
Kwalifikacje dyplomantaZnajomość języka Java.
Temat7. System zgłaszania i semantycznej klasyfikacji zdarzeń w ruchu drogowym :!: Zrealizowane
Cel Na podstawie ALERT24 TBD
Platforma implementacjiJava
Kwalifikacje dyplomantaZnajomość języka Java.

Tematy do realizacji w 2012+

Temat1. Wyszukiwanie relacji pomiędzy obiektami na mapie :!: ZAJĘTE
Cel Celem pracy jest opracowanie koncepcji i zaimplementowanie oprogramowania pozwalającego na wykonywanie zapytań dotyczących relacji pomiędzy obiektami na mapie. Np.: miejscowości położone przy linii kolejowej w odlegości 15 km na zachód od Krakowa.
Platforma implementacjiŻródło danych Open Street Map (OSM). Biblioteka Jena. Przewidziana wizualizacja za pomocą standardowych narzędzi GIS.
Kwalifikacje dyplomantaZnajomość języka Java. Programowanie systemów bazodanowych. Mile widziana znajomość zagadnień związanych z Semantic Web
Temat2. Wyznaczanie parametrów charakteryzujących ruch drogowy na podstawie danych dostarczonych przez ruchome pojazdy :!: ZREALIZOWANE
Cel Pojazd wyposażony w odbiorniki GPS okresowo przesyła dane o swoim położeniu. Na tej podstawie wyznaczane są parametry ruchu - średnia prędkość, czy oczekiwania, itd. Dane muszą być skorelowane z mapą (na podstawie Open Street Map OSM). Przewidywane jest grupa pojazdów. Praca może dotyczyć wyłącznie strony serwera (symulowane pojazdy przesyłające dane).
Platforma implementacjiPlatforma Java lub .NET., interfejs usług sieciowych.
Kwalifikacje dyplomantaZnajomość języka Java/C#. Znajomość zagadnień związanych z programowaniem usług siecioweych web service
Temat3. Translator BPMN→Java (lub C++)
Cel Celem pracy jest zaprojektowanie, zaimplementowanie, przetestowanie kompilatora, który na podstawie specyfikacji BPMN zbuduje kod wielowątkowego oprogramowania w języku Java komunikującego się z usługami sieciowymi. Etapy: (1) Wybór narzędzia do rysowania BPMN (analiza formatów) – .Intalio lub wtyczki do Eclipse (2) Zaproponowanie odwzorowań konstrukcji BPMN w kod (zwłaszcza komunikacja, zdarzenia) (3) Implementacja i testy translatora
Platforma implementacjiPlatforma Java, usługi sieciowe (JBoss/Glassfish)
Kwalifikacje dyplomantaZnajomość języka Java. Znajomość zagadnień związanych z programowaniem usług siecioweych web service
Temat4. Symulator procesów biznesowych
Cel Celem pracy jest projekt i implementacja symulatora wykonania procesów biznesowych. Język opisu procesów to podzbiór BPMN lub EPC lub ArchiMate (do uzgodnienia). Opis procesów z założenia jest prosty: zdarzenia początkowe i końcowe, możliwość generacji zdarzeń przez czynność, sekwencje, rozgałęzienia. W zależności od wyboru języka, praca może obejmować implementację prostego edytora, chociaż preferowana jest integracja z istniejącymi narzędziami.
Platforma implementacjiJava
Kwalifikacje dyplomantaZnajomość języka Java. Mile widziana znajomość platformy Eclipse
Temat6. Projekt i implementacja semantycznego repozytorium zdarzeń drogowych :!: ZAJĘTE
Cel Celem pracy jest projekt, implementacja i testy repozytorium przechowującego informacje o zdarzniach drogowych (korkach, wypadkach, niebezpiecznych sytuacjach, zjawiskach atmosferycznych, itd.) Przewidywane elementy pracy: (1) zdefiniowanie i zaimplementowanie interfejsów (usługi sieciowe) umożliwiających dostęp (zgłaszanie zdarzeń, definiowanie nowych typów zdarzeń, zapytanie) (2) zaimplementowanie mechanizmów semantycznych - wyszukiwanie zdarzeń należących do klas (podklas) spełniających określone relacje, (3) wizualizacja zdarzeń na mapie (4) implementacja klienta służącego do zgłaszania zdarzeń lub (5) automatyczne zgłaszanie zdarzeń na podstawie interpretacji parametrów ruchu.
Platforma implementacjiTechnologie: BD - PostgreSQL, język programowania Java lub C#, do manipulacji informacjami semantycznymi - raczej biblioteka Jena (Java);
Kwalifikacje dyplomantaZnajomość języka Java i C#. Pożądana znajomość zagadnień Semantic Web.
Temat7. Integracja semantyczna algorytmów planowanie trasy z dynamicznym repozytorium parametrów ruchu drogowego :!: ZAJĘTE
Cel Celem pracy jest przeprowadzenie integracji dwóch komponentów (1) dynamicznego repozytorium ruchu oraz (2) różnych algorytmów planowania trasy. Do realizacji celów pracy wystarczy integracja 2 algorytmów, np.: Dijkstra i A*. Ważne jednak, aby zapewnić możliwość wymiany na inne. Praca obejmuje realizację: adaptera struktury - tworzy model grafu na podstawie mapy i typu użytkownika, adaptera wag - na podstawie zmierzonych parametrów opisujących ruch wprowadza dynamicznie wagi łuków. Pokrycie mierzonych parametrów jest niewielkie, więc adapter wag powinien dokonywać prostej estymacji dla odcinków dróg nieobjętych pomiarem.
Platforma implementacjiJava lub C#; usługi sieciowe.
Kwalifikacje dyplomantaZnajomość języka Java lub C#. Pożądana znajomość zagadnień Semantic Web.

Inne tematy są na razie tu: http://pszwed.ia.agh.edu.pl/prace-magisterskie/index.html

tematy_prac_magisterskich.txt · Last modified: 2023/09/14 15:32 by pszwed
CC Attribution-Share Alike 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0