KAMS -  TEMATY PRAC DYPLOMOWYCH  MAGISTERSKICH    2017

KAMS - MASTER THESIS PROPOSITIONS

 

1.

Temat w języku polskim
 

Algorytmy grafowej i sieciowej optymalizacji dyskretnej w ramach biblioteki KOALA.

Temat w języku angielskim

Graph-theoretic discrete optimizations algorithm for KOALA library.

Opiekun pracy

prof. dr hab. inż. Krzysztof Giaro

Konsultant pracy

 

Cel pracy

Biblioteka KOALA obejmuje rozległy zbiór wielomianowych algorytmów rozwiązujących rozmaite zagadnienia z zakresu grafowej i sieciowej optymalizacji dyskretnej, zaimplementowanych jako szablony C++. Celem pracy jest jej wzbogacenie o dalsze nietrywialnie procedury (szczegółowy zakres do uzgodnienia, wstępne propozycje: wyszukiwanie ważonych skojarzeń, nieklasyczne modele kolorowania, rozbudowa/modyfikacja istniejących generycznych klas struktur danych).

Zadania

  1. Zapoznanie się z szablonami i metaprogramowaniem w C++
  2. Zapoznanie się z biblioteką KOALA.
  3. Implementacja wybranych algorytmów na potrzeby biblioteki.

Literatura

  1. M. Sysło, N. Deo, J. Kowalik, Algorytmy optymalizacji dyskretnej, PWN.
  2. Schrijver, A Course in Combinatorial Optimization, National research institute for mathematics and computer science in the Netherlands & Department of Mathematics University of Amsterdam, 2006. http://homepages.cwi.nl/~lex/files/dict.pdf
  3. D. Vandervoorde, N. Josuttis "C++ Szablony, Vademecum profesjonalisty", Helion S.A 2003.
  4. N. Josuttis "C++ Biblioteka Standardowa, podręcznik programisty", Wydawnictwo HELION 2003.
  5. Dokumentacja KOALI: http://kaims.pl/koala/

Uwagi

Wymagana bardzo dobra znajomość C++.

Liczba wykonawców

1 – 2

Wykonawcy

 

 

2.

Temat w języku polskim
 

Algorytmy genetyczne w rekonstrukcji drzewa filogenetycznego

Temat w języku angielskim

Genetic algorithms in phylogenetic analysis

Opiekun pracy

Prof. dr hab. inż. Krzysztof Giaro

Konsultant pracy

 

Cel pracy

Współcześnie stosowane metody rekonstrukcji drzewa rodowego gatunków często dostarczają jedynie prostej miary jakości (np. „wiarygodności”) konkretnej topologii pozostawiając programiście kwestię wyszukania drzewa optymalnego. Z racji superwykładniczego tempa wzrostu mocy zbioru istotnie różnych drzew w funkcji liczby gatunków już przy kilkunastu liściach niezbędne jest stosowanie metaheurystyk. Tradycyjnie używa się simulaed annealing z jednym z klasycznych sąsiedztw (NNI, SPR lub TBR). Celem rozprawy jest opracowanie efektywnych operatorów krzyżowania i porównanie skuteczności algorytmów genetycznych ze standardowym podejściem.

Zadania

1. Ogólny opis zakresu stosowania metaheurystyk w rekonstrukcji drzewa filogenetycznego.

2. Opracowanie i implementacja losowego „generatora instancji” dla naszego zagadnienia.

3. Zaproponowanie i implementacja procedur krzyżowania drzew binarnych o tym samym zbiorze liści.

4. Komputerowe testy porównawcze wybranej metaheurystyki z algorytmem genetycznym dla różnych rozmiarów drzew, funkcji jakości, parametrów procedury itp.

Literatura

  1. David Bryant, Building trees, hunting for trees and comparing trees, University of Canterbury.
  2. Joseph Felsenstein, Inferring Phylogenies, Oxford University Press.
  3. Zbigniew Michalewicz, Algorytmy genetyczne + struktury danych = programy ewolucyjne, WNT.

 

Liczba wykonawców

1

Wykonawcy

Barbara Olszewska

 

3.

Temat w języku polskim

Biblioteka algorytmów i operacji na matroidach.

Temat w języku angielskim

Class library for matroid algorithms and operations.

Opiekun pracy

prof. dr hab. inż. Krzysztof Giaro

Konsultant pracy

 

Cel pracy

Matroidy są strukturami kombinatorycznymi uogólniającymi szereg obiektów występujących w różnych działach kombinatoryki, algebry i teorii grafów (np. drzewa spinające, bazy przestrzeni wektorowych, transwersale). Wiele algorytmów optymalizacji dyskretnej ma swoje odpowiedniki w ogólniejszych matroidowych wersjach. Celem pracy jest implementacja biblioteki klas C++ reprezentujących jako kontenery podany przez użytkownika (w formie dostarczonej "wyroczni" np. funkcji testującej niezależność lub wyliczającej rangę) matroid, transformujących je (np. matroid dualny, ściągniecie, suma), wreszcie generyczna implementacja wybranych wielomianowych procedur optymalizacyjnych.

Zadania

  1. Zapoznanie się z formalizmem matroidów i algorytmami dedykowanymi dla nich.
  2. Zapoznanie się z szablonami C++ i biblioteką STL.
  3. Zaprojektowanie klas reprezentujących matroidy i procedur nań działających.
  4. Implementacja biblioteki.
  5. Realizacja przykładowych algorytmów optymalizacji dyskretnej wykorzystujących formalizm matroidowy.

