Wir haben ein System, in dem der Kunde kommt und interagiert, Jobs auslöst und viele Aktionen ausführt. Wir haben 1000 solcher Benutzer. Jeder Job hat einen Namen und unsere Backend-Datenbank enthält alle Daten über die Kundeninteraktionen.Der wahrscheinlichste Pfad zum Erreichen eines bestimmten Knotens in Grafik
Diese Jobs schlagen häufig fehl. Wir wissen, warum ein bestimmter Job aufgrund seiner Eingaben fehlgeschlagen ist, aber jetzt möchten wir herausfinden, welchen Weg der Benutzer genommen hat (Reise), bevor er den Fehlerjob erreicht hat. Wir wollen sehen, ob wir die Erfahrung viel früher verbessern können, so dass der Fehler vermieden wird.
Beispiel (hypothetisch), Login-> Datei erstellen-> Datei speichern -> Datei herunterladen. Download-Datei schlägt mit einem Fehler fehl. Angenommen, das passiert normalerweise, wenn gerade ein Speichervorgang abgeschlossen wurde. Wenn Sie eine Operation zwischen Datei speichern und herunterladen durchgeführt haben, schlägt das Herunterladen fehl. Das ist möglicherweise ein versteckter Fehler.
Die Frage ist - eine Geschichte von 3000 Benutzern Graph Traversal Given (nehmen Pfade der Größe 5 [als ein mir bewegendes Fenster]) baut ein System, dass, wenn Sie gefragt **
„Was sind die wahrscheinlichsten Pfade Knoten X“
gibt die Top-5 höchstwahrscheinlichen Pfade zu erreichen X.
ich die Knoten erstellt haben zu erreichen, wie [jobname] [State], beispielsweise loginSuccess-> createFileSuccess-> SaveFi leSuccess-> DownloadFailed. X wird typischerweise ein [Jobname] fehlgeschlagener Knoten sein, den wir abfragen werden. Wir haben etwa 50 Jobs und 3 Staaten, Erfolg, fehlgeschlagen abgebrochen.
Irgendeine Idee, wie man dieses Modell baut, welchen Algorithmus zu verwenden, und wie man die Wahrscheinlichkeiten umkehrt, wenn ein Knoten gefragt wird?
etwas mehr Klarheit Hinzufügen -
ein Zielknoten gegeben, kann ich Liste, was die wahrscheinlichsten Wege zu waren erreichen es mit der Länge 5. Ich habe nicht die Ausgangspunkte kennen die Dijkstra zu starten. Auch ein direkter Pfad von geringer Wahrscheinlichkeit könnte aus einem verläßt gegebenen Knoten beginnend direkt an den Zielknoten, aber ich brauche Wege der Länge 5.
Sie müssen nur alle Pfade zwischen den beiden Knoten finden (Login, X) .Alle den Pfad, den Sie verwenden können, DFS mit leichten Änderungen, um nur alle Pfade zwischen den beiden Knoten zu finden. http://www.geeksforgeeks.org/find-paths-given-source-destination/ –
Sie können jeden Knoten mit drei Status erstellen .. und traverse nur vom Erfolgsknoten .bearbeiten Sie jeden Knoten als drei Knoten ..so Start wäre (Login_sucess_ node to x_success_Node) –