MaxiKing: Auswählen von Zustantsübergang aufgrund von Wahrscheinlichkeit

Hi!

ich habe folgende tabelle:

( S1 (varchar), S2 (varchar), CNT (int) )

dabei stellt jede zeile in der tabelle dar wie oft in den analysierten daten von zustand S1 zu zustand S2 übergegangen wurde.

wenn ich eine abfrage "select s1, s2, cnt where s1 = ?" für den aktuellen zustand in dem ich bin schicke bekomme ich eine tabelle zurück die mir (mehr oder weniger) angibt mit welcher wahrscheinlichkeit ich in welches S2 über gehen sollte.

meine frage ist nun, wie ermittle ich in welches S2 ich soll? wenn ich z.b. als ergebnis hab:

{ ('A', 'B', 70), ('A', 'C', 30) }

dann möchte ich mit einer wahrscheinlichkeit von 70% auf 'B' über gehen und mit 30% auf 'C'.

Bei 2 werten ist es ja noch relativ einfach - aber was mache ich wenn ich mehrere werte habe wie hier z.B:

{ ('A', 'B', 35), ('A', 'C', 14), ('A', 'D', 28), ('A', 'E', 258), ('A', 'F', 2) }

und noch eine kleine frage am rande, würde es sinn machen die funktion zum "berechnen" des nächsten zustandes in MySQL als stored procedure zu erstellen, oder sollte ich sie im Client platzieren?

Danke!

  1. Hallo,

    ( S1 (varchar), S2 (varchar), CNT (int) )

    wenn ich eine abfrage "select s1, s2, cnt where s1 = ?" für den aktuellen zustand in dem ich bin schicke bekomme ich eine tabelle zurück die mir (mehr oder weniger) angibt mit welcher wahrscheinlichkeit ich in welches S2 über gehen sollte.

    Bei 2 werten ist es ja noch relativ einfach - aber was mache ich wenn ich mehrere werte habe wie hier z.B:

    nicht anders als bei zwei Werten auch :-)

    { ('A', 'B', 35), ('A', 'C', 14), ('A', 'D', 28), ('A', 'E', 258), ('A', 'F', 2) }

    Joine Deine Ausgangstabelle auf einen temporären View zur Berechnung der Gesamtsumme je Ausgangszustand und berechne - wie irgendwann in der Schule bei der Prozentrechnung gelernt - die Wahrscheinlichkeiten.

    und noch eine kleine frage am rande, würde es sinn machen die funktion zum "berechnen" des nächsten zustandes in MySQL als stored procedure zu erstellen, oder sollte ich sie im Client platzieren?

    Weder das eine noch das andere. Eine simple Abfrage genügt.

    Freundliche Grüße

    Vinzenz