没有确定偏好时,把所有道具压成单一分数可能掩盖取舍。可以先排除那些在每项属性上都不占优势的道具,再在剩余项中按实际需求选择。
本篇给出一份完整且可重复的虚构游戏记录。先读清规则,再尝试自行推演输入,最后逐项对照中间状态。不同作品可以选择不同约定,只有在相同前提下才能比较结果;不要只看最终数字相同就认为过程正确。
约定与原始记录
每件虚构道具给出重量、容量和耐久,重量越小越好,后两项越大越好。若另一件三项都不差且至少一项更好,则本件被支配。完全相同的两件互不支配,编号只用于记录。
[[2, 13, 8], [4, 19, 16], [4, 16, 10], [9, 19, 4], [10, 15, 18], [2, 9, 22], [4, 16, 14], [9, 11, 6], [8, 19, 22], [2, 13, 8]]
逐步计算
道具0的重量/容量/耐久为[2, 13, 8],三项不差且至少一项更好的道具有[];保留为候选。
道具1的重量/容量/耐久为[4, 19, 16],三项不差且至少一项更好的道具有[];保留为候选。
道具2的重量/容量/耐久为[4, 16, 10],三项不差且至少一项更好的道具有[1, 6];在这三项标准下可被排除。
道具3的重量/容量/耐久为[9, 19, 4],三项不差且至少一项更好的道具有[1, 8];在这三项标准下可被排除。
道具4的重量/容量/耐久为[10, 15, 18],三项不差且至少一项更好的道具有[8];在这三项标准下可被排除。
道具5的重量/容量/耐久为[2, 9, 22],三项不差且至少一项更好的道具有[];保留为候选。
道具6的重量/容量/耐久为[4, 16, 14],三项不差且至少一项更好的道具有[1];在这三项标准下可被排除。
道具7的重量/容量/耐久为[9, 11, 6],三项不差且至少一项更好的道具有[0, 1, 2, 6, 8, 9];在这三项标准下可被排除。
道具8的重量/容量/耐久为[8, 19, 22],三项不差且至少一项更好的道具有[];保留为候选。
道具9的重量/容量/耐久为[2, 13, 8],三项不差且至少一项更好的道具有[];保留为候选。
最终不被支配的候选编号[0, 1, 5, 8, 9],共5件;完全相同属性的记录不因相等而互相排除。
复核方法与适用范围
逐件列出能支配它的其他编号;没有任何支配者的就是保留候选。再检查每对保留项,确保不存在其中一件全面严格占优的情况,而不自行添加未经说明的属性权重。
保留集合不等于所有项都一样好,也不保证适合每个任务。重量限制、套装效果或不可比较的特殊功能都会改变问题。本例只讨论列出的三项数值;相同属性记录可以以后合并,但不能用严格支配关系冒充去重规则。
练习时可以只改动一个输入,再观察哪一步首次出现差异。对等于门槛、重复请求、空集合和最后一步分别留一份记录;如果发现异常,应先回到单位、顺序和边界约定,避免用额外补偿掩盖前面已经发生的错误。