Literatura

  1. A. Schrijver, A Course in Combinatorial Optimization, National research institute for mathematics and computer science in the Netherlands & Department of Mathematics University of Amsterdam, 2006. http://homepages.cwi.nl/~lex/files/dict.pdf
  2. A. Schrijver, Combinatorial Optimization vol. B., Springer-Verlag 2004.
  3. Graham R.L., Grotschel, Lovász L., Handbook of Combinatorics, Elsevier 1995.
  4. N. Josuttis. C++ Biblioteka Standardowa, wydanie II, Wydawnictwo HELION 2014.

Liczba wykonawców

1

Wykonawcy

 

 

4.

Temat w języku polskim

Klasy decyzyjne dla agentowych problemów rozproszonych

Master Thesis Subject

Decidability classes for distributed problems with mobile agents

Opiekun pracy
Supervisor

dr hab. inż. Dariusz Dereniowski

Konsultant pracy

Consultant

dr hab. inż. Dariusz Dereniowski

Cel pracy

 

 

 

 

 

 

 

Aim

Celem pracy jest zapoznanie się z zaproponowanymi w poniżej wskazanych pracach naukowych sposobami klasyfikowania rozproszonych problemów agentowych, poprzez grupowanie tych problemów w postaci klas na wzór klasycznych klas złożoności dla problemów decyzyjnych. Analiza wskazanych klasyfikacji problemów rozproszonych powinna zaowocować wskazaniem licznych przykładów problemów agentowych i ich przynależności do poszczególnych klas problemów. Także, student powinien podjąć próbę teoretycznej analizy owych klas złożoności.

 

The goal of the thesis is to learn the theory of decidability classes in mobile agent distributed computing proposed in the litarture listed below. The analysis of these classifications should result in pointing out several exampels of mobile agent problems and their memberships in decidability classes. Also, student should undertake of theoretical analysis of the decidability classes.

Zadania

 

 

 

 

Tasks

1. Zapoznanie się z literaturą przedmiotu.

2. Dokonanie szczegółowego opisu klas decyzyjnych dla problemów agentowych.

3. Dokonanie samodzielnej klasyfikacji przykładowych problemów agentowych.

4. Teoretyczna analiza klasyfikacji problemów agentowych.

 

1. Study of the literature on the subject.

2. Detailed description of the decidability classes.

3. Clasification of exemplary problems to mobile agent decidability classes.

4. Theoretical analysis of decidability classes.

Literatura

Literature

1. Pierre Fraigniaud, Andrzej Pelc: Decidability Classes for Mobile Agents Computing. LATIN 2012: 362-374

2. Evangelos Bampas, David Ilcinkas: On Mobile Agent Verifiable Problems. LATIN 2016: 123-137

Uwagi

 

Comments

Jest to temat o charakterze teoretycznym, wymagający bardzo silnych podstaw matematycznych.

 

This is a theoretical thesis that requires a very strong mathematical background.

Liczba wykonawców

Number of contractors

1

Wykonawcy

Contractors

 

 

5.

Temat w języku polskim

Algorytmy dokładne dla problemów bezpieczeństwa w gridach

Temat w języku angielskim

Exact algorithms for security problems in grids

Opiekun pracy

dr hab. inż. Michał Małafiejski

Konsultant pracy

 

Cel pracy

Celem pracy jest implementacja algorytmów dokładnych dla krat (ang. grids) dla problemów bezpieczeństwa w grafach: koalicji wierzchołkowych i krawędziowych, zbiorów defensywnych oraz weryfikacji istnienia równowagi strategicznej w tych strukturach.

Zadania

1. Zapoznanie się z literaturą.
2. Implementacja algorytmów.

3. Testy algorytmów dla krat z ograniczoną liczbą wierzchołków.

4. Analiza wybranych oszacowań w kratach dla parametrów: globalnej liczby koalicyjnej (wierzchołkowej i krawędziowej) oraz globalnej liczby defensywnej i globalnej liczby bezpieczeństwa.

5. Stworzenie katalogu krat z wybranymi własnościami grafowymi.

Literatura

1. R.Lewoń, A.Małafiejska, M.Małafiejski, Global defensive sets in graphs, Discrete Mathematics 339 (2016), 1861-1870

2. R. Lewoń, A. Małafiejska, M. Małafiejski, Strategic balance in graphs, Discrete Mathematics 339, 1837-1847 (2016)
2. R.Lewoń, A.Małafiejska, M.Małafiejski, K.Wereszko, Global edge alliances, 2017 (wysłane do DAM)

3. R.Kozakiewicz, Algorytmy dokładne dla problemów bezpieczeństwa w drzewach i uogólnionych drzewach (praca mgr, 2017)

4. K.Wereszko, Wielomianowe algorytmy dla problemów bezpieczeństwa w grafach (praca mgr, 2016)

Uwagi

Temat o potencjalnym charakterze badawczym.

Wykonawcy

 

 

6.

Temat w języku polskim
 

Problemy końcówkowego kolorowania grafów z ograniczonym stopniem

Temat w języku angielskim

The incidence coloring problems for graphs with bounded degree

Opiekun pracy

dr hab. inż. Michał Małafiejski

Konsultant pracy

 

Cel pracy

