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 [2020/03/10 14:39] pszwed [2020] |
tematy_prac_inzynierskich [2021/08/25 23:50] pszwed [2021] |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | ===== Szablon | + | ===== Struktura pracy ===== |
- | | + | |
- | - //Projekt dyplomowy// (a nie //Projekt inżynierski// | + | |
- | - czcionka nie ma dużego znaczenia | + | |
- | - na drugiej stronie nie ma już oświadczenia, | + | |
- | Jeżeli praca została wysłana do Wirtualnej Uczelni, nie jest konieczna jej modyfikacja. | + | *[[prace_inz_uwagi|Uwagi]] |
- | ===== Proces dyplomowania | + | *[[proces_dyplomowania|Proces dyplomowania]] |
- | - Dyplomatka/ | ||
- | - Promotor nanosi poprawki. Ten cykl może się powtarzać... | ||
- | - Kiedy nie ma uwag, przygotowywana jest wersja finalna w PDF i przekazywana przez Dyplomantkę/ | ||
- | - Praca automatycznie trafia do systemu antyplagiatowego i po jakimś czasie (liczonym na ogół w godzinach) pojawia się raport | ||
- | - Promotor potwierdza, że praca nie jest plagiatem, pisze opinię w systemie Baza Prac EAIiIB i wgrywa opinię do systemu Wirtualna Uczelnia. Wystawia też ocenę. | ||
- | - Często w tym momencie następuje wybór Recenzenta (o ile nie jest narzucony wcześniej) | ||
- | - Następnie praca zmienia status na // | ||
- | - Recenzent przygotowuej recenzję w systemie Baza Prac EAIiIB i wgrywa ją do Wirtualnej Uczelni, wystawia też ocenę. Zazwyczaj nie trwa to długo (2-3 dni), ale system zakłada 5 dni na recenzję. Czasem Recenzent może chcieć uzyskać wgląd do kodu pracy. | ||
- | - Recenzent i promotor drukują opinie (są to osobne kartki), podpisują je i najczęściej zostawiają na półeczce na korespondencję w sekretariacie Katedry C2 406, czynne od 9.00-15.00 | ||
- | - Zadaniem Dyplomantki/ | ||
- | W przypadku pomyłek, błędów, niestandardowych systuacji wszelkie interwencje dokonywane są manualnie przez administratora systemu, co zajmuje sporo czasu. Więc proszę dokładnie sprawdzać dokuemnty przed przesłaniem. | + | ====== Tematy prac inżynierskich ====== |
- | :!: Kluczowe jest zapisanie się na jakiś (realny) termin obrony. Dla prac nieukończonych, | + | ===== 2021 ===== |
- | ===== Struktura pracy ====== | + | Możliwe jest zgłaszanie własnych tematów. Jednak, nie chcę prowadzić prac polegających na implementacji aplikacji webowej/ |
+ | z użyciem typowego stosu technologicznego, | ||
- | [[struktura_pracy_inz|Struktura pracy]] | ||
- | =====Uwagi===== | ||
- | * W tekście pracy nie używamy czasu przyszłego (opisujemy to, co jest/ | + | === 1. Optymalizacja ciągła: PyTorch + algorytm pszczeli=== |
- | * Nie piszemy, że //chcemy przybliżyć// | + | [zajęte, MW] |
- | * W miarę mozliwosci ilustrujemy tekst rysunkami. Nawet prostymi, typu przepływ | + | |
- | * Podczas obrony przewidziana jest trwająca około 7 min prezentacja, podczas której pokazuje się 8-12 slajdów. Prezentacja jest oceniana | + | === 2. Optymalizacja ciągła - algorytm mrówkowy=== |
- | * Prezentacja powinna obejmować: | + | Obejmuje opracowanie algorytmu (specyficzna implementacja). Platforma TensorFlow |
- | - Slad tytułowy | + | Testy z użyciem funkcji testowych z konferencji CEC |
- | - Cel pracy | + | [zajęte MS] |
- | - Przedstawiennie problemu, motywacje | + | |
- | | + | === 3. Inne algorytmy optymalizacji ciągłej === |
- | - Opis prac własnych | + | Do ustalenia. |
- | - Podsumowanie | + | |
- | * Zła prezentacja: | + | === 4. Baza wiedzy z rozmytymi relacjami=== |
- | * Ma 20 slajdów | + | Na przykładzie rekomendacji dietetycznych dla różnych typów schorzeń. |
- | * W tym 12+ to przegląd literatury | + | Obejmuje: bazę, interfejs dostępu REST do odczytu i zapisu, aplikację webową. Należy wypełnić bazę przykładowymi danymi, np dla 2-3 schorzeń i produktów spozywczych. |
- | * Dyplomant skupia | + | |
- | * Około 14 slajdu przewodniczący komisji przerywa i prosi o przejście do podsumowania (przed slajdami z pracami | + | === 5. Repozytorium |
- | ====== | + | Obejmuje projekt |
+ | |||
+ | === 6. Rozpoznawanie aktywności użytkownika na podstawie odczytów czujników urządzenia mobilnego === | ||
+ | Aplikacja mobilna zbierająca i interpretująca dane. Należy zarejestrować przykłady odczytów (bieg, chód, | ||
+ | |||
+ | === 7. Predykcja szeregów czasowych | ||
+ | Implementacja | ||
+ | |||
+ | === 8. Projekt i implementacja wybranych algorytmów grupowania dla PostgreSQL=== | ||
+ | Przykładowe algorytmy to k-means, db-scan, ward. Implementacja w języku PL/pgSQL. Projekt obejmuje generację danych syntetycznych różnych rozmiarów i testy algorytmów. | ||
+ | |||
+ | === 9. Rozpoznawanie emocji | ||
+ | W ramach pracy należy zdefiniować kilka kategorii emocji | ||
+ | [zajęte MW] | ||
+ | |||
+ | === 10. Generacja informacji o ruchu w grafie === | ||
+ | Graf sieci drogowej na podstawie mapy OSM. Rozmiar - co najmniej aglomeracja. W sieci porusza | ||
+ | |||
+ | === 11. Grupowanie obiektów | ||
+ | Implementacja algorytmu, który będzie łączył w grupy blisko położone obiekty. Odległość musi uwzględniać rzeczywistą odległość w sieci drogowej (długość drogi wyznaczonej np. algorytmem A-star). [zarezerwowane KR] | ||
+ | |||
+ | === 12. Wirtualny wyścig | ||
+ | [Zajęte AK] | ||
+ | |||
+ | === 13. Animacja awatara | ||
+ | [zarezerwowane AG] | ||
+ | |||
+ | <!-- | ||
+ | **Na razie nie mam propozycji tematów ** | ||
+ | |||
+ | Generalnie, nie chcę prowadzić tematów polegających na implementacji aplikacji webowej/ | ||
+ | |||
+ | Typowy zakres prac | ||
+ | * eksploracji danych/ | ||
+ | * algorytmy optymalizacji ciagłej (ale na platformie typu TensorFlow lub PyTorch) | ||
+ | * może to być implementacja systemu, który będzie miał jakiś inteligentny komponent albo będzie przydatne w tej dziedzinie - jak narzędzie do etykietowania | ||
+ | --> | ||
===== 2020 ===== | ===== 2020 ===== | ||
+ | -Map matching :!: Zajęte | ||
+ | -Algorytmy optymalizacji (możliwych jest kilka tematów) :!: Jeden temat zajęty | ||
+ | -Grupowanie grawitacyjne :!: Zajęte | ||
+ | -Generacja i testy Negatywnych Baz Danych :!: Zajęte | ||
+ | -Analiza antyplagiatowa kodu :!: Zajęte | ||
==== 1. Map matching ==== | ==== 1. Map matching ==== | ||
- | Zarezerwowane? | + | Zarezerwowane |
(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/ | ||
Line 74: | Line 101: | ||
- jakościowe - czy ścieżki są odwzorowane poprawnie | - jakościowe - czy ścieżki są odwzorowane poprawnie | ||
- wydajnościowe - ile zapytań można przetwarzać w jednostce czasu, ewentualnie grupowanie punktów jednej ściezki | - 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** lub **tensorflow**. 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ń | ||
+ | * Działanie algorytmu należy przetestować, | ||
+ | |||
+ | === 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..., | ||
+ | |||
+ | ==== 3. Grupowanie grawitacyjne (CUDA)==== | ||
+ | :!: Zajete | ||
+ | Grupowanie (klasteryzacja) to proces łączenia danych w grupy. Przez dane rozumiane są tu wektory w R^n. Zazwyczaj oczekuje się, że grupy będą od siebie oddalone, natomiast dane należące do jednej grupy położone blisko siebie. Przy grupowaniu grawitacyjnym wykorzystuje się model sił grawitacji - blisko położone punkty przyciągają się mocniej i skupiają w grupy. | ||
+ | Celem pracy jest implementacja kilku znanych wersji algorytmu grupowania grawitacyjnego i przetestowanie ich działania. | ||
+ | |||
+ | Platforma implementacji CUDA (NVidia). Ewentulnie porównanie z czystym C. | ||
+ | |||
+ | |||
+ | |||
+ | ==== 4. Generacja i testy Negatywnych Baz Danych ==== | ||
+ | |||
+ | :!: Zajete | ||
+ | |||
+ | Negatywne Bazy Danych (NDB) przechowują w jawnej postaci negatywną informację. Można to przeanalizować na przykładzie łańcucha bitów 101. Negatywna reprezentacja to oczywiście wyliczenie innych wariacji: 001,010, itd. Stosując symbole wieloznaczne może to być również | ||
+ | < | ||
+ | Te dwie ostatnie specyfikacje są równoważne formule logicznej | ||
+ | |||
+ | $f=b_0\wedge \neg b_2 \lor \neg b_0$. | ||
+ | |||
+ | Znalezienie ciągu zdań (bitów), dla których formuła jest prawdziwa to zagadnienie | ||
+ | |||
+ | |||
+ | ==== 5. Analiza antyplagiatowa kodu ==== | ||
+ | :!: Zarezerwowany | ||
+ | |||
+ | Celem pracy jest implementacja systemu, który będzie umożliwiał przesłanie plików źródłowych w wybranym języku programowania przez zalogowanych użytkowników, | ||
+ | |||
===== 2019 ===== | ===== 2019 ===== | ||