Filtern
Dokumenttyp
- Diplomarbeit (5) (entfernen)
Schlagworte
- Algorithm Engineering (1)
- Aussagenlogik (1)
- Beschreibungslogik (1)
- Circumscription (1)
- DNNF (1)
- DPLL (1)
- Dijkstras Algorithmus (1)
- Hypertableaux (1)
- JML (1)
- Java Modeling Language (1)
- Knowledge Compilation (1)
- Künstliche Intelligenz (1)
- Multiagentensystem (1)
- Propositional Logic (1)
- Rescueanalyser (1)
- Wissenskompilation (1)
- Zirkumskription (1)
- description logic (1)
- hypertableaux (1)
- shiq (1)
Institut
- Fachbereich 4 (3)
- Institut für Informatik (2)
Partielle Wissenskompilation
(2006)
Viele Probleme in der Aussagenlogik sind nur sehr aufwändig lösbar. Ist beispielsweise eine Wissensbasis gegeben, an die wir Anfragen stellen, wollen, so kann dies mitunter sehr mühsam sein. Um trotzdem effizient Anfragen beantworten zu können, hat sich die Vorgehensweise der Wissenskompilation entwickelt. Dabei wird die Lösung der Aufgabe in eine Offline- und eine Online-Phase aufgeteilt. In der Offline-Phase wird die Wissensbasis präkompiliert. Dabei wird sie in eine bestimmte Form umgewandelt, auf der sich die erwarteten Anfragen effizient beantworten lassen. Diese Transformation der Wissensbasis ist meist sehr aufwändig, muss jedoch nur einmalig durchgeführt werden. In der darauffolgenden Online-Phase können nun effizient Anfragen beantwortet werden. In dieser Diplomarbeit wird eine spezielle Normalform, die sich als Zielsprache der Präkompilation anbietet, untersucht. Außerdem wird die Präkompilation so in einzelne Schritte unterteilt, dass möglicherweise bereits nach einigen Teilschritten Anfragen beantwortet werden können.
Rescueanalyser
(2007)
Im Forschungsgebiet der Künstlichen Intelligenz und Multiagenten-Systeme stellt die Erkennung von Plänen eine besondere Herausforderung dar. Es gilt aus einer Menge von Beobachtungen Agentenpläne effektiv, zuverlässig und eindeutig zu identifizieren. Im Bereich des RoboCup ist es von entscheidender Bedeutung, dass Agenten über die Pläne und Intensionen anderer Agenten schlussfolgern können, um gemeinsame Ziele zu erreichen. Diese Diplomarbeit umfasst die Konzeption und Entwicklung eines Werkzeugs für die RoboCupRescue-Simulation, welches die Abläufe einer Rescue-Simulation analysiert und die beobachteten Aktionsfolgen Plänen einer vorspezifizierten Planbibliothek zuordnet. Das entwickelte Analysewerkzeug zeichnet sich einmal durch seine Unabhängigkeit von den verschiedenen Rescue-Agententeams aus, sowie durch die Verwendung neuester Methoden zur effektiven Planerkennung. Damit ermöglicht der entwickelte Rescueanalyser sowohl die Fehlersuche und Optimierung des eigenen Agententeams als auch die Erforschung und Auswertung unterschiedlicher Strategien der Rescue-Agenten konkurrierender Teams. Neben der Visualisierung der Ergebnisse mittels eines optimierten Monitors des Rescue-Simulators, können die Resultate und Auswertungen der Planerkennung auch durch textbasierte Ausgaben detailliert eingesehen werden.
Die Entwicklung von Algorithmen im Sinne des Algorithm Engineering geschieht zyklisch. Der entworfene Algorithmus wird theoretisch analysiert und anschließend implementiert. Nach der praktischen Evaluierung wird der Entwurf anhand der gewonnenen Kenntnisse weiter entwickelt. Formale Verifffizierung der Implementation neben der praktischen Evaluierung kann den Entwicklungsprozess verbessern. Mit der Java Modeling Language (JML) und dem KeY tool stehen eine einfache Spezififfkationssprache und ein benutzerfreundliches, automatisiertes Verififfkationstool zur Verfügung. Diese Arbeit untersucht, inwieweit das KeY tool für die Verifffizierung von komplexeren Algorithmen geeignet ist und welche Rückmeldungen für Algorithmiker aus der Verififfkation gewonnen werden können.Die Untersuchung geschieht anhand von Dijkstras Algorithmus zur Berechnung von kürzesten Wegen in einem Graphen. Es sollen eine konkrete Implementation des Standard-Algorithmus und anschließend Implementationen weiterer Varianten verifffiziert werden. Dies ahmt den Entwicklungsprozess des Algorithmus nach, um in jeder Iteration nach möglichen Rückmeldungen zu suchen. Bei der Verifffizierung der konkreten Implementation merken wir, dass es nötig ist, zuerst eine abstraktere Implementation mit einfacheren Datenstrukturen zu verififfzieren. Mit den dort gewonnenen Kenntnissen können wir dann die Verifikation der konkreten Implementation fortführen. Auch die Varianten des Algorithmus können dank der vorangehenden Verififfkationen verifiziert werden. Die Komplexität von Dijkstras Algorithmus bereitet dem KeY tool einige Schwierigkeiten bezüglich der Performanz, weswegen wir während der Verifizierung die Automatisierung etwas reduzieren müssen. Auf der anderenrn Seite zeigt sich, dass sich aus der Verifffikation einige Rückmeldungen ableiten lassen.
In dieser Diplomarbeit wurde ein System entwickelt, dass eine Navigation für Fußgänger ermöglicht. Wie beabsichtigt wurde das System für die Benutzung auf einem iPhone realisiert.
Obwohl die Karten der neuen Generation vonNAVTEQ sich noch in Entwicklung befinden, konnten erste Eindrücke gesammelt werden, wie die Navigation der Fußgänger in Zukunft aussehen wird. Das System arbeitet aber auch mit Kartendaten von OpenStreetMap, die die klassische Repräsentation der Kartendaten haben. Die Positionierung kann später, wenn der Galileo-Empfänger zur Verfügung steht, umgestellt werden und Positionsdaten mit höherer Präzision für die Navigation bereitstellen. Die Routenberechnung konnte mit einem CH-ähnlichen Verfahren durch Vorberechnung beschleunigt werden und erlaubt trotzdem eine Änderung des Profils, ohne dass eine neue Vorberechnung nötig ist. Anders als beim einfachen CH, wo nach einer Änderung des Profils für die Berechnung der Routenkosten eine neue Vorberechnung nötig ist, die im Vergleich zu der Berechnung einer Route aufwendig ist. In Abbildung 8.1 ist die demonstrative Navigation mit dem fertigen System abgebildet. Diese zeigt eine Berechnung der Routen für 3 unterschiedliche Profile, die unterschiedliche Steigungsgrade bevorzugen. Daraus ergeben sich unterschiedliche Routen.