有多少可能的错误?

时间:2009-08-16 02:50:51

标签: theory

用户必须完成十个步骤才能获得所需的结果。这10个步骤可以按任何顺序完成。

如果存在错误,则错误仅取决于已采取的步骤,而不取决于它们采取的顺序(即错误与路径无关)。

例如:如果用户按照顺序10,1,2执行三个步骤并产生错误,则如果用户按顺序1,2,10执行相同的三个步骤,则会产生完全相同的错误。

此程序可以拥有的唯一错误的最大数量是多少?

4 个答案:

答案 0 :(得分:6)

你的意思是10个元素可以选择的不同集合的数量是多少?那是powerset:2 ** 10。


很久以后:一些知识渊博的人建议不要将没有错误计算为错误。因此,我修改了我的计数:2 ** 10 - 1。

答案 1 :(得分:4)

hughdbrown的答案是正确的,但还有另一种可能的解释。假设一系列操作永远不会产生多个错误(即它应该被视为一个错误)。例如,如果操作(3,6,2)是一个错误,那么就不应该允许您将(3,6,2,5)计为另一个错误。在这种情况下,您希望找到最大数量的可能子集,而不是找到{1,2,...,10}的最大可能数量的子集,以便没有人包含其他 。此版本问题的答案是“10选择5=252

编辑:顺便说一下,这个最大的结果称为Sperner's Theorem

答案 2 :(得分:1)

这完全取决于每个步骤的执行方式。如果您的流程只涉及一个步骤,但有多种方法可以执行该步骤,则每个步骤都可能存在相关的错误。

还有滥用功能,你不能防止,这可能被视为一个错误。即:

如果用户想到

rm  -rf /

的缩写
remove media --really fast /

ie:弹出所有设备 1

我猜这可能是一个潜在的错误。它的用户错误确实存在,但它仍然是一个单数的事情,可能会产生除此之外的结果。

你可以说上面的内容有点过分,但最终,用户可能会做错事的方式存在 no 限制。

当用户在那里时,假设,任何可能出错的事情都会。

上述推理的唯一问题是,您必须过早删除功能强大的内容,这样用户才不会伤害自己,这会导致那些知道如何使用它们的工具效率降低。像叉子上的软木塞有点理由。

有效解决这个问题的唯一方法是让新手使用钝器来学习,然后给他们一个选项,一旦他们学会了绳索就会带走所有的泡沫填充物,因此有经验的用户不必继续使用生硬的工具,而不必自己去除每个工具。

(如果有无数可能的方法可以做一步,我甚至不想开始考虑做出10步错误的方法数量)

1:如果您不知道,这将擦除您的大量硬盘并造成很大的痛苦。不要这样做。

答案 3 :(得分:0)

一,设计师的错? :)