第1748章 你們的編程算法太落後了

泰格之所以這麽說,主要是因為他被牛小強剛才的表演打擊的太狠了,已經讓他喪失掉了繼續待在計算機界的信心。

牛小強擺擺手:“泰格教授言重了,如果真要對剛才發生的事情進行解釋的話,用一句話就能概括。”

在場的所有人全部豎起了耳朵,聚集起了所有的精力,並且所有人都不自覺的壓低了自己的呼吸聲,生怕影響到牛小強說話。

雖然這些人之中有的人既不懂國際象棋也不懂計算機技術,但大家對於牛小強將會如何進行解釋都很在意。對於這些人來說,這已經跟國際象棋或者計算機技術無關了,他們只是想弄清楚緣由,好重新塑造自己的世界觀。

牛小強沒有讓大家等多久,他接著說道:“我之所以能夠準確的預判深藍的應對步驟,那是因為斯坦福大學的算法太落後了。”

這句話一說出口,即便是計算機系的教授們也全都傻了眼。

愣怔了片刻後,沃森教授第一個開口問道:“牛小強,不知你剛才所說的‘算法’指的是什麽?你能不能給大家詳細的解釋一下啊?”

牛小強欣然點頭:“這個當然沒有任何問題了,我這就好好的給大家解釋清楚。”

一旁的泰格教授趕忙拉著沃森走下講台,把整個講台讓給了牛小強。他坐下之後還提醒道:“牛小強,你不用著急,慢慢講也是可以的,最好能講得讓大家都聽懂。”

沃森更加直接:“你要是覺得嘴上說不太清楚,幹脆就在黑板上寫出來。”

這明擺著是讓牛小強給大家上課,雖然牛小強還是個二十歲的學生,但在場的所有人全都不認為這樣做有什麽不對。

沒辦法,誰讓牛小強剛才的表現那麽恐怖呢?恐怖到把大家都給嚇傻了,為了搞清楚情況,讓牛小強給大家上一堂課又有什麽關系?

牛小強也不推辭,他笑呵呵的點頭,伸手拿起一支粉筆,在黑板上寫下了“計算機算法”這個概念。

寫完之後他開始講解:“計算機算法這個概念是我發明的,說是發明,其實並不是很恰當,因為凡是懂得計算機編程的人,平時基本都會用上它,只是大家沒有對此進行深入的研究罷了,我現在就給大家講解一下計算機算法究竟是什麽。”

牛小強說到這裏稍作停頓,組織了一下語言後接著說道:“稍微懂得一些計算機知識的人都知道,計算機程序必須要具有嚴密的邏輯性,邏輯性越高的程序,就越是穩定和安全,如何實現高度的邏輯性呢?這需要從編程入手。”

“編程是一個很枯燥的過程,需要進行周密的數學運算,然後再把運算出來的結果用編程語言編寫成計算機程序,想要實現高度的邏輯性,首先要做的就是確保你在編程之前的數學運算不要出錯。”

“簡單的錯誤可能不會影響程序的運行,但重大的錯誤卻一定會造成程序的崩潰。在這裏我想用人腦和計算做一個比較,人類的大腦要是崩潰了,就會變成精神病,計算機程序要是崩潰了,則會得出兩種結果,第一是計算機徹底死機,無法運轉,第二是計算機還能運行,但無論你輸入什麽指令,它得出的都會是錯誤的結果。”

“從這裏不難看出編程的重要性,我剛才提到了計算機算法這個概念,這個概念主要針對的是計算機編程,所謂的算法,指的就是編程時進行的數學運算。”

“任何程序在編寫之前,都需要確定它是用來幹什麽的,我管這個叫做‘程序的指向性’,說白了就是你需要先確定一個結果,然後通過數學運算,在編程的時候把這個結果的運算過程用計算機語言完整的展現出來,這其中數學運算的過程,就是我所說的算法。”

牛小強說到這裏稍作停頓,讓大家有消化和吸收的時間。

他剛才講的這些內容來自計算機系的教授們全都明白,不太明白的是那些教授夫人和其他學科的教授。牛小強既然已經承諾要讓大家都能盡量聽懂,當然要照顧一下這些外行們了。

停頓了將近十秒,牛小強這才接著說道:“打個比方說,如果你想要在程序中輸入數字2這個結果,最簡單的最直白的運算過程應該是1+1=2,如果你使用了其他的算法,比如說你的計算過程是0.75+1.25=2,這無疑將會大大增加程序的臃腫和復雜性,程序要是變得臃腫和復雜了,就很容易產生邏輯性漏洞。”

牛小強說到這裏看向了泰格:“我剛才就是通過試探摸清楚了斯坦福大學在編程中使用了哪種算法,然後再根據自己得到的結果推導出了深藍後續的邏輯運算過程,因此我才能如此精準的提前預判後續的所有步驟,很遺憾,斯坦福大學使用的算法跟我剛才所說的後者差不多,你們沒有使用1+1=2這種最簡單最科學的算法,而使用了0.75+1.25=2來進行程序語言的匯編,所以我才會說你們的算法很落後,並被我找到了漏洞,這才發生了剛才那種看似不可思議的事情。”