Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
tematy_prac_inzynierskich [2021/07/31 03:52]
pszwed
tematy_prac_inzynierskich [2023/07/13 00:59] (current)
pszwed [5. Zapytania w języku naturalnym do bazy danych (geograficznych)]
Line 9: Line 9:
  
 ====== Tematy prac inżynierskich ====== ====== Tematy prac inżynierskich ======
 +
 +===== 2023 =====
 +
 +Możliwe jest zgłaszanie propozycji własnych tematów. Ważnym dla mnie problemem jest wypełnienie rozwijanej aplikacji danymi tak, aby możliwe było przetestowanie wydajności. Raczej oczekiwane jest użycie 10000+ rekordów, a nie np. 20. 
 +
 +==== 1. Aplikacja do analizy sieci społecznościowej pracowników AGH ====
 +
 +Zarezerwowane [M.D.]
 +
 +Zakres pracy:
 +  - webscraping danych o publikacjach pracowników AGH (być może z pewnymi ograniczeniami)
 +  - zapis do bazy danych 
 +  - budowa grafów powiązań pomiędzy pracownikami (wspólne publikacje, takie same słowa kluczowe publikacji)
 +  - wizualizacja i przeglądanie danych  
 +
 +==== 2. Uczenie ze wzmocnieniem na platformie Ray ====
 +
 +Opracowanie jednego lub kilku przykładów ucznia ze wzmocnieniem korzystającego z modułów platformy [[https://www.ray.io/|Ray]]
 +Typowe zastosowanie - gra, której stan jest obserwowany i w zależności od stanu należy wydać odpowiednie polecenie. 
 +
 +Przy wsparciu biblioteki proces uczenia rozdzielony pomiędzy współbieżne zadania lub agentów. Należy zbierać dane dotyczące wydajności systemu (w tym czasów wykonania). 
 +
 +==== 3. Optymalizacja rozmieszczenia pojazdów w Car Sharing ====
 +
 +[D.K. - rezerwacja wersji z Gurobi]
 +
 +Celem jest rozwiązanie następującego zagadnienia:
 +  * mamy k lokalizacji (na przykład dzielnic) oraz pewną liczbę n pojazdów
 +  * w danym czasie t pojazdy są  rozmieszczone w lokalizacjach lub są w ruchu
 +  * Znane jest prawdopodobieństwo P(i,j,t) przejazdu z lokalizacji i do j rozpoczynającego się w czasie t. Czasy możemy zdyskretyzować , np. do 15 min.
 +  * Znany jest czas tego przejazdu T(i,j,t)
 +  * Jeżeli rozważymy pewien horyzont czasowy, np. 24h to możemy zasymulować zachowanie systemu i obliczyć E[T] - wartość oczekiwaną sumarycznego czasu ruchu samochodów w ciągu doby. W ten sposób wyznaczamy wartość funkcji celu.
 +  * W celu optymalizacji podejmujemy decyzję dotyczącą transferu pojazdu z lokalizacji i do j rozpoczętego w czasie t x_{ijt} = 0/1. Staramy przenieść samochody z lokalizacji o małym popycie do lokalizacji bardziej atrakcyjnych, niekoniecznie w danym momencie ale za kilka godzin.
 +  * Liczba przemieszczanych w danym momencie samochodów jest ograniczona (np. m=10 to liczba pracowników zajmujących się przemieszczaniem)  
 +  * Do rozważenia - platforma gurobi,  [[https://www.gurobi.com/jupyter_models/vehicle-rental-optimization/]]
 +  * lub opracowanie i implementacja własnago algorytmu heurystycznego   
 +
 +[W zasadzie może to być kilka prac,  gurobi vs. własna implementacja, różne algorytmy, implemetacja na GPU - CUDA lub OpenCL, itd.]
 +
 +==== 4. Propagacja informacji w dużym grafie (= grafie sieci drogowej) ====
 +[Zarezerwowane P.G. 02.07.2023]
 +
 +Celem pracy jest implementacja i testy oprogramowania implementującego 2-3 algorytmy propagacji informacji w grafie. Załóżmy, że utworzymy graf sieci drogowej Krakowa wydzielając kilkudziesięciometrowe odcinki dróg. Aktywacja jednego z odcinków (np. zmiana gęstości ruchu lub innego parametru) powinna być rozpropagowana w jego sąsiedztwie. Możliwe algorytmy to przesyłanie komunikatów do sąsiadów, rozwiązania wzorowane na automatach komórkowych lub losowe błądzenie po grafie (z ograniczeniem liczby kroków).
 +
 +Oczekiwana jest wizualizacja wyników (np. pogrubione/pokolorowane odcinki dróg). Możliwa implementacja na GPU (CUDA lub OpenCL).
 +
 +==== 5. Zapytania w języku naturalnym do bazy danych (geograficznych) ====
 +[Zarezerwowane A.M.]
 +
 +Interesuje nas zbiór danych przechowywanych w bazie OSM (https://www.openstreetmap.org/) dla Polski.
 +
 +Zakładamy pewną skończoną liczbę typów zapytań dotyczących różnych obiektów (około 20-30) , np.:
 + 
 +  * "miejscowość poniżej 10000 mieszkańców położone w pobliżu jeziora"  
 +  * "parkingi w Krakowie w dzielnicy Krowodrza"
 +takie zapytania należy rozpoznać i zamienić na kwerendy do BD, a następnie wyświetlić wyniki w aplikacji webowej
 +
 +  * Do przetwarzania tekstu i rozpoznawania typów zapytań i ich argumentów należy użyć biblioteki spaCy [[https://spacy.io/]] a zwłąszcza [[https://spacy.io/api/matcher]]
 +  * Aplikację można zaprojektować w architekturze backend - frontend, albo w postaci monolitycznej. 
 +  * Językiem spaCy jest Python, więc 
 +       * albo usługa będzie dostępna poprzez mikroserwis, 
 +       * albo backend będzie napisany w Pythonie (np. Flask, FastAPI)
 +       * albo cała aplikacja będzie napisana w Pythonie (np. Django lub dash)  
 + 
 +==== 6. Gra połączona z agentową symulacją świata ====
 +[Rezerwacja J.G]
 +
  
 ===== 2021 ===== ===== 2021 =====
 +
 +**Wyczerpałem limit prac inżynierskich** 
  
 Możliwe jest zgłaszanie własnych tematów. Jednak, nie chcę prowadzić prac polegających na implementacji aplikacji webowej/mobilnej  Możliwe jest zgłaszanie własnych tematów. Jednak, nie chcę prowadzić prac polegających na implementacji aplikacji webowej/mobilnej 
Line 23: Line 92:
 Obejmuje opracowanie algorytmu (specyficzna implementacja). Platforma TensorFlow lub PyTorch lub CUDA Obejmuje opracowanie algorytmu (specyficzna implementacja). Platforma TensorFlow lub PyTorch lub CUDA
 Testy z użyciem funkcji testowych z konferencji CEC Testy z użyciem funkcji testowych z konferencji CEC
 +[zajęte MS]
  
 === 3. Inne algorytmy optymalizacji ciągłej === === 3. Inne algorytmy optymalizacji ciągłej ===
-Do ustalenia.  +Do ustalenia.  [jeszcze jeden temat zarezerwowany ... AZ]
  
 === 4. Baza wiedzy z rozmytymi relacjami===  === 4. Baza wiedzy z rozmytymi relacjami=== 
 Na przykładzie rekomendacji dietetycznych dla różnych typów schorzeń. Na przykładzie rekomendacji dietetycznych dla różnych typów schorzeń.
-Obejmuje: bazę, interfejs dostępu REST do odczytu i zapisu, aplikację webową. Należy wypełnić bazę przykładowymi danymi, np dla 2-3 schorzeń i produktów spozywczych.  [zarezerwowane]+Obejmuje: bazę, interfejs dostępu REST do odczytu i zapisu, aplikację webową. Należy wypełnić bazę przykładowymi danymi, np dla 2-3 schorzeń i produktów spozywczych.  [zajęte MK]
  
 === 5. Repozytorium danych tekstowych na potrzeby NLP ===  === 5. Repozytorium danych tekstowych na potrzeby NLP === 
-Obejmuje projekt i implementację bazy danych + web scraping artykułów z wybranych 2-3 źródeł (np. PubMed), indeksowanie według wybranych terminów.+Obejmuje projekt i implementację bazy danych + web scraping artykułów z wybranych 2-3 źródeł (np. PubMed), indeksowanie według wybranych terminów. [zarezerwowane PM]
  
 === 6. Rozpoznawanie aktywności użytkownika na podstawie odczytów czujników urządzenia mobilnego === === 6. Rozpoznawanie aktywności użytkownika na podstawie odczytów czujników urządzenia mobilnego ===
Line 41: Line 111:
  
 === 8. Projekt i implementacja wybranych algorytmów grupowania dla PostgreSQL===  === 8. Projekt i implementacja wybranych algorytmów grupowania dla PostgreSQL=== 
-Przykładowe algorytmy to k-means, db-scan, ward.  Implementacja w języku PL/pgSQL. Projekt obejmuje generację danych syntetycznych różnych rozmiarów i testy algorytmów.+Przykładowe algorytmy to k-means, db-scan, ward.  Implementacja w języku PL/pgSQL. Projekt obejmuje generację danych syntetycznych różnych rozmiarów i testy algorytmów. [zarezerwowane HM]
  
 === 9. Rozpoznawanie emocji w głosie===  === 9. Rozpoznawanie emocji w głosie=== 
 W ramach pracy należy zdefiniować kilka kategorii emocji (spokojna rozmowa, uprzejma rozmowa z klientem, kłótnia, program informacyjny, itp.) Dla każdej kategorii należy wyekstrahować około 100 kilkunastosekundowych przykładów z różnych źródeł (filmy, podcasty). Następnie korzystając z biblioteki librosa wyekstrahować cechy i przeprowadzić klasyfikację. Patrz [[http://home.agh.edu.pl/~pszwed/wiki/doku.php?id=med:start]] W ramach pracy należy zdefiniować kilka kategorii emocji (spokojna rozmowa, uprzejma rozmowa z klientem, kłótnia, program informacyjny, itp.) Dla każdej kategorii należy wyekstrahować około 100 kilkunastosekundowych przykładów z różnych źródeł (filmy, podcasty). Następnie korzystając z biblioteki librosa wyekstrahować cechy i przeprowadzić klasyfikację. Patrz [[http://home.agh.edu.pl/~pszwed/wiki/doku.php?id=med:start]]
 +[zajęte MW]
  
 === 10. Generacja informacji o ruchu w grafie ===  === 10. Generacja informacji o ruchu w grafie === 
-Graf sieci drogowej na podstawie mapy OSM. Rozmiar - co najmniej aglomeracja. W sieci porusza się duża liczba obiektów, dla każdego obiektu losowany jest punkt startowy i końcowy i wyznaczana droga (np. algorytmem A-star). Oprogramowanie ma zbierać informacje o koncentracji obiektów w danym miejscu i przedziale czasu (natężeniu ruchu).    +Graf sieci drogowej na podstawie mapy OSM. Rozmiar - co najmniej aglomeracja. W sieci porusza się duża liczba obiektów, dla każdego obiektu losowany jest punkt startowy i końcowy i wyznaczana droga (np. algorytmem A-star). Oprogramowanie ma zbierać informacje o koncentracji obiektów w danym miejscu i przedziale czasu (natężeniu ruchu).    [zarezerwowane SK]
  
 === 11. Grupowanie obiektów na mapie===  === 11. Grupowanie obiektów na mapie=== 
-Implementacja algorytmu, który będzie łączył w grupy blisko położone obiekty. Odległość musi uwzględniać rzeczywistą odległość w sieci drogowej (długość drogi wyznaczonej np. algorytmem A-star). +Implementacja algorytmu, który będzie łączył w grupy blisko położone obiekty. Odległość musi uwzględniać rzeczywistą odległość w sieci drogowej (długość drogi wyznaczonej np. algorytmem A-star). [zarezerwowane KR]
  
 === 12. Wirtualny wyścig === === 12. Wirtualny wyścig ===
 [Zajęte AK] [Zajęte AK]
 +
 +=== 13. Animacja awatara ===
 +[zarezerwowane AG]
 +
 <!-- <!--
 **Na razie nie mam propozycji tematów ** **Na razie nie mam propozycji tematów **
tematy_prac_inzynierskich.1627696358.txt.gz · Last modified: 2021/07/31 03:52 by pszwed
CC Attribution-Share Alike 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0