LINGO 教程
# #5!667
$ $5!667
成员列表被忽略时,派生集成员由父集成员所有的组合构成,这样的派生集成为稠密
集。如果限制派生集的成员,使它成为父集成员所有组合构成的集合的一个子集,这样的
派生集成为稀疏集。同原始集一样,派生集成员的声明也可以放在数据部分。一个派生集
的成员列表有两种方式生成:①显式罗列;②设置成员资格过滤器。当采用方式①时,必
须显式罗列出所有要包含在派生集中的成员,并且罗列的每个成员必须属于稠密集。使用
前面的例子,显式罗列派生集的成员:
*51+-0)6*0,647.%6%6!.
如果需要生成一个大的、稀疏的集,那么显式罗列就很讨厌。幸运地是许多稀疏集的成员
都满足一些条件以和非成员相区分。我们可以把这些逻辑条件看作过滤器,在 生
成派生集的成员时把使逻辑条件为假的成员从稠密集中过滤掉。
例 2.4
sets:
!学生集:性别属性 sex,1 表示男性,0 表示女性;年龄属性 age. ;
)-).:,6:6E64.'6*F
!男学生和女学生的联系集:友好程度属性 friend,[0,1]之间的数。
495)-)6)-)7P5Q7RSRR*R5Q7RSR'9+
!男学生和女学生的友好程度大于 0.5 的集;
495497P9+5Q6Q7RFR/'
)
*)*'
6*F
0 14
0 17
0 13;
friend = 0.3 0.5 0.6;
enddata
用竖线(P)来标记一个成员资格过滤器的开始。RSR是逻辑运算符,用来判断是否
“相等”,可参考T"/Q 可看作派生集的第 个原始父集的索引,它取遍该原始父集的所有
成员;Q 可看作派生集的第 个原始父集的索引,它取遍该原始父集的所有成员;
Q,Q",……,以此类推。注意如果派生集 ! 的父集是另外的派生集 %,那么上面所说
的原始父集是集 % 向前回溯到最终的原始集,其顺序保持不变,并且派生集 % 的过滤器对
派生集 ! 仍然有效。因此,派生集的索引个数是最终原始父集的个数,索引的取值是从原
始父集到当前派生集所作限制的总和。
总的来说, 可识别的集只有两种类型:原始集和派生集。
在一个模型中,原始集是基本的对象,不能再被拆分成更小的组分。原始集可以由显
式罗列和隐式罗列两种方式来定义。当用显式罗列方式时,需在集成员列表中逐个输入每
个成员。当用隐式罗列方式时,只需在集成员列表中输入首成员和末成员,而中间的成员
由 产生。
另一方面,派生集是由其它的集来创建。这些集被称为该派生集的父集(原始集或其
它的派生集)。一个派生集既可以是稀疏的,也可以是稠密的。稠密集包含了父集成员的
所有组合(有时也称为父集的笛卡尔乘积)。稀疏集仅包含了父集的笛卡尔乘积的一个子
集,可通过显式罗列和成员资格过滤器这两种方式来定义。显式罗列方法就是逐个罗列稀
疏集的成员。成员资格过滤器方法通过使用稀疏集成员必须满足的逻辑条件从稠密集成员
中过滤出稀疏集的成员。不同集类型的关系见下图。
共 53 页
评论0
最新资源