首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何给出数学证明或支持我的答案通过推理作为一个一般的情况?

如何给出数学证明或支持我的答案通过推理作为一个一般的情况?
EN

Stack Overflow用户
提问于 2015-06-15 05:13:54
回答 2查看 224关注 0票数 4

您正在管理一个软件项目,其中涉及建立一个计算机辅助的医疗外科仪器。手术刀的确切位置取决于许多不同的参数,通常至少25,有时更多。您的程序员开发了两种用于定位刀具的算法,并正在征求您对使用哪种算法的建议:

算法A的平均运行时间为n,最坏的运行时间为n^4,其中n是输入参数的数目。 算法B的平均运行时间为n(log n)^3,而最坏的情况是n^2。您赞成将哪种算法包含在软件中?证明你的答案是正确的。

我认为我应该选择算法1,因为在医学上,我们必须更加专注于拯救更多的人的生命,所以一般情况应该更好,但是对于最坏的情况,我们可以应用一些优化来更好地工作,或者我们可以选择算法2。但是我不知道如何从数学上证明我是正确的。

所有感兴趣的读者。然而,我已经标记了第一个答案好,但实际上,要得到所有的视角,做阅读评论和第二个答案。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-06-15 05:37:50

这将是一个hard real-time system -如果错过最后期限,那么病人可能会死亡。因此,算法B是首选算法,因为您可以围绕n^2最坏的情况设计硬件,而使用算法A,硬件必须考虑到n^4最坏的情况(平均情况并不重要,因为系统表面上是为了挽救每个病人的生命,而不是病人生命的80% )。

这假设硬件预算不是一个因素。如果硬件预算是一个因素(例如,机器打算出售给资金短缺的设施),那么算法A是首选的,因为硬件可以为n平均情况设计--这将导致n^4病例中的病人死亡,但可能会有更多的病人通过使用这些机器而得到挽救。然而,这超出了计算机科学的范围,更多地进入了伦理学的范围--我更喜欢的答案是选择算法B,并为像样的硬件付费。

票数 2
EN

Stack Overflow用户

发布于 2015-06-15 05:26:08

首先,我认为你需要确定平均手术所需的时间。显然,如果O(n)O(n*(log_n)^3)明显慢于平均过程时间,那么两者都不会。如果前者足够,但后者会导致生命损失或无法接受的用户体验,那么您可以排除后一种算法。假设这两种运行时间都能满足平均需求,那么接下来要检查的是最坏的运行时间。O(n)算法在最坏的情况下运行时会受到很大的惩罚-- O(n^4),而O(n*(log_n)^3)在最坏的情况下只运行O(n^2)。对于数据集中的每一个手术过程,你应该检查病人在接受手术之前能存活多久,在最坏的情况下每种算法。如果由于潜在的O(n^4)性能可能会造成许多生命损失,那么您可能会排除这种算法。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30837761

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档