Differences
This shows you the differences between two versions of the page.
Next revision | Previous revision | ||
spr:studio_projektowe_2_2016 [2016/10/05 10:50] pszwed utworzono |
spr:studio_projektowe_2_2016 [2017/10/11 02:12] (current) pszwed [Studio projektowe 2 (2016)] |
||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ====== Studio projektowe 2 (2017) ====== | ||
+ | |||
+ | Propozycja kontynuacji dla grup | ||
+ | |||
+ | ===== Analiza polskich tekstów z Twittera ===== | ||
+ | |||
+ | * Użycie word2vec np.. z TensorFlow do zbudowania gęstej reprezentacji słów lub tagów. Tutorial: https:// | ||
+ | * Hierarchiczne grupowanie użytkowników według podobieństwa cech stylistycznych | ||
+ | * Analiza sentymentu - znaczne zwiększenie zbioru uczącego i dodanie klasy neutralnej | ||
+ | |||
+ | ===== Interfejs do wprowadzania podstawowych elementów opisu wymagań projektów informatycznych i wykrywanie powiązań ===== | ||
+ | |||
+ | Zamiast: Interfejs do wprowadzania danych dla systemu służącego do ustalania ograniczeń prędkości | ||
+ | |||
+ | * Tworzenie projektów (słów kluczowych, kategorii projektów) | ||
+ | * Nazwy klas + defincje, w tym atrybuty | ||
+ | * Nazwy aktorów + definicje | ||
+ | * User stories lub nazwy przypadków użycia i definicje (przebieg główny i alternatywne) | ||
+ | * Próba wykrycia elementów opisu zachowania z tekstu Aktor-akcja (czasownik) - klasa | ||
+ | |||
+ | ===== Operacje na sekwencjach zdarzeń ===== | ||
+ | *Uściślenie modelu - stan vs. zdarzenie. | ||
+ | *Poprawa translacji formuł do postaci | ||
+ | *Integracja kodu Java po stronie serwera | ||
+ | |||
+ | ===== Algorytm PSO ===== | ||
+ | * Implementacja algorytmu PSO na platformie nd4j i porównanie z OpenCL | ||
+ | * Inne topologie, np. turniejowe PSO | ||
+ | * Pełna implementacja funkcji testowych CEC | ||
+ | |||
+ | ===== Generacja ontologii o zadanych parametrach złożoności ===== | ||
+ | W projekcie zaimplementowano miary podobieństwa reprezentacji grafowych. | ||
+ | Zastosowanie do rzeczywistych ontologii. Główne pytanie - czy styl ich definiowania wykazuje statystyczne podobieństwo (głębokość, | ||
+ | |||
+ | Metoda | ||
+ | - Wyszukiwane są ontologie na Swoogle. | ||
+ | - Są przekształcane do reprezentacji grafowej (raczej kod Java) | ||
+ | - Budowane są cząstkowe miary podobieństwa | ||
+ | - Budowana miara sumaryczna (agregacja miar cząstkowych) | ||
+ | |||
+ | ===== Biblioteka map matching ===== | ||
+ | |||
+ | Map matching to rzutowanie ciągu danych GPS na rzeczywiste drogi tak, aby zbudować prawdopodobną ścieżkę ruchu pojazdu. Ten problem budzi bardzo duże zainteresowanie, | ||
+ | |||
+ | Celem projektu jest implementacja biblioteki (rozwiązania) dla wybranej platformy. Wymagane funkcje to (1) zdefiniowanie grafu dróg (wraz z topologią) oraz (2) implementacja właściwego algorytmu rzutowania. | ||
+ | |||
+ | Źródłem danych powinna być mapa OSM | ||
+ | Możliwe rozwiązania: | ||
+ | * implementacja wewnątrz Postgres + Postgis w języku PL/pgSQL (wykorzystanie gotowych narzędzi importu do Postgres), | ||
+ | * interfejs do definiowania grafu w pamięci (lub importu) oraz implementacja algorytmu w wybranym języku programowania (Java, Python) | ||
+ | |||
+ | W obu przypadkach wskazane jest wykorzystanie biblioteki GIS do przetwarzania geometrii i zwracanie rezultatów w postaci geometrii (linestring). | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
====== Studio projektowe 2 (2016) ====== | ====== Studio projektowe 2 (2016) ====== | ||
- | FIXME Informacje na rok 2016 zostaną uaktualnione | + | |
===== Terminy ===== | ===== Terminy ===== | ||
- | Terminy spotkań: | + | Terminy spotkań: |
- | [[spr: | ||
===== Organizacja ===== | ===== Organizacja ===== | ||
Line 23: | Line 83: | ||
* Kod źródłowy | * Kod źródłowy | ||
- | ===== Tematy projektów ===== | + | ===== Tematy projektów |
- | Tematy projektów odzwierciedlają aktualnie prowadzone lub planowane prace badawcze. Podana liczba osób jest orientacyjna. | + | Poniższe tematy są częściowo związane z prowadzonymi pracami magisterskimi. |
- | + | ||
- | ==== 1. Generacja ontologii o zadanych parametrach złożoności ==== | + | |
+ | ==== I-1. Generacja ontologii o zadanych parametrach złożoności ==== | ||
+ | ** 1-3 os** | ||
Celem projektu jest generacja ontologii (grafu) o zadanych parametrach statystycznych. Parametry należy częściowo wzorować na propozycji w publikacji [[http:// | Celem projektu jest generacja ontologii (grafu) o zadanych parametrach statystycznych. Parametry należy częściowo wzorować na propozycji w publikacji [[http:// | ||
Line 42: | Line 102: | ||
- | ==== 2. Symulacja zmian zużycia energii ==== | + | ==== I-2. Symulacja zmian zużycia energii ==== |
- | Celem jest zbudowanie modelu symulacyjnego i jego wizualizacja (OpenGL). Zakładamy: | + | ** 1-3 os** |
- | - kilka profilów zachowania odbiorców, konkretny odbiorca jest ich kombinacją liniową | + | |
- | - rozproszenie geograficzne | + | |
- | - wpływ temperatury: | + | |
- | - wpływ pogody (podobnie) | + | |
- | - wpływ czasu (w cyklu dziennym, dni powszednie/ | + | |
+ | Celem jest zbudowanie modelu symulacyjnego i jego wizualizacja (OpenGL). Zakładamy: | ||
+ | |||
+ | - kilka profilów zachowania odbiorców, konkretny odbiorca jest ich kombinacją liniową | ||
+ | - rozproszenie geograficzne | ||
+ | - wpływ temperatury: | ||
+ | - wpływ pogody (podobnie) | ||
+ | - wpływ czasu (w cyklu dziennym, dni powszednie/ | ||
- | ==== 2. Semantyczne repozytorium wideo ==== | + | ==== I-3. Wektorowe reprezentacje tekstu |
- | **Grupa 2-3 os. ** :!: Kontynuacja | + | ** 1-3 os** |
+ | Uruchomienie i ocena narzędzi/ | ||
+ | |||
+ | [[https:// | ||
+ | [[http:// | ||
+ | |||
+ | |||
+ | ==== I-4. Graf komunikujących się agentów ==== | ||
+ | |||
+ | ** 3 os ** | ||
+ | |||
+ | Celem projektu jest zbudowanie biblioteki ogólnego przeznaczenia umożliwiającej tworzenie i uruchamianie modeli w postaci grafów komunikujących się agentów (protokół P2P). Biblioteka Akka. | ||
+ | |||
+ | Szczegółowe wymagania powinny zostać ustalone tak, aby odpowiadały one typowym zastosowaniom do optymalizacji w środowisku rozproszonym. | ||
+ | |||
+ | - różne typy/role agentów | ||
+ | - wsparcie dla topologii zawierających hierarchie | ||
+ | - różna postać przechowywanych i przesyłanych danych (np. typ generyczny) | ||
+ | - sterowanie pojawianiem się i zanikaniem agentów | ||
+ | - agent oszust? | ||
+ | |||
+ | |||
+ | |||
+ | ==== I-5. Integracja danych geoprzestrzennych/ | ||
+ | |||
+ | **Grupa 1-2 os. ** | ||
+ | |||
+ | Celem pracy jest praktyczna realizacja integracja danych obejmujących: | ||
+ | - dane mapy OSM | ||
+ | - dane oznakowania pionowego (DBF) | ||
+ | - dane o wypadkach (XLS) | ||
+ | - dane o natężeniu z bramek autostrad (XLS) | ||
+ | |||
+ | W ramach projektu należy zaproponować model danych, utworzyć bazę i zaimportować dane. W przypadku projektu 2-osobowego dodatkowo interfejs REST/SOAP. | ||
+ | |||
+ | --- | ||
+ | |||
+ | ===== Tematy projektów II ===== | ||
+ | |||
+ | ==== II-1. Semantyczne repozytorium video ==== | ||
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ń. | 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ń. | ||
Line 87: | Line 188: | ||
W projekcie można wykorzystać fragmenty implementacji serwera z poprzedniego cyklu. | W projekcie można wykorzystać fragmenty implementacji serwera z poprzedniego cyklu. | ||
- | ==== 2. System/ | ||
- | **Grupa 2 os. ** | + | ==== II-2. Agentowy system sterowania oświetleniem drogowym ==== |
- | + | ||
- | 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, | + | |
- | *Wejściem jest bitmapa zawierająca plan, np. mieszkania, galerii handlowej. [[http:// | + | |
- | Przykładowy algorytm: | + | |
- | *Na plan nakładana jest siatka komórek | + | |
- | *Następuje scalanie komórek sklasyfikowanych jako " | + | |
- | *Wykrycie komórek składających się na takie obiekty jak przejścia (drzwi) oraz okna | + | |
- | *Zbudowanie grafu | + | |
- | + | ||
- | Funkcje systemu: | + | |
- | *Upload bitmapy lub PDF | + | |
- | *Możliwość zaznaczenia interesującego regionu podlegającego analizie (wielobok) | + | |
- | *Możliwość wprowadzenia manualnych anotacji dla komórek lub regionów | + | |
- | *Budowa grafu i zapis w BD (wraz referencyjną bitmapą) | + | |
- | *Możliwość przeglądania i wizualizacji (np. w przeglądarce) | + | |
- | *Możliwość naniesienia poprawek manualnych w przypadku błędnego rozpoznania | + | |
- | *Eksport grafów w formacie XML | + | |
- | + | ||
- | ==== 3. Agentowy system sterowania oświetleniem drogowym ==== | + | |
**Grupa 2 os. ** :!: Kontynuacja | **Grupa 2 os. ** :!: Kontynuacja | ||
Line 133: | Line 214: | ||
- | ==== 4. Sieci Petriego XQPN ==== | + | ==== II-3. Sieci Petriego XQPN ==== |
**Grupa 2-3 os. ** | **Grupa 2-3 os. ** | ||
Line 152: | Line 233: | ||
- | ==== 5. System śledzenia obiektów wewnątrz pomieszczeń ==== | ||
- | **Grupa 2 os. ** | + | ==== II-4. Uczenie map kognitywnych -- predykcja ruchu drogowego |
- | + | ||
- | Celem projektu jest przede wszystkim zaproponowanie, | + | |
- | *Obiekt jest scharakteryzowany przez pewien abstrakcyjny wektor cech (np. kolor, powtarzający się wzorzec ruchu) | + | |
- | *Źródłem danych o położeniu obiektów mogą być czujniki różnego typu (mapa WiFi, kamery). | + | |
- | *Obiekt może nie być jednoznacznie identyfikowany (w przypadku kamer) | + | |
- | *Mają zostać zastosowane symulowane dane o obiektach i ich położeniu. Należy zaimplementować definiowanie scenariusza ruchu i opcjonalnie zmian cech w interfejsie graficznym | + | |
- | *Podczas eksperymentów na ruch ma zostać nałożony szum (możliwa zmiana odczytanej lokalizacji oraz niepewność co do ustalenia ID) | + | |
- | *Konieczność fuzji danych (np. z kilku kamer obserwujących równocześnie tę samą scenę) | + | |
- | + | ||
- | System powinien zapewniać: | + | |
- | * Funkcje definiowania sceny (plan pomieszczeń) | + | |
- | * Definiowania scenariuszy ruchu | + | |
- | * Wizualizację przebiegu śledzenia | + | |
- | + | ||
- | Platforma: Java+Swing | + | |
- | + | ||
- | ==== 6. Uczenie map kognitywnych -- predykcja ruchu drogowego | + | |
**Grupa 2 os. ** | **Grupa 2 os. ** | ||
Line 180: | Line 243: | ||
Projekt obejmuje następujące etapy: | 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 |
Line 193: | Line 256: | ||
:!: Możliwe wykorzystanie wyników pracy magisterskiej (w tym zbieranie danych z SUMO) | :!: Możliwe wykorzystanie wyników pracy magisterskiej (w tym zbieranie danych z SUMO) | ||
- | ==== 7. Repozytorium zdarzeń zarejestrowanych podczas wykonania procesów ==== | + | ==== II-5. Repozytorium zdarzeń zarejestrowanych podczas wykonania procesów ==== |
**Grupa 2 os. ** | **Grupa 2 os. ** | ||
Line 207: | Line 270: | ||
Platforma, narzędzia, sposób interakcji -- do ustalenia :!: | Platforma, narzędzia, sposób interakcji -- do ustalenia :!: | ||
- | ==== 8. Symulator systemu zbierania informacji taktycznych wykorzystujący reprezentację grafową ==== | + | ==== II-6. Symulator systemu zbierania informacji taktycznych wykorzystujący reprezentację grafową ==== |
**Grupa 2-3 os. ** | **Grupa 2-3 os. ** | ||
Line 231: | Line 294: | ||
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). | 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). | ||
+ | ==== II-7. Obliczenia równoległe | ||
+ | Celem projektu jest implementacja wybranych populacyjnych algorytmów optymalizacyjnych, | ||
+ | * PSO (Particle Swarm Optimization) | ||
+ | * ACO (Ant Colony Optimization) | ||
+ | * BA (Bees Algorithm) | ||
+ | * inne? | ||
+ | | ||
+ | |||
+ | [[http:// | ||
+ | |||
+ | |||
+ | ==== II-8. Przetwarzanie danych na platformie Apache Storm==== | ||
+ | |||
+ | http:// | ||
+ | |||
+ | Do przedyskutowania. Chętnie w kombinacji z przetwarzaniem obrazu OpenCV. | ||
+ | |||
+ | |||
+ | <!-- | ||
=== 9. Kontynuacja projektu serwer SOAP / Android === | === 9. Kontynuacja projektu serwer SOAP / Android === | ||
Line 265: | Line 347: | ||
Zadaniem serwera jest przydział zadań do wykonania (fragmentów grafów) oraz orkiestracja przebiegu algorytmu. | Zadaniem serwera jest przydział zadań do wykonania (fragmentów grafów) oraz orkiestracja przebiegu algorytmu. | ||
- | |||
- | ==== 10. Obliczenia równoległe | ||
- | Celem projektu jest implementacja wybranych populacyjnych algorytmów optymalizacyjnych, | ||
- | * PSO (Particle Swarm Optimization) | ||
- | * ACO (Ant Colony Optimization) | ||
- | * BA (Bees Algorithm) | ||
- | * inne? | ||
- | | ||
- | |||
- | [[http:// | ||
- | |||
- | === 10.1. Optymalizacja ciągła === | ||
- | |||
- | **Grupa 1-2 os. ** | ||
- | |||
- | Implementacja algorytmów dla zagadnień ciągłych ze zbiorów [[http:// | ||
- | |||
- | === 10.2 Optymalizacja dyskretna === | ||
- | |||
- | **Grupa 1-2 os. ** | ||
- | Zbiory: | ||
- | [[http:// | ||
- | [[http:// | ||
- | [[http:// | ||
- | |||
- | ==== 11. Symulacja zachowania odbiorców energii ==== | ||
- | **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, | ||
- | |||
- | Projekt obejmuje: | ||
- | *definicję modelu konsumpcji energii przez urządzenia (np.: włączony telewizor ma stałe zużycie energii, natomiast żelazko okresowe) | ||
- | *definicję odbiorcy (gospodarstwa domowego, dodanie mieszkańców) | ||
- | *definicję modelu zachowania konsumenta (czasy aktywności, | ||
- | *pogodę | ||
- | *taryfy (konsument może podejmować decyzję o użyciu urządzenia w okresie optymalnej taryfy) | ||
- | |||
- | Funkcjonalność systemu ma umożliwić konfigurację tych danych | ||
- | |||
- | Dane otrzymane w wyniku symulacji (zagregowane, | ||
- | System powinien także wizualizować zebrane dane. | ||
- | |||
- | Symulator powinien wykorzystać środowisko agentowe JADE [[http:// | ||
- | |||
- | |||
- | |||
- | ==== 12. System rekomendacji ograniczeń ruchu na podstawie danych geograficznych ==== | ||
- | |||
- | ** 2 osoby ** | ||
- | |||
- | Współczesne ogólnodostępne mapy, np. Open Street Map (OSM) zawierają takie informacje, jak: | ||
- | * kształty dróg | ||
- | * budynki | ||
- | * POI (points of interest): kościoły, szkoły, sklepy, boiska, restauracje, | ||
- | * dane demograficzne | ||
- | |||
- | Celem projektu jest implementacja i testy oprogramowania/ | ||
- | Powinien wykorzystać takie informacje, jak: | ||
- | * oszacowanie wielkości ruchu (także pieszego) | ||
- | * gęstości zaludnienia - liczba małych uliczek, budynków, itp.. | ||
- | * oszacowanie " | ||
- | * bliskość specyficznych POI | ||
- | |||
- | Jako system rekomendacji należy użyć reguł rozmytych: | ||
- | *[[http:// | ||
- | *[[http:// | ||
- | |||
- | Etapy: | ||
- | * import danych mapy i analiza | ||
- | * modelowanie i propozycja zbioru reguł: IF punkt blisko szkoły THEN ogranicz prędkośc | ||
- | * implementacja (lub użycie) systemu wnioskowania oraz testy | ||
- | * manualne wprowadzenie ograniczeń (lub wykorzystanie tych w OSM) i dobór parametrów funkcji przynależności | ||
- | * wyświetlanie wyników [[http:// | ||
- | |||
- | ==== 13. Android: wykorzystanie czujników wbudowanych w smartfonie ==== | ||
- | |||
- | ** 2 osoby ** | ||
- | Celem projektu jest implementacja aplikacji pozwalającej na zebranie | ||
- | |||
- | Do ustalenia: | ||
- | * rozpoznawanie (klasyfikacja) aktywności użytkownika, | ||
- | * rozpoznawanie kierunku ruchu (kompas) | ||
- | |||
- | |||
- | ==== 14. Aplikacja do edycji opisów struktur dancyh | ||
- | |||
- | ** 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 | ||
- | [[http:// | ||
- | |||
- | Główne funkcje: | ||
- | *Definiowanie klas (i atrybutów) wraz z opisami. | ||
- | *Definiowanie relacji | ||
- | *Refaktoring: | ||
- | *Śledzenie historii zmian | ||
- | *Import/ | ||
- | *Wizualizacje modelu (Graphviz) | ||
- | *Generowanie raportów i podsumowań | ||
- | | ||
- | |||
- | |||
- | ===== Kontynuacja prac inżynierskich ===== | ||
- | |||
- | [[http:// | ||
- | |||
- | Najchętniej przez dotychczasowych wykonawców. | ||
- | |||
- | ==== I.1. Autentykacja użytkownika na podstawie charakterystyk czasowych interakcji z urządzeniem mobilnym (Android) ==== | ||
- | |||
- | **1-2 osoby** | ||
- | Na podstawie Autentykacja użytkownika na podstawie charakterystyk czasowych uderzeń w klawisze. | ||
- | Rozszerzenie i zmiana platformy. | ||
- | |||
- | ==== I.2. Rekomendacja brakujących wymagań dla projektów informatycznych ==== | ||
- | |||
- | **1-2 osoby** | ||
- | Do rozważenia: | ||
- | *rekomendacja, | ||
- | | ||
- | *zmiana języka na polski i użycie pakietu Morfologik do wyodrębnienia stemów | ||
- | *opcjonalnie polskiego WordNetu | ||
- | |||
- | ==== I.3. Symulacja komunikujących się pojazdów ==== | ||
- | |||
- | **1-2 osoby** | ||
- | *Bardziej zaawansowane sterowanie pojazdami | ||
- | *Opracowanie bardziej realistycznego modelu protokołu | ||
- | *Opracowanie kryteriów oceny jakości | ||
- | *Zebranie danych | ||
- | *Testy dla różnych parametrów i wariacji protokołu | ||
- | *Optymalizacja | ||
- | |||
- | ==== I.4. Metryki dla architektur oprogramowania ==== | ||
- | |||
- | **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: | ||
- | *uaktualnienie do nowej wersji Archi | ||
- | *implementacja większej liczby metryk | ||
- | *generacja atrakcyjnego wizualnie raportu | ||
- | *agregacja oceny (wpływ metryk na atrybuty jakości systemu) | ||
- | |||
- | |||
- | |||
- | |||
+ | --> | ||
===== Rejestracja tematów ===== | ===== Rejestracja tematów ===== | ||
Line 424: | Line 358: | ||
[[http:// | [[http:// | ||
- | [[http:// | + | [[http:// |
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. | 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. |