chatbot2
chatbot2 copied to clipboard
Implementierung der Pfadsuche
Ich hab Code vorbereitet der folgende zwei Dinge macht:
- das XML einliest und in einem ungerichteten
AdjacencyGraphabspeichert. Für das Parsing benutze ich die nokogiri library, für den Graphen RGL. - auf diesem Graphen eine Suche nach kürzesten Pfaden von A nach B anbietet (nach Kantengewichten). Die Implementation benutzt Dijkstra's Algorithmus.
Sobald wir uns über ein grundlegendes Vorgehen in #20 verständigt haben, kann ich den Code integrieren, das sollte dann trivial sein.
XML-Parsing und Pfadsuche ist integriert: ben-tinc@4a085f3269c4ea249ca837af2b95fe7b81f36ad7
Drei wichtige Anmerkungen:
- natürlich müssen nokogiri und RGL gems installiert sein (das Gemfile enthält diese jetzt)
- die Anfrage regex ist großteils nicht geeignet, die node-descriptions, die in unserem campusgraph.xml vorkommen, auch tatsächlich zu matchen. (@kenoboss)
- Wenn es überhaupt keinen Pfad zwischen start und ziel node gibt, crashed RGL im Moment, anstatt einfach einen leeren Pfad zu liefern. Schau ich mir noch an..
@ben-tinc https://github.com/kenoboss/chatbot2/commit/42db69ae8d63d30b3dcc4633d59baa50d454763a
sollte jetzt funktionieren