用算法思考:计算机还是数学?

拇指1

在过去的一个世纪中,计算的概念主要与数学思维有关。但是,我们是否可以将计算机科学(CS)完全视为一门数学科学?在回答这个问题之前,可能更要问数学是否可以被视为科学?

一方面,有所谓的实验学科,它详细地研究了物理世界。另一方面,还有诸如数学之类的理性学科。在计算领域中,诸如编程之类的某些分支当然可以视为数学的一部分。换句话说,编程的实际活动可以被视为数学活动,因此编程语言可以被视为数学理论。同样,可计算性和计算复杂性的理论可以被认为是一种数学上的理论。

数学思维

为了被算作一门数学学科,一些学者断言满足了一些要求,例如:

  • 具有精确的断言
  • 具有适用于大类实例的适用断言

不用说,基于广泛的输入,编程可以基于逻辑推理实现非凡的精度。但是,程序是否表现出与数学断言类似的一般性?(例如:对于任何三角形,其角度之和等于180度。)

让我们以以下算法为例:

令x为整数类型;

开始   

  输入[x]

  f:= 2 * x

  输出(f)

结束。

根据该算法,指定输入的类型,以便可以像数学断言一样将程序视为通用程序。但是,有些人会争辩说,还将编写一种算法以执行无限搜索,以使该算法永远不会停止。但是,这将是物理上的限制,而不是理论上的限制。

同一个问题,不同的镜头?

与物理学家和工程师处理的技术问题类似,计算机科学家每天都在解决的技术问题是数学的。让我们看看我们是否可以捍卫这一前提:假设我们想表达一些文学思想,然后编写一首诗或一个故事。这是否意味着散文小说和诗歌是相同的?可能不是,因为这是表达文学观念的两种不同方式。同样,CS和数学也以不同的方式研究相同的问题。数学证明了定理,而计算机科学则通过算法表达解。

还有另一种思考数学和CS之间关系的方法。类似于数学家,物理学家或生物学家所具有的不同思维过程,律师,诗人或历史学家都具有不同的心态。结果,将基于一种思维模式来采取一种不同的知识方法,即人们已经习惯了自己的职业。确实,CP Snow著名的关于“两种文化”(科学与人文主义)的书处理了这些不同的思维方式。但是,在处理现实生活中的问题时,似乎不仅仅存在这两种思维方式。

提出正确的问题

俗话说:“用锤子把一切都钉起来。” 建议,不能仅仅从一个角度来看事物,也不可以假设每个人都可以分享自己的观点。与锤子的情况类似,计算机科学家可能只会以一种方式,即从算法上看待世界。尽管数学和算法思维都可能涉及对公式的操纵,但通过简化问题(例如递归)或抽象推理的手段来表示现实。算法思维的重点是复杂性或过程状态的概念。问诸如“我如何到达那里?”之类的问题。或“接下来要发生什么才能到达终点?” 与算法思维有关。事务状态的变化或计算的快照都与算法思维有关。

或相反亦然?

与物理和社会科学相提并论,计算领域无疑是一个巨大的科学领域。也许,不是将CS作为数学的分支,而是将数学视为CS的分支

 

资讯来源:由0x资讯编译自DATADRIVENINVESTOR,版权归作者Ayse Kok所有,未经许可,不得转载
提示:投资有风险,入市需谨慎,本资讯不作为投资理财建议。请理性投资,切实提高风险防范意识;如有发现的违法犯罪线索,可积极向有关部门举报反映。
你可能还喜欢