Celem pracy jest implementacja wydajnych algorytmów (w architekturze równoległej (klastrowej, CUDA, etc)) wyznaczających końcówkowe liczby chromatyczne grafów z ograniczonym maksymalnym stopniem, stworzenie katalogu małych grafów dla problemów: końcówkowego kolorowania grafów, zwartego końcówkowego kolorowania grafów, sumacyjnego końcówkowego kolorowania grafów.

Zadania

1. Zapoznanie się z literaturą.
2. Implementacja algorytmów.

3. Testy algorytmów dla grafów z ograniczonym stopniem.

4. Weryfikacja komputerowa wybranych hipotez: ICC dla grafów z  ze stopniem co najwyżej 4, hipoteza IICC dla grafów ze stopniem co najwyżej 4, własność dziedziczności dla grafów podkubicznych.

Literatura

  1. Janczewski R., Małafiejska A., Małafiejski M., Interval incidence coloring of bipartite graphs, Discrete Applied Mathematics 166 (2014), 131–140
  2. Janczewski R., Małafiejska A., Małafiejski M., Interval incidence graph coloring, Discrete Applied Mathematics 182 (2015), 73–83
  3. Małafiejska A., Małafiejski M., Interval Incidence Coloring of Subcubic Graphs, Discussiones Mathematicae Graph Theory 37, 427-441 (2017)
  4. Janczewski R., Małafiejska A., Małafiejski M., On incidence coloring of complete multipartite graphs and semicubic bipartite graphs, Discussiones Mathematicae Graph Theory, to appear (2017)
  5. Maydanskiy M., The incidence coloring conjecture for graphs of maximum degree 3, Discrete Mathematics 292 (2005), 131–141

Uwagi

Temat o potencjalnym charakterze badawczym.

Wykonawcy

 

 

7.

Temat w języku polskim

Internetowa wyszukiwarka kodów źródłowych

Temat w języku angielskim

Internet source code finder

Opiekun pracy

dr inż. Krzysztof M. Ocetkiewicz

Konsultant pracy

 

Cel pracy

Celem pracy jest implementacja programu, który na podstawie wskazanych słów kluczowych przeszuka zasoby Internetu w poszukiwaniu kodów źródłowych powiązanych z tymi słowami kluczowymi. Rezultatem działania powinna być lista kodów źródłowych oraz informacja, skąd pochodzą.

Zadania

1.przegląd popularnych wyszukiwarek internetowych oraz metod ich wykorzystania,

2. przegląd popularnych serwisów typu paste bin i sposobów dostępu do ich zasobów

3. implementacja modułu klienta HTTP,

4. implementacja modułu wydobywania kodu ze strony HTML,

5. implementacja wyszukiwarki,

6. dokumentacja.

Literatura

1. https://www.w3.org/html/

2. dokumentacja wybranego języka programowania

Uwagi

 

Wykonawcy

Łukasz Ważny

 

8.

Temat w języku polskim

Garbage collector dla języka C++

Temat w języku angielskim

Garbage collector for C++

Opiekun pracy

dr inż. Krzysztof M. Ocetkiewicz

Konsultant pracy

 

Cel pracy

Celem pracy jest zapoznanie się z technikami automatycznego zarządzania pamięcią oraz implementacja biblioteki do automatycznego zarządzania pamięcią dla języka C++.

Zadania

1. zapoznanie się z tematyką zarządzania pamięcią,

2. zapoznanie się z modelem pamięci w języku C++,

3. zapoznanie się z tematyką alokatorów w C++,

4. przegląd metod zarządzania pamięcią,

5. przegląd istniejących rozwiązań,

6. projekt biblioteki.
7. implementacja biblioteki,
8. dokumentacja

Literatura

1. cppreference.com

2. Bjarne Stroustrup: Język C++. Kompendium wiedzy.
3. http://www.hboehm.info/gc/  

Uwagi

 

Liczba wykonawców

 

Wykonawcy

Adam Jędrych

 

9.

Temat w języku polskim

Wykrywanie plagiatów w kodach źródłowych

Temat w języku angielskim

Plagiarism detection in source codes

Opiekun pracy

dr inż. Krzysztof M. Ocetkiewicz

Konsultant pracy

 

Cel pracy

Celem pracy jest zapoznanie się z technikami wykrywania plagiatów oraz implementacja narzędzia wyszukującego plagiaty w zbiorze kodów źródłowych.

Zadania

1. zapoznanie się z tematyką wykrywania plagiatów,

2. przegląd istniejących rozwiązań,

3. projekt narzędzia wykrywającego plagiaty.
4. implementacja wybranych metod wykrywania plagiatów,
5. testy,
6. dokumentacja

Literatura

1. C.K. Roy, J.R. Cordy: A Survey on Software Clone Detection Research
2. Patrick Juola: Authorship attribution

Uwagi

 

Wykonawcy

Robert Jankowski

 

10.

Temat w języku polskim

Monitorowania alokacji pamięci przez aplikacje działające na maszynie wirtualnej Java

Temat w języku angielskim

Monitoring of memory allocation by JVM applications

Opiekun pracy

dr inż. Krzysztof Manuszewski

Konsultant pracy

dr inż. Damian Bogdanowicz

Cel pracy

