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
Last revision Both sides next revision
tematy_prac_inzynierskich [2021/08/31 23:04]
pszwed [2021]
tematy_prac_inzynierskich [2023/07/02 19:46]
pszwed [3. Optymalizacja rozmieszczenia pojazdów w Car Sharing]
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) ====
 +
 +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 49: Line 117:
  
 === 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=== 
tematy_prac_inzynierskich.txt · Last modified: 2023/07/13 00:59 by pszwed
CC Attribution-Share Alike 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0