Uwaga: strona zawiera informacje dla studentów II stopnia Informatyki.
Nie jest jeszcze gotowa
Terminy spotkań: poniedziałek 15.30 C2 403
Projekty są wykonywane w grupach. Zaleca się, aby były to grupy o liczebności wskazanej przy tematach projektów. Grupa powinna wybrać temat projektu z listy i zarezerwować za pomocą formularza rejestracji. Tematy projektów muszą być unikalne. Jeżeli na liście pojawią się dwie rezerwacje tego samego projektu – późniejszy wpis zostanie usunięty.
Grupa, która wybrała projekt ma zaproponować i ustalić:
Dla poszczególnych projektów/grup zostaną założone repozytoria git. Mają się tam znaleźć:
Tematy projektów odzwierciedlają aktualnie prowadzone lub planowane prace badawcze. Podana liczba osób jest orientacyjna.
Grupa 2-3 os. Kontynuacja
Repozytorium przechowuje zasoby (np. klipy wideo, ramki wideo, wydzielone obiekty) oraz implementuje kontenery typu sekwencja oraz zbiór (bag). Dodatkowo, implementuje także nazwane relacje binarne pozwalające na ustalenie powiązań. Dla każdego z elementów można zdefiniować metadane w postaci par klucz-wartość. Należy przewidzieć hierarchiczne klucze (np.. w stylu rejestrów windows), które w interfejsie mogą być np. odwzorowane na XML. Zastosowanie: wsparcie dla systemu analizy wideo.
Co może być umieszczone?
Przykłady zbiorów podlegających obróbce:
Do zrealizowania:
W projekcie można wykorzystać fragmenty implementacji serwera z poprzedniego cyklu.
Grupa 2 os.
Kluczowym zadaniem jest opracowanie i implementacja algorytmu, który generuje graf opisujący układ pomieszczeń na podstawie planów zapisanych jako bitmapy. Węzły to pomieszczenia, okna, drzwi, krawędzie to połączenia. Zarówno węzłom, jak i krawędziom mogą być przypisane atrybuty, np. rozmiar pomieszczenia, kształty geometryczne.
Przykładowy algorytm:
Funkcje systemu:
Grupa 2 os. Kontynuacja
Celem projektu jest budowa systemu symulującego inteligentny obszarowe sterowanie oświetleniem dróg.
Rozważamy sieć drogową podmiejską. Przy drogach rozmieszczone są lampy diodowe, dla których można sterować natężeniem światła. Przy lampach zainstalowane są czujniki ruchu pozwalające wykryć pojazd i oszacować jego prędkość.
System składa się ze sterowników (agentów) działających równolegle i zarządzających kilkunastoma lampami i czujnikami na pewnym obszarze. Agenci przekazują sobie informację o nadjeżdżającym pojeździe tak, aby “przekazać” sobie pojazd.
Grupa 2-3 os.
Ideą sieci XQPN jest wykorzystanie języka funkcyjnego XQuery do przetwarzania rozproszonych dokumentów XML. Umieszczone są one w miejscach sieci. Tranzycje przesyłają dane pomiędzy miejscami. W ich definicji stosowane są wyrażenia zapisane w języku Xquery.
Projekt obejmuje dwa moduły:
Platforma Java.
Informacje o sieciach:
Grupa 2 os.
Celem projektu jest przede wszystkim zaproponowanie, opracowanie i porównanie kilku wersji algorytmów.
System powinien zapewniać:
Platforma: Java+Swing
Grupa 2 os.
Motywacje: w rozwijanym systemie zbierane są parametry ruchu dla wybranych dużych skrzyżowań (np.: skrzyżowanie Czarnowiejska/Aleje). Ich źródłem są kamery wideo. Na podstawie interpretacji danych z kamer określane są takie parametry, jak prędkość ruchu, czas wykonania manewru na skrzyżowaniu lub długość kolejki pojazdów. Pokrycie pomiarami w docelowym systemie można szacować na 1% odcinków dróg. Równocześnie, system powinien dostarczać przybliżone informacje o parametrach ruchu dla dróg nieobjętych monitorowaniem.
Mapy kognitywne: http://home.agh.edu.pl/~pszwed/en/lib/exe/fetch.php?media=papers:fcm-ocena-jednostek-slides.pdf
Projekt obejmuje następujące etapy: *Modelowanie zależności pomiędzy ruchem z wykorzystaniem map kognitywnych dla wybranego skrzyżowania *Opracowanie algorytmu uczenia map kognitywnych dla sztucznych przebiegów czasowych (ogólnie jest to algorytm optymalizacji – do dyskusji czy dyskretnej czy ciągłej) *Automatyczne wygenerowanie mapy kognitywnej dla wybranego obszaru mapy połączeń drogowych *Zebranie danych symulacyjnych *Testy algorytmu
Źródło mapy: Open Street Map (OSM)
Projekt ma wykorzystywać pakiet SUMO będący zaawansowanym narzędziem symulacji ruchu drogowego.
Możliwe wykorzystanie wyników pracy magisterskiej (w tym zbieranie danych z SUMO)
Grupa 2 os. Repozytorium (o charakterze hurtowni danych, czyli danych nie usuwamy) przechowuje informacje o sekwencjach zdarzeń oraz pozwala na wykonanie zapytań, których wynikiem są sekwencje.
Platforma, narzędzia, sposób interakcji – do ustalenia
Grupa 2-3 os.
Dynamicznie zmieniające się informacje taktyczne reprezentowane są w postaci grafu z atrybutami: Wierzchołki:
Krawędzie (relacje):
Graf sytuacyjny
Jest to projekt w pewnym sensie bliski programowaniu gier. Oczekiwana jest symulacja ruchu, np. na heksagonalnej siatce, wraz z możliwością wizualizacji stanu grafu (punkt widzenia agenta).
Kontynuacja zrealizowanego w zeszłym roku projektu, w którym:
Grupa 2 os.
Ideą jest, aby zestaw usług oferowanych przez mobilny serwer zależał od kontekstu, w którym się znajduje. Czyli zachodzi odwzorowanie [Kontekst] → [Zbiór usług]
Przykładowe składniki kontekstu:
Należy opracować i zaimplementować sensowne przypadki użycia.
Grupa 2 os.
Celem dalszych prac jest rozszerzenie platformy o możliwość wykonania algorytmu typu Pregel http://kowshik.github.io/JPregel/pregel_paper.pdf
Wyobraźmy sobie, że urządzenia mobilne implementują usługi wykonania na węzłach wybranych algorytmów (niekoniecznie wszystkie):
Zadaniem serwera jest przydział zadań do wykonania (fragmentów grafów) oraz orkiestracja przebiegu algorytmu.
Celem projektu jest implementacja wybranych populacyjnych algorytmów optymalizacyjnych, np.:
Cechą charakterystyczną ma być implementacja na platformie obliczeń równoległych OpenCL (można także użyć biblioteki aparapi w języku Java ). Biblioteka i driver OpenCL są dostępne dla kart graficznych AMD, znacznej części kart NVIDIA, Procesorów wielordzeniowych Intela oraz Intel HD graphics. Podczas obliczeń równoległych można przetwarzać duże populacje, rzędu 10000 osobników.
Grupa 1-2 os.
Implementacja algorytmów dla zagadnień ciągłych ze zbiorów http://www.sfu.ca/~ssurjano/optimization.htmlhttp://www.robertmarks.org/Classes/ENGR5358/Papers/functions.pdf.
Grupa 1-2 os. Zbiory: http://www.iwr.uni-heidelberg.de/groups/comopt/software/TSPLIB95/ http://people.brunel.ac.uk/~mastjjb/jeb/info.html http://anjos.mgi.polymtl.ca/qaplib/inst.html
Grupa 2 os.
Celem tematu jest zbudowanie systemu symulującego zachowanie odbiorców energii elektrycznej korzystających z takich urządzeń, jak lodówka żelazko, klimatyzacja, zmywarka, pralka, podgrzewacz przepływowy, oświetlenie…
Projekt obejmuje:
Funkcjonalność systemu ma umożliwić konfigurację tych danych
Dane otrzymane w wyniku symulacji (zagregowane, a także indywidualne zużycie poszczególnych urządzeń) mają trafić do specjalnie w tym celu zaprojektowanej bazy danych. System powinien także wizualizować zebrane dane.
Symulator powinien wykorzystać środowisko agentowe JADE http://jade.tilab.com/ lub Akka http://akka.io/ (ale raczej język Java :) )
2 osoby
Współczesne ogólnodostępne mapy, np. Open Street Map (OSM) zawierają takie informacje, jak:
Celem projektu jest implementacja i testy oprogramowania/algorytmu, który będzie rekomendował ograniczenia ruchu (zwłaszcza ograniczenia prędkości) dla wybranych dróg mapy… Powinien wykorzystać takie informacje, jak:
Jako system rekomendacji należy użyć reguł rozmytych:
Etapy:
2 osoby Celem projektu jest implementacja aplikacji pozwalającej na zebranie danych zwracanych przez wybrane czujniki: akcelerometr, żyroskop, kompas, odbiornik GPS…
Do ustalenia:
2 osoby
Celem projektu jest implementacja aplikacji webowej umożliwiającej zarejestrowanym użytkownikom (np. uczestnikom dużego projektu) wprowadzanie opisów struktur danych. Ogólnie, poziom złoóznoscipowinien być bliski RDF Schema oraz ewentualnie diagramów ilustrujących zależności.
Główne funkcje:
http://home.agh.edu.pl/~pszwed/wiki/doku.php?id=tematy_prac_inzynierskich
Najchętniej przez dotychczasowych wykonawców.
1-2 osoby Na podstawie Autentykacja użytkownika na podstawie charakterystyk czasowych uderzeń w klawisze. Rozszerzenie i zmiana platformy. Implementacja gotowej do użycia biblioteki, przeprowadzenie testów, implementacja przykładowej apliakcji.
1-2 osoby Do rozważenia:
1-2 osoby
1 osoba
W pracy z 2013 roku zaimplementowana została wtyczka do Archi (język ArchiMate) umożliwiająca obliczenie kilku wybranych metryk.
Celem jest:
Uwaga Przed zarejestrowaniem tematu sprawdź, czy nie jest zajęty. Dany temat może zostać wybrany tylko przez jedną grupę.
Funkcja do rejestracji jest niestety bardzo prymitywna, za co z góry przepraszam. Działanie jej polega na dopisywaniu kolejnych wierszy do pliku tekstowego. Nanosząc ręcznie poprawki najłatwiej jest mi usuwać całe wiersze.