High&NewTech:一文了解计算机思维、数学思维的本质区别,以及算法和程序的认知比较(二)

简介: High&NewTech:一文了解计算机思维、数学思维的本质区别,以及算法和程序的认知比较

计算思维与算法及程序设计


     算法思想并不等同于计算思维,它需要考虑更加实际的“计算”问题。计算思维是一种抽象的思维活动,算法则是把这种思维活动具象化,描述成具体的方法与步骤。


     程序设计则是算法在计算机上的正确实现,它是计算思维的最终结果。

     例如同样的问题:求解:S=1+2+3+……+ n。


计算思维:通过计算思维可以得到“直接从1累加到n”的解决方案;

算法:算法则要考虑采用何种方法、通过何种步骤来实现这个方案,比如,如何输入与输出,怎样用循环实现累加等;

程序设计:程序设计是将算法所描述的方法与步骤转换成计算机所能理解和操作的指令代码,比如使用“For/Next”语句进行循环、用“S=S+i”赋值语句实现累加等,使程序能够在计算机上运行并获得正确结果。

     由此看来,数学思维是计算思维的基础,计算思维是解决问题的一种思考方式,算法是对计算思维的具体设计,程序设计则用于实现算法设计。


     综上所述,构建计算思维活动的基本要素是“由问题引发思维、由思维产生算法、由算法形成程序”,它是体现计算思维的关键,是人脑的独立思考活动,所形成的问题解决方案是多样的,并且不受编程语言的限制,也就是我们所说的“一个问题可以有不同的解决方案,一个方案可以有不同的算法设计,一个算法可以用不同的编程语言来实现”。因此,在教学中应该着重体现利用计算思维解决问题的完整过程,而不是单一的教会学生某种编程语言。



    计算机思维和数学思维,都包括了抽象和逻辑。


抽象对比


      数学的抽象,在于剥离具体。数学研究从公理出发,可以变成纯思维的活动,和具体的的现实脱离关系。数学上的人为"定义",就是为了尽可能给出范围明确,不冗余的信息抽象。以后在利用这些信息,得出范围明确不冗余的抽象信息(证明的过程),如此反复。可见这里,数学需要的是一个自洽信息结构和关系。这些信息是架空具体和现实的。虽然,数学在极力的寻找关系,但这个行为发生在圈定好的有限范围内,由层层已知的定理和定义的护栏内。


      计算机思维的抽象,在于映射具体。计算机是用来模拟现实和解决现实问题的。所以,计算机思维是和现实极为紧密的,而现实的关系是错综复杂的。我们无法避免信息冗余,乱入的信息随机出人意料的自由组合。这也是为什么,数学正确和错误清晰而明确。计算机无法保证正确,只能说目前没有错误,bug永远存在需要不断的修复。现实变化了,计算机的思维模型就要跟着变化。


      数学的抽象,全在于思维的目的和证明猜想的必要。计算机思维的抽象,在于需要解决的问题和模拟的程度。有相似的地方,但最大的区别在于,计算机思维需要有生活的理解,有对现实问题的体验经历,个人的世界观和品位生活的能力有所关联。数学对现实要求不高,大数学家可以是疯子,社交障碍,精神分裂,抑郁症。但,计算机科学家顶多是个同性恋。



逻辑


     关于逻辑。其实,逻辑就是事物之间的关系,而掌握了关系的触发条件,就被看成规律。为什么按照逻辑,应该是这样的,为什么你的逻辑是对的,我的逻辑就是错的。就是因为逻辑本质的关系是物质固有的,在相同的环境和姿势条件下,关系所呈现的规律被观察,被体验,被总结,理解并记住。每每当我们对规律有了新的认识,相当于重新定义了关系,过去的逻辑就会被推翻,建立新的逻辑。逻辑推理,就是对关系的猜测,猜对了关系就是规律,猜错了就是毫无逻辑。


    数学研究结构和关系,而现实世界就是由结构和关系构成。这里就是有意思的地方了,现实是完美运行的结构和关系,数学是在人脑里模拟探索的结构和关系。所以,数学是计算机科学的工具。当计算机科学在某个方面无法抽象和映射了,就需要等待数学同步意淫出来和现实世界一样的结构和关系。比如人工智能就是。 现实在随机发展,数学在随机猜想,而数学又是现实的一部分,这又像是计算机运行的原理,充满了递归。人脑像个计算机,人脑也像个宇宙,宇宙发明了人类,人类发明了计算机,人类能否用计算机递归发明人脑。现在不就在这个方向发展么?


    计算能力不是产生智能的本质原因(这句话,博主非常赞同!)。人类大脑的计算能力有限却有逻辑推理能力。目前计算机的运算能力远远超过人类的运算能力,却无法产生类似的学习和逻辑推理能力。但有一点计算机和人脑是一致的,就是信息通过二进制0和1(比特)来存储传递和表达。算法和结构有一个关系,就是结构越复杂算法就可以越简单,结构越简单那么算法就需要越复杂。所以,人类大脑的智能是因为大脑的结构非常复杂。对比计算机的结构如此的简单,是把复杂的算法都转移到了程序设计上面,也就是让人类的大脑来产生。未来人工智能能够像人类靠近的话,需要的不是计算能力而是一个复杂的硬件结构。并且人类的逻辑思维和智能的演变和人类使用的语言密切相关,所以人工智能也是需要配套的和人类语言差不多的编程语言出现(这就是博主说过的,走向AGI必须要有创新性的定义)。当然,这都是我的猜测和理解,是思考人类智能本身产生的,不排除计算机本身发展出有别于人类智能模式的智能,比如变形金刚。



