当前位置:
文档之家› 第8章 模糊逻辑的MATLAB实现
第8章 模糊逻辑的MATLAB实现
8.2 模糊逻辑工具箱的图形界面工具 模糊逻辑工具箱提供的图形用户界面(GUI) 工具有5个,主要的可以用来建立、编辑和观察 模糊推理系统。这5个GUI工具中包含了3个编辑 器,即模糊推理系统 模糊推理系统(fuzzy inference system FIS) 模糊推理系统 编辑器、隶属函数编辑器、模糊规则编辑器; 编辑器、隶属函数编辑器、模糊规则编辑器;2 个观察器,即模糊规则观察器和输出曲面观察 模糊规则观察器和输出曲面观察 器。这些图形化工具相互之间是动态连接的,因 此,在使用中,只要模糊推理系统任何一个GUI 的参数或性质被用户修改,其它打开的任何GUI 中相应的参数或性质都将自动地被改变,这一点 极大地方便了用户对自己的模糊推理系统进行调 试。
8.1 模糊推理过程 在模糊推理的过程中,明确地描述了怎样用 模糊逻辑将给定的输入映射到输出。涉及到隶属 函数、模糊逻辑算子和if hen规则等。 在模糊逻辑工具箱中,可以实现两种类型的模糊 推理系统,即Mamdani型模糊推理系统和Sugeno 型模糊推理系统。 在模糊逻辑工具箱中,模糊推理过程由5个 部分构成,即输入变量的模糊化、前提中模糊算 子(AND或OR)的应用、从前提到结果的蕴涵关系、 模糊规则结果的聚类和反模糊化。
8.2.2 隶属函数编辑器
下面3种方式中的任何一个都可打开隶属函数编辑器。 ①拉下View菜单项,选定“Edit Membership Function….” ②双击输出变量图标。 ③在命令行键入“mfedit”。
1
2
4
5 6 7 10 9 8
11
①——Fi1e(文件)菜单。在5个基本图形工具中的每一个Fi1e菜单下,均可 进行打开、保存或编辑模糊系统的操作。 ②——该区域为变量区,在此显示了所有已定义的输入变量和输出变量, 单击某一变量,使其成为当前变量,就可编辑该变量的隶属函数。 ③——该区域为绘图区。在此显示当前变量的所有隶属函数; ④——在该区域中,单击并选中一条隶属函数,就可以编辑该隶属函数的 名称、类型、属性及参数。用鼠标按住一条隶属函数上的小圆圈并拖动鼠 标,就可以改变所选中的隶属函数的形状及其参数,如果用鼠标按在隶属 函数的小圆圈以外的曲线上并拖动鼠标,就可以平移该隶属函数的位置, 而不改变其形状。 ⑤——文本框。在该文本框中,可以改变当前选中的隶属函数的名称。 ⑥——下拉菜单。在该下拉菜单中可以改变当前隶属函数的类型。 ⑦——文本框。在该文本框中,可以改变当前选中的隶属函数的数字参数。 ⑧——状态栏。在该状态栏显示上一步进行的操作。 ⑨——文本框。在该文本框中,可设置当前图形的显示范围。 ⑩——文本框。在该文本框中,可设置当前变量的范围。 ⑾ ——在此区域,显示当前选中的变量的名称和类型。
(2)第3步:模糊推理 在应用模糊蕴涵进行模糊推理之前,必须注 意规则的权,每一规则部有一个权(0到1之间的 一个数值),它被用干前提给定的个数。通常权 值为1。有时我们可能想将某个权值改为一个非 1的值,以改变相应规则与其它规则的相对权值。 如果某一规则的权值为0。则它在模棚推理过程 0 中不产生任何作用。 一旦为每一规则指定了适当的权。就实现 了蕴涵。其结果之一是模糊集由隶属函数表示, 隶属函数规定了属于它的语言特征的权值。 工具箱有两个内置的方法,它们与AND方 法使用同样的函数:min和prod,前者截断输出 模糊集.后者规定输出模糊集的尺度。
(5)第5步:反模糊化 反模糊化过程的输入是一个模糊集,即上一 步中的聚类输出模糊集,其输出为一个单值。在 各中间步骤中,模糊性有助于规则计算。但一般 而言。对各变量最终的期望输出是一个单值,但 是,模糊集的聚类中包含了许多输出值,因此必 须将其反模糊化,以从集合中解析出一个单输出 值。 反模糊化最常用的方法是重心计算,它计算 并返回曲线下区域的中心。工具箱中有5个内置 方法:重心法(centroid)、二等分法(bisector)、中 间最大值法(middle of maximum)(输出值最大值的 平均),最大最大值法(largest of maximum)、最小 最大值法(smallest of maximum)。
(4)第4步:聚类输出 由于决策是在对模糊推理系统中所有规则进行 测试的基础上作出的,故必须以某种方式将规则 结合起来以作出决策,聚类就是这样一个过程。 它将表示每个规则输出的模糊集结合成一个单独 的模糊集。只有在模糊推理过程的第5步也就是 反模糊化之前,才对每个输出变量进行一次聚类 处理。聚类过程的输入是对每个规则的蕴涵过程 返回的截断输出函数,其输出是 一个输出变量 的模糊集合。 由于聚类方法是可交换的。因此在聚类方法 中,规则的执行顺序无关紧要。工具箱有3个内 置方法:max、probor和sum。其中,sum执行的 是各规则输出集的简单相加。
1
2
3
6
5 8 7 4
①——File(文件)菜单。在5个基本图形工具中的每一个File菜单下,均 可进行打开、保存或编辑模糊系统的操作。 ② ——输入输出量选择框。输入输出的量是一个“词”而非数值。 ③——模糊规则编辑器。根据用户的操作而自动地书写或修改模糊规 则,并将最新的模糊规则显示在该可视化区域。 ④———Help按钮和close按钮。按Help按钮,可调用模糊规则编辑器 的使用帮助;按close按钮,则可关闭模糊规则编辑器。 ⑤——Delete rule按钮、Change rule按钮和Add ru1e按钮。按Delete rule按钮,将选中的模糊规则删除;按Change rule按钮,可以修改选 中的模糊规则;按Add rule,将按照从输入输出菜单中所选的变量, 建立新的模糊规则。 ⑥——选中此复选框,将使模糊规则中输入输出的表述为“非”(取 反)。 ⑦——状态栏。在该状态栏显示上一步进行的操作。 ⑧ ——选择该处的单选按钮,可以确定模糊规则中各输入间“与”或 “或”的连接关系
使用模糊规则编辑器构造规则非常容易。在 FIS编辑器对输入输出变量进行定义和描述的基 础上,可用模糊规则编辑器自动构造模糊规则语 句。其方法是在模糊规则编辑器左边选择一个输 入变量,并选中它的一个语言值(或称模糊子集、 隶属函数),然后在编辑器右边的输出变量框中选 择一个输出变量,并选中它的一个语言值(或称模 糊子集、隶属函数),然后将这种联系添加到模糊 规则中。对于一个规则中有多个输入变量,只要 在输入变量之间再选择一个连接项(and或or)即可。 如果在选择的变量下,选择none作为其隶属函数, 则表示在这一规则中,这个变量不起作用。对任 何变量,如果选择了下方的not复选框,都将对与 该变量相关的性质取反。
(2)第2步:应用模糊算子
完成了输入模糊化,我们就知道对于每个模糊 规则,前提中每一部分被满足的程度。如果一个给 定规则的前提有多个部分、则可用模糊算子来获得 一个数值,这个数值表示前提对于该规则的结果。 随后,这个数值被应用于输出函数中。模糊算子的 输入是两个或更多个从模糊化输入变量得到的隶属 值、而输出是一个单独的真实值。 在模糊逻辑中有多种明确定义的方法可以实现 模糊交(AND))和模糊或(OR)算子。模糊逻辑工具箱 中内置了两个模糊交方法:min(最小值)和prod(乘 积),同样还内置了两个模糊或方法:max(最大值) 和probor(OR概率统计方法)。
1、模糊推理过程的步骤
(1)第1步:输入的模糊化 模糊推理过程的第一步,是获取输入,并确定 它们通过隶属函数而属于每个适当的模糊集合的 隶属度。在模糊逻辑工具箱中,输入总是一个明 确的数值,而这个数值被限制在输入变量的论域 (范围)中。输出则是一个限定语义集合中的模糊 隶属度(总在0,1之间)。事实上,输入模糊化的 概念与查表或函数估算的概念是等价的。
8.2.3 模糊规则编辑器 在前面已经完成了对变量命名,同时 各变量的隶属函数也有了适当的形状和名 字,下面开始编辑模糊规则。有两种方法 可以调用模糊规则编辑器,一是在FIS编 辑器(同样也可在隶属函数编辑器)中的 View菜单中选定“Edit rules…”,二是在 命令行中键人“ruleedit”。
第8章 模糊逻辑的MATLAB实现
MATLAB强大的扩展功能为各个领域的应用提供 了基础,由各个领域的专家学者相继开发了MATLAB 工具箱。模糊逻辑工具箱正是其中的一个。模糊逻辑 的创始人入Zadeh对模糊逻辑工具箱作出了高度的评价。 他说:“由于模糊逻辑工具箱为系统结构的计算提供 了模糊规则,因此它极大地增强了人们的推理能力。 并由于Math works公司无可匹敌的MATLAB软件及其 图形界面技术,人们的推理能力更是进一步加强。” 同时他说:“模糊逻辑工具箱在各方面都给人以非常 深刻的印象。它使得模糊逻辑成为对于智能系统的概 念和设计的有效工具,而且它易于掌握,使用方 便。” 。
8.2.1 FIS编辑器
如果已经存在一个模糊推理系统aaa.fis,则在工作区中键入“fuzzy aaa” 可以直接用模糊逻辑工具箱打开这个模糊推理系统。 如果只是要打开FIS编辑器,则在工作区键入如下命令“fuzzy” 打开的FIS编辑器如图所示。
2
3
4
1
5
8 7 6
①——File(文件)菜单。该区域是每一个基本图形工具中都 具有的File菜单项,在此可以进行打开、保存或编辑模糊系 统的操作。 ②——在该区域中,双击输入变量的图标,可打开隶属函 数编辑器,以定义输入变量或输出变量的隶属函数。 ③ ——在该区域中,双击系统示图,可打开模糊规则编辑 器。 ④——在该区域中,双击输出变量图标,可打开隶属函数 编辑器,以定义输出变量或输入变量隶属函数。 ⑤——文本框。在该文本框中可对输入变量或输出变量进 行命名或改名。 ⑥——状态栏。在该状态栏显水上一步进行的操作。 ⑦——下拉菜单。各下拉菜单用于选择模糊推理方法,例 如选择“反模糊化”方法等等 ⑧——在该区域中显示系统名称。要改变系统名称,可在 rile菜单下选择“save as”进行。
FIS编辑器:处理系统的高级问题,如:有多少个输入 和输出变量?其名称是什么?等等。模糊逻辑工具箱输 入变量的个数没有限制。但是,输入变量的个数会受到 计算机内存的限制,如果输入变量的个数太多,或隶届 函数的个数太多,则可能难于使用其它GUI工具来分析 FIS。 隶属函数编辑器:用于定义与每个变量关联的隶属函数 的形状。 模糊规则编辑器:用于编辑规则列表,该规则列表定义 了系统的行为。 模糊规则观察器和输出曲面观察器:用于观察(但不能编 辑)模糊推理系统。它们是严格的只读工具。当模糊规 则观察器被用于调试时,它能显示哪个规则正在运作, 或各隶属函数的形状怎样影响结果,等等。输出曲面观 察器用于显示输出对任何一个或两个输入的依赖性,即 它为系统产生并且绘制一个输出曲面。