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 [2020/03/10 16:18]
pszwed [2. Algorytmy optymalizacji ciagłej z użyciem numpy]
tematy_prac_inzynierskich [2020/10/05 21:26]
pszwed [4. Generacja i testy Negatywnych Baz Danych]
Line 12: Line 12:
 ===== 2020 ===== ===== 2020 =====
  
 +  -Map matching
 +  -Algorytmy optymalizacji (możliwych jest kilka tematów)
 +  -Grupowanie grawitacyjne
 +  -Generacja i testy Negatywnych Baz Danych
 +  -Analiza antyplagiatowa kodu
 ==== 1. Map matching ==== ==== 1. Map matching ====
 Zarezerwowane jako implementacja w Pythonie? :?: Zarezerwowane jako implementacja w Pythonie? :?:
Line 65: Line 70:
  
 Inne do przedyskutowania..., np [[https://troja.uksw.edu.pl/zasoby/SL2014-ZhangSanderson2009.pdf]] Inne do przedyskutowania..., np [[https://troja.uksw.edu.pl/zasoby/SL2014-ZhangSanderson2009.pdf]]
 +
 +==== 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.  Testy mają obejmować  [[https://scikit-learn.org/stable/modules/clustering.html|typowe przykłady 2D]] oraz kilkanaście zbiorów danych z repozytorium UCI. 
 +
 +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ż 
 +<code>1*0, 0**</code> 
 +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  [[https://pl.wikipedia.org/wiki/Problem_spe%C5%82nialno%C5%9Bci|SAT]], które jest problemem o złożoności NP. Jest to problem łatwy, dla 1-20 bitów (zastosowanie brute force), ale dla  64 trudny. Celem pracy jest implementacja algorytmów generacji NDB oraz przeprowadzenie testów, czy możliwe jest złamanie wygenerowanych NDB z użyciem wybranych solwerów SAT (np. [[http://minisat.se/|Mini SAT]] i  [[https://www.princeton.edu/~chaff/zchaff.html|zChaff]]).
 +
 +
 +==== 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, a następnie określał stopień podobieństwa kodu. Podstawowym narzędziem do wykorzystania jest znany algorytm określania najdłuższego wspólnego podciągu. Można zajrzeć tu [[http://home.agh.edu.pl/~pszwed/wiki/lib/exe/fetch.php?media=07-imperatywne-jezyk-c-lancuchy-znakow.pdf|str 27]]. Podobieństwo powinno być określane: na poziomie znaków oraz na poziomie symboli. Szczególnie interesująca jest modyfikacja algorytmu tak, aby uwzględnić substytucję symboli, tzn. jeżeli napotkany zostanie identyfikator x12 oraz odpowiadający mu identyfikator y10, wówczas obliczony zostanie także stopień dopasowania po zamianie x12 na y10.
  
 ===== 2019 ===== ===== 2019 =====
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