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 15:46] pszwed |
tematy_prac_inzynierskich [2020/10/07 14:55] pszwed [2. Algorytmy optymalizacji ciagłej z użyciem numpy] |
||
---|---|---|---|
Line 12: | Line 12: | ||
===== 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 jako implementacja w Pythonie? :?: | Zarezerwowane jako implementacja w Pythonie? :?: | ||
Line 40: | Line 45: | ||
To jest temat, który można rozszerzyć na kilka algorytmów. Wspólną cechą ma być: | 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 | + | * wykorzystanie operacji biblioteki |
* Zamiast wykonywac operacje na pojedynczych osobnikach (wektorach w R^n), maja być przeprowadzane operacje na całych macierzach (w których wiersz odpowiada osobnikowi) | * 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:// | * uzycie do testów funkcji z konferencji CEC [[http:// | ||
* Z reguły algorytmy mają jakieś parametry. Dla danej funkcji | * 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ń | * 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 === | === 2.a PSO === | ||
Line 64: | Line 70: | ||
Inne do przedyskutowania..., | 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 ===== |