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
Next revision Both sides next revision
tematy_prac_inzynierskich [2019/07/01 01:22]
pszwed [3. Map matching]
tematy_prac_inzynierskich [2020/03/10 15:44]
pszwed [Proces dyplomowania]
Line 1: Line 1:
 +===== Szablon =====
 +
 +  - bez katedry (to nie ma większego znaczenia),
 +  - //Projekt dyplomowy// (a nie //Projekt inżynierski// ani //Praca dyplomowa//),
 +  - czcionka nie ma dużego znaczenia
 +  - na drugiej stronie nie ma już oświadczenia, bo są one osobno składane.
 +
 +Jeżeli praca została wysłana do Wirtualnej Uczelni, nie jest konieczna jej modyfikacja. [07.01.2020]
 +
 +[[proces_dyplomowania]]
 +===== Struktura pracy ======
 +
 +[[struktura_pracy_inz|Struktura pracy]]
 +
 +=====Uwagi=====
 +
 +  * W tekście pracy nie używamy czasu przyszłego (opisujemy to, co jest/istnieje lub to, co zostało zrobione)
 +  * Nie piszemy, że //chcemy przybliżyć// lub //ułatwić zrozumienie//. Czytelnikiem jest osoba oceniająca pracę, więc nie można sugerować, że czegoś może nie rozumieć ;-)
 +  * W miarę mozliwosci ilustrujemy tekst rysunkami. Nawet prostymi, typu przepływ danych od A do D poprzez B i C: A -> B -> C -> D. 
 +  * Podczas obrony przewidziana jest trwająca około 7 min prezentacja, podczas której pokazuje się 8-12 slajdów. Prezentacja jest oceniana (25% oceny z obrony). Rysunki wybrane z pracy są tu dobrymi kandydatami na treść slajdów.
 +  * Prezentacja powinna obejmować:
 +      - Slad tytułowy
 +      - Cel pracy
 +      - Przedstawiennie problemu, motywacje
 +      - Może zawierać elementu przegladu literatury (ale krótko)
 +      - Opis prac własnych (zaprojektowano, zaimplementowano, przetestowano, rezultaty). Raczej rysunki, diagramy, niewielkie tabele, mało tekstu.
 +      - Podsumowanie 
 +  * Zła prezentacja:
 +     * Ma 20 slajdów
 +     * W tym 12+ to przegląd literatury i przytoczenie znanych faktów/definicji/rozwiązań/technologii, a 3 slady na prace własne
 +     * Dyplomant skupia się na szczegółach
 +     * Około 14 slajdu przewodniczący komisji przerywa i prosi o przejście do podsumowania (przed slajdami z pracami własnymi)
 ====== 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/PostGIS, na podsatwie [[https://www.researchgate.net/publication/263855222_SLIDES_An_Incremental_Map-Matching_Algorithm_Based_on_Hidden_Markov_Model]]
 +
 +Procedury mogą być zaimplementowane w 
 +  - [[https://www.postgresql.org/docs/9.2/plpgsql.html]] preferowane, łatwe w konfiguracji i wydajne
 +  - Java lub Pythonie (trudniejsze w konfiguracji i dyskusyjne wydajnościowo)
 +
 +(b) Alternatywnie, dla mapy przechowywanej w pamięci w językach Java lub Python, ale konieczna implementacja funkcjonalności, które są w PostGIS zaimplementowane (indeksy przestrzene, obliczanie odleglości) oraz wstępne prztewarzanie danych mapy.
 +
 +Zakres:
 +  - załaduj mapę oryginalną
 +  - podziel drogę na segmenty (od skrzyżowania do skrzyżowania)
 +  - dodaj tabele/struktury danych do przechowywania ścieżek GPS
 +  - dodaj tabele/struktury danych na graf przypisujący odczyty do punktów na odcinkach dróg
 +  - napisz procedurę, która dla nowego punktu: 
 +    - rozszerza graf o nowe możliwe wierzchołki //expansion//  
 +    - usuwa z grafu wierchołki, z których nie można kontynuować //contraction//
 +  - 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://www.tflsgo.org/special_sessions/cec2019]]. Konieczna jest ich reimplementacja. Funkcje CEC wykorzystują kilkanascie funkcji bazowych, które następnie są zniekształcane przez przesuniecia i rotacje. W przypadku kilku prac można zestw funkcji opracować wspólnie.
 +  * Z reguły algorytmy mają jakieś parametry. Dla danej funkcji  należy przeprowadzić dobór parametrów przez losowe lub systematyczne przeszukanie przestrzeni parametrów.
 +  * 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, np. wykorzytsujac idee z [[https://www.ncbi.nlm.nih.gov/pmc/articles/PMC4037618/]]
 +
 +=== 2.c Algorytm pszczeli ===
 +
 +Istnieje kilka wersji...  
 +
 +=== 2.d === 
 +
 +Inne do przedyskutowania..., np [[https://troja.uksw.edu.pl/zasoby/SL2014-ZhangSanderson2009.pdf]]
  
 ===== 2019 ===== ===== 2019 =====
  
-Obecnie zarezerwowanych jest 7/12+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 10: Line 99:
  
 ==== 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, zbieranie publikacji prasowych na popularnych portalach, produktów z Allegro, itp. Zakres zadań do uzgodnienia.   Przegląd i porównanie narzędzi WebScraping dla kilku przykładowych zadań, np. zbieranie danych z serwisu nieruchomości lub samochodów, zbieranie publikacji prasowych na popularnych portalach, produktów z Allegro, itp. Zakres zadań do uzgodnienia.  
  
Line 40: Line 131:
  
 ==== 5. Aplikacja webowa do edycji dokumentacji projektowej ==== ==== 5. Aplikacja webowa do edycji dokumentacji projektowej ====
 +:!: Rezerwacja
 +
 Projekt w stylu [[http://home.agh.edu.pl/~pszwed/wiki/doku.php?id=amo:projekt]] Projekt w stylu [[http://home.agh.edu.pl/~pszwed/wiki/doku.php?id=amo:projekt]]
 Konfigurowalna struktura dokumentu: [[http://home.agh.edu.pl/~pszwed/wiki/doku.php?id=amo:rup_tailored]] Konfigurowalna struktura dokumentu: [[http://home.agh.edu.pl/~pszwed/wiki/doku.php?id=amo:rup_tailored]]
Line 45: Line 138:
  
 ==== 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...//
  
tematy_prac_inzynierskich.txt · Last modified: 2024/06/17 14:54 by pszwed
CC Attribution-Share Alike 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0