ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 算法原意(1)算法引导

算法原意(1)算法引导

原创 Linux操作系统 作者:alzhu-san 时间:2009-06-08 08:36:02 0 删除 编辑

算法原意(1)算法引导

Alzhu.San

  算法是解决问题的办法。
  解决问题是算法存在的目的,因此作为算法,它首先能够解决问题,算法必须是有效的,必须是正确的。(为了避免“有效”与“有效率”的混淆,我们以后只用“正确”一词。)解决问题的方法总不会是唯一的,因此算法一定不唯一,对于一个问题我们可以采用不同的方案来解决,比如,我希望我的家中能够有一个小孩子,那么针对这样的问题,我可以与我的爱侣努把力、加把劲;也可以收养社会上没有监护人的儿童。这两个办法都可以成功的解决我的问题。因此他们都是合格的算法。当然我们也可以超越常规——去找一位代孕母亲,抑或是用钱来“收养”某个可能无主的孩子。虽然这样的做法对于大多数人来说是不可接受的,但是他们是“正确”的,因为他们提供了问题的正确解决,我得到了孩子。作为算法只要达到目的即可,没有必须遵循的规则。不少同学认为算法必须是大师们用心多年、百经检验的,其实只要是结果正确,哪怕是只在一定的范围内正确都可以认为是一个成功的算法。
  算法提出来了,看看还不只一个,那么就得选一个来执行、实施、开动了。那么怎么选呢?首先,这里有一个效率的考虑。抱养婴儿与自己生养在效率上就有差别。自己生养,起码会有十月怀胎、分娩之痛,相比之下,抱养的效率就高的多。所以从效率上说:抱养优于己出。但是我的这个结论多数人不能认同,因为这两个算法产生的结果质量是不同的。抱养毕竟不同于己出,对于同一个结果——我有了后代,如果这个后代带有我的基因,那么我的满意度为100,而这个后代与我没有或没有直接血缘关系,那我的满意度只有50。这里就需要一个权衡了,我需要一个“合适”的结果。类似这样的权衡将贯穿在整个算法设计过程中,因为事情要受到多方面的影响,我们总是难以做到完美,在获得一方面利益的同时,就不得不放弃另一方面的利益。比如想早点当上爸爸,就不得不放弃将自己的基因遗传下来的利益。
  实际上,算法进入效率-质量选择之前,还需要经过一个排除阶段,那就是算法必须可行,必须是实实际际可以做的,不能把一些不可实现的概念行为拿来作算法。自己生一个孩子,这种方法是可行的。如果您需要更详细的实施方案,请参考相关文献,请恕作者疏漏,并未对此课题开列参考书目以供查阅,不过敬请放心,此算法的可行性经数千年、百亿例验证无误。为了同一个目的有人给我找了一个“算法”——克隆一个,不只有我的基因而且百分之百相似。可以说质量是百分百,可是其可行性大受质疑,姑且不论社会生活中的伦理道德与科学实践上的技术难题,就目前来看这事还是遥不可及,没有一点可行性可言。即使今天开始试验造人,像我一介平民,哪会有这样的馅饼砸在我的头上。当然,有人讲:克隆总有一天是可行的。那么我们不妨回归第二条——效率,本人在此作一大胆预期,若干年后,本人还残留于世之时,克隆实现了,但是这个算法只能解决一个已经失去意义的问题,那时我不仅失去了养育后代的兴趣,更是失去了养育后代的能力。
  最后总结:算法必须正确,不达目的不是算法;算法得有效率,起码要在待解问题失去意义之前得到结果;算法必须可行,不能是概念上的胡思乱想,必须能实实在在得到结果。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/15822571/viewspace-605419/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2008-09-12

  • 博文量
    10
  • 访问量
    24020