Jedną z cech przypisywanych językowi Java jest jego bezpieczeństwo, objawiające się m.in. brakiem potrzeby zwalniania przydzielonej pamięci. Usuwanie nieużywanych obiektów odbywa się automatycznie, za pomocą mechanizmu odśmiecania (garbage collection), w który wyposażona jest maszyna wirtualna. Nie oznacza to jednak, że programista może całkowicie zignorować kwestie związane z przydzielaniem pamięci. Warto pamiętać, że tzw. wycieki pamięci pojawiają się również w środowiskach wyposażonych w mechanizm garbage collection. Odszukanie miejsca wycieku nie zawsze jest łatwe. Jedno z podejść do tego zagadnienia polega na wykorzystaniu uniwersalnej aplikacji diagnostycznej tzw. „profilera”. Jednak może okazać się że, już samo skonfigurowanie takiego narzędzia będzie nietrywialnym zadaniem. Co więcej, odszukanie interesujących nas pomiarów w rozbudowanym interfejsie może znacząco wydłużyć czas rozwiązywania problemu.

 

Alternatywą dla wspominanych narzędzi jest użycie „mini-profilera” przygotowanego np. w postaci biblioteki, którą można łatwo dołączyć do aplikacji i kontrolować jej działanie bądź to wprost z kodu źródłowego, bądź z prostego interfejsu w przeglądarce internetowej.

 

Celem pracy jest stworzenie narzędzia o charakterze wspomnianego „mini-profilera” dedykowanego do profilowania alokacji pamięci w programie, pozwalającego na m. in. wygodną analizę ilości oraz miejsca zaalokowanej pamięci na obiekty tymczasowe i permanentne.

Zadania

  1. Zapoznanie się z literaturą i narzędziami open source.

 

  1. Zapoznanie sięz mechanizmami zarządzania pamięcią przez maszyne wirtualną Java.

 

  1. Implementacja narzędzia oraz interfejsu użytkownika. Implementacja interfejsu do raportowania wyników (np. można rozważyć użycie podejścia "flame graphs").

 

  1. Przygotowanie testowych aplikacji/scenariuszy pozwalających na ocenę działania narzedzia.

Literatura

  1. “Java Performance: The Definitive Guide”, Scott Oaks, O'Reilly Media 2014,
  2. Dokumentacja/źródła projektu java-allocation-instrumenter, https://github.com/google/allocation-instrumenter,
  1. “Blazing Performance with Flame Graphs”, Brendan Gregg, LISA’13.

Uwagi

Wynikowa aplikacja powinna mieć charakter open source.

Wykonawcy

 

 

11.

Temat w języku polskim

Metody i algorytmy analizy danych w systemach zarządzania wydajnością aplikacji

Temat w języku angielskim

Methods and algorithms for data mining in application performance management systems

Opiekun pracy

dr inż. Krzysztof Manuszewski

Konsultant pracy

dr inż. Damian Bogdanowicz

Cel pracy

Systemy, które monitorują działanie aplikacji przez dłuższy okres mają z reguły wystarczającą wiedzę, aby przewidywać trendy i symulować rozkład danych opisujących działanie aplikacji w przyszłości. Można do tego użyć np. metod z zakresu sztucznej inteligencji, w szczególności sieci neuronowych. Mając dane z takiej symulacji możemy je przedstawiać graficznie oraz dodatkowo wyznaczając progi akceptowalnej odchyłki, możemy, gdy zostaną one przekroczone, powiadamiać użytkownika o potencjalnym problemie zanim on nastąpi.

 

Przykłady:

- Analizując natężenie ruchu sieciowego do serwerów sieci WWW, które znajdują się w grupie autoskalującej możemy przewidzieć, ile serwerów będziemy potrzebować w kluczowych momentach czasu (Black Friday).

- Jeśli dla któregoś z serwerów liczba błędów ma trend wzrostowy możemy przewidzieć, kiedy przekroczy ona założony próg zanim to nastąpi.

Zadania

  1. Zapoznanie się z literaturą dotyczącą predykcji danych.
  2. Zapoznanie się z wybranymi narzędziami open source do analizy szeregów czasowych.
  3. Zapoznanie się z funkcjonalnością dotyczącą analizy szeregów czasowych dostępną na platformie  Dynatrace.
  4. Implementacja i testy narzędzia symulującego przyszłe wartości na podstawie danych z przeszłości.

Literatura

  1. G. Mahalakshmi, S. Sridevi, S. Rajaram, „A Survey on Forecasting of Time Series Data”, ICCTIDE'16
  2. G. Bontempi, „Machine Learning Strategies for Time Series Prediction” http://www.ulb.ac.be/di/map/gbonte/ftp/time_ser.pdf
  3. P. Jinka, B. Schwartz, „Anomaly Detection for Monitoring”, O’Reilly Media, 2015

Uwagi

 

Wykonawcy

Piotr Mejer

 

12.

Temat w języku polskim
 

Zarządzanie zależnościami dla projektów C++

Temat w języku angielskim

Package manager for C++

Opiekun pracy

dr inż. Krzysztof Manuszewski

Konsultant pracy

dr inż. K. Manuszewski

Cel pracy

Bardzo dużą popularność zdobyły ostatnimi laty rozwiazania umoąliwiające automatyzację zarządzania zależnościami/pakietami. Rozwiązania takie są dostępne i b. popularne np. dla wielu języków skryptowych lub kompilowanych do kodu pośredniego. Dość wskazać np. nuget, npm, composer, maven i wiele innych. Wydaje się, że efektywny menedżer pakietów może wręcz istotnie wpływać na popularność samego języka. W tym obszarze C++ jest dość unikatowy. Z jednej strony problemy techniczne m.in. dostępne różne rodzaje linkowania (statyczne/dynamiczne), zależność od systemu operacyjnego, różne kompilatory, a z drugiej strony czasami bardzo długie czasy kompilacji bibliotek i złożone procesy budowania są powodem, że C++ do dziś nie doczekało się (mimo kilku prób) dojrzałego rozwiązania tego typu.

