Fuzzy Logic - Datenbank und Abfragen

Wir haben in unseren vorherigen Kapiteln untersucht, dass Fuzzy Logic ein Ansatz zur Berechnung ist, der auf "Wahrheitsgraden" und nicht auf der üblichen "wahren oder falschen" Logik basiert. Es handelt sich eher um eine ungefähre als um eine präzise Argumentation, um Probleme auf eine Weise zu lösen, die der menschlichen Logik ähnlicher ist. Daher ist ein Datenbankabfrageprozess durch die zweiwertige Realisierung der Booleschen Algebra nicht ausreichend.

Fuzzy-Szenario für Beziehungen in Datenbanken

Das Fuzzy-Szenario der Beziehungen zu Datenbanken kann anhand des folgenden Beispiels verstanden werden:

Beispiel

Angenommen, wir haben eine Datenbank mit den Aufzeichnungen von Personen, die Indien besucht haben. In einer einfachen Datenbank werden die Einträge folgendermaßen vorgenommen:

Name Alter Bürger Besuchtes Land Tage verbracht Jahr des Besuchs
John Smith 35 UNS Indien 41 1999
John Smith 35 UNS Italien 72 1999
John Smith 35 UNS Japan 31 1999

Wenn jemand Fragen zu der Person stellt, die im Jahr 99 Indien und Japan besucht hat und Staatsbürger der USA ist, werden in der Ausgabe zwei Einträge mit dem Namen John Smith angezeigt. Dies ist eine einfache Abfrage, die eine einfache Ausgabe generiert.

Aber was ist, wenn wir wissen wollen, ob die Person in der obigen Abfrage jung ist oder nicht? Nach dem obigen Ergebnis beträgt das Alter der Person 35 Jahre. Aber können wir davon ausgehen, dass die Person jung ist oder nicht? Ebenso kann das Gleiche auf die anderen Bereiche angewendet werden, z. B. Tage, Besuchsjahr usw.

Die Lösung der oben genannten Probleme kann mithilfe von Fuzzy-Wertesätzen wie folgt gefunden werden:

  • FV (Alter) {sehr jung, jung, etwas alt, alt}

  • FV (Days Spent) {kaum ein paar Tage, ein paar Tage, ein paar Tage, viele Tage}

  • FV (Jahr des Besuchs) {ferne Vergangenheit, jüngste Vergangenheit, jüngste}

  • Wenn eine Abfrage den Fuzzy-Wert hat, ist das Ergebnis ebenfalls unscharf.

Fuzzy-Abfragesystem

Ein Fuzzy-Abfragesystem ist eine Schnittstelle für Benutzer, um Informationen aus der Datenbank mithilfe von (quasi) Sätzen in natürlicher Sprache abzurufen. Es wurden viele Fuzzy-Abfrage-Implementierungen vorgeschlagen, die zu leicht unterschiedlichen Sprachen führen. Obwohl es je nach den Besonderheiten verschiedener Implementierungen einige Variationen gibt, ist die Antwort auf einen Fuzzy-Abfragesatz im Allgemeinen eine Liste von Datensätzen, geordnet nach dem Grad der Übereinstimmung.