Logika rozmyta - baza danych i zapytania

W naszych poprzednich rozdziałach zbadaliśmy, że logika rozmyta to podejście do obliczeń oparte na „stopniach prawdy”, a nie na zwykłej logice „prawda lub fałsz”. Zajmuje się rozumowaniem, które jest raczej przybliżone niż precyzyjne, aby rozwiązywać problemy w sposób bardziej podobny do logiki ludzkiej, stąd proces przeszukiwania bazy danych przez dwuwartościową realizację algebry Boole'a nie jest wystarczający.

Rozmyty scenariusz relacji w bazach danych

Rozmyty scenariusz relacji w bazach danych można zrozumieć za pomocą następującego przykładu:

Przykład

Załóżmy, że mamy bazę danych zawierającą dane osób, które odwiedziły Indie. W prostej bazie danych będziemy mieć wpisy wykonane w następujący sposób -

Nazwa Wiek Obywatel Odwiedzony kraj Spędzone dni Rok wizyty
John Smith 35 NAS Indie 41 1999
John Smith 35 NAS Włochy 72 1999
John Smith 35 NAS Japonia 31 1999

Teraz, jeśli ktoś zapyta o osobę, która odwiedziła Indie i Japonię w 99 roku i jest obywatelem Stanów Zjednoczonych, wówczas w wynikach pojawią się dwa wpisy z imieniem John Smith. To jest proste zapytanie generujące proste dane wyjściowe.

Ale co, jeśli chcemy wiedzieć, czy osoba w powyższym zapytaniu jest młoda, czy nie. Według powyższego wyniku wiek osoby wynosi 35 lat. Ale czy możemy założyć, że osoba jest młoda, czy nie? Podobnie, to samo można zastosować do innych dziedzin, takich jak spędzone dni, rok wizyty itp.

Rozwiązanie powyższych problemów można znaleźć za pomocą zestawów Fuzzy Value w następujący sposób -

  • FV (Age) {bardzo młody, młody, nieco stary, stary}

  • FV (dni spędzone) {ledwo kilka dni, kilka dni, całkiem kilka dni, wiele dni}

  • FV (rok wizyty) {odległa przeszłość, niedawna przeszłość, niedawna}

  • Teraz, jeśli jakiekolwiek zapytanie będzie miało wartość rozmytą, to wynik będzie również miał charakter rozmyty.

Rozmyty system zapytań

Rozmyty system zapytań to interfejs umożliwiający użytkownikom uzyskanie informacji z bazy danych za pomocą (quasi) zdań w języku naturalnym. Zaproponowano wiele implementacji zapytań rozmytych, co spowodowało nieco inne języki. Chociaż istnieją pewne różnice w zależności od specyfiki różnych implementacji, odpowiedzią na rozmyte zdanie zapytania jest zazwyczaj lista rekordów uporządkowanych według stopnia dopasowania.