Celem pracy jest analiza problemu i zbadanie czy możliwe jest stworzenie rozwiązania automatyzującego zarządzanie zależnościami dla C++

Zadania

  1. Zbadanie opinii programistów - m.in. chęci przyjęcia pewnych standardów, oczekiwania względem takiego systemu
  2. Analiza istniejących rozwiązań - istnieją? jeśli tak to dlaczego nie odniosły sukcesu? jeśli nie to dlaczego nie istnieją?
  3. Implementacja prototypu systemu do zarządzania zależnościami
  4. Zbadanie możliwości integracji z istniejącymi bibliotekami - integracja prototypu systemu z wybranymi bibliotekami
  5. Zbadanie opinii programistów po przetestowaniu systemu?
  6. Upublicznienie i promocja projektu?? - problemy związane z popularyzacją nowego rozwiązania open source

Literatura

 

Uwagi

 

Wykonawcy

 

 

13.

Temat w języku polskim
 

Wykorzystanie metod sztucznej inteligencji do budowy automatycznego przeciwnika we współczesnych grach o umiarkowanej komplikacji reguł

Temat w języku angielskim

Application of AI methods for purpose of development of computer
player for modern game with moderate rules complexity

Opiekun pracy

dr inż. Krzysztof Manuszewski

Konsultant pracy

Dr inż. K. Manuszewski

Cel pracy

We współczesnym świecie wiele obszarów decyzyjnych jest automatyzowanych przy pomocy sztucznej inteligencji. Praktycznie od początku świetnym poligonem dla algorytmów SI były gry, zwłaszcza gry logiczne o prostych regułach i dużej głębi rozgrywki np. warcaby, szachy, brydż czy go.  Celem niniejszej pracy jest próba zaimplementowania sztucznego przeciwnika dla współczesnej gry planszowej lub karcianej. Istotnym wymaganiem jest aby gra nie była typową grą logiczną ale cechowała się pot. złożonym modelem rozgrywki i nietrywialną mechaniką. Przykładem mogą być gry typu „7 cudów” lub „Pośród gwiazd”. Zasadniczą trudnością takiego zadania oprócz stworzenia samej AI jest jest budowa modelu rozgrywki i implementacja złożonego silnika reguł. Sama sztuczna inteligencja może być budowana podobnymi metodami jak SI dla gier logicznych.

Zadania

  1. Zapoznanie się z wybranymi metodami heurystycznymi, które można wykorzystać dla programowania sztucznej inteligencji
  2. Zapoznanie się z wybranymi metodami przeszukiwania i optymalizacji drzew decyzyjnych
  3. Wybór gry
  4. Implementacja działającego modelu rozgrywki i uproszczonego gui
  5. Projekt i implementacja algorytmu realizującego rozgrywkę
  6. Eksperymenty: uczenie i ocena siły gry uzyskanego rozwiązania

Literatura

  1. http://qwak.w8.pl/_media/art:logicgames:praktyczne_aspekty_programowania_gier_logicznych.pdf
  2. Arabas J.,Wykłady z algorytmów ewolucyjnych Ewolucyjnych , WNT, Warszawa, 2003
  3. Rutkowski L. , Metody i techniki sztucznej inteligencji, PWN, Warszawa, 2006
  4. Bolc L., Cytowski J., Metody przeszukiwania heurystycznego. Tom 1,2. PWN, Warszawa, 1989, 1991.

Uwagi

 

Wykonawcy

Paweł Wachowski

 

14.

Temat w języku polskim
 

Interaktywna generacja obrazów wysokiej rozdzielczości za pomocą sieci Generative Adversarial Networks

Temat w języku angielskim

Interactive hi res image generation with usage of Generative Adversarial Networks

Opiekun pracy

dr inż. Krzysztof Manuszewski

Konsultant pracy

dr inż. K. Manuszewski

Cel pracy

Celem pracy jest stworzenie aplikacji (np. mobilnej), która pozwoli na interatywne tworzenie realistycznych obrazów na podstawie manipulacji prostymi kształtami i kolorami. Generacja będzie opierać się na wykorzystaniu sieci GAN (Generative Adverial Network) przy użyciu dodatkowych metodologii polepszających jakość i rozdzielczość generowanych obrazów.

W pracy powinny zostać wykorzystane najnowsze wyniki prac dotyczących architektur sieci GAN oraz ich użycia w celu generacji obrazu.

Zadania

1. Zapoznanie się ze specyfiką sieci GAN

2. Implementacja przykładowych sieci oraz eksperymenty obliczeniowe

3. Ocena uzyskanych wyników

Literatura

  1. https://arxiv.org/abs/1406.2661
  2. https://arxiv.org/abs/1609.03552v2
  3. https://arxiv.org/abs/1609.04802
  4. https://arxiv.org/abs/1704.02304
  5. https://github.com/junyanz/iGAN
  6. https://www.tensorflow.org/

Uwagi

 

Wykonawcy

 

 

15.

Temat w języku polskim

