人工智能(柴玉梅)第四章课后部分习题答案(仅供参考)

注释部分只是复习用,不是答案

第五题

在这里插入图片描述

注释:便于复习
本来想搜个类似的,结果发现r1这种人家都带括号!!!额,没括号那我就从前往后算了,按顺序算准没错~
CF(H)的合成公式:
在这里插入图片描述

解:推理网络如下图:
在这里插入图片描述
由r1可得:
CF(E1)=CF(E1,E3∧E4∨E5) × CF(E3∧E4∨E5)
=0.8 × max{0,CF(E3∧E4∨E5)}
=0.8 × max{0,max{CF(E3∧E4),CF(E5)}}
=0.8 × max{0,max{min{CF(E3),CF(E4)},CF(E5)}}
=0.8 × max{0,max{0.8,0.6}}
=0.8 × 0.8
=0.64

由r2可得:
CF1(H)=CF(H,E1) × CF(E1)
=0.6 × 0.64
=0.384
由r3可得:
CF2(H)=CF(H,E2) × CF(E2)
=0.7 × 0.6
=0.42
由r4可得:
CF3(H)=CF(H,E6) × CF(E6)
=0.8 × 0.4
=0.32
因为 CF1(H)、CF2(H)、CF3(H)都大于0,所以

CF1,2(H)=0.384 + 0.42 -0.384 × 0.42 = 0.64272

CF(H)=0.64272 + 0.32 - 0.64272 × 0.32 = 0.7570496

第七题

在这里插入图片描述

注释:便与复习:
额,最开始在想怎么算出其他m(A),后来懂了才晓得不存在的就是0,其他存在的加起来正好为1!!这样就没问题了。

解:集合有{a},{b},{c},{a,b},{a,c},{b,c},{a,b,c},∅
则有:
(1)
m({a})=0.4
m({b})=0
m({c})=0
m({a,b})=0
m({a,c})=0.4
m({b,c})=0
m(∅)=0
m({a,b,c})=0.2

(2)
Bel({a})=m({a})=0.4
Bel({b})=m({b})=0
Bel({c})=m({c})=0
Bel({a,b})=m({a}) + m({b}) + m({a,b})=0.4
Bel({a,c})=m({a}) + m({c}) + m({a,c})=0.8
Bel({b,c})=m({b}) + m({c}) + m({b,c})=0
Bel({a,b,c})=m({a}) + m({b}) + m({c}) + m({a,b}) + m({a,c}) + m({b,c}) + m({a,b,c})=1

(3)
Pl({a})=1-Bel({a}’)=1-Bel({b,c})=1
Pl({b})=1-Bel({b}’)=1-Bel({a,c})=0.2
Pl({c})=1-Bel({c}’)=1-Bel({a,b})=0.6
Pl({a,b})=1-Bel({a,b}’)=1-Bel({c})=1
Pl({a,c})=1-Bel({a,c}’)=1-Bel({b})=1
Pl({b,c})=1-Bel({b,c}’)=1-Bel({a})=0.6
Pl({a,b,c})=1-Bel({a,b,c}’)=1-Bel(∅)=1
Pl(∅)=1-Bel(∅’)=1-Bel({a,b,c})=0

第九题

在这里插入图片描述
解:利用关系合成来构造模糊关系Rm:
在这里插入图片描述

注释:写一个思路,便于复习
Rm怎么算出来的,简单来说就是A代表行,B代表列
例如:第2行第3列元素的求法
Rm(2,3)=max{ min{ A(2),B(3)},(1-A(2))}

由已知条件可得:
A’ = {1,0.7,0.5,0.2,0,0}
与模糊关系进行合成得到结论的模糊集合:
B’ = A’ ∘ Rm = (0.4,0.4,0.5,0.7,0.9,1)

