praktikum algorithmen - algo.informatik.tu-darmstadt.de · allgemeines zum praktikum wir bieten:...
Post on 11-Mar-2019
220 Views
Preview:
TRANSCRIPT
Praktikum Algorithmen
FG AlgorithmikSebastian Fahnenschreiber
Felix GündlingPablo Hoch
Thomas LüdeckeJulian Prömmer
Wintersemester 2018/2019
Fachgebiet Algorithmik● Kooperation mit der Deutschen Bahn
● Forschungsthemen im Bereich Mobilität (Projekt MOTIS):○ Multikriterielle Fahrplanauskunft○ Echtzeitauskunft○ Zuverlässigen Verbindungen○ Intermodale Auskunft○ Reisendenströme
● Lehre○ AuD, Nabla
Allgemeines zum PraktikumWir bieten:
● Themen, die uns wirklich interessieren● Keine Beschäftigungstherapie!
und erwarten dafür:
● Ergebnisse, die weiterverwendet werden können
Gleichzeitig:
● guter erster Einblick für mögliche Abschlussarbeiten / HiWi-Tätigkeit
Kontext: Elektronische Klausuren
● Einsicht auf Testate/Klausuren● Korrekturmodus für Bewertung● Einsichtmodus mit Beanstandungseinreichung● Rollenrechte (Korrektor, Prüfling, Prüfer, etc…)
Technik
Java + Web + Nabla
Neues Modul innerhalb Nabla
T1: Korrektur-& Einsichtsmodus
Kontext: Elektronische Klausuren
● Veröffentlichungswerkzeug für Prüfer● Statistische Daten aus Testaten/Klausuren erzeugen● Auswahl der zu Veröffentlichenden Daten● Einzelergebnisveröffentlichung für Prüflinge● Rollenrechte (Korrektor, Prüfling, Prüfer, etc…)
Technik
Java + Web + Nabla
Neues Modul innerhalb Nabla
T2: Veröffentlichungswerkzeug
T3Verbindungsbaum
Client + Server (1 o. 2 Pers)
Verbindungsansicht mit Alternativen
Voraussetzung:- Android Programmierung- Android Handy
Ziel: gutes Design + UX
Aufbereiten und Zusammenführen von Fahrplänen
- TransXChange (TfL Daten)- Flüge (Lufthansa)- Fernbusse, Fähren, blablacar- Verknüpfung erkennen:
- Check-in Kanten (ÖV → Flug)- Lauf-Kanten (ÖV → ÖV)
Technik: C++
T4Fahrpläne
T5: Regeln aus dem Fahrplan visualisieren- Fahrplan ist mehr als nur (Zug-) Fahrten- Beinhaltet Regeln für:
- Züge fahren teilweise gekoppelt- Durchbindungen (gleiches Fahrzeug für
aufeinander folgende Fahrten)
- Interaktive GUI- Visualisierung / Übersicht Regeln- Debugging Tool
Technik: MOTIS / C++
T6: Traffic Flow ModelKontext: Simulator für Busfahrten
Problem: Busse fahren fast immer gleich
➤ Variation durch simulierte Staus
Aufgaben:● Flussdaten zu Straßen zuordnen● Straßen in OpenStreetMap klassifizieren● Staumodell trainieren
Technik: C++ / Machine Learning
T7: Schöne Störungen findenAlternativensuche: Hilft Reisenden mit gestörten Verbindungen
Analysewerkzeug: Wann hätte man unser System gebraucht?1. Problemsituationen finden und bewerten2. Betroffene Reiseketten / Relationen identifizieren3. Verspätung am Ziel berechnen
Vorhandene Bausteine:● Fahrpläne und Echtzeitmeldungen für mehrere Jahre● High-Performance Verbindungsüberwachung
Technik: MOTIS / C++
T8
Ziel:Vereinfachte Geometrie:● Übersichtliche Karte (Analyse)● Verbesserte Simulation
Idee:● Parallele Pfade finden und
zusammenfassen (→zweigleisige Schiene, mehrspurige Autobahn)
● Schwellenwert pro Zoomstufe
Ergebnis ist ein Graph mit:● Knoten für Stationen und
“Trennungspunkte”● Kanten für atomare Linien
Technik: MOTIS / C++
Pfadgeometrie: Parallele zusammenfassen
1 - ProblemSuchgraph Aktualisierungen blockieren Suchen
1 - LösungCopy on Write Graph
2 - ProblemSuchparameter führen zu kombinatorischer Explosion
2 - LösungJust-In-Time Kompilieren von spezialisiertem Dijsktra Code
X1 Experimentelles
C++
X2flinc*
ProblemIntegration von Mitfahrangeboten (hier: flinc) in die Auskunft
Lösung- Preprocessing:
Matrix für Fahrten(Zeilen/Spalten sind Bahnhöfe, Einträge sind Fahrten)
- Anfrage: Nachschlagen von passenden Fahrten aus der Matrix in zusätzliche Kanten für den Routing Graph
- Untere Schranken zum Abschätzen, ob Kante gebraucht wird
Technik: C++, MOTIS-Kern* auch als Studienarbeit geeignet
X3C++ Thread Context
Debugger / VisualizationC++
ProblemWas macht der Application Server gerade? (von außen: er “hängt”)
Lösung- Visualisierung der
Informationen:- Welcher Context läuft gerade?- Von wem aufgerufen?- Auf wen wartet der Context?
- Über zeitlichen Verlauf- Logging Informationen
abrufbar (Filter: Level, Tags)
Technik: C++14
X4: Metro-MapZiel:● Übersichtliche Kartendarstellung für
verschiedene Analysezwecke
Umsetzung:● Mehrstufiges Preprocessing● Knackpunkt: Kreuzungen vermeiden (=MLCM Problem, lösbar:
ILP/Greedy)
Bestandteile:● Interaktive Karte (Technik: prototypisch / Mapbox GL)
● Erweiterung des Backends (Technik: C++, MOTIS)
Voraussetzung:● Team mit 2 Personen● Vorwissen:
Algorithmische Modellierung (o. ä.) ✔
Kontext
Erweiterung für spezielle Prüfungsaspekte
Technik
Java + Web + nabla
Neuentwicklung oder Entwicklerteam verstärken
X5 Elektronische Klausuren
-Coursemanager
Themen
T1: Korrektur-& Einsichtsmodus
T2: Veröffentlichungswerkzeug
T3: Verbindungsbaum
T4: Fahrpläne
T5: Regeln visualisieren
T6: Traffic Flow Model
T7: Schöne Störungen finden
T8: Pfadgeometrie
X1: Experimentelles C++
X2: flinc
X3: Thread Context Debugger
X4: Metro-Map
X5: Elektronische Klausuren
X6: Nabla
top related