Refine
Document Type
- Bachelor Thesis (7) (remove)
Has Fulltext
- yes (7)
Is part of the Bibliography
- no (7)
Keywords
- Complex Event Processing (2)
- Machine Learning (2)
- Maschinelles Lernen (2)
- Siddhi (2)
- AI (1)
- Abalone (1)
- Air Quality Monitoring (1)
- AlphaGo (1)
- Android <Systemplattform> (1)
- Automatic Identification System <Schifffahrt> (1)
Institute
Unter Crowdsensing versteht man Anwendungen, in denen Sensordaten kollaborativ von einer Menge von Freiwilligen erhoben werden. So kann Crowdsensing eingesetzt werden um die Luftqualität an Orten zu messen, an denen keine fest installierten Sensoren verfügbar sind. In Crowdsensing-Systemen müssen die Teilnehmer koordiniert und die Messdaten verarbeitet werden, um relevante Daten zu erhalten. Im Rahmen der Abschlussarbeit wurde ein System konzipiert und prototypisch umgesetzt, das auf einem Raspberry Pi (unter Einsatz geeigneter Sensoren) Sensordaten erhebt und mit der Complex Event Processing Technologie verarbeitet.
Evaluierung und konzeptioneller Vergleich der Complex Event Processing Engine Siddhi anhand Esper
(2018)
Das schnelle Verarbeiten großer Datenmengen ist mittlerweile ein wesentlicher Bestandteil in vielen Wirtschaftszweigen, wie zum Beispiel der Finanz- und der Logistikbranche, und somit auch ein wichtiger Erfolgsindikator. Dabei ist es wichtig, dass eingehende Datenströme aus einer Vielzahl von verschiedenen Quellen (z.B. Sensoren oder Geschäftsprozessen) nicht auf langer Zeit persistiert, sondern schnellstmöglich analysiert und auf diese entsprechend reagiert wird. Diese Anforderung wird mithilfe der Softwaretechnologie Complex Event Processing (CEP) umgesetzt. Die eintreffenden Daten eines Datenstroms werden in CEP als Ereignisse bezeichnet, die eine Zustandsänderung des Systems repräsentieren.
Eines der Hauptziele von CEP ist es, aus einfachen Ereignissen aggregierte, d.h. komplexe Ereignisse einer höheren Abstraktionsebene zu erzeugen, indem Berechnungen und Korrelationen mit anderen Ereignissen durchgeführt werden oder auch Muster in Ereignisströmen erkannt werden um beispielsweise Auffälligkeiten wie Kreditkartenbetrug aufzuspüren. Der Gebrauch von CEP erfordert entsprechende Komponenten, die auf Ereignisse reagieren und diese weiter behandeln. Als Kernkomponente werden in verteilten Systemen sogenannte CEP Engines eingesetzt, die Ereignismuster in den Datenströmen erkennen. CEP Engines nutzen dabei eine Ereignisanfragesprache, sodass der Benutzer eine Ereignisregel definiert, die permanent Ereignisse nach der festgelegten Bedingung auswertet. Im Laufe der letzten Jahre hat sich eine große Reihe an verfügbaren CEP Engines von unterschiedlichen großen Softwareherstellern wie Oracle, TIBCO, IBM oder SAP angesammelt, sodass die Entscheidung für eine passende CEP Engine für ein verteiltes System schwerfällt. In dieser Arbeit wird die Open-Source CEP Engine namens Siddhi vorgestellt, die als leichtgewichtige und leistungsstarke Engine mit zahlreichen Erweiterungen zur Verarbeitung von Ereignissen veröffentlicht wurde. Das Ziel der Arbeit war dabei, Siddhi auf potenzielle Fähigkeiten zu untersuchen und mithilfe von konzeptionellen sowie technischen Kriterien zu vergleichen und zu evaluieren. Um Siddhi anhand der aufgestellten Kriterien sinnvoll zu bewerten, wurde die etablierte CEP Engine Esper als direkter Vergleichskandidat herangezogen. Des Weiteren wurden beide CEP Engine mit einer selbst erdachten Fallstudie umgesetzt, die eine "Gesundheitsüberwachung" simulieren soll. Am Ende der Arbeit wurde die Bewertung des Vergleichs zwischen Siddhi und Esper tabellarisch zusammengefasst und eine anschließende Beurteilung mithilfe des resultierenden Ergebnis formuliert, wann die Verwendung der CEP Engine Siddhi für empfehlenswert erscheint.
Vergleich von nativer App- und Cross-Platform-Entwicklung (Facebook React Native und Google Flutter)
(2020)
Die Entwicklung mobiler Applikationen für iOS und Android ist in der Regel mit viel Arbeit verbunden, da man für beide Plattformen gezwungenermaßen unterschiedlichen Quelltext schreiben muss. Abhilfe für dieses Problem schaffen Cross-Platform-Frameworks wie React Native von Facebook oder Flutter von Google. Anhand dieser Frameworks lassen sich Apps für beide Plattformen mit nur einer Codebase entwickeln. Eine kritische Stelle und oft gebrauchtes Kontra-Argument gegen die Entwicklung mit Cross-Platform-Frameworks ist die Hardwarenähe der nativen Applikationen, an welcher es den Frameworks vermeintlich mangelt. Doch wie ist der Stand der Dinge im Jahr 2020? Können Cross-Platform-Frameworks inzwischen performant und einfach auf Hardwarekomponenten zugreifen und machen damit die mühsame, native Entwicklung für iOS und Android vor allem in Anbetracht der Entwicklung von größerer Enterprise-Software obsolet?
Dieser Frage wird in dieser Arbeit nachgegangen und generell überprüft wie tauglich die Cross-Platform-Entwicklung ist. Nach dem Lesen dieser Bachelorarbeit sollte entschieden werden können, ob Cross-Platform-Frameworks für das Anwendungsproblem des Lesers geeignet sind. Um die Forschungsfrage zu beantworten, wurden je zwei Applikationen im Rahmen einer Fallstudie für je iOS und Android entwickelt, damit geprüft werden konnte, wie förderlich die zuvor genannten Frameworks sind. Der Fokus der Arbeit liegt also auf der Güte bzw. dem heutigen Stand der Cross-Platform-Entwicklung, vor allem im Bezug auf die Benutzung von Hardwarekomponenten bzw. betriebssystemspezifischen Diensten (Bluetooth, Kamera, etc.).
Die Ergebnisse der Fallstudie zeigen, dass es stets auf den Kontext und die Komplexität der zu realisierenden Anwendung ankommt inwiefern Cross-Platform-Frameworks verwendet werden können. In simplen Anwendungsfällen können Frameworks meist zu einer erheblichen Kostenminimierung und Zeitersparnis führen, wohingegen bei komplexeren Anwendungen relativ schnell Grenzen und starke Abhängigkeiten erreicht werden.
AlphaGo’s victory against Lee Sedol in the game of Go has been a milestone in artificial intelligence. After this success, the team behind the program further refined the architecture and applied it to many other games such as chess or shogi. In the following thesis, we try to apply the theory behind AlphaGo and its successor AlphaZero to the game of Abalone. Due to limitations in computational resources, we could not replicate the same exceptional performance.
Recent developments in the field of deep learning have shown promising advances for a wide range of historically difficult computer vision problems. Using advanced deep learning techniques, researchers manage to perform high-quality single-image super-resolution, i.e., increasing the resolution of a given image without major losses in image quality, usually encountered when using traditional approaches such as standard interpolation. This thesis examines the process of deep learning super-resolution using convolutional neural networks and investigates whether the same deep learning models can be used to increase OCR results for low-quality text images.
Die Bachelorarbeit befasst sich mit dem Generieren kurzer fröhlicher und harmonischer Musikstücke mittels des Einsatzes genetischer Algorithmen. Dabei werden die Evolutionsprozesse der Biologie nachgeahmt. In der Programmiersprache Java, unter der Verwendung der Open-Source-Programmierbibliothek JFugue, sind dafür die einzelnen Zyklusphasen entworfen und implementiert worden.
Die Vereinigung der Biologie, der Kunst und der Informatik wird damit erreicht, um etwas ästhetisch Wirksames zu schaffen und stellt den besonderen Reiz der Arbeit dar.
Die Arbeit untersucht die Anwendung von maschinellem Lernen zur Erkennung von Aktivitäten von Schiffen anhand von AIS-Signalen. Das Automatic Identification System (AIS) wird von Schiffen genutzt, um Informationen über ihren Status in regelmäßigen Intervallen zu übertragen. Auf Basis der Daten wurden mithilfe von Machine Learning-Algorithmen aus der Gruppe der überwachten Klassifikationsalgorithmen Modelle gelernt, die in der Lage sind zu erkennen, welcher Aktivität ein Schiff zu einem Zeitpunkt nachgeht.
Da das erfolgreiche Lernen eines Modells von einer sorgfältigen Datenvorbereitung abhängt, wurden verschiedene Verfahren zur Datenvorbereitung verwendet. Anschließend wurden verschiedene Algorithmen eingesetzt, darunter der Random Forest und k-NN, um Modelle zu lernen.
Die Ergebnisse zeigen, dass die Aktivitäten mit einer Genauigkeit von bis zu 99% erkannt werden konnten, wenn in der Datenvorbereitung geeignete Verfahren gewählt wurden.