許憬
計(jì)算思維為我們提供了一種問題解決的過程性思維,它不是一門獨(dú)立的學(xué)科,而是嵌入問題解決過程的一種思維方式,甚至可以稱作是一種信息社會人類的新思維習(xí)慣。計(jì)算思維與傳統(tǒng)數(shù)學(xué)思維在解決問題的基本方法上有很多相似之處,但在解決策略上也存在明顯的差異。兩種思維到底有何不同?又有何關(guān)聯(lián)之處?我們從中又能得到什么啟示?本文嘗試對兩種思維做一次比較研究,或許有助于我們對計(jì)算思維解決問題的本質(zhì)有一個更深刻的認(rèn)識。
● 兩種思維所依賴的工具不同
數(shù)學(xué)思維依賴于人腦作為解決問題的工具,計(jì)算思維需要思考的則是如何通過計(jì)算機(jī)等輔助性工具來幫助快速地解決問題,如何把現(xiàn)實(shí)問題轉(zhuǎn)化成可以用計(jì)算機(jī)的技術(shù)、方法和思想加以解決的方式。計(jì)算機(jī)在解決復(fù)雜的、系統(tǒng)性的、需要大量重復(fù)迭代的問題時,價值體現(xiàn)尤為明顯,為此計(jì)算思維也常被用于解決那些像四色定理證明等那樣由于人類思維的局限性所造成的無法獨(dú)立解決的問題。例如,同樣對待“大數(shù)據(jù)下的學(xué)科質(zhì)量精準(zhǔn)分析”這項(xiàng)任務(wù),數(shù)學(xué)思維著力思考的是如何組織和統(tǒng)計(jì)各種數(shù)據(jù),如何進(jìn)行求平均數(shù)、中位數(shù)、眾數(shù)、方差、極差、標(biāo)準(zhǔn)差等計(jì)算,以及理解每類分析數(shù)據(jù)背后所代表的質(zhì)量含義和比較意義,它充分調(diào)動的是大腦的智力。而計(jì)算思維的著力點(diǎn)在于思考用什么智能工具、什么智能軟件、什么數(shù)據(jù)結(jié)構(gòu)、什么算法組合可以簡化檢索、匯總等統(tǒng)計(jì)過程,優(yōu)化數(shù)據(jù)呈現(xiàn)的形式和方式,它充分調(diào)動的是智能工具的資源和效能。
● 兩種思維的鏈接方式不同
思維從本質(zhì)上講其實(shí)就是一種鏈接,人的知識、思想、認(rèn)知、能力就是在一個個遞進(jìn)的鏈接中升華、深刻、精致與完善。但從生理機(jī)制看,人腦的神經(jīng)網(wǎng)絡(luò)鏈接因有突觸間隙的存在,仍屬于淺鏈接,淺鏈接的好處是可以隨時解鏈,也可以隨時搭建,也讓信息傳遞產(chǎn)生無限種鏈接組合可能,為此也造就了人腦計(jì)算“創(chuàng)意、創(chuàng)新、創(chuàng)造”的鮮明特點(diǎn),數(shù)學(xué)思維最集中地體現(xiàn)了這種鏈接優(yōu)勢。而計(jì)算機(jī)思維過程雖然模擬的是人腦的神經(jīng)系統(tǒng),但其本質(zhì)是一種深鏈接,會顯得有點(diǎn)機(jī)械呆板。人如果像計(jì)算機(jī)AI一樣存在深鏈接(可計(jì)算),就會喪失其特有的創(chuàng)造性,但現(xiàn)實(shí)世界中有些問題、有些工作(如機(jī)器閱卷的客觀題、門禁保安系統(tǒng))反而需要這種機(jī)械性來克服人為干擾以確保結(jié)論的準(zhǔn)確性、公正性。
● 兩種思維的動作機(jī)制不同
計(jì)算機(jī)計(jì)算與數(shù)學(xué)計(jì)算有很大不同。數(shù)學(xué)思維中雖然包含了許多數(shù)學(xué)推理、演算等可計(jì)算的內(nèi)容,但數(shù)學(xué)思維中時常發(fā)生的聯(lián)想、猜測、靈感、會意、頓悟、潛意識等是人腦生理中特有的學(xué)習(xí)觸發(fā)機(jī)制,這些心理現(xiàn)象可能會在數(shù)學(xué)思維中發(fā)生,但在計(jì)算機(jī)思維中還極難實(shí)現(xiàn),甚至難以計(jì)算和模擬。
案例1:求13、27、8、20、6、11這組數(shù)中的最大數(shù)。
人腦可以在視線過后迅即找到其中的最大數(shù)27,其搜尋的思維過程和心理機(jī)制是瞬間完成的,而電腦則必須精準(zhǔn)推演出“打擂法”的每一步,才能準(zhǔn)確計(jì)算搜尋過程并找出最值。人腦的算法只適用于有限度搜尋,對于海量的數(shù)據(jù)則無法應(yīng)對,而電腦的計(jì)算,1000個數(shù)與6個數(shù)的最值搜尋其本質(zhì)并無顯著差異。
計(jì)算機(jī)計(jì)算的優(yōu)勢在于可重復(fù)、全自動,但前提是預(yù)設(shè)的過程必須能被精確計(jì)算和描述??捎?jì)算,是電腦最有別于人腦之處。相對于人腦,計(jì)算思維解決問題更嚴(yán)謹(jǐn)甚至刻板、機(jī)械,它需要一個語義明確、可行有效的算法,需要每一步必須可操作、確定化、清晰化,換句話說,數(shù)學(xué)思維可以是不連續(xù)的,但計(jì)算思維必須是連續(xù)的,它尚不具備人類的模糊和聯(lián)想等高智慧思維能力。
● 兩種思維的基本方法不同
每一種思維方式在其學(xué)科長期發(fā)展過程中都會沉淀形成其特有的解決問題的固定方法,例如,數(shù)學(xué)思維下解決問題的方法表現(xiàn)在數(shù)學(xué)抽象、推理和建模領(lǐng)域(如表1)。
相對于數(shù)學(xué)思維的成熟和多元,計(jì)算思維解決問題的方法研究尚處于起步階段,我們常用的計(jì)算機(jī)方法有抽象、分解、約簡、結(jié)構(gòu)、遞歸、算法、化歸、程序、仿真、網(wǎng)絡(luò)等。以分解為例,對待“大數(shù)據(jù)下的x年級段學(xué)科質(zhì)量精準(zhǔn)分析”這項(xiàng)具體任務(wù),可以思考用模塊化的信息管理方式進(jìn)行組織數(shù)據(jù)的統(tǒng)計(jì)(分語、數(shù)、英、科等學(xué)科統(tǒng)計(jì),分年級段、班級、個人等層次統(tǒng)計(jì),分總分、平均分、優(yōu)秀率、合格率、前后20%等類型統(tǒng)計(jì)),以分解復(fù)雜問題的規(guī)模,把大事化小,小事化常(定式),它模仿的便是計(jì)算機(jī)學(xué)科的模塊化、逐步求精的思想。
計(jì)算思維與數(shù)學(xué)思維在處理問題時采用的許多方法有諸多相似之處,如簡化、轉(zhuǎn)化、優(yōu)化等,只是兩者處理的方式不同,目標(biāo)不同。數(shù)學(xué)思維的優(yōu)勢在于其邏輯性、推理性、公式化、符號化,體現(xiàn)了涵蓋所有理科的普識性方法,而計(jì)算思維體現(xiàn)的是機(jī)械化計(jì)算,其優(yōu)勢在于流程化、模塊化、復(fù)用性(遞歸)、結(jié)構(gòu)化,充分體現(xiàn)了學(xué)科特點(diǎn)。
● 兩種思維的研究對象不同
同樣是問題解決,數(shù)學(xué)思維和計(jì)算思維研究的對象很不相同。數(shù)學(xué)思維研究的更多的是數(shù)學(xué)本身的內(nèi)部規(guī)律(學(xué)科問題),它會撇開具體的內(nèi)容,剝離非學(xué)科性的外表,以純粹的形式去研究事物的數(shù)量關(guān)系和空間形式,成果也是以有典型數(shù)學(xué)特征的形式呈現(xiàn)。
何謂信息技術(shù)問題?我認(rèn)為,一切以信息技術(shù)為核心內(nèi)容的問題,或者必須運(yùn)用信息技術(shù)的技術(shù)、概念、思想或方法才能解決的問題,就是信息技術(shù)問題。技術(shù)已不是計(jì)算機(jī)解決問題的唯一工具,學(xué)科思想與方法也是工具;計(jì)算機(jī)解決的也不限于狹隘的本學(xué)科的技術(shù)問題,還包括了信息問題、生活問題、社會問題。周以真教授說過,計(jì)算思維就是運(yùn)用計(jì)算機(jī)科學(xué)的基礎(chǔ)概念進(jìn)行問題求解、系統(tǒng)設(shè)計(jì)以及人類行為理解等的一系列思維活動。計(jì)算思維中的許多概念——并行思維、系統(tǒng)思維、分治法、遞歸(迭代)、模塊化等,其應(yīng)用也已超越了學(xué)科范疇,面向所有人,深入所有領(lǐng)域。這些方法不僅在計(jì)算機(jī)學(xué)科中有效,在其他學(xué)科的問題求解中同樣可以被有效應(yīng)用。例如,我們常用的分治算法,其價值已不限于是一種程序的算法,更是一種解決復(fù)雜問題的思維方式,甚至成了解決經(jīng)濟(jì)問題、社會問題的具有普遍意義的方法與策略。
● 兩種思維的抽象內(nèi)容不同
抽象是思維的本質(zhì),沒有抽象的思維是膚淺的,數(shù)學(xué)與計(jì)算思維下的問題解決都需要從抽象開始,但數(shù)學(xué)思維下的抽象會拋開現(xiàn)實(shí)事物的物理、化學(xué)和生物等特征,僅保留其量的關(guān)系和空間的形式。數(shù)學(xué)抽象包括了數(shù)量的抽象(如,45克雞蛋,45與克就是從這個雞蛋的重量屬性中抽象出來的數(shù)量詞)、空間的抽象、模型的抽象等。
計(jì)算思維的抽象源于數(shù)學(xué)的抽象方法,但計(jì)算思維除數(shù)量與模型的抽象之外,還包括了學(xué)科特有的對象的抽象、(數(shù)據(jù))關(guān)系的抽象、規(guī)則的抽象等,它讓抽象的內(nèi)容變得更豐富,讓抽象的行為更有意思,這為其他領(lǐng)域的問題解決提供了更多有益的啟示和解決思路。
計(jì)算思維中對象的抽象,涵蓋了一切我們想研究的事物,它可以是一個具體的物體,也可以是一個抽象的事物,甚至是一個我們想象中的虛擬事物。每個抽象的對象都有自己的狀態(tài),其狀態(tài)可通過若干個關(guān)鍵屬性來描述,如我們對一個人的抽象,可以通過一組量化的數(shù)據(jù)編碼組合(如姓名、性別、年齡、身高、籍貫、專業(yè)等信息),實(shí)現(xiàn)從客觀世界的人到計(jì)算機(jī)世界的人的抽象與映射,如VB中“按鈕”對象的狀態(tài)可以修改“Caption\BackColor\MouseIcon”等屬性來呈現(xiàn),通過這些屬性的描述,我們可以區(qū)分不同的對象,操作不同的對象,實(shí)現(xiàn)不同的方法和事件響應(yīng)。計(jì)算機(jī)特有的基于對象的思維和操作方式,讓我們可以將復(fù)雜問題的事物場景分解成有形的若干個對象組合,這些對象可視作程序與作品的最基本單位,也是我們用來描述問題、解決問題過程中的行為主體。
再如規(guī)則的抽象,它是智能工具特別是計(jì)算思維的重要特征。組成現(xiàn)實(shí)世界的問題都是由許多規(guī)則構(gòu)成的,在解決問題過程中,我們需要從事物的描述中梳理和抽象出可以控制執(zhí)行的若干條規(guī)則,并且將這些規(guī)則轉(zhuǎn)換成計(jì)算機(jī)可以“理解”的表達(dá)形式。例如,浙江攝影版小學(xué)信息技術(shù)教材《創(chuàng)編游戲》,我們可以先嘗試讓孩子玩游戲,然后理解并抽象出游戲中有哪些最關(guān)鍵的規(guī)則存在(如表2),從而實(shí)現(xiàn)對應(yīng)的分支結(jié)構(gòu)的Scratch腳本編碼。
● 兩種思維的建構(gòu)模型不同
有問題必然有思維的抽象,但對待同樣的問題,學(xué)科不同,抽象出的結(jié)果即學(xué)科模型也大相徑庭。數(shù)學(xué)建模就是把生活問題從數(shù)學(xué)學(xué)科視角轉(zhuǎn)化成數(shù)學(xué)問題,聰明的數(shù)學(xué)解題優(yōu)化方式,需要的就是把將未知問題轉(zhuǎn)換或改造成適應(yīng)于已有的計(jì)算公式的經(jīng)典模型(定式)。計(jì)算機(jī)的優(yōu)勢在于自動化,所以計(jì)算機(jī)建模更多的是把生活問題從計(jì)算機(jī)科學(xué)的視角轉(zhuǎn)化成計(jì)算機(jī)問題,我們要善于將問題轉(zhuǎn)換或改造成適應(yīng)于重復(fù)與自動化的計(jì)算的遞歸或遞歸公式的模型。
案例2:“1+2+3+…+100”數(shù)列求和。
數(shù)學(xué)思維解題時多選用高斯法也就是等差數(shù)列求和的公式S=(1+N)*n/2去解。如果遇見“1+2+3+3+4+…+100”的變異性問題,人類思維也會盡量把問題簡化成公式性工作來完成,即分成“1+2+3+4+…+100”和“3”兩段再求解比較快捷。而同樣的問題求解,計(jì)算思維則會思考把問題“剪”化成重復(fù)性工作:S=s+a(按序求和,其中a=1…100)。
案例3:雞和兔共15只,共有40只腳,有雞和兔各幾只?(雞兔同籠)
數(shù)學(xué)思維的方式有兩種。方案一為方程法:設(shè)雞的數(shù)量為X,兔的數(shù)量為Y,則列方程組:X+Y=15;2X+4Y=40。列方程組相當(dāng)于建立了解決“雞兔同籠”的數(shù)學(xué)模型,將該問題化歸為典型的二元一次方程的問題進(jìn)行求解。方案二為純數(shù)學(xué)法:15*2=30;40-30=10;10/(4-2)=5(兔)。而解決此典型問題的計(jì)算思維方式,就是選擇常用算法——窮舉法:雞1~15,兔1~15,然后一一枚舉找出符合這兩個條件的數(shù)據(jù)。該模型就最大化地利用了計(jì)算機(jī)高效、精確、自動化的數(shù)值處理優(yōu)勢。
數(shù)學(xué)建模重點(diǎn)思考的是如何讓問題的解決得到最簡潔、最高效的執(zhí)行,得到最正確的結(jié)果;而計(jì)算思維需要思考的核心是如何把問題解決過程自動化的實(shí)現(xiàn),至于結(jié)果與效率并非中心著力點(diǎn)。
● 兩種思維對待數(shù)據(jù)的處理方式不同
數(shù)學(xué)和計(jì)算思維都把數(shù)據(jù)作為主要的研究對象,但傳統(tǒng)數(shù)學(xué)思維僅僅把數(shù)據(jù)當(dāng)作處理、計(jì)算的“死”對象,它在數(shù)據(jù)收集、模擬預(yù)測等環(huán)節(jié)上所花費(fèi)的時間是相當(dāng)少的,像學(xué)生最主要的數(shù)據(jù)來源,來自表格、統(tǒng)計(jì)圖或者通過觀察簡單測量形成的數(shù)據(jù),它們往往是現(xiàn)成的,或已按照某種特定的數(shù)學(xué)形式結(jié)構(gòu)化了的,或者說是已被處理的。
數(shù)據(jù)是計(jì)算機(jī)科學(xué)的基礎(chǔ),但計(jì)算機(jī)世界里的數(shù)據(jù)是活化的。計(jì)算思維不僅把數(shù)據(jù)作為處理的對象,它還覆蓋了數(shù)據(jù)從誕生到再造的每一階段——數(shù)據(jù)收集、數(shù)據(jù)編碼、數(shù)據(jù)存貯、數(shù)據(jù)處理、數(shù)據(jù)預(yù)測(數(shù)據(jù)不僅僅是數(shù)據(jù),數(shù)據(jù)還產(chǎn)生新數(shù)據(jù)),這五個環(huán)節(jié)都是構(gòu)成信息社會里數(shù)據(jù)素養(yǎng)的不可或缺的重要組成部分。例如,解決問題中的先決條件——數(shù)據(jù)收集,就是計(jì)算思維教學(xué)中一項(xiàng)極其重要的內(nèi)容,我們要讓孩子們親身體驗(yàn)使用現(xiàn)代工具來采集和記錄多種類型的數(shù)據(jù),掌握不同測量工具的使用方法,了解數(shù)據(jù)本身的復(fù)雜性(獲取的原始數(shù)據(jù)許多是非結(jié)構(gòu)化、劣構(gòu)形式呈現(xiàn)),在必要的時候還需通過計(jì)算機(jī)來模擬所需的數(shù)據(jù)。
● 兩種思維的表征方式、結(jié)果用途不同
數(shù)學(xué)與計(jì)算機(jī)在解決問題時都有各自的一套獨(dú)立的符號表征系統(tǒng)。在運(yùn)用數(shù)學(xué)思維解決問題時,往往用字母、數(shù)、公式、運(yùn)算符、方程、函數(shù)、不等式等數(shù)學(xué)符號來對問題進(jìn)行表征和運(yùn)算,同時輔以文字性的說明,它是以一種便于“人”理解的形式呈現(xiàn)出來的,如案例2的求和過程,就可用最簡潔的數(shù)學(xué)符號來表示。數(shù)學(xué)思維的結(jié)果是要求學(xué)生通過抽象的符號推理和縝密的公式演繹來認(rèn)識世界,會熟練運(yùn)用數(shù)學(xué)的語言來發(fā)掘和理解這些抽象結(jié)構(gòu)之間的關(guān)系,最終掌握客觀世界的規(guī)律。
計(jì)算思維下的解題過程,除了用數(shù)學(xué)符號等傳統(tǒng)表達(dá)方式外,它的語言組織和呈現(xiàn)形式更需要符合特定系統(tǒng)或工具的邏輯,需要符合智能工具“可識別、可理解、可接受”的方式。計(jì)算思維的算法里還新增了流程圖、偽代碼、機(jī)器語言、高級語言等全新的形式化方式,數(shù)據(jù)關(guān)系中還提供了諸多數(shù)據(jù)流圖、狀態(tài)轉(zhuǎn)換圖、鏈?zhǔn)疥P(guān)系圖等結(jié)構(gòu)化形式,如案例2的偽代碼實(shí)現(xiàn)方式是:for A←0 to 100? do S←S+A。計(jì)算思維的結(jié)果則要求學(xué)生能對抽象的問題進(jìn)行建模、推理,并用它們作為計(jì)算框架來捕捉現(xiàn)實(shí)世界的某些特征,然后利用這些特征對現(xiàn)象進(jìn)行預(yù)測或問題解決,基于海量數(shù)據(jù)的仿真與模擬最能體現(xiàn)計(jì)算思維的成果。
計(jì)算機(jī)是數(shù)學(xué)的工具,計(jì)算思維里的很多方法源于數(shù)學(xué)的思維,計(jì)算思維與傳統(tǒng)數(shù)學(xué)思維之間是相輔相成的。數(shù)學(xué)思維可以支持計(jì)算思維,計(jì)算思維可以幫助驗(yàn)證數(shù)學(xué)思維,在解決問題的過程中,兩者不可或缺,它們的銜接配合能夠更高效地解決問題。我們需要做的就是充分認(rèn)識到人類思維和計(jì)算機(jī)思維各自的優(yōu)勢以及局限性,并能夠意識到兩者之間可以通過某些方式進(jìn)行聯(lián)接與優(yōu)勢互補(bǔ)。“我們所使用的工具影響著我們的思維方式和思維習(xí)慣,從而也將深刻地影響著我們的思維能力?!钡つ釥柕倪@句話用在計(jì)算思維上真是最恰當(dāng)不過了。