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/06/28 03:14] pszwed [4. Generacja i testy Negatywnych Baz Danych] |
tematy_prac_inzynierskich [2020/06/28 03:51] pszwed [4. Generacja i testy Negatywnych Baz Danych] |
===== 2020 ===== | ===== 2020 ===== |
| |
*Map matching | -Map matching |
*Algorytmy optymalizacji | -Algorytmy optymalizacji (możliwych jest kilka tematów) |
*Grupowanie grawitacyjne | -Grupowanie grawitacyjne |
*Generacja i testy Negatywnych Baz Danych | -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? :?: |
$f=b_0\wedge \neg b_2 \lor \neg b_0$. | $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 SAT [[https://pl.wikipedia.org/wiki/Problem_spe%C5%82nialno%C5%9Bci]], 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]]). | 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 ==== |
| 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 ===== |