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 [2023/05/09 17:07]
pszwed [2023]
tematy_prac_inzynierskich [2023/07/13 00:59] (current)
pszwed [5. Zapytania w języku naturalnym do bazy danych (geograficznych)]
Line 15: Line 15:
  
 ==== 1. Aplikacja do analizy sieci społecznościowej pracowników AGH ==== ==== 1. Aplikacja do analizy sieci społecznościowej pracowników AGH ====
 +
 +Zarezerwowane [M.D.]
  
 Zakres pracy: Zakres pracy:
Line 28: Line 30:
  
 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).  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]
  
  
tematy_prac_inzynierskich.1683644847.txt.gz · Last modified: 2023/05/09 17:07 by pszwed
CC Attribution-Share Alike 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0