Architektura mikroserwisów w kontekście tworzenia i rozwijania współczesnych systemów rozproszonych

Temat w języku angielskim

Microservice architectural style in the context of modern distributed systems development

Opiekun pracy

dr inż. Krzysztof Manuszewski

Konsultant pracy

dr inż. K. Manuszewski

Cel pracy

Celem pracy jest nie tylko przedstawienie stylu architektonicznego wykorzystującego mikroserwisy ale również dokonanie przeglądu rozwiązań technicznych wspierających i uzupełniających takie podejście.

Można tu wskazać np. rozwiązania dotyczące wdrażania i hostowaia usług, dynamicznej ich konfiguracji, monitorowania i weryfikacji, równoważenia obciążenia, automatyzacji testów i wielu innych obszarów, które są wskazywane jako istotne dla rozwiązań wykorzystujących mikroserwisy . 

Zadania

  1. Zapoznanie się z zagadnieniem mikroserwisów
  2. Projekt przykładowego systemu składającego się z mikroserwisów
  3. Eksperymenty z wykorzystaniem różnych rozwiązań technicznych wspierających podejście mikroserwisowe w wybranych obszarach przykładowego systemu

Literatura

  1. http://martinfowler.com/articles/microservices.html
  2. Building Microservices, Sam Newman
  3. http://microservices.io/
  4. Microservices in .Net Core, Christian Horsdal
  5. Production-Ready Microservices, Susan J. Fowler

Uwagi

 

Wykonawcy

Bartosz Brudek

 

16.

Temat w języku polskim

Porównanie nowoczesnych frameworków javascript do tworzenia UI w kontekście tworzenia współczesnych rozwiązań WWW

Temat w języku angielskim

Comparison of modern Javascript UI framework in the context of development of nowadays WWW solutions

Opiekun pracy

dr inż. Krzysztof Manuszewski

Konsultant pracy

dr inż. K. Manuszewski

Cel pracy

Celem pracy jest porównanie współczesnych technologii przeznaczonych do budowy aplikacji WWW. Przykładem mogły by być np. AngularJS, ReactJS a samo porównanie powinno obejmować: np  łatwość tworzeni i rozwoju aplikacji, wydajność, wykorzystywane paradygmaty i wzorce, otwartość na różne platformy (np. aplikacje mobilne) łatwość stosowania podejść typu TDD/BDD, dostępne narzędzia itd.

Zadania

  1. Wybór technologii do porównania
  2. Zapoznanie się z wybranymi technologiami
  3. Przygotowanie aplikacji pozwalających na porównanie wybranych technologii
  4. Eksperymenty implementacyjne oraz ocena uzyskanych wyników.

Literatura

1. https://angularjs.org/

2. https://pl.wikipedia.org/wiki/React.js

Uwagi

 

Wykonawcy

 

 

17.

Temat w języku polskim

Języki kompilowane do języka Javascript

Temat w języku angielskim

Languages compiled to Javascript

Opiekun pracy

dr inż. Krzysztof Manuszewski

Konsultant pracy

dr inż. K. Manuszewski

Cel pracy

Z jednej strony język Javascript nie cieszy się wielkim uznaniem wśród wielu programistów i często jest traktowany jako zło konieczne a z drugiej strony jest to narzędzie o jakości produkcyjnej, które w wielu obszarach nie ma właściwie konkurencji. Celem pracy jest dokonanie przeglądu i porównanie istniejących rozwiązań kompilowanych do języka Javascript ze szczególnym uwzglednieniem języków skryptowych np. ELM, Purescript, Dart, Go, TypeScript.

Porównanie powinno obejmować np. typowe konstrukcje, efektywność użycia dostępne narzędzia, wsparcie dla języka itd.

Zadania

  1. Dokonanie przeglądu istniejących języków kompilowanych do Javascript.
  2. Zapoznanie się z narzędziami, konstrukcjami specyficznymi dla języka
  3. Przygotowanie aplikacji pozwalających na porównanie wybranych języków
  4. Eksperymenty implementacyjne oraz ocena uzyskanych wyników.

Literatura

  1. http://www.purescript.org/
  2. http://elm-lang.org/
  3. https://www.dartlang.org/
  4. https://golang.org/
  5. https://www.typescriptlang.org/

Uwagi

 

Wykonawcy

Maciej Chudy

 

18.

Temat w języku polskim

Optymalizacja półokreślona w wykrywaniu splątania kwantowego

Master Thesis Subject

Semidefinite programming for entanglement detection

Supervisor

dr Piotr Mironowicz

Konsultant pracy

 

Cel pracy

 

 

 

 

 

Aim

Celem pracy jest zapoznanie się z podstawami programowania półokreślonego oraz problematyką separowalności macierzy gęstości (przydatna wiedza z algebry liniowej). Praca obejmuje implementację potrzebnych narzędzi do formułowania warunków separowalności macierzy w oparciu o dostępne frameworki (np. pakiety SeDuMi i YALMIP w środowisku MATLAB/OCTAVE) oraz zilustrowanie zastosowań tych narzędzi na zaproponowanych przykładach.

 

The aim of the thesis is to learn and apply the methods of semidefinite programming to the problem of separability of density matrices (useful knowledge of linear algebra). This goal includes the implementation of necessary tools formulating conditions for matrix separation based on available frameworks (e.g. SeDuMi and YALMIP packages in MATLAB / OCTAVE) and illustrate the use of these tools with proposed examples.

