📅  最后修改于: 2020-11-24 06:18:27             🧑  作者: Mango
在前面的章节中,我们研究了模糊逻辑是一种基于“真度”而不是通常的“真或假”逻辑的计算方法。它以更类似于人的逻辑的方式处理近似而不是精确的推理来解决问题,因此通过布尔代数的二值实现的数据库查询过程是不够的。
可以通过以下示例来理解数据库关系的模糊方案:
假设我们有一个数据库,该数据库包含访问印度的人员的记录。在简单的数据库中,我们将通过以下方式创建条目-
Name | Age | Citizen | Visited Country | Days Spent | Year of Visit |
---|---|---|---|---|---|
John Smith | 35 | U.S. | India | 41 | 1999 |
John Smith | 35 | U.S. | Italy | 72 | 1999 |
John Smith | 35 | U.S. | Japan | 31 | 1999 |
现在,如果有人询问在99年访问过印度和日本并且是美国公民的人,那么输出将显示两个名为John Smith的条目。这是生成简单输出的简单查询。
但是,如果我们想知道上述查询中的人是否年轻,该怎么办。根据以上结果,该人的年龄为35岁。但是我们可以假设这个人还年轻吗?同样,同样的事情也可以应用到其他领域,例如花费的天数,访问的年份等。
可以借助模糊值集找到上述问题的解决方案,如下所示:
FV(Age){非常年轻,年轻,有些老,老}
FV(花费的天数){几天,几天,很多天,几天}
FV(访问年份){遥远的过去,最近的过去,最近的}
现在,如果任何查询将具有模糊值,那么结果本质上也将是模糊的。
模糊查询系统是用户使用(准)自然语言句子从数据库中获取信息的接口。已经提出了许多模糊查询实现,导致语言略有不同。尽管根据不同实现的特殊性会有一些变化,但是模糊查询语句的答案通常是记录列表,按匹配程度排序。