java根据预定义的规则集将输入集分类
我想解决一个问题,这里有两个输入文件
输入1:
格式中的一组字符串。所有字符串都以“A”开头
- A-B-C-D
- A-B-C-3
- A-X-Y-Z-4
- A-X-5
- A-X-P-Q-R
- A-X-P-Q-S
- A-M-9-P
- A-M-10-Q
- A-M-N-G-3
- A-V-B-H-3
- A-J-K-L-3-S-Y
- A-U-3-W-E
这里是A,B,C,D,X,Y,Z,M。。(所有字母表都是关键字,整数是占位符)
输入2:
一组规则和每组规则的名称。每个规则集可以有一个或多个规则。所有规则集都以“A”开头
规则1:(名称:红色)
- A-X-^
规则2:(名称:蓝色)
- A-X-P-Q-R
- A-X-P-Q-S
规则3:(名称:黄色)
- A-X-P-Q-S
- A-X-P-Q-R
规则4:(名称:绿色)
- A-M-$-P
- A-M-@-Q
- A-M-#-P
规则5:(名字:紫色)
- A-V-B-H-$
- A-J-K-L-$-S-Y
- A-U-$-W-E
如果字母表是关键字,其他(如^、$、@、#……)是占位符。在给定的规则集中,如果占位符相同(如规则5),则意味着占位符值必须相同,只有这样它才属于该类别。如果它们是不同的占位符,则值可能不同
问题陈述:
以输入1(字符串集)为例,根据输入2的规则集,找出输入所属的类别。输出可以是一个或多个类别。此外,规则集中的规则可能不会一个接一个地出现在输入中
在这两者之间可能会有多条其他规则。例如,在规则2中,A-X-P-Q-R后面必须跟着A-X-P-Q-S。这并不意味着这两者之间不能有其他人
示例:
输入文件可能是
- A-X-P-Q-R
- A-Q-W
- A-Y-T-H
- A-X-P-Q-S
它仍然符合规则2,属于“蓝色”
我的方法: 我在考虑两种方法
- 使用决策树(or)
- 将输入1表示为图,将输入2中的每个规则集表示为单独的图,并查找图同构李>
有什么想法吗
共 (0) 个答案