Zadania

 

 

 

Tasks

1. Przegląd literatury odnośnie programowania półokreślonego.

2. Wprowadzenie do metod informatyki kwantowej.
3. Implementacja narzędzia w postaci skryptów w języku MATLAB.

4. Sporządzenie dokumentacji skryptów oraz przykładów zastosowań.

 

1. Overview of the literature on semidefinite programming.
2. Introduction to quantum information.
3. Implementation of tools as scripts in MATLAB.
4. Documentation of scripts and examples of their applications.

Literatura

Literature

1. L. Vandenberghe, S. Boyd, Semidefinite Programming, SIAM Review, 38(1): 49-95, March 1996 http://stanford.edu/~boyd/papers/sdp.html

2. A. Doherty, P. Parrilo, F. Spedalieri, Distinguishing separable and entangled states, Physical Review Letters, Vol. 88, No. 18, 187904, (2002) https://arxiv.org/abs/quant-ph/0112007

3. A. Doherty, P. Parrilo, F. Spedalieri, A complete family of separability criteria, Phys. Rev. A 69, 022308 (2004) https://arxiv.org/abs/quant-ph/0308032

Uwagi

 

Wykonawcy

Contractors

Wojciech Wandka

 

19.

Temat w języku polskim

Prawdopodobieństwa kwantowe i programowanie półokreślone

Master Thesis Subject

Quantum Probabilities and Semidefinite Programming

Opiekun pracy

Supervisor

dr Piotr Mironowicz

Konsultant pracy

 

Cel pracy

 

 

 

 

 

Aim

Celem pracy jest wykorzystanie metod programowania półokreślonego do analizy wybranych protokołów z dziedziny kwantowej teorii informacji. Cel ten obejmuje implementację potrzebnych narzędzi w oparciu o dostępne frameworki (np. pakiety SeDuMi i YALMIP w środowisku MATLAB/OCTAVE) oraz przedstawienie i zbadanie właściwości protokołów kwantowych, np. za pomocą optymalizacji po przestrzeni kwantowych rozkładów prawdopodobieństw.

 

The aim of the thesis is to use the methods of semidefinite programming to analyze selected protocols from the field of quantum information theory. This goal includes the implementation of the necessary tools based on the available frameworks (e.g. SeDuMi and YALMIP packages in MATLAB / OCTAVE environment) and the presentation and investigation of properties of selected quantum protocols, e.g. by optimization over the space of quantum probabilities.

Zadania

 

 

Tasks

1. Przedstawienie podstaw formalizmu kwantowej teorii informacji.

2. Opis metod programowania półokreślonego.

3. Implementacja narzędzi do przeprowadzenia analizy.

4. Opisanie i analiza wskazanych protokołów kwantowych.

 

1. Presentation of the fundamentals of quantum information theory.
2. Description of semi-definite programming methods.
3. Implementation of tools for the analysis.
4. Description and analysis of selected quantum protocols.

Literatura

Literature

1. M. Navascués, S. Pironio, A. Acín, A convergent hierarchy of semidefinite programs characterizing the set of quantum correlations, New Journal of Physics 10, 073013 (2008).

2. J.-D. Bancal, L. Sheridan, V. Scarani, More Randomness from the Same Data, New Journal of Physics 16, 033011 (2014).

Uwagi

 

Wykonawcy

Contractors

 

 

20.

Temat w języku polskim

Zrównoważone (sprawiedliwe) kolorowanie grafów i hipergrafów

Temat w języku angielskim

Equitable coloring of graphs and hypergraphs

Opiekun pracy

dr Paweł Obszarski

Konsultant pracy

 

Cel pracy

Zbadanie problemu i implementacja wybranych metod dla zagadnienia.

Zadania

1. Przegląd literatury, rozpoznanie stanu wiedzy, ustalenie granicy między wariantami trudnymi i łatwymi obliczeniowo.

2. Implementacja wybranych wielomianowych procedur.

3. Implementacja wybranych metod heurystycznych.

4. Testy zaproponowanych algorytmów.

Literatura

1. K.W. Lih, Equitable Coloring of Graphs

2. Bor-Liang Chen,Chih-Hung Yen, Equitable-coloring of graphs

3. H. Furmańczyk, P. Obszarski, Equitable coloring of hypergraphs

4. M. Kubale, Optymalizacja dyskretna, modele i metody kolorowania grafów

Uwagi

 

Wykonawcy

T. Zyntek

 

21.

Temat w języku polskim

Ograniczone kolorowanie krawędzi grafów

Temat w języku angielskim

Restricted Edge-coloring of graphs

Opiekun pracy

dr Paweł Obszarski

Konsultant pracy

 

Cel pracy

Celem pracy jest przebadanie istniejący rozwiązań algorytmicznych dla problemu ograniczonego kolorowania krawędzi. Problem ten jest uogólnieniem problem kolorowania krawędzi grafów, które znajduje zastosowania na przykład w szeregowaniu zadań. Model wyróżnia się tym, że ograniczona są krotności wykorzystania poszczególnych kolorów.

Zadania

1. Przegląd literatury.

2. Implementacja wybranych algorytmów dokładnych (w oparciu o bibliotekę Koala).

3. Implementacja wybranych heurystyk (w oparciu o bibliotekę Koala).

4. Testy zaproponowanych rozwiązań.

Literatura

1.  A.S. Asratian, Some results on an edge coloring problem of Folkman and Fulkerson

