第1745章 你们的编程算法太落后了(2 / 2)

加入书签

牛小强说道这里稍作停顿,组织了一下语言后接着说道:“稍微懂得一些计算机知识的人都知道,计算机程序必须要具有严密的逻辑性,逻辑性越高的程序,就越是稳定和安全,如何实现高度的逻辑性呢?这需要从编程入手。”

“编程是一个很枯燥的过程,需要进行周密的数学运算,然后再把运算出来的结果用编程语言编写成计算机程序,想要实现高度的逻辑性,首先要做的就是确保你在编程之前的数学运算不要出错。”

“简单的错误可能不会影响程序的运行,但重大的错误却一定会造成程序的崩溃。在这里我想用人脑和计算做一个比较,人类的大脑要是崩溃了,就会变成精神病,计算机程序要是崩溃了,则会得出两种结果,第一是计算机彻底死机,无法运转,第二是计算机还能运行,但无论你输入什么指令,它得出的都会是错误的结果。”

“从这里不难看出编程的重要性,我刚才提到了计算机算法这个概念,这个概念主要针对的是计算机编程,所谓的算法,指的就是编程时进行的数学运算。”

“任何程序在编写之前,都需要确定它是用来干什么的,我管这个叫做‘程序的指向性’,说白了就是你需要先确定一个结果,然后通过数学运算,在编程的时候把这个结果的运算过程用计算机语言完整的展现出来,这其中数学运算的过程,就是我所说的算法。”

牛小强说到这里稍作停顿,让大家有消化和吸收的时间。

他刚才讲的这些内容来自计算机系的教授们全都明白,不太明白的是那些教授夫人和其他学科的教授。牛小强既然已经承诺要让大家都能尽量听懂,当然要照顾一下这些外行们了。

停顿了将近十秒,牛小强这才接着说道:“打个比方说,如果你想要在程序中输入数字2这个结果,最简单的最直白的运算过程应该是1+1=2,如果你使用了其他的算法,比如说你的计算过程是0.75+1.25=2,这无疑将会大大增加程序的臃肿和复杂性,程序要是变得臃肿和复杂了,就很容易产生逻辑性漏洞。”

牛小强说到这里看向了泰格:“我刚才就是通过试探摸清楚了斯坦福大学在编程中使用了哪种算法,然后再根据自己得到的结果推导出了深蓝后续的逻辑运算过程,因此我才能如此精准的提前预判后续的所有步骤,很遗憾,斯坦福大学使用的算法跟我刚才所说的后者差不多,你们没有使用1+1=2这种最简单最科学的算法,而使用了0.75+1.25=2来进行程序语言的汇编,所以我才会说你们的算法很落后,并被我找到了漏洞,这才发生了刚才那种看似不可思议的事情。”

牛小强打的这个比方通俗易懂,就算是不懂计算机的人,基本也都能够听懂。

在场的人全都露出恍然大悟的神色,纷纷点头表示自己已经明白了牛小强的意思。

牛小强并未就此打住,他接着说道:“编程算法是为编程服务的,在确保程序的功能性不受影响的前提条件下,越是简练的算法就越能提升程序的执行效率,该如何做到这点呢?在我看来有两个途径。”

这话一说出口,在场的计算机系的教授们全都打起了精神。此刻的他们已经全部摆正了自己的心态,真的把牛小强当成自己的老师看待。

牛小强虽然还是个大学生,但仅仅从他刚才的发言来看,他对于编程的理解已经高深到了一个十分恐怖的地步。

↑返回顶部↑

书页/目录