注释:写一个思路,便于复习
算出A’ ∘ Rm有两种方法,便于学习只放一种:
合成方法就是取A’的第i行元素分别与Rm第j列的对应元素相比较,两个数中取其小者,然后再在所得的一组数中取最大者,并以此数作为A’ ∘ Rm第i行、第j列的元素。
例如这个题目中:算一下第一行第一列的元素
A’ = {1,0.7,0.5,0.2,0,0}在这里插入图片描述
B’=max{min{1,0},min{0.7,0.2},min{0.5,0.4},min{0.2,0.7},min{0,1},min{0,1}}
(看A的第一行和Rm的第一列,就很easy了!)

即模糊结论y为:
B’ = 0.4/1 + 0.4/2 + 0.5/3 + 0.7/4 + 0.9/5 + 1/6

在这里插入图片描述

  • 4
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
以下是Python代码实现: ```python import random import csv # 生成随机姓名 def generate_name(): family_names = ['赵', '钱', '孙', '李', '周', '吴', '郑', '王', '冯', '陈', '褚', '卫', '蒋', '沈', '韩', '杨', '朱', '秦', '尤', '许', '何', '吕', '施', '张', '孔', '曹', '严', '华', '金', '魏', '陶', '姜', '戚', '谢', '邹', '喻', '柏', '水', '窦', '章', '云', '苏', '潘', '葛', '奚', '范', '彭', '郎', '鲁', '韦', '昌', '马', '苗', '凤', '花', '方', '俞', '任', '袁', '柳', '酆', '鲍', '史', '唐', '费', '廉', '岑', '薛', '雷', '贺', '倪', '汤', '滕', '殷', '罗', '毕', '郝', '邬', '安', '常', '乐', '于', '时', '傅', '皮', '卞', '齐', '康', '伍', '余', '元', '卜', '顾', '孟', '平', '黄', '和', '穆', '萧', '尹', '姚', '邵', '湛', '汪', '祁', '毛', '禹', '狄', '米', '贝', '明', '臧', '计', '伏', '成', '戴', '谈', '宋', '茅', '庞', '熊', '纪', '舒', '屈', '项', '祝', '董', '梁'] given_names = ['伟', '芳', '娜', '秀英', '敏', '静', '丽', '强', '磊', '军', '洋', '勇', '艳', '杰', '娟', '涛', '明', '超', '亮', '婷', '辉', '平', '鹏', '霞', '刚', '桂英', '桂芳', '建华', '玉兰', '欣', '桂林', '小红', '建国', '建军', '玉华', '晶', '玉珍', '国强', '文静', '建平', '玉梅', '欢', '瑞', '凯', '丹', '国平', '建设', '国庆', '琴'] return random.choice(family_names) + random.choice(given_names) # 生成随机性别 def generate_gender(): return random.choice(['男', '女']) # 生成随机年龄 def generate_age(): return random.randint(18, 25) # 生成随机成绩 def generate_score(): return random.randint(0, 100) # 批量生成随机信息 def batch_generate_info(num): info_list = [['姓名', '性别', '年龄', '成绩']] for i in range(num): name = generate_name() gender = generate_gender() age = generate_age() score = generate_score() info_list.append([name, gender, age, score]) return info_list # 将信息写入csv文件 def write_to_csv(info_list, filename): with open(filename, 'w', newline='') as file: writer = csv.writer(file) for row in info_list: writer.writerow(row) # 读取csv文件并将不及格同学信息存入以姓名命名的dat文件中 def read_csv_and_save_dat(): with open('info.csv', 'r') as file: reader = csv.reader(file) for row in reader: name = row[0] score = int(row[3]) if score < 60: with open(f'{name}.dat', 'a') as dat_file: dat_file.write(f'姓名:{name},性别:{row[1]},年龄:{row[2]},成绩:{row[3]}\n') # 批量生成随机信息并写入csv文件 info_list = batch_generate_info(50) write_to_csv(info_list, 'info.csv') # 读取csv文件并将不及格同学信息存入以姓名命名的dat文件中 read_csv_and_save_dat() ``` 以上代码会在当前目录下生成一个`info.csv`文件,同时根据不及格同学生成以姓名命名的dat文件。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

啊hii

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值