2.  D. de Werra, A. Hertz, D. Kobler, N.V.R. Mahadev, Feasible edge colorings of trees with cardinality constraints

3.  Dokumentacja biblioteki Koala

Uwagi

 

Wykonawcy

 

 

 

23.

Temat w języku polskim

Problemy podziału grafów

Temat w języku angielskim

Graph partitioning problems

Opiekun pracy

dr Paweł Obszarski

Konsultant pracy

 

Cel pracy

Zbadanie tematyki podziału grafów i implementacja wybranych algorytmów w oparciu o bibliotekę KOALA.

Zadania

1. Przegląd literatury.

2. Implementacja w oparciu o bibliotekę KOALA wybranych algorytmów (dokładnych i heurystycznych) dla problemów podziału grafów.

3. Porównanie i testy zaimplementowanych rozwiązań.

Literatura

1. A. Schrijver, Combinatorial Optimization, Polyhedra and Efficiency, Tom 1, Springer Science & Business Media, 2003

2. Dokumentacja biblioteki KOALA

3  M. R. Garey D. S. Johnson, Computers and Intractability: A Guide to the Theory of NP-Completeness

4. M. E. J. Newman, Networks An Introduction

Uwagi

 

Wykonawcy

Ivan Menshykov

 

24.

Temat w języku polskim

Równania liniowe w pierścieniach skończonych

Master Thesis Subject

Linear equations over finite rings

Opiekun pracy

Supervisor

dr hab. inż. Robert Janczewski

Konsultant pracy

 

Cel pracy

 

 

Aim

Implementacja programu do rozwiązywania równań liniowych w wybranych pierścieniach skończonych.

 

Implementation of a program that solves linear equations over selected finite rings.

Zadania

 

 

 

 

Tasks

1. Zapoznanie z algorytmami rozwiązywania równań liniowych w pierścieniach.

2. Implementacja programu do rozwiązywania równań liniowych w wybranych pierścieniach skończonych.

 

1. Familiarize with algorithms for solving linear equations over rings.

2. Implement a program that solves linear equations over selected finite rings.

Literatura

Literature

1. W.C. Brown „Matrices over commutative rings”

Uwagi

 

Wykonawcy

Contractors

 

 

25.

Temat w języku polskim

Gry chromatyczne na drzewach

Master Thesis Subject

Chromatic games on trees

Opiekun pracy

Supervisor

dr hab. inż. Robert Janczewski

Konsultant pracy

 

Cel pracy

 

 

Aim

Implementacja wybranych strategii w grach chromatycznych rozgrywanych na drzewach.

 

Implementation of selected strategies in chromatic games played on trees.

Zadania

 

 

Tasks

1. Zapoznanie z grami chromatycznymi i strategiami gry.

2. Implementacja wybranych strategii.

 

1. Familiarize with chromatic games and strategies.

2. Implement selected strategies.

Literatura

Literature

1. https://en.wikipedia.org/wiki/Graph_coloring_game

Uwagi

 

Wykonawcy

Contractors

 

 

26.

Temat w języku polskim

Symulator grawitacji

Master Thesis Subject

Simulator of gravity

Opiekun pracy

Supervisor

dr hab. inż. Robert Janczewski

Konsultant pracy

 

Cel pracy

 

Aim

Implementacja realistycznego symulatora grawitacji.

 

Implementation of a realistic simulator of gravity.

Zadania

 

 

Tasks

1. Zapoznanie z matematycznym opisem grawitacji.

2. Implementacja symulatora grawitacji.

 

1. Familiarize with mathematical model of gravity.

2. Implement simulator of gravity.

Literatura

Literature

1. https://en.wikipedia.org/wiki/Gravity

Uwagi

 

Wykonawcy

Contractors

 

 

27.

Temat w języku polskim

Implementacja i testowanie algorytmów sprawiedliwego kolorowania grafów dla potrzeb szeregowania zadań jednostkowych

Temat w języku angielskim

Implementation and testing of equitable graph coloring algorithms for scheduling of identical jobs

Opiekun pracy

Prof. dr hab. inż. Marek Kubale

Konsultant pracy

Prof. dr hab. inż. Marek Kubale

Cel pracy

 

 

Wyobraźmy sobie, że jesteśmy organizatorami uroczystego bankietu dla 40 osób i mamy do dyspozycji 4 nierówne ok-rągłe stoły. Wiemy, że wśród naszych gości są osoby skonfliktowane ze sobą Naszym zadaniem jest przydzielenie osób do stołów w taki sposób, by przy żadnym ze stołów nie było osób będących w złych stosunkach. Problem ten sprowadza się do pewnego modelu szeregowania zadań jednostkowych na procesorach jednorodnych. Celem projektu jest utworzenie narzędzi programistycznych do efektywnego rozwiązywania takich problemów.

Zadania

 

1. Projekt i implementacja wybranych algorytmów

2. Generator grafów niezgodności.

3. Testowanie i profilowanie algorytmów dla wybranych grafów.

Literatura

- H. Furmańczyk, M. Kubale: Scheduling of unit-length jobs with cubic incompatibility graphs on three uniform machines, DAM (w druku),

- H. Furmańczyk, M. Kubale: Scheduling of unit-length jobs with bipartite incompatibility graphs on four uniform machines, DM (w druku).

Uwagi

 

Wykonawcy

Małgorzata Sienkiewicz