有趣的算法世界---附录(2)

原创 2003年08月11日 12:22:00

 

                                             有趣的算法世界---附录(2)

                                                 关于算法的确定性<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

 

有人说算法的确定性是每一步都应是确定的,或执行无歧义,结果不应成为我们不可预测的东西?这也是从微观上讲吧,我想如此定义就没有不确定性的存在了.在一步中执行是不确定的,结果完全超出了我们的预测范围,就如整数群<Z,+>,+运算在Z上是封闭的,但有两个整数a,b,对于除法运算/,从整数集的角度看,“a/b“的结果你可能给算没了J,那是不允许的.目前的计算机要防止这一点,只要我们想一想我们如何辛苦的构建 好的,稳定的系统,就会明白这一点.

我认为,现在的确定性不确定性“,是在实际运算中,这一步到下一步的转换上,你是否可以预先确定.比如求和:

For i:=0 to n-1 Do

   sum:=sum+a[i];

任何一步到下一步的转换,都是线形的,可唯一确定.但诸如遗传算法中,下一代的种群在具体的执行前是无法确定的,有很多可能性,就是说此步到下一步,不是线形的关系.我们称之为非确定性.

关于这个问题, 网友Dream_soft说到随机的本质问题.当然我们知道目前计算机的随机数都是伪随机数”,通过一定算法得到的,不同于真正的随机.但要说到什么是真正的随机,这又是个近于哲学上的问题.我们就不说了.

 

                                                 关于算法与程序设计方法理论

 

网友dorcom提到了算法与编程,与语言体制,或者说,算法与程序设计方法学的关系.

我们知道,程序设计方法学,是研究程序设计理论的学科.我们以前程序设计,有抠机器代码的阶段(呵呵J,相当辛苦),后来出现了过程化程序设计,结构化程序设计,到现在的面向对象程序设计,大规模程序设计方法学等等.的确,程序设计方法理论的进步,帮我们解决了许多问题.我们的程序设计方便了,效率高了,可移植性好了,可重用性好了,易维护了,但是,它于算法要解决的不是同一问题.

所以谁也代替不了谁.无论哪方面,作为计算机科学与技术人员,我们都要掌握.

 

                                                      关于一些错误

 

文章是我现打的,没有底稿,所以出现了这样或那样的错误,还请大家原谅.尤其是网友zcr139, cadinfo,非常感谢您指出了我的失误与错误.

 

                                                    关于写作计划和参考资料

构思这些文章的时候,我准备:

(1)     综述,吹起向算法进军的号角吧J.

(2)     什么是算法,一篇,讨论算法的定义和算法的一些特点.其中算法的定义参考了康立山老师的<<智能计算及其应用  讲义>>.可惜本资料是我们学校的内部资料,是并行计算和演化计算的好书,但不能为大家所看到.

(3)     算法之根,计划两篇,Hilbert问题引出算法的本质问题,由代数结构和有穷自动机引出图灵机.介绍各种图灵机变形后,引出我心中的算法树,说明我们这次旅行的大致路线.其中图灵机定义和有关例子,参考了<<计算理论导引>>( Michael Sipser ,张立昂等译)一书.

 

如此,我们第一部分就可以结束了.最后仍然是感谢大家.对鼓励我的网友我心存感谢,对批评我指正错误的网友我心存感激,而对那些喜欢了算法,准备细细看书的网友,呵呵,我心存敬佩~~~~

 

后注:又是因为不能一篇发帖才分作两篇的.J.

呵呵,为什么要限制呢.

一些有趣的算法

本文专门记录一些有趣的算法。计算二进制数中1的个数这道题目的一个解决方案是通过%2来计算,这个比较简单。现在推荐一个快速算法,利用n=n&(n-1);来计算,可以这么解释这个运算的作用:一个数减1以后...
  • linshijun33
  • linshijun33
  • 2016年08月04日 23:54
  • 1027

有趣的算法问题12——跳跃游戏1(贪心算法)

有趣的算法问题12——跳跃游戏1(贪心算法)所有算法均是用C++编写 所有题目均是来自计蒜客 ……我好想回炉重造。题目给定一个非负整数数组,假定你的初始位置为数组第一个下标。 数组中的每个元素代...
  • XiaoyYidiaodiao
  • XiaoyYidiaodiao
  • 2017年07月04日 12:21
  • 638

[算法]有趣算法合辑[11-20]

题目11:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。 程序分析:对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成: (1)如果这个质数恰等于n,则说明分解质...
  • wzhiu
  • wzhiu
  • 2014年06月16日 17:16
  • 1256

有趣的C++算法_(:з」∠)_

摘要在刷算法题的过程中,被一些大神的想法折服,方知天外有天,山外有山_(:з」∠)_...
  • LeYOUNGER
  • LeYOUNGER
  • 2017年04月08日 14:54
  • 483

[算法]有趣算法合辑[1-10]

最近在网上看到一些不错的C语音算法。枚举一些,供自己学习使用。有些有意思的算法会附上C#的不同实现。 题目1:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? 1.程序分...
  • wzhiu
  • wzhiu
  • 2014年06月16日 16:41
  • 1601

LaTeX之附录设置

作者:金良(golden1314521@gmail.com) csdn博客:http://blog.csdn.net/u012176591 我
  • u012176591
  • u012176591
  • 2014年10月11日 13:49
  • 7115

改变世界的9大算法--PageRank

“PageRank”一语双关:既是网页排名的算法,也是该方法的主要发明者 拉里 ▪ 佩奇. 首先来了解一下”超链接把戏“。超链接,在1945年就已经出现了,是搜索引擎用来排名的重要工具之一,而且是谷...
  • L_rollback
  • L_rollback
  • 2016年10月09日 11:57
  • 414

灰度世界算法(Gray World Algorithm)

人的视觉系统具有颜色恒常性,能从变化的光照环境和成像条件下获取物体表面颜色的不变特性,但成像设备不具有这样的调节功能, 不同的光照环境会导致采集的图像颜色与真实颜色存在一定程度的偏差,需要选择合适的颜...
  • u010839382
  • u010839382
  • 2014年12月07日 18:40
  • 5365

统治世界的十大算法

软件正在统治世界。而软件的核心则是算法。算法千千万万,又有哪些算法属于“皇冠上的珍珠”呢?Marcos Otero 给出了他的看法。 什么是算法? 通俗而言,算法是一个定义明确的计算过...
  • abcd1f2
  • abcd1f2
  • 2015年08月07日 23:32
  • 357

004C语言 实现小世界网络

小世界网络最早由Watts和Strogtz在1998年提出,小世界网络存在于数学、物理学和社会学中,是一种数学图的模型。在这种图中大部份的结点不与彼此邻接,但大部份结点可以通过任一其它节点经少数几步就...
  • sinat_30046339
  • sinat_30046339
  • 2015年10月24日 20:49
  • 1643
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:有趣的算法世界---附录(2)
举报原因:
原因补充:

(最多只允许输入30个字)