爱思维尔

信息科学

第181卷第10期,2011年5月15日,1951-1970页
信息科学

RFuzzy:Prolog上一个简单而有表现力的模糊工具的语法、语义和实现细节

摘要

我们提出了RFuzzy框架,一个基于Prolog的模糊信息表示和推理工具。与之前的研究工具相比,我们的框架的优势在于其简单、用户友好的语法,以及通过默认值和类型的可用性进行表达。

在这种方法中,我们描述了形式语法操作语义学以及RFuzzy的声明语义(基于格)。引入了最小模型语义、最小不动点语义和操作语义,并证明了它们的等价性。我们提供了一个真正的免费可用的实现。(可从http://babel.ls.fi.upm.es/software/rfuzzy/)除了实现细节,我们还讨论了一些实际应用。

介绍

逻辑程序设计[18]已经成功地应用于知识表示和推理几十年。然而,一个严重的缺点是缺乏一种简单易用的方式来表示模糊的世界信息。事实上,世界数据并不总是以一种清晰的方式被感知。我们收集的信息可能是不完美的,不确定的,或者在其他方面是模糊的。因此,在知识表示中,不确定性和模糊性的管理是非常重要的。1

随着时间的推移,在逻辑程序设计中引入不确定性(在模糊意义上)的大量框架已经被提出。遗憾的是,只有很少的一部分能够产生实际可用的工具。由于逻辑程序设计传统上用于知识表示和推理,我们认为(如[40])非常适合实现我们这样的模糊推理工具。

在逻辑程序设计中引入模糊逻辑,使得在Prolog上开发了多个模糊系统。这些系统将其推理机制SLD分辨率替换为能够处理部分真值的模糊变量。这些系统大多实现了Lee[16]提出的模糊解析,如Prolog Elf系统[10]、FRIL-Prolog系统[2]和F-Prolog语言[17]。然而,没有一种通用的方法来模糊化Prolog,如[39]所述。

有些模糊Prolog系统只考虑谓词的模糊性,而其他系统则考虑模糊事实或模糊规则。对于应该使用哪种模糊逻辑还没有达成一致意见。大多数系统使用最小-最大逻辑(用于对合取和析取操作进行建模),其他系统仅使用Łukasiewicz逻辑[12]。2

约束逻辑程序设计[3]还有一个扩展,它可以基于半环结构对逻辑进行建模。该框架可以对最小-最大模糊逻辑进行建模,这是唯一具有半环结构的逻辑。Vojtš[49]提出了另一个无否定模糊逻辑规划的理论模型,它处理了许多有价值的含义。

Prolog最有前途的模糊工具之一是“fuzzy-Prolog”系统[48],[5]。与其他方法相比,最重要的优点是:

1

真值表示为[0,1]上的子区间的有限并。区间是一个元素并集的特殊情况,唯一真值(实数)是只有一个元素的区间的特殊情况。

2

真值通过规则通过聚合运算符. 这个的定义聚合运算符是一般的,它包括合取算子(三角范数[14]如min、prod等)、析取算子[46](三角协范数,如max、sum等)、平均算子(算术平均值、拟线性平均值等)和混合算子(上述算子的组合[38])。

三。

清晰推理和模糊推理是一致结合的[24]。

模糊Prolog使用CLP为Prolog编译器添加了模糊性(R)而不是像以前的模糊Prolog系统那样实现一种新的模糊解析方法。它将间隔表示为对实数的约束,并且聚合运算符作为具有这些约束的操作。因此,Prolog的内置推理机制被用来处理部分真的概念。

在过去几年中,麦地那等人发表了几篇论文。[31],[32],[30]关于多重伴随规划。他们描述了一个理论模型,但是除了有希望的原型[1]和最近的flopper工具[34],[27]之外,没有任何严肃的实现方法。

FLOPER实现的灵感来自Fuzzy Prolog[5],并增加了使用多伴随逻辑的可能性。一方面,Fuzzy-Prolog更具表现力,因为它可以表示连续的模糊函数,并且它的真值也更一般(实数与实数的间隔的并集);另一方面,Fuzzy-Prolog的语法非常灵活和通用,对于那些只对简单模糊问题建模感兴趣的非专家程序员来说,它可能会很复杂。

这就是为什么我们在这里提出的原因接近。它比Fuzzy Prolog简单,因为真值是简单的实数,而不是Fuzzy Prolog的一般结构。RFuzzy允许对多伴随逻辑进行建模(见第5节),并且在FLOPER方面提供了一些有趣的改进:默认值、部分默认值(仅针对数据子集)、类型化谓词和有用的语法糖(用于表示事实、规则和函数)。此外,RFuzzy继承了Fuzzy-Prolog的特性,这使得它比其他工具更具表现力。例如:

RFuzzy使用类似Prolog的语法,提供查询语法的灵活性,

它允许程序员组合清晰和模糊的谓词,

它提供了将真值和

它在查询数据或真值时提供了建设性的答案。

以前的一些著作已经出版,详细介绍了RFuzzy的语法[36]、[22]和操作语义[37]、[42]。本文结合了这些理论和实践的细节,另外还提供了声明性语义和一些应用实例。

我们首先介绍了RFuzzy的形式语法(第2节)及其声明性和操作性语义(分别是第3节声明性语义和4节操作语义),从而得出“RFuzzy允许对多伴随逻辑建模”(第5节)这句话的正当性。之后,我们介绍了RFuzzy的实现和使用(第6节),并提供了一些实际的应用案例(第7节)。最后一节(第8节)负责介绍这项工作的结论。

数字

  1. 图1。青少年真值连续表征
    青少年真实价值观的连续表征。
  2. 图2。模糊建筑
    混乱的建筑。
  3. 图3。数据识别方法
    数据识别方法。
  4. 图4。RoboCupsAccer服务器的系统结构
    RoboCupsAccer服务器的系统架构。

代码段

语法

我们将使用函数符号和一组变量的签名∑“构建”术语宇宙∑,V(谁的元素是条款). 它是一个极小集,使得每个变量都是一个项,并且项在∑-运算下是闭合的。特别是,常量符号是术语。

类似地,我们使用谓词符号的签名∏来定义基本术语TB∑,V(其元素被称为原子). 原子是谓词,其参数是TU的元素Σ,. 原子和术语被称为地面如果他们这样做的话

陈述语义学

为谓词定义缺省真值的可能性为我们提供了很大的灵活性和表达能力。但它也有它的缺点:对违约的推理本质上是非单调的——我们可能不得不撤回在执行的早期阶段所做的一些结论。为了正式地捕捉到这一点,我们在每个真值上附加一个属性,该属性指示该值是如何得出的。这些属性可以是有序数(如[45]中的实数,[0

操作语义学

操作语义将通过对计算树(可能只是部分实例化)进行操作的转换关系形式化。在这里,我们不需要跟踪默认值属性{▴,它们将被编码到计算中。

定义4.1

Ω是连接词和W一组变量W ∩  = ∅.10

A计算节点是一对A,e>,在哪里A∈TBΠ,Σ,e

关于多伴随逻辑程序设计

一般逻辑程序的语义需要一个不同的结果(蕴涵)概念,以满足一般化的modus-ponens规则。在[49]中,寻找一个语义基础作为剩余格和相当普遍的连接词及其伴随词的公分母是很自然的。使用了不同的含义和几种形式化的推理规则。因此,这个扩展的主要点自然会导致在

使用框架。实施细节

显然,当用Prolog编码时,不可能写出我们在第2节中使用的符号。在这里,我们公开了用于编写程序的语法和框架实现的一些细节。

实际应用案例

虽然模糊推理的理论方法有很多,但是很少有人使用这些方法。这是一个挑战,创造一个工具,可以使用任何人有兴趣建模一个真实(模糊)问题。从一开始,RFuzzy的目标就是将表现力和简单的语法结合起来,从而促进其在不同应用领域的使用。在本节中,我们将展示两个当前

结论

我们提出了一个模糊逻辑编程框架RFuzzy。RFuzzy是一个严肃的尝试,旨在为实际问题建模和应用模糊推理提供一个有用的工具。它是一个非常有表现力的工具,语法简单,足以模拟真实的应用程序案例。RFuzzy的一些特性是默认值(和条件默认值)的表示、函数和(连续和离散)规则的类型和语法。经过几年丰富的研究

致谢

研究人员培训计划BES-2008-008320(科学和创新部)和项目DESAFIOS10–TIN 2009-14599-C03-01(科学和教育部)和PROMESAS–S-0505/TIC/0407(马德里地区政府)支持的工作。

工具书类(五十二)

  • 罗宾米尔纳

    程序设计中的类型多态理论

    J、 计算机。系统。科学。

    (1978年)
  • 英杰等等。

    模糊集的一个新的推广:R-模糊集

    通知。科学。

    (2010年)
  • 雅恩卢瓦耶等等。

    逻辑程序设计中的任何世界假设

    理论。计算机。科学。

    (2005年)
  • 安娜普拉德拉等等。

    一类基于三角范数的聚集算子:拟线性t-s算子

    内景,大概原因。

    (2002年)
  • 佩德罗·何塞·莫西洛,金尼斯·莫雷诺,弗洛珀,一个模糊逻辑编程研究环境,in:Fundación。。。
  • 杜松子酒莫雷诺

    建立模糊变换系统

  • J、 M.Abietar,P.J.Morcillo,G.Moreno,设计模糊逻辑编程的软件工具,载:G.Maroulis,T.E。。。。
  • 帕韦尔卡

    论模糊逻辑Ⅰ、Ⅱ、Ⅲ

    Z、 数学。数学格伦德拉根。

    (1979年)
  • R、 C.T.公司。

    模糊逻辑与分解原理

    J、 联合计算机。机器。

    (1972年)
  • Vıctor Pablos Ceruelo,Susana Muñoz Hernández,Hannes Strass,Rfuzzy framework,in:论文发表于第18届。。。
  • 约翰威利·劳埃德

    逻辑程序设计基础

    (1987年)
  • 多伴随模糊逻辑框架。。。
  • 苏珊娜·穆诺兹·赫尔南德斯,机器人足球,费兹一章:一个简单而富有表现力的工具,用于在。。。
  • 苏珊娜穆尼奥斯·埃尔南德斯等等。

    模糊认知层

  • 苏珊娜穆尼奥斯·埃尔南德斯等等。

    Rfuzzy:一个表达简单的模糊编译器

  • Z、 沈立定,穆凯东,模糊分辨原理,载:第十八届国际学术研讨会论文集。。。
  • 引用人(29)

    • 全集成模糊逻辑语言的阈值语义框架

      2017年,《程序设计中的逻辑和代数方法杂志》
    • 粗糙集理论在格理论中的应用

      2012年,信息科学
      引文摘要:

      例如,它们在分布式计算、并发理论、编程语言语义学和数据挖掘中都有应用,在其他数学学科如组合学、数论和群论中也有应用,见[1,3,20,23,27,30,31,42,43,45],在这一节中,我们对格的概念作一些一般性的评论粗糙集理论。

    • 为多种数据库格式扩展灵活的搜索工具

      2020年,电气工程课堂讲稿
    • 将模糊准则引入表达式搜索的用户友好界面

      2020年,智能系统和计算的进步
    查看Scopus上所有引用的文章
    查看全文