Eingebettete dynamische Bayessche Netze n-ter Ordnung [article]

Boris Brandherm, Universität Des Saarlandes, Universität Des Saarlandes
2007
Hiermit erkläre ich, dass ich die vorliegende Arbeit ohne unzulässige Hilfe Dritter und ohne Benutzung anderer als der angegebenen Hilfsmittel angefertigt habe. Die aus anderen Quellen oder indirekt übernommenen Daten und Konzepte sind unter Angabe der Quelle gekennzeichnet. Diese Arbeit wurde bisher weder im In-noch im Ausland in gleicher oder ähnlicher Form in anderen Prüfungsverfahren vorgelegt. Saarbrücken, den 29. November 2006 v vi Danksagung Die vorliegende Arbeit entstand in den
more » ... n READY und BAIR des von der Deutschen Forschungsgemeinschaft geförderten Sonderforschungsbereichs 378 "Ressourcenadaptive kognitive Prozesse" an der Universität des Saarlandes in Saarbrücken. Mein besonderer Dank gilt meinem Doktorvater Prof. Dr. Dr. h. c. mult. Wolfgang Wahlster, der es mir mit einer Anstellung an seinem Lehrstuhl ermöglicht hat, dieses interessante Thema im Rahmen einer Doktorarbeit in einem interdisziplinären Umfeld zu bearbeiten. Ich danke ihm für seine zahlreichen Anregungen und das Interesse, mit der er diese Arbeit begleitet hat. Prof. Dr. Anthony Jameson danke ich für seine Unterstützung bei meinen Veröffentlichungen und Vorträgen. Ebenso danke ich ihm für eine Vielzahl von Vorschlägen und Tipps, die es mir ermöglichten, diese Arbeit in der vorliegenden Form zu erstellen. Von den Erfahrungen mit seiner wissenschaftlichen Arbeitsweise, die ich im Verlauf der Zusammenarbeit erlangt habe, werde ich sicherlich in Zukunft profitieren können. Ich möchte allen Kollegen danken, die es mir ermöglicht haben, diese Arbeit zu realisieren. Allen Mitarbeitern und Studenten des Lehrstuhls gilt mein Dank für die angenehme und produktive Arbeitsatmosphäre. Mein wichtigster Dank gilt meiner Familie, die mich in allen Belangen immer tatkräftig unterstützt hat. vii Kurzzusammenfassung Das Ziel dieser Arbeit war die Konzeption, die Realisation und die Anwendung eines Systems, das eingebettete Systeme mit geringer Rechenleistung und wenig Arbeitsspeicher mit der Fähigkeit ausstattet, probabilistische Prozesse verarbeiten zu können. Die Grundlage für dieses System bildet der differentielle Ansatz von Darwiche zur Lösung Bayesscher Netze, der ein Bayessches Netz in ein multivariates Polynom umwandelt und dann auswertet. Diesen Ansatz von Darwiche haben wir so erweitert, dass nun auch die speziellen Bedürfnisse dynamischer Bayesscher Netze berücksichtigt werden. Aufbauend auf dieser theoretischen Ausarbeitung wurde eine Anwendung mit dem Namen JavaDBN entwickelt, die dynamische Bayessche Netze in spezielle Polynome umwandelt und für diese Quellcode generiert. Dieser Quellcode führt die Berechnungen für die Auswertung des Polynoms und das Anhängen neuer Zeitscheiben mit dem gleichzeitigen Rollup bei konstantem Speicherverbrauch durch. Für die Modellierung dynamischer Bayesscher Netze spezifizieren wir neue Modellierungsstrukturen im Zusammenhang mit der Benutzermodellierung und der Sensorverarbeitung und führen damit den Begriff der dynamischen Bayesschen Netze n-ter Ordnung ein. ix Short Abstract The aim of this work was the conception, realisation and application of a system that enables embedded systems with low computing power and memory to execute probabilistic processes. The foundation of this system is the differential approach by Darwiche used to solve Bayesian networks, which converts a Bayesian network into a multivariate polynomial and then evaluates it. We extended this approach, such that it also fulfils the specialized requirements of dynamic Bayesian networks. Based on this theoretical elaboration, an application called JavaDBN was developed to convert dynamic Bayesian networks into specific polynomials and generate their networks' source code. This source code executes the computations for the evaluation of the polynomials and for the addition of new time slices with simultaneous roll-up with constant space requirements. To model dynamic Bayesian networks, we specified new modelling structures for the domains of user modelling and sensor processing and introduce the term of dynamic Bayesian networks of n-th order. xi Zusammenfassung Das Ziel dieser Arbeit war die Konzeption, die Realisation und die Anwendung eines Systems, das eingebettete Systeme mit geringer Rechenleistung und wenig Arbeitsspeicher mit der Fähigkeit ausstattet, probabilistische Prozesse verarbeiten zu können. Die Grundlage für dieses System bildet der differentielle Ansatz von Darwiche zur Lösung Bayesscher Netze, der ein Bayessches Netz in ein multivariates Polynom umwandelt und dann auswertet. Diesen Ansatz von Darwiche haben wir so erweitert, dass nun auch die speziellen Bedürfnisse dynamischer Bayesscher Netze berücksichtigt werden. Wir können im dynamischen Bayesschen Netz eine Vorwärts-und Rückwärtspropagierung und auch eine Kombination der beiden Verfahren durchführen. Alte Zeitscheiben und andere überflüssige Netzstrukturen können ohne Informationsverlust aufgerollt werden, wobei das Polynom bei konstantem Speicherverbrauch ausgewertet wird. Aufbauend auf dieser theoretischen Ausarbeitung wurde eine Anwendung mit dem Namen JavaDBN entwickelt, die dynamische Bayessche Netze in spezielle Polynome umwandelt und für diese Quellcode (wahlweise Java oder C++) generiert. Dieser Quellcode führt die Berechnungen für die Auswertung des Polynoms (die Inferenz im dynamischen Bayesschen Netz) und das Anhängen neuer Zeitscheiben mit dem gleichzeitigen Rollup (dem Abschneiden der vorhergehenden Zeitscheibe) durch. Der Quellcode wurde so realisiert, dass in der Initialisierungsphase alle notwendigen Variablen eingeführt werden, und danach während der Laufzeit kein Speicher mehr allokiert oder deallokiert werden muss. Somit wird auch keine automatische Speicherbereinigung benötigt, die gerade in Echtzeit-Systemen wie z. B. eingebetteten Systemen nicht toleriert werden kann, da der Zeitpunkt ihrer Durchführung oft nicht vorhergesehen werden kann, und dadurch die Programmausführung zu nicht voraussehbaren Zeitpunkten unterbrochen werden würde. Zusätzlich lässt sich dadurch der Speicherbedarf und die Laufzeit des Programmes nach oben abschätzen. Ein weiterer großer Vorteil des Quellcodes liegt darin, dass er leicht lesbar ist, so dass das Verfahren der Inferenz und des Rollups für den Anwender transpaxiii xiv rent bleibt. Dadurch lassen sich Veränderungen im Quellcode vornehmen, so dass sich Zusatzfunktionen wie beispielsweise Datenbankzugriffe oder Methodenaufrufe realisieren lassen, die nicht oder nur sehr schwer möglich wären, wenn der Inferenzalgorithmus vorkompiliert ist und das dynamische Bayessche Netz zur Verarbeitung als Eingabe erhält. Dazu haben wir gezeigt, wie sich konstante Tabelleneinträge zu variablen Tabelleneinträgen umwandeln lassen, indem Arrays durch Methodenaufrufe ersetzt werden. Dies ist z. B. dann sinnvoll, wenn Tabelleneinträge nicht im Voraus bekannt sind oder sich zur Laufzeit verändern können. Ein Methodenaufruf könnte beispielsweise einen Datenbankzugriff realisieren (um beispielsweise die Tabelleneinträge aus einem Benutzerprofil einzulesen) oder von der abgelaufenen Zeit seit der letzten Instantiierung einer Zeitscheiben abhängig sein. Weiterhin erzeugt JavaDBN Quellcode für die Sensitivitätsanalyse und unterstützt das Werkzeug MatLab (siehe [MatLab 06]). Von den Anwendungen, die mit JavaDBN erzeugt wurden, möchte wir an dieser Stelle den Alarm Manager und den multisensoriellen Positionierungsservice LORIOT erwähnen. Anhand der prototypischen Anwendung Alarm Manager demonstrierten wir erstmals, wie physiologische Daten eines Benutzers durch physiologische Sensoren erfasst und durch ein dynamisches Bayessches Netz in Echtzeit auf einem persönlichen eingebetteten System interpretiert werden können, um dem Anwender Nachrichten (in diesem Fall eine wichtige Benachrichtigung) an seinen aktuellen Zustand angepasst zu präsentieren. Als Sensoren verwendeten wir einen Beschleunigungssensor, einen Muskeltätigkeitssensor und einen Augenbrauensensor. In der Anwendung LORIOT führen wir als Innovation die sogenannten georeferenzierten dynamischen Bayesschen Netze (geoDBNs) ein, die es ermöglichen, dass die Benutzerposition auf dem persönlichen Handheld-Gerät berechnet werden kann, ohne dass eine externe Verbindung zu einem Server besteht, auf dem dann die Positionsberechnung durchgeführt würde. Diese neue Methode hat sowohl an Rechenzeit als auch Arbeitsspeicher nur einen geringen Ressourcenbedarf und ist hoch-skalierbar für die In-und Outdoor-Positionierung. Momentan werden IR-und RFID-Sensoren verwendet, aber ebenso lassen sich leicht andere Sensoren einbauen, indem das dynamische Bayessche Netz um den entsprechenden Sensorknoten erweitert wird. Für die Modellierung dynamischer Bayesscher Netze spezifizieren wir neue Modellierungsstrukturen im Zusammenhang mit der Benutzermodellierung und der Sensorverarbeitung und führen damit den Begriff der dynamischen Bayesschen Netze n-ter Ordnung ein. Wir zeigen insbesondere im Zusammenhang mit der Sensorverarbeitung wie sich die Probleme lösen lassen, die durch die Latenz der Sensordaten auftreten können. Abstract The aim of this work was the conception, realisation and application of a system that enables resource-limited embedded systems with low computing power and memory to execute probabilistic processes. The foundation of this system is the differential approach by Darwiche used to solve Bayesian networks, which converts a Bayesian network into a multivariate polynomial and then evaluates it. We extended this approach, such that it also fulfils the specialized requirements of dynamic Bayesian networks. We can execute forward and backward propagation in a dynamic Baysian network and also a combination of both operations. All time slices and other dispensable network structures can be rolled-up without loss of information, whereby the polynomial can be evaluated with constant space requirements. Based on this theoretical elaboration, an application called JavaDBN was developed to convert dynamic Bayesian networks into specific polynomials and generate their networks' source code selectively, in either Java or C++. This source code executes the computations for the evaluation of the polynomials (the inference in dynamic Bayesian networks) and for the addition of new time slices with simultaneous roll-up (elimination of the previous time slice). The source code is realised in a way that during the initialisation phase all required variables are instantiated and no further memory has to be allocated or deallocated afterwards. Thus, garbage collection is not required -a feature that is, especially in embedded real-time systems, not tolerable, since the timing of its execution is not predictable and could therefore interrupt the program execution at unpredictable points in time. Additionally, memory requirements and run-time maxima of the application can be estimated. A further benefit of the source code is its easy readibility, such that inference and roll-up processes remain transparent to the user. Thereby it is feasible to adjust the source code directly and realise features that would only be hardly possible or not at all possible to incorporate, if the inference algorithm would be a precompiled system, accepting and processing the dynamic Bayesian network only as a static input. For this reason we showed how constant table entries can be transxv Inhaltsverzeichnis
doi:10.22028/d291-25859 fatcat:b33vseskf5bg3l5vmgzunniqia