① 簡要說明應用計算思維求解問題的一般過程
操作模式 計算思維建立在計算過程的能力和限制之上,由人由機器執行。計算方法和模型使我們敢於去處理那些原本無法由任何個人獨自完成的問題求解和系統設計。計算思維直面機器智能的不解之謎:什麼人類比計算機做得好?什麼計算機比人類做得好?最基本的問題是:什麼是可計算的?迄今為止我們對這些問題仍是一知半解。
計算思維用途 計算思維是每個人的基本技能,不僅僅屬於計算機科學家。我們應當使每個孩子在培養解析能力時不僅掌握閱讀、寫作和算術(Reading, wRiting, and aRithmetic——3R),還要學會計算思維。正如印刷出版促進了3R的普及,計算和計算機也以類似的正反饋促進了計算思維的傳播。
計算思維是運用計算機科學的基礎概念去求解問題、設計系統和理解人類的行為。它包括了涵蓋計算機科學之廣度的一系列思維活動。當我們必須求解一個特定的問題時,首先會問:解決這個問題有多麼困難?怎樣才是最佳的解決方法?計算機科學根據堅實的理論基礎來准確地回答這些問題。表述問題的難度就是工具的基本能力,必須考慮的因素包括機器的指令系統、資源約束和操作環境。
為了有效地求解一個問題,我們可能要進一步問:一個近似解是否就夠了,是否可以利用一下隨機化,以及是否允許誤報(false positive)和漏報(false negative)。計算思維就是通過約簡、嵌入、轉化和模擬等方法,把一個看來困難的問題重新闡釋成一個我們知道怎樣解決的問題。
計算思維是一種遞歸思維 它是並行處理。它是把代碼譯成數據又把數據譯成代碼。它是由廣義量綱分析進行的類型檢查。對於別名或賦予人與物多個名字的做法,它既知道其益處又了解其害處。對於間接定址和程序調用的方法,它既知道其威力又了解其代價。它評價一個程序時,不僅僅根據其准確性和效率,還有美學的考量,而對於系統的設計,還考慮簡潔和優雅。
抽象和分解 來迎接龐雜的任務或者設計巨大復雜的系統。它是關注的分離(SOC方法)。它是選擇合適的方式去陳述一個問題,或者是選擇合適的方式對一個問題的相關方面建模使其易於處理。它是利用不變數簡明扼要且表述性地刻畫系統的行為。它使我們在不必理解每一個細節的情況下就能夠安全地使用、調整和影響一個大型復雜系統的信息。它就是為預期的未來應用而進行的預取和緩存。計算思維是按照預防、保護及通過冗餘、容錯、糾錯的方式從最壞情形恢復的一種思維。它稱堵塞為「死鎖」,稱約定為「界面」。計算思維就是學習在同步相互會合時如何避免「競爭條件」(亦稱「競態條件」)的情形。
計算思維利用啟發式推理來尋求解答,就是在不確定情況下的規劃、學習和調度。它就是搜索、搜索、再搜索,結果是一系列的網頁,一個贏得游戲的策略,或者一個反例。計算思維利用海量數據來加快計算,在時間和空間之間,在處理能力和存儲容量之間進行權衡。
考慮下面日常生活中的事例:當你女兒早晨去學校時,她把當天需要的東西放進背包,這就是預置和緩存;當你兒子弄丟他的手套時,你建議他沿走過的路尋找,這就是回推;在什麼時候停止租用滑雪板而為自己買一付呢?這就是在線演算法;在超市付帳時,你應當去排哪個隊呢?這就是多伺服器系統的性能模型;為什麼停電時你的電話仍然可用?這就是失敗的無關性和設計的冗餘性;完全自動的大眾圖靈測試如何區分計算機和人類,即CAPTCHA[注1]程序是怎樣鑒別人類的?這就是充分利用求解人工智慧難題之艱難來挫敗計算代理程序。
計算思維將滲透到我們每個人的生活之中,到那時諸如演算法和前提條件這些詞彙將成為每個人日常語言的一部分,對「非確定論」和「垃圾收集」這些詞的理解會和計算機科學里的含義驅近,而樹已常常被倒過來畫了。
我們已見證了計算思維在其他學科中的影響。例如,機器學習已經改變了統計學。就數學尺度和維數而言,統計學慣用於各類問題的規模僅在幾年前還是不可想像的。各種組織的統計部門都聘請了計算機科學家。計算機學院(系)正在與已有或新開設的統計學系聯姻。
計算機學家們對生物科學越來越感興趣,因為他們堅信生物學家能夠從計算思維中獲益。計算機科學對生物學的貢獻決不限於其能夠在海量序列數據中搜索尋找模式規律的本領。最終希望是數據結構和演算法(我們自身的計算抽象和方法)能夠以其體現自身功能的方式來表示蛋白質的結構。計算生物學正在改變著生物學家的思考方式。類似地,計算博弈理論正改變著經濟學家的思考方式,納米計算改變著化學家的思考方式,量子計算改變著物理學家的思考方式。
這種思維將成為每一個人的技能組合成分,而不僅僅限於科學家。普適計算之於今天就如計算思維之於明天。普適計算是已成為今日現實的昨日之夢,而計算思維就是明日現實。
② 什麼是計算思維計算思維的本質是什麼
計算思維是運用計算機科學的基礎概念進行問題求解、系統設計、以及人類行為理解等涵蓋計算機科學之廣度的一系列思維活動。
2006年3月,美國卡內基·梅隆大學計算機科學系主任周以真(Jeannette M. Wing)教授在美國計算機權威期刊《Communications of the ACM》雜志上給出,並定義的計算思維(Computational Thinking)。周教授認為:計算思維是運用計算機科學的基礎概念進行問題求解、系統設計、以及人類行為理解等涵蓋計算機科學之廣度的一系列思維活動。
以上是關於計算思維的一個總定義,周教授為了讓人們更易於理解,又將它更進一步地定義為:通過約簡、嵌
入、轉化和模擬等方法,把一個看來困難的問題重新闡釋成一個我們知道問題怎樣解決的方法;是一種遞歸思維,是一種並行處理,是一種把代碼譯成數據又能把數
據譯成代碼,是一種多維分析推廣的類型檢查方法;是一種採用抽象和分解來控制龐雜的任務或進行巨大復雜系統設計的方法,是基於關注分離的方法(SoC方
法);是一種選擇合適的方式去陳述一個問題,或對一個問題的相關方面建模使其易於處理的思維方法;是按照預防、保護及通過冗餘、容錯、糾錯的方式,並從最
壞情況進行系統恢復的一種思維方法;是利用啟發式推理尋求解答,也即在不確定情況下的規劃、學習和調度的思維方法;是利用海量數據來加快計算,在時間和空
間之間,在處理能力和存儲容量之間進行折衷的思維方法。
③ 什麼是計算思維能力
計算思維是運用計算機科學的基礎概念進行問題求解、系統設計、以及人類行為理解等涵蓋計算機科學之廣度的一系列思維活動.
2006年3月,美國卡內基·梅隆大學計算機科學系主任周以真(Jeannette M.Wing)教授在美國計算機權威期刊《Communications of the ACM》雜志上給出,並定義的計算思維(Computational Thinking).周教授認為:計算思維是運用計算機科學的基礎概念進行問題求解、系統設計、以及人類行為理解等涵蓋計算機科學之廣度的一系列思維活動.
以上是關於計算思維的一個總定義,周教授為了讓人們更易於理解,又將它更進一步地定義為:通過約簡、嵌
入、轉化和模擬等方法,把一個看來困難的問題重新闡釋成一個我們知道問題怎樣解決的方法;是一種遞歸思維,是一種並行處理,是一種把代碼譯成數據又能把數
據譯成代碼,是一種多維分析推廣的類型檢查方法;是一種採用抽象和分解來控制龐雜的任務或進行巨大復雜系統設計的方法,是基於關注分離的方法(SoC方
法);是一種選擇合適的方式去陳述一個問題,或對一個問題的相關方面建模使其易於處理的思維方法;是按照預防、保護及通過冗餘、容錯、糾錯的方式,並從最
壞情況進行系統恢復的一種思維方法;是利用啟發式推理尋求解答,也即在不確定情況下的規劃、學習和調度的思維方法;是利用海量數據來加快計算,在時間和空
間之間,在處理能力和存儲容量之間進行折衷的思維方法.
④ 計算思維以什麼和構造為特徵
1、概念化,不是程序化
計算機科學不是計算機編程。像計算機科學家那樣去思維意味著遠不止能為計算機編程,還要求能夠在抽象的多個層次上思維。
2、根本的,不是刻板的技能
根本技能是每一個人為了在現代社會中發揮職能所必須掌握的。刻板技能意味著機械的重復。具有諷刺意味的是,當計算機像人類一樣思考之後,思維可就真的變成機械的了。
3、是人的,不是計算機的思維方式
計算思維是人類求解問題的一條途徑,但決非要使人類像計算機那樣地思考。計算機枯燥且沉悶,人類聰穎且富有想像力。是人類賦予計算機激情。配置了計算設備,我們就能用自己的智慧去解決那些在計算時代之前不敢嘗試的問題,實現「只有想不到,沒有做不到」的境界。
4、數學和工程思維的互補與融合
計算機科學在本質上源自數學思維,因為像所有的科學一樣,其形式化基礎建築於數學之上。計算機科學又從本質上源自工程思維。
因為我們建造的是能夠與實際世界互動的系統,基本計算設備的限制迫使計算機學家必須計算性地思考,不能只是數學性地思考。構建虛擬世界的自由使我們能夠設計超越物理世界的各種系統。
5、是思想,不是人造物
不只是我們生產的軟體硬體等人造物將以物理形式到處呈現並時時刻刻觸及我們的生活,更重要的是還將有我們用以接近和求解問題、管理日常生活、與他人交流和互動的計算概念。
而且,面向所有的人,所有地方。當計算思維真正融入人類活動的整體以致不再表現為一種顯式之哲學的時候,它就將成為一種現實。
(4)計算思維與城鄉規劃擴展閱讀:
一、優點內容
計算思維建立在計算過程的能力和限制之上,由人由機器執行。計算方法和模型使我們敢於去處理那些原本無法由個人獨立完成的問題求解和系統設計。
計算思維中的抽象完全超越物理的時空觀,並完全用符號來表示,其中,數字抽象只是一類特例。
與數學和物理科學相比,計算思維中的抽象顯得更為豐富,也更為復雜。數學抽象的最大特點是拋開現實事物的物理、化學和生物學等特性,而僅保留其量的關系和空間的形式,而計算思維中的抽象卻不僅僅如此。
⑤ 什麼是「計算思維」
你好,計算思維是運用計算機科學的基礎概念進行問題求解、系統設計、以及人類行為理解等涵蓋計算機科學之廣度的一系列思維活動。
2006年3月,美國卡內基·梅隆大學計算機科學系主任周以真(Jeannette M. Wing)教授在美國計算機權威期刊《Communications of the ACM》雜志上給出,並定義的計算思維(Computational Thinking)。周教授認為:計算思維是運用計算機科學的基礎概念進行問題求解、系統設計、以及人類行為理解等涵蓋計算機科學之廣度的一系列思維活動。
以上是關於計算思維的一個總定義,周教授為了讓人們更易於理解,又將它更進一步地定義為:通過約簡、
周以真
嵌入、轉化和模擬等方法,把一個看來困難的問題重新闡釋成一個我們知道問題怎樣解決的方法;是一種遞歸思維,是一種並行處理,是一種把代碼譯成數據又能把數據譯成代碼,是一種多維分析推廣的類型檢查方法;是一種採用抽象和分解來控制龐雜的任務或進行巨大復雜系統設計的方法,是基於關注分離的方法(SoC方法);是一種選擇合適的方式去陳述一個問題,或對一個問題的相關方面建模使其易於處理的思維方法;是按照預防、保護及通過冗餘、容錯、糾錯的方式,並從最壞情況進行系統恢復的一種思維方法;是利用啟發式推理尋求解答,也即在不確定情況下的規劃、學習和調度的思維方法;是利用海量數據來加快計算,在時間和空間之間,在處理能力和存儲容量之間進行折衷的思維方法。
⑥ 計算思維最基本的內容
計算思維基本的內容是,運用計算機科學的基礎概念進行問題求解、系統設計、以及人類行為理解等涵蓋計算機科學之廣度的一系列思維活動。涉及理解問題並以一種計算機可以執行的方式表達其解決方案,使用計算機科學中的演算法概念與策略來制定、分析和解決問題。
計算思維包括識別模式和順序、創造演算法、設計用於發現以及修正錯誤的測試,計算思維吸取了問題解決所採用的一般數學思維方法,現實世界中巨大復雜系統的設計與評估的一般工程思維方法,以及復雜性、智能、心理、人類行為的理解等的一般科學思維方法。
(6)計算思維與城鄉規劃擴展閱讀
2006年3月美國卡內基·梅隆大學計算機科學系主任周以真(Jeannette M. Wing)教授在美國計算機權威期刊《Communications of the ACM》雜志上給出並定義的計算思維,同時還強調計算思維是一項跨學科的基本素養,不僅限於計算機領域。
計算思維不僅僅是在設計程序才會運用到,遷移到其他的課程中,計算思維能夠幫助你分析問題、選擇工具形成自動化的解決方案、選擇最優解以及形成通用的解決方案。計算思維不僅是一種適應於計算機科學的概念和思想,更是一種廣泛應用於工作、學習、生活中,組織和分析問題的視角。
⑦ 計算思維和理論思維的關系是怎樣的
在此之前,「計算思維」在非計算機領域的應用多集中在科研學術圈,如計算化學、計算生物學、計算決策學等。像我這樣的普羅大眾真正開始了解「計算思維」的價值是在《Computational Thinking》發表之後(的10年)。今天,計算思維成了世界公認的普適思維方式,和理論思維、實驗思維一樣,任何人在解決任何問題時都可以運用。
計算思維對每個人都意義重大,但卻非常容易被誤解。有人望文生義,以為計算思維就是關於數學的學問;有人片面理解,以為學了編程就懂了計算思維;有人非要攀高枝,連學個Word、Exel、PPT都要說培養了計算思維。
計算思維被誤解成這樣,小編決心為它正名,帶大家好好認識下計算思維。
計算思維是什麼,不是什麼
計算思維是什麼呢?
在《Computational Thinking》這篇論文中,周以真教授用「硬科學」的術語描述了計算思維:計算思維是運用計算機科學的基本理念,進行問題求解,系統設計以及理解人類行為。也就是說,計算思維是一種解決問題的思考方式,而不是具體的學科知識,這種思考方式要運用計算機科學的基本理念,而且用途挺廣的。
想要更快更好的理解計算思維,先來看看周以真教授對計算思維的幾個清晰論斷。
1 計算機思維是研究計算的。
2 是概念化,不是編程。
3 是基礎技能,不是死記硬背的技能。
4 是人的思考方式,不是計算機的思考方式。
5 是數學思維、工程思維的補充和結合。
6 是想法,不是人造產品。
理解了上面6句話,就能在很大程度上減少對計算思維的誤解了。
把編程當作計算思維是對計算思維的常見誤解之一,甚至一些學計算機專業出身的人也會有類似的觀點,其實不然。計算思維是一種概念化的思考方式,而編程則是一種行為,雖然編程的過程中經常會用到計算思維,但計算思維絕不是編程。把信息素養當作計算思維也是對計算思維的常見誤解之一,其實計算思維和信息素養完全不同。信息素養注重的是培養人們對信息進行有效利用的方式方法,重點在於利用信息工具和信息,比如Excel、錄音機、感測器、QQ的使用,從互聯網上找到自己想要的信息等。而計算思維則是研究計算的,研究一個問題中哪些可以計算,怎樣進行計算。
計算思維不是一門孤立的學問,也不是一門學科知識,它源於計算機科學,又和數學思維、工程思維有非常緊密的關系。說它和數學思維相關,是因為用計算思維解決問題時,需要將問題抽象為可計算的數學問題,例如比較羅馬帝國的崛起和蒙古人的擴張,需要選擇適當的數學模型來對國力進行量化計算。在運用計算思維設計大型復雜系統時,需要考慮效率、可靠性、自動化等問題,這些都是工程思維中非常重要的東西。
計算思維是每個人在日常生活中都可以運用的一種思考方式。沒錯,每個人都可以運用,而且可以用在幾乎任何地方。出行路線規劃、理財投資選擇、科學研究分析、天氣預報預測,不論你試圖解決什麼問題,運用計算思維都能幫你化繁為簡,四兩撥千斤。
理解計算思維,首先要理解計算
理解計算思維的前提是理解計算,因為計算思維本質上還是研究計算的,研究在解決問題過程中,哪些是可計算的,以及如何計算。
通常我們理解的計算是算術運算,如「1+1=2」,,但運算其實有很多種類,如集合運算、邏輯運算、條件運算等等。集合運算如 「 ∁U(A∩B)=(∁UA)∪(∁UB)」,這裡面就沒有具體的數值運算了,而是用代表集合的字母進行運算;又比如邏輯運算「1∧0=0」,這個運算里有數值「0」和1,但意義完全不同,這里的「1」代表的是「真」—即命題為真,「0」代表的是「假」—即命題為假,通過用數字「0」和「1」來代換命題的真假,用「∧」來代換邏輯語言里的「並且」,邏輯判斷過程也能通過計算來實現。
在上面這三類運算中,「1和2」、「 A、B」 「1和0」是計算對象,是用特定符號代表一定的含義(可能是數、集合、命題真假等等);「+」、「∁U、∩、U」和「∧」是運算符,也就是運算規則(可能是加減乘除、可能是求並/補集、可能是判斷並且/或者的復合命題)。如果把計算對象用特定的符號串表示,計算的實質就是將已知的特定的符號串,按照預定的規則,一步一步地改變符號串,經過有限步驟,最終得到一個滿足預定條件的符號串的過程。
當我們跳出算術運算的局限,理解了計算的本質後,就會發現原來好多看似不可計算的東西都能變得可計算,也就很容易理解計算思維的普適性了。因為經過一定的抽象,我們對很多問題的理解都能用特定的數學語言來描述,接下來,當我們用特定的數學語言去描述解決過程的時候,就是在用計算化的方式來求解了。
計算思維里的人機分工
當我們把一個問題的求解操作變的可計算化後,我們是要靠人力去進行運算嗎?NO!運用計算思維就是為了把人從大量的機械的運算中解脫出來,讓計算機去做這些事。
在用計算思維解決問題時,人負責把實際問題轉化為可計算問題,並設計演算法讓計算機去執行,計算機負責具體的運算任務,這就是計算思維里的人機分工。
人機分工能大幅提高問題處理的效率,減少出錯率,特別是在處理情況復雜,運算量大的問題時。比如出行路線規劃,在沒有導航軟體的時候,我們想要規劃從A點到B點的最近的路線,可能要花費不少功夫,往往是我們根據經驗進行判斷,並不精確,很難有足夠的時間和精力去尋找最優解。
當我們用電子地圖來表示實際地理情況,用坐標點來表示實際位置時,最短路線的問題就轉化為比較地圖上A點到B點的各種線段組合的長度問題。從輸入起點和目的地到導航軟體給出導航路線不到半秒的時間里,後台伺服器已經進行了高達千萬甚至上億次的運算,這種效率高出人類N個數量級。
計算思維里的2A
Abstraction (抽象)和Automation(自動化)是計算思維的兩大核心特徵。
想要理解抽象和自動化之於計算思維的重要性,我們先來看下運用計算思維進行問題求解的關鍵路徑:
<1>把實際問題抽象為數學問題,並建模
將人對問題的理解用數學語言描述出來
<2>進行映射,把數學模型中的變數等用特定的符號代替
用符號一一對應數學模型中的變數和規則等
<3>通過編程把解決問題的邏輯分析過程寫成演算法
把解題思路變成計算機指令,也就是演算法
<4>執行演算法,進行求解
計算機根據演算法,一步步完成相應指令,求出結果
建立數學模型的過程就是理解問題的過程,並且要把你對問題的理解用數學語言描述出來。這很關鍵,數學模型的好壞意味著你對問題的理解程度夠不夠深,而且數學模型還說明了在這個問題中,哪些東西可以計算以及如何進行計算,這可以說是計算思維里最最核心的東西了。這個關鍵過程需要的核心能力就是抽象能力以及一定的數學基礎。
數學建模只是可計算化的第一步,為了讓計算機幫我們去求解,我們還需要虛擬的符號來代替的數學模型里的每個變數和運算規則,這個過程就是映射啦!
完成映射,我們就能把解題思路(注意,是解題思路,不是數學模型)用程序語言完整地告訴計算機啦,這個過程就是具體的編程寫演算法的過程啦!這一步需要較強的編程能力,但編程能力的核心之一也是抽象思維能力。對於編程能力不夠強的人來說,映射還有編程的過程可以交給擅長編程的人來做。
關鍵路徑的前3步都是人來完成的,最後一步執行演算法進行運算是機器自動完成的,體現了計算思維的自動化的特點。
在整個過程中,抽象是方法,是手段,貫穿整個過程的每個環節。自動化是最終目標,讓機器去做計算的工作,把人腦解放出來,中間目標是實現問題的可計算化,體現在成果上就是數學模型、映射、還有演算法。
至此,你應該對計算思維有個差不多的理解了。當你再聽到某些課程顧問說「我們的課程能培養孩子的計算思維時」,你可以反問一下他們是怎樣培養孩子的計算思維的,而不是傻傻地為一個聽起來高大上的詞彙買單。俗話說「師傅領進門,修行在個人」,真正運用計算思維去解決問題,還需要各位踏踏實實地掌握相關知識,並加以操練才行。
⑧ 周以真在什麼時間提出計算思維這個概念的
2006年3月,美國卡內基·梅隆大學計算機科學系主任周以真(Jeannette M. Wing)教授在美國計算機權威期刊《Communications of the ACM》雜志上給出,並定義的計算思維(Computational Thinking)。
周教授認為:計算思維是運用計算機科學的基礎概念進行問題求解、系統設計、以及人類行為理解等涵蓋計算機科學之廣度的一系列思維活動。
以上是關於計算思維的一個總定義,周教授為了讓人們更易於理解,又將它更進一步地定義為:通過約簡、嵌入、轉化和模擬等方法,把一個看來困難的問題重新闡釋成一個我們知道問題怎樣解決的方法。
是一種遞歸思維,是一種並行處理,是一種把代碼譯成數據又能把數據譯成代碼,是一種多維分析推廣的類型檢查方法;是一種採用抽象和分解來控制龐雜的任務或進行巨大復雜系統設計的方法,是基於關注分離的方法(SoC方法)。
是一種選擇合適的方式去陳述一個問題,或對一個問題的相關方面建模使其易於處理的思維方法;是按照預防、保護及通過冗餘、容錯、糾錯的方式,並從最壞情況進行系統恢復的一種思維方法;是利用啟發式推理尋求解答,也即在不確定情況下的規劃、學習和調度的思維方法。
是利用海量數據來加快計算,在時間和空間之間,在處理能力和存儲容量之間進行折衷的思維方法。
(8)計算思維與城鄉規劃擴展閱讀
在計算思維技能中,演算法思維具有非常鮮明的計算機科學特徵。
有些問題是一次性的,但解決這些問題的方案,則可以不斷發展。在同類問題一再出現時,演算法思維就可以介入。沒有必要重新每次從頭思考,而是採用每次都行之有效的解決方案。
演算法思維在許多「策略性「棋盤游戲中非常重要。理想情況下需要有保證勝利,或者至少不會輸的策略。所有這種策略都是一套規則,告訴你無需思索即怎麼做每一步:
也就是計算機科學家稱之為演算法的東西。如果你能建立這樣的一套規則,這不僅可以成為完好游戲的基礎,也成為一個設計優秀的計算機程序的基礎。無論老幼,只要准遵循這套規則,就可以玩好這場游戲!
演算法思維是在思考使用演算法來解決問題的方法。這是學習自己編寫計算機程序時需要開發的核心技術。
囚徒困境(prisoner's dilemma)是博弈論的非零和博弈中具代表性的例子,反映個人最佳選擇並非團體最佳選擇。雖然困境本身只屬模型性質,但現實中的價格競爭、環境保護等方面,也會頻繁出現類似情況。
這個1950年代提出的囚徒困境的典型案例是:兩個罪犯准備搶劫銀行,但作案前失手被擒。警方懷疑他們意圖搶劫,苦於證據只夠起訴非法持有槍械,於是將其分開審訊。為離間雙方,警方分別對兩人說:若你們都保持沉默(「合作」),則一同入獄1年。
若是互相檢舉(互相「背叛」),則一同入獄5年。若你認罪並檢舉對方(「背叛」對方),他保持沉默,他入獄10年,你可以獲釋(反之亦然)。結果兩人都選擇了招供。孤立地看,這是最符合個體利益的「理性」選擇(以A為例:若B招供,自己招供獲刑5年,不招供獲刑10年;若B不招供,自己招供可以免刑,不招供獲刑1年。
兩種情況下,選擇招供都更有利),事實上卻比兩人都拒不招供的結果糟。由囚徒困境可知,公共生活中,如果每個人都從眼前利益、個人利益出發,結果會對整體的利益(間接對個人的利益)造成傷害。
為解決「囚徒困境」難題,美國曾組織競賽,要求參賽者根據「重復囚徒困境」(雙方不止一次相遇,「背叛」可能在以後遭到報復)來設計程序,將程序輸入計算機反復互相博弈,以最終得分評估優劣(雙方合作各得3分;雙方背叛各得1分;一方合作一方背叛,合作方得0分,背叛方得5分)。
有些程序採用「隨機」對策;有些採用「永遠背叛」;有些採用「永遠合作」……結果,加拿大多倫多大學的阿納托爾·拉帕波特教授的「一報還一報」策略奪得了最高分。
參考資料來源:網路-計算思維
參考資料來源:網路-計算思維技能
⑨ 計算思維與機械工程專業的聯系
計算思維是運用計算機科學的基礎概念進行問題求解、系統設計、以及人類行為理解等涵蓋計算機科學之廣度的一系列思維活動。
操作模式 計算思維建立在計算過程的能力和限制之上,由人由機器執行。計算方法和模型使我們敢於去處理那些原本無法由任何個人獨自完成的問題求解和系統設計。計算思維直面機器智能的不解之謎:什麼人類比計算機做得好?什麼計算機比人類做得好?最基本的問題是:什麼是可計算的?迄今為止我們對這些問題仍是一知半解。
計算思維用途 計算思維是每個人的基本技能,不僅僅屬於計算機科學家。我們應當使每個孩子在培養解析能力時不僅掌握閱讀、寫作和算術(Reading, wRiting, and aRithmetic——3R),還要學會計算思維。正如印刷出版促進了3R的普及,計算和計算機也以類似的正反饋促進了計算思維的傳播。
計算思維是運用計算機科學的基礎概念去求解問題、設計系統和理解人類的行為。它包括了涵蓋計算機科學之廣度的一系列思維活動。
當我們必須求解一個特定的問題時,首先會問:解決這個問題有多麼困難?怎樣才是最佳的解決方法?計算機科學根據堅實的理論基礎來准確地回答這些問題。表述問題的難度就是工具的基本能力,必須考慮的因素包括機器的指令系統、資源約束和操作環境。
為了有效地求解一個問題,我們可能要進一步問:一個近似解是否就夠了,是否可以利用一下隨機化,以及是否允許誤報(false positive)和漏報(false negative)。計算思維就是通過約簡、嵌入、轉化和模擬等方法,把一個看來困難的問題重新闡釋成一個我們知道怎樣解決的問題。
計算思維是一種遞歸思維 它是並行處理。它是把代碼譯成數據又把數據譯成代碼。它是由廣義量綱分析進行的類型檢查。對於別名或賦予人與物多個名字的做法,它既知道其益處又了解其害處。對於間接定址和程序調用的方法,它既知道其威力又了解其代價。它評價一個程序時,不僅僅根據其准確性和效率,還有美學的考量,而對於系統的設計,還考慮簡潔和優雅。
抽象和分解 來迎接龐雜的任務或者設計巨大復雜的系統。它是關注的分離(SOC方法)。它是選擇合適的方式去陳述一個問題,或者是選擇合適的方式對一個問題的相關方面建模使其易於處理。它是利用不變數簡明扼要且表述性地刻畫系統的行為。它使我們在不必理解每一個細節的情況下就能夠安全地使用、調整和影響一個大型復雜系統的信息。它就是為預期的未來應用而進行的預取和緩存。
智能機器人
智能機器人
計算思維是按照預防、保護及通過冗餘、容錯、糾錯的方式從最壞情形恢復的一種思維。它稱堵塞為「死鎖」,稱約定為「界面」。計算思維就是學習在同步相互會合時如何避免「競爭條件」(亦稱「競態條件」)的情形。
計算思維利用啟發式推理來尋求解答,就是在不確定情況下的規劃、學習和調度。它就是搜索、搜索、再搜索,結果是一系列的網頁,一個贏得游戲的策略,或者一個反例。計算思維利用海量數據來加快計算,在時間和空間之間,在處理能力和存儲容量之間進行權衡。
考慮下面日常生活中的事例:當你女兒早晨去學校時,她把當天需要的東西放進背包,這就是預置和緩存;當你兒子弄丟他的手套時,你建議他沿走過的路尋找,這就是回推;在什麼時候停止租用滑雪板而為自己買一付呢?這就是在線演算法;在超市付帳時,你應當去排哪個隊呢?這就是多伺服器系統的性能模型;為什麼停電時你的電話仍然可用?這就是失敗的無關性和設計的冗餘性;完全自動的大眾圖靈測試如何區分計算機和人類,即CAPTCHA[注1]程序是怎樣鑒別人類的?這就是充分利用求解人工智慧難題之艱難來挫敗計算代理程序。
計算思維將滲透到我們每個人的生活之中,到那時諸如演算法和前提條件這些詞彙將成為每個人日常語言的一部分,對「非確定論」和「垃圾收集」這些詞的理解會和計算機科學里的含義驅近,而樹已常常被倒過來畫了。
我們已見證了計算思維在其他學科中的影響。例如,機器學習已經改變了統計學。就數學尺度和維數而言,統計學慣用於各類問題的規模僅在幾年前還是不可想像的。各種組織的統計部門都聘請了計算機科學家。計算機學院(系)正在與已有或新開設的統計學系聯姻。
計算機學家們對生物科學越來越感興趣,因為他們堅信生物學家能夠從計算思維中獲益。計算機科學對生物學的貢獻決不限於其能夠在海量序列數據中搜索尋找模式規律的本領。最終希望是數據結構和演算法(我們自身的計算抽象和方法)能夠以其體現自身功能的方式來表示蛋白質的結構。計算生物學正在改變著生物學家的思考方式。類似地,計算博弈理論正改變著經濟學家的思考方式,納米計算改變著化學家的思考方式,量子計算改變著物理學家的思考方式。
這種思維將成為每一個人的技能組合成分,而不僅僅限於科學家。普適計算之於今天就如計算思維之於明天。普適計算是已成為今日現實的昨日之夢,而計算思維就是明日現實。
特性編輯
概念化,不是程序化
計算機科學不是計算機編程。像計算機科學家那樣去思維意味著遠不止能為計算機編程,還要求能夠在抽象的多個層次上思維。
根本的,不是刻板的技能
根本技能是每一個人為了在現代社會中發揮職能所必須掌握的。刻板技能意味著機械的重復。具有諷刺意味的是,當計算機像人類一樣思考之後,思維可就真的變成機械的了。
是人的,不是計算機的思維方式
計算思維是人類求解問題的一條途徑,但決非要使人類像計算機那樣地思考。計算機枯燥且沉悶,人類聰穎且富有想像力。是人類賦予計算機激情。配置了計算設備,我們就能用自己的智慧去解決那些在計算時代之前不敢嘗試的問題,實現「只有想不到,沒有做不到」的境界。
數學和工程思維的互補與融合
計算機科學在本質上源自數學思維,因為像所有的科學一樣,其形式化基礎建築於數學之上。計算機科學又從本質上源自工程思維,因為我們建造的是能夠與實際世界互動的系統,基本計算設備的限制迫使計算機學家必須計算性地思考,不能只是數學性地思考。構建虛擬世界的自由使我們能夠設計超越物理世界的各種系統。
是思想,不是人造物
不只是我們生產的軟體硬體等人造物將以物理形式到處呈現並時時刻刻觸及我們的生活,更重要的是還將有我們用以接近和求解問題、管理日常生活、與他人交流和互動的計算概念;而且,面向所有的人,所有地方。 當計算思維真正融入人類活動的整體以致不再表現為一種顯式之哲學的時候,它就將成為一種現實。
總結編輯
許多人將計算機科學等同於計算機編程。有些家長為他們主修計算機科學的孩子看到的只是一個狹窄的就業范圍。許多人認為計算機科學的基礎研究已經完成,剩下的只是工程問題。當我們行動起來去改變這一領域的社會形象時,計算思維就是一個引導著計算機教育家、研究者和實踐者的宏大願景。我們特別需要抓住尚未進入大學之前的聽眾,包括老師、父母和學生,向他們傳送下面兩個主要信息:
智力上的挑戰和引人入勝的科學問題依舊亟待理解和解決。這些問題和解答僅僅受限於我們自己的好奇心和創造力;同時一個人可以主修計算機科學而從事任何行業。一個人可以主修英語或者數學,接著從事各種各樣的職業。計算機科學也一樣。一個人可以主修計算機科學,接著從事醫學、法律、商業、政治,以及任何類型的科學和工程,甚至藝術工作。
計算機科學的教授應當為大學新生開一門稱為「怎麼像計算機科學家一樣思維」的課程,面向所有專業,而不僅僅是計算機科學專業的學生。我們應當使入大學之前的學生接觸計算的方法和模型。我們應當設法激發公眾對計算機領域科學探索的興趣,而不是悲嘆對其興趣的衰落或者哀泣其研究經費的下降。所以,我們應當傳播計算機科學的快樂、崇高和力量,致力於使計算思維成為常識。
⑩ 計算思維的計算思維
操作模式 計算思維建立在計算過程的能力和限制之上,由人由機器執行。計算方法和模型使我們敢於去處理那些原本無法由任何個人獨自完成的問題求解和系統設計。計算思維直面機器智能的不解之謎:什麼人類比計算機做得好?什麼計算機比人類做得好?最基本的問題是:什麼是可計算的?迄今為止我們對這些問題仍是一知半解。
計算思維用途 計算思維是每個人的基本技能,不僅僅屬於計算機科學家。我們應當使每個孩子在培養解析能力時不僅掌握閱讀、寫作和算術(Reading, wRiting, and aRithmetic——3R),還要學會計算思維。正如印刷出版促進了3R的普及,計算和計算機也以類似的正反饋促進了計算思維的傳播。
計算思維是運用計算機科學的基礎概念去求解問題、設計系統和理解人類的行為。它包括了涵蓋計算機科學之廣度的一系列思維活動。當我們必須求解一個特定的問題時,首先會問:解決這個問題有多麼困難?怎樣才是最佳的解決方法?計算機科學根據堅實的理論基礎來准確地回答這些問題。表述問題的難度就是工具的基本能力,必須考慮的因素包括機器的指令系統、資源約束和操作環境。
為了有效地求解一個問題,我們可能要進一步問:一個近似解是否就夠了,是否可以利用一下隨機化,以及是否允許誤報(false positive)和漏報(false negative)。計算思維就是通過約簡、嵌入、轉化和模擬等方法,把一個看來困難的問題重新闡釋成一個我們知道怎樣解決的問題。
計算思維是一種遞歸思維 它是並行處理。它是把代碼譯成數據又把數據譯成代碼。它是由廣義量綱分析進行的類型檢查。對於別名或賦予人與物多個名字的做法,它既知道其益處又了解其害處。對於間接定址和程序調用的方法,它既知道其威力又了解其代價。它評價一個程序時,不僅僅根據其准確性和效率,還有美學的考量,而對於系統的設計,還考慮簡潔和優雅。
抽象和分解 來迎接龐雜的任務或者設計巨大復雜的系統。它是關注的分離(SOC方法)。它是選擇合適的方式去陳述一個問題,或者是選擇合適的方式對一個問題的相關方面建模使其易於處理。它是利用不變數簡明扼要且表述性地刻畫系統的行為。它使我們在不必理解每一個細節的情況下就能夠安全地使用、調整和影響一個大型復雜系統的信息。它就是為預期的未來應用而進行的預取和緩存。計算思維是按照預防、保護及通過冗餘、容錯、糾錯的方式從最壞情形恢復的一種思維。它稱堵塞為「死鎖」,稱約定為「界面」。計算思維就是學習在同步相互會合時如何避免「競爭條件」(亦稱「競態條件」)的情形。
計算思維利用啟發式推理來尋求解答,就是在不確定情況下的規劃、學習和調度。它就是搜索、搜索、再搜索,結果是一系列的網頁,一個贏得游戲的策略,或者一個反例。計算思維利用海量數據來加快計算,在時間和空間之間,在處理能力和存儲容量之間進行權衡。
考慮下面日常生活中的事例:當你女兒早晨去學校時,她把當天需要的東西放進背包,這就是預置和緩存;當你兒子弄丟他的手套時,你建議他沿走過的路尋找,這就是回推;在什麼時候停止租用滑雪板而為自己買一付呢?這就是在線演算法;在超市付帳時,你應當去排哪個隊呢?這就是多伺服器系統的性能模型;為什麼停電時你的電話仍然可用?這就是失敗的無關性和設計的冗餘性;完全自動的大眾圖靈測試如何區分計算機和人類,即CAPTCHA[注1]程序是怎樣鑒別人類的?這就是充分利用求解人工智慧難題之艱難來挫敗計算代理程序。
計算思維將滲透到我們每個人的生活之中,到那時諸如演算法和前提條件這些詞彙將成為每個人日常語言的一部分,對「非確定論」和「垃圾收集」這些詞的理解會和計算機科學里的含義驅近,而樹已常常被倒過來畫了。
我們已見證了計算思維在其他學科中的影響。例如,機器學習已經改變了統計學。就數學尺度和維數而言,統計學慣用於各類問題的規模僅在幾年前還是不可想像的。各種組織的統計部門都聘請了計算機科學家。計算機學院(系)正在與已有或新開設的統計學系聯姻。
計算機學家們對生物科學越來越感興趣,因為他們堅信生物學家能夠從計算思維中獲益。計算機科學對生物學的貢獻決不限於其能夠在海量序列數據中搜索尋找模式規律的本領。最終希望是數據結構和演算法(我們自身的計算抽象和方法)能夠以其體現自身功能的方式來表示蛋白質的結構。計算生物學正在改變著生物學家的思考方式。類似地,計算博弈理論正改變著經濟學家的思考方式,納米計算改變著化學家的思考方式,量子計算改變著物理學家的思考方式。
這種思維將成為每一個人的技能組合成分,而不僅僅限於科學家。普適計算之於今天就如計算思維之於明天。普適計算是已成為今日現實的昨日之夢,而計算思維就是明日現實。