编程与数学


    关于编程和数学的问题。虽然,数学是计算机的工具,在思维的本源上有相似和共同性。但是,学习和掌握一个技能需要练习和时间,需要在大脑中训练出特定的结构。纵然有了相同的基础结构,但是要想做的更好发展的更好需要的是训练和时间。


    纵然,数学是工具是基础是上层的依赖。并不是说,数学高于一切,优于一切是最强大的。最基础的并不是最强大的,是最必要的最开始的。比如,沙子是建筑的基础但不能代表建筑的价值。无机物是有机物的基础,有机物是生命的基础,但生命的价值放在那里。发展的过程,环环相扣,关系的道路上谁也少不了谁。基础代表必要,发展才是未来。



计算机中的比特


    比特是信息的基本单位,结构和关系是信息的属性。计算机的伟大之处,就是在于创造了比特的概念,又开始用比特去描述世界,万物皆比特。


     结构是固有存在的,是信息的排列组合。关系是观察者从某一个角度看到的排列组合,并且这个角度看到的是可以被观察者所理解的。这里的理解包含可感知,有些物质的排列组合所呈现出来的关系无法被感知(可展开想象)。所以不同的角度看相同的结构会有不同的关系。



延伸


    总结,对的能证明的就是数学,对的不能证明的就是哲学(一旦证明了就又变成了数学),无法解释的我们还有神学。

相关文章
|
1月前
|
存储 算法 容器
set_map的实现+set/map加持秒杀高频算法题锻炼算法思维
`set`基于红黑树实现,支持有序存储、自动去重,增删查效率为O(logN)。通过仿函数可自定义排序规则,配合空间配置器灵活管理内存。不支持修改元素值,迭代器失效需注意。`multiset`允许重复元素。常用于去重、排序及查找场景。
|
8月前
|
存储 负载均衡 算法
基于 C++ 语言的迪杰斯特拉算法在局域网计算机管理中的应用剖析
在局域网计算机管理中,迪杰斯特拉算法用于优化网络路径、分配资源和定位故障节点,确保高效稳定的网络环境。该算法通过计算最短路径,提升数据传输速率与稳定性,实现负载均衡并快速排除故障。C++代码示例展示了其在网络模拟中的应用,为企业信息化建设提供有力支持。
247 15
|
2月前
|
存储 算法 生物认证
基于Zhang-Suen算法的图像细化处理FPGA实现,包含testbench和matlab验证程序
本项目基于Zhang-Suen算法实现图像细化处理,支持FPGA与MATLAB双平台验证。通过对比,FPGA细化效果与MATLAB一致,可有效减少图像数据量,便于后续识别与矢量化处理。算法适用于字符识别、指纹识别等领域,配套完整仿真代码及操作说明。
|
5月前
|
PyTorch 算法框架/工具 C++
人工智能算法python程序运行环境安装步骤整理
本教程详细介绍Python与AI开发环境的配置步骤,涵盖软件下载、VS2017安装、Anaconda配置、PyCharm设置及组件安装等内容,适用于Windows系统,助你快速搭建开发环境。
|
6月前
|
机器学习/深度学习 算法 Python
matlab思维进化算法优化BP神经网络
matlab思维进化算法优化BP神经网络
|
9月前
|
监控 网络协议 算法
基于问题“如何监控局域网内的电脑”——Node.js 的 ARP 扫描算法实现局域网内计算机监控的技术探究
在网络管理与安全领域,监控局域网内计算机至关重要。本文探讨基于Node.js的ARP扫描算法,通过获取IP和MAC地址实现有效监控。使用`arp`库安装(`npm install arp`)并编写代码,可定期扫描并对比设备列表,判断设备上线和下线状态。此技术适用于企业网络管理和家庭网络安全防护,未来有望进一步提升效率与准确性。
344 8
|
11月前
|
监控 算法 安全
解锁企业计算机监控的关键:基于 Go 语言的精准洞察算法
企业计算机监控在数字化浪潮下至关重要,旨在保障信息资产安全与高效运营。利用Go语言的并发编程和系统交互能力,通过进程监控、网络行为分析及应用程序使用记录等手段,实时掌握计算机运行状态。具体实现包括获取进程信息、解析网络数据包、记录应用使用时长等,确保企业信息安全合规,提升工作效率。本文转载自:[VIPShare](https://www.vipshare.com)。
146 1
|
12月前
|
人工智能 并行计算 算法
量子计算算法:超越经典计算机的边界
量子计算基于量子力学原理,利用量子位、量子叠加和量子纠缠等特性,实现并行计算和高效处理复杂问题。核心算法如Shor算法和Grover算法展示了量子计算在大数分解和搜索问题上的优势。尽管面临量子位稳定性和规模化等挑战,量子计算在化学模拟、优化问题和人工智能等领域展现出巨大潜力,预示着未来的广泛应用前景。
|
12月前
|
并行计算 算法 测试技术
C语言因高效灵活被广泛应用于软件开发。本文探讨了优化C语言程序性能的策略,涵盖算法优化、代码结构优化、内存管理优化、编译器优化、数据结构优化、并行计算优化及性能测试与分析七个方面
C语言因高效灵活被广泛应用于软件开发。本文探讨了优化C语言程序性能的策略,涵盖算法优化、代码结构优化、内存管理优化、编译器优化、数据结构优化、并行计算优化及性能测试与分析七个方面,旨在通过综合策略提升程序性能,满足实际需求。
414 1
|
存储 缓存 算法
通过优化算法和代码结构来提升易语言程序的执行效率
通过优化算法和代码结构来提升易语言程序的执行效率
293 2

热门文章

最新文章