Differences

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

Link to this comparison view

Next revision
Previous revision
Next revision Both sides next revision
tematy_prac_inzynierskich [2019/07/08 00:13]
pszwed [2019]
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 9/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 47: 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