Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
tematy_prac_inzynierskich [2019/07/01 00:55] pszwed [6. Optymalizacja na GPU] |
tematy_prac_inzynierskich [2020/03/10 15:46] pszwed |
||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ===== Struktura pracy ===== | ||
+ | |||
+ | *[[struktura_pracy_inz|Struktura pracy]] | ||
+ | |||
+ | *[[prace_inz_uwagi|Uwagi]] | ||
+ | |||
+ | *[[proces_dyplomowania|Proces dyplomowania]] | ||
+ | |||
+ | |||
====== Tematy prac inżynierskich ====== | ====== Tematy prac inżynierskich ====== | ||
+ | |||
+ | ===== 2020 ===== | ||
+ | |||
+ | ==== 1. Map matching ==== | ||
+ | Zarezerwowane jako implementacja w Pythonie? :?: | ||
+ | |||
+ | (a) Implementacja (znanego) algorytmu rzutowania sekwencji odczytów GPS na mapę w postaci procedur składowanych dla PostgreSQL/ | ||
+ | |||
+ | Procedury mogą być zaimplementowane w | ||
+ | - [[https:// | ||
+ | - Java lub Pythonie (trudniejsze w konfiguracji i dyskusyjne wydajnościowo) | ||
+ | |||
+ | (b) Alternatywnie, | ||
+ | |||
+ | Zakres: | ||
+ | - załaduj mapę oryginalną | ||
+ | - podziel drogę na segmenty (od skrzyżowania do skrzyżowania) | ||
+ | - dodaj tabele/ | ||
+ | - dodaj tabele/ | ||
+ | - napisz procedurę, która dla nowego punktu: | ||
+ | - rozszerza graf o nowe możliwe wierzchołki // | ||
+ | - usuwa z grafu wierchołki, | ||
+ | - podprocedury powinny mieć warianty lub być sterowane parametrami | ||
+ | - Testy: | ||
+ | - jakościowe - czy ścieżki są odwzorowane poprawnie | ||
+ | - wydajnościowe - ile zapytań można przetwarzać w jednostce czasu, ewentualnie grupowanie punktów jednej ściezki | ||
+ | |||
+ | ==== 2. Algorytmy optymalizacji ciagłej z użyciem numpy ==== | ||
+ | |||
+ | To jest temat, który można rozszerzyć na kilka algorytmów. Wspólną cechą ma być: | ||
+ | |||
+ | * wykorzystanie operacji biblioteki numpy. Mimo, że są funkcjami Pythona, sa zaimplementowane w C i działają wydajnie | ||
+ | * Zamiast wykonywac operacje na pojedynczych osobnikach (wektorach w R^n), maja być przeprowadzane operacje na całych macierzach (w których wiersz odpowiada osobnikowi) | ||
+ | * uzycie do testów funkcji z konferencji CEC [[http:// | ||
+ | * Z reguły algorytmy mają jakieś parametry. Dla danej funkcji | ||
+ | * Wybór macierzowej reprezentacji może powodować pewne niewielkie odstepstwa od bazowego algorytmu mające na celu przyspieszenie obliczeń | ||
+ | |||
+ | === 2.a PSO === | ||
+ | |||
+ | Implementacja algorytmu Particle Swarm Optimization. Należy zaimplementować rózne topologie: | ||
+ | * globalną | ||
+ | * sąsiedzi | ||
+ | * losowowanie grafu | ||
+ | |||
+ | === 2.b Algorytm mrówkowy === | ||
+ | |||
+ | Implementacja algorytmu mrówkowego, | ||
+ | |||
+ | === 2.c Algorytm pszczeli === | ||
+ | |||
+ | Istnieje kilka wersji... | ||
+ | |||
+ | === 2.d === | ||
+ | |||
+ | Inne do przedyskutowania..., | ||
===== 2019 ===== | ===== 2019 ===== | ||
+ | Obecnie zarezerwowanych jest 12/12 | ||
+ | |||
+ | :!: ** Nie podejmuję się prowadzenia kolejnych prac ze wzgledu na osiągnięcie limitu** :!: | ||
==== 1. Wizualizacja danych geograficznych ==== | ==== 1. Wizualizacja danych geograficznych ==== | ||
:!: Rezerwacja | :!: Rezerwacja | ||
Line 9: | Line 76: | ||
==== 2. Narzędzia WebScraping ==== | ==== 2. Narzędzia WebScraping ==== | ||
+ | :!: Rezerwacja | ||
+ | |||
Przegląd i porównanie narzędzi WebScraping dla kilku przykładowych zadań, np. zbieranie danych z serwisu nieruchomości lub samochodów, | Przegląd i porównanie narzędzi WebScraping dla kilku przykładowych zadań, np. zbieranie danych z serwisu nieruchomości lub samochodów, | ||
==== 3. Map matching ==== | ==== 3. Map matching ==== | ||
- | (a) Implementacja (znanego) algorytmu rzutowania sekwencji odczytów GPS na mapę w postaci procedur składowanych dla PostgreSQL/ | + | (a) Implementacja (znanego) algorytmu rzutowania sekwencji odczytów GPS na mapę w postaci procedur składowanych dla PostgreSQL/ |
- | (b) Alternatywnie, | + | |
+ | Procedury mogą być zaimplementowane w | ||
+ | - [[https:// | ||
+ | - Java lub Pythonie (trudniejsze w konfiguracji i dyskusyjne wydajnościowo) | ||
+ | |||
+ | (b) Alternatywnie, | ||
+ | |||
+ | Zakres: | ||
+ | - załaduj mapę oryginalną | ||
+ | - podziel drogę na segmenty (od skrzyżowania do skrzyżowania) | ||
+ | - dodaj tabele/ | ||
+ | - dodaj tabele/ | ||
+ | - napisz procedurę, która dla nowego punktu: | ||
+ | - rozszerza graf o nowe możliwe wierzchołki // | ||
+ | - usuwa z grafu wierchołki, | ||
+ | - podprocedury powinny mieć warianty lub być sterowane parametrami | ||
+ | - Testy: | ||
+ | - jakościowe - czy ścieżki są odwzorowane poprawnie | ||
+ | - wydajnościowe - ile zapytań można przetwarzać w jednostce czasu, ewentualnie grupowanie punktów jednej ściezki | ||
==== 4. Wykorzystannie reguł rozmytych do rekomendacji produktów ==== | ==== 4. Wykorzystannie reguł rozmytych do rekomendacji produktów ==== | ||
:!: Rezerwacja | :!: Rezerwacja | ||
Line 22: | Line 108: | ||
==== 5. Aplikacja webowa do edycji dokumentacji projektowej ==== | ==== 5. Aplikacja webowa do edycji dokumentacji projektowej ==== | ||
+ | :!: Rezerwacja | ||
+ | |||
Projekt w stylu [[http:// | Projekt w stylu [[http:// | ||
Konfigurowalna struktura dokumentu: [[http:// | Konfigurowalna struktura dokumentu: [[http:// | ||
Line 27: | Line 115: | ||
==== 6. Optymalizacja na GPU ==== | ==== 6. Optymalizacja na GPU ==== | ||
+ | |||
Implementacja popularnych algorytmów optymalizacji ciągłej na GPU: CUDA lub OpenCL. //Takich prac może być wiecej...// | Implementacja popularnych algorytmów optymalizacji ciągłej na GPU: CUDA lub OpenCL. //Takich prac może być wiecej...// | ||
Line 48: | Line 137: | ||
- WebAssembly | - WebAssembly | ||
- Rekomendacja/ | - Rekomendacja/ | ||
- | - Przepisy | + | - Przepisy |
+ | - Smart Mirror | ||