模糊邏輯 - 資料庫和查詢



我們在之前的章節中學習過,模糊邏輯是一種基於“真值程度”而不是通常的“真或假”邏輯的計算方法。它處理近似而不是精確的推理,以一種更類似於人類邏輯的方式解決問題,因此,布林代數的兩值實現方式對於資料庫查詢過程來說是不夠的。

資料庫上關係的模糊場景

可以透過以下示例瞭解資料庫上關係的模糊場景:

示例

假設我們有一個數據庫,其中包含訪問過印度的人員記錄。在簡單的資料庫中,我們將以以下方式進行條目:

姓名 年齡 國籍 訪問國家 停留天數 訪問年份
John Smith 35 美國 印度 41 1999
John Smith 35 美國 義大利 72 1999
John Smith 35 美國 日本 31 1999

現在,如果有人查詢在99年訪問過印度和日本並且是美國公民的人,則輸出將顯示兩條包含John Smith姓名的記錄。這是一個簡單的查詢,生成簡單的輸出。

但是,如果我們想知道上述查詢中的人是否年輕呢?根據上述結果,該人的年齡為35歲。但是,我們能否假設該人年輕呢?同樣,相同的事情可以應用於其他欄位,例如停留天數、訪問年份等。

可以透過以下模糊值集找到上述問題的解決方案:

  • FV(年齡){非常年輕,年輕,有點老,老}

  • FV(停留天數){幾乎幾天,幾天,相當多天,很多天}

  • FV(訪問年份){遙遠的過去,最近的過去,最近}

  • 現在,如果任何查詢包含模糊值,則結果也將具有模糊性。

模糊查詢系統

模糊查詢系統是一個使用者介面,用於使用(準)自然語言句子從資料庫中獲取資訊。已經提出了許多模糊查詢實現,導致了略微不同的語言。儘管根據不同實現的特殊性存在一些差異,但模糊查詢句子的答案通常是一個記錄列表,按匹配程度進行排序。

廣告