模糊逻辑 - 数据库和查询



我们在之前的章节中学习过,模糊逻辑是一种基于“真值程度”而不是通常的“真或假”逻辑的计算方法。它处理近似而不是精确的推理,以一种更类似于人类逻辑的方式解决问题,因此,布尔代数的两值实现方式对于数据库查询过程来说是不够的。

数据库上关系的模糊场景

可以通过以下示例了解数据库上关系的模糊场景:

示例

假设我们有一个数据库,其中包含访问过印度的人员记录。在简单的数据库中,我们将以以下方式进行条目:

姓名 年龄 国籍 访问国家 停留天数 访问年份
John Smith 35 美国 印度 41 1999
John Smith 35 美国 意大利 72 1999
John Smith 35 美国 日本 31 1999

现在,如果有人查询在99年访问过印度和日本并且是美国公民的人,则输出将显示两条包含John Smith姓名的记录。这是一个简单的查询,生成简单的输出。

但是,如果我们想知道上述查询中的人是否年轻呢?根据上述结果,该人的年龄为35岁。但是,我们能否假设该人年轻呢?同样,相同的事情可以应用于其他字段,例如停留天数、访问年份等。

可以通过以下模糊值集找到上述问题的解决方案:

  • FV(年龄){非常年轻,年轻,有点老,老}

  • FV(停留天数){几乎几天,几天,相当多天,很多天}

  • FV(访问年份){遥远的过去,最近的过去,最近}

  • 现在,如果任何查询包含模糊值,则结果也将具有模糊性。

模糊查询系统

模糊查询系统是一个用户界面,用于使用(准)自然语言句子从数据库中获取信息。已经提出了许多模糊查询实现,导致了略微不同的语言。尽管根据不同实现的特殊性存在一些差异,但模糊查询句子的答案通常是一个记录列表,按匹配程度进行排序。

广告