Ⅰ 計算思維的計算思維
操作模式 計算思維建立在計算過程的能力和限制之上,由人由機器執行。計算方法和模型使我們敢於去處理那些原本無法由任何個人獨自完成的問題求解和系統設計。計算思維直面機器智能的不解之謎:什麼人類比計算機做得好?什麼計算機比人類做得好?最基本的問題是:什麼是可計算的?迄今為止我們對這些問題仍是一知半解。
計算思維用途 計算思維是每個人的基本技能,不僅僅屬於計算機科學家。我們應當使每個孩子在培養解析能力時不僅掌握閱讀、寫作和算術(Reading, wRiting, and aRithmetic——3R),還要學會計算思維。正如印刷出版促進了3R的普及,計算和計算機也以類似的正反饋促進了計算思維的傳播。
計算思維是運用計算機科學的基礎概念去求解問題、設計系統和理解人類的行為。它包括了涵蓋計算機科學之廣度的一系列思維活動。當我們必須求解一個特定的問題時,首先會問:解決這個問題有多麼困難?怎樣才是最佳的解決方法?計算機科學根據堅實的理論基礎來准確地回答這些問題。表述問題的難度就是工具的基本能力,必須考慮的因素包括機器的指令系統、資源約束和操作環境。
為了有效地求解一個問題,我們可能要進一步問:一個近似解是否就夠了,是否可以利用一下隨機化,以及是否允許誤報(false positive)和漏報(false negative)。計算思維就是通過約簡、嵌入、轉化和模擬等方法,把一個看來困難的問題重新闡釋成一個我們知道怎樣解決的問題。
計算思維是一種遞歸思維 它是並行處理。它是把代碼譯成數據又把數據譯成代碼。它是由廣義量綱分析進行的類型檢查。對於別名或賦予人與物多個名字的做法,它既知道其益處又了解其害處。對於間接定址和程序調用的方法,它既知道其威力又了解其代價。它評價一個程序時,不僅僅根據其准確性和效率,還有美學的考量,而對於系統的設計,還考慮簡潔和優雅。
抽象和分解 來迎接龐雜的任務或者設計巨大復雜的系統。它是關注的分離(SOC方法)。它是選擇合適的方式去陳述一個問題,或者是選擇合適的方式對一個問題的相關方面建模使其易於處理。它是利用不變數簡明扼要且表述性地刻畫系統的行為。它使我們在不必理解每一個細節的情況下就能夠安全地使用、調整和影響一個大型復雜系統的信息。它就是為預期的未來應用而進行的預取和緩存。計算思維是按照預防、保護及通過冗餘、容錯、糾錯的方式從最壞情形恢復的一種思維。它稱堵塞為「死鎖」,稱約定為「界面」。計算思維就是學習在同步相互會合時如何避免「競爭條件」(亦稱「競態條件」)的情形。
計算思維利用啟發式推理來尋求解答,就是在不確定情況下的規劃、學習和調度。它就是搜索、搜索、再搜索,結果是一系列的網頁,一個贏得游戲的策略,或者一個反例。計算思維利用海量數據來加快計算,在時間和空間之間,在處理能力和存儲容量之間進行權衡。
考慮下面日常生活中的事例:當你女兒早晨去學校時,她把當天需要的東西放進背包,這就是預置和緩存;當你兒子弄丟他的手套時,你建議他沿走過的路尋找,這就是回推;在什麼時候停止租用滑雪板而為自己買一付呢?這就是在線演算法;在超市付帳時,你應當去排哪個隊呢?這就是多伺服器系統的性能模型;為什麼停電時你的電話仍然可用?這就是失敗的無關性和設計的冗餘性;完全自動的大眾圖靈測試如何區分計算機和人類,即CAPTCHA[注1]程序是怎樣鑒別人類的?這就是充分利用求解人工智慧難題之艱難來挫敗計算代理程序。
計算思維將滲透到我們每個人的生活之中,到那時諸如演算法和前提條件這些詞彙將成為每個人日常語言的一部分,對「非確定論」和「垃圾收集」這些詞的理解會和計算機科學里的含義驅近,而樹已常常被倒過來畫了。
我們已見證了計算思維在其他學科中的影響。例如,機器學習已經改變了統計學。就數學尺度和維數而言,統計學慣用於各類問題的規模僅在幾年前還是不可想像的。各種組織的統計部門都聘請了計算機科學家。計算機學院(系)正在與已有或新開設的統計學系聯姻。
計算機學家們對生物科學越來越感興趣,因為他們堅信生物學家能夠從計算思維中獲益。計算機科學對生物學的貢獻決不限於其能夠在海量序列數據中搜索尋找模式規律的本領。最終希望是數據結構和演算法(我們自身的計算抽象和方法)能夠以其體現自身功能的方式來表示蛋白質的結構。計算生物學正在改變著生物學家的思考方式。類似地,計算博弈理論正改變著經濟學家的思考方式,納米計算改變著化學家的思考方式,量子計算改變著物理學家的思考方式。
這種思維將成為每一個人的技能組合成分,而不僅僅限於科學家。普適計算之於今天就如計算思維之於明天。普適計算是已成為今日現實的昨日之夢,而計算思維就是明日現實。
Ⅱ 什麼是計算思維
計算思維是運用計算機科學的基礎概念進行問題求解、系統設計、以及人類行為理解等涵蓋計算機科學之廣度的一系列思維活動,由周以真於2006年3月首次提出。2010年,周以真教授又指出計算思維是與形式化問題及其解決方案相關的思維過程,其解決問題的表示形式應該能有效地被信息處理代理執行。
(2)計算思維是指演算法與程序設計技巧擴展閱讀:
計算機科學在本質上源自數學思維,因為像所有的科學一樣,其形式化基礎建築於數學之上。計算機科學又從本質上源自工程思維,因為我們建造的是能夠與實際世界互動的系統,基本計算設備的限制迫使計算機學家必須計算性地思考,不能只是數學性地思考。構建虛擬世界的自由使我們能夠設計超越物理世界的各種系統。
Ⅲ 對計算思維的認識和理解
計算思維包括演算法、分解、抽象、概括和調試五個基本要素。
與許多概念一樣,計算思維在學術界存在一定的共識,但也有不少爭議。在取得共識的層面,多數研究者都認可:
1.計算思維是一種思維過程,可以脫離電腦、互聯網,人工智慧等技術獨立存在。
2.這種思維是人的思維而不是計算機的思維,是人用計算思維來控制計算設備,從而更高效、快速的完成單純依靠人力無法完成的任務,解決計算時代之前無法想像的問題。
3.這種思維是未來世界認知、思考的常態思維方式,它教會孩子理解並駕馭未來世界。
計算思維的定義是從目前計算機科學所處的水平和角度提出的概念。這個概念可以概括當前計算機工作的特點,但如果作為一種思維方式進行推廣可能會在某種程度上限制人們的思維。
從另一個角度看計算思維概念的提出具有非常積極的意義,它從一定程度上簡明扼要地指出了計算機科學的核心和本質問題。為其他科學領域的研究人員深入學習和理解計算機科學提供了很好的目標與方向。綜上所述計算思維目前還是一個處於研究和探索的定義或概念,有待發展和完善。
Ⅳ 計算思維技能的演算法思維
在計算思維技能中,演算法思維具有非常鮮明的計算機科學特徵。
有些問題是一次性的,但解決這些問題的方案,則可以不斷發展。在同類問題一再出現時,演算法思維就可以介入。沒有必要重新每次從頭思考,而是採用每次都行之有效的解決方案。
演算法思維在許多「策略性「棋盤游戲中非常重要。理想情況下需要有保證勝利,或者至少不會輸的策略。所有這種策略都是一套規則,告訴你無需思索即怎麼做每一步:也就是計算機科學家稱之為演算法的東西。如果你能建立這樣的一套規則,這不僅可以成為完好游戲的基礎,也成為一個設計優秀的計算機程序的基礎。無論老幼,只要准遵循這套規則,就可以玩好這場游戲!
演算法思維是在思考使用演算法來解決問題的方法。這是學習自己編寫計算機程序時需要開發的核心技術。
囚徒困境(prisoner's dilemma)是博弈論的非零和博弈中具代表性的例子,反映個人最佳選擇並非團體最佳選擇。雖然困境本身只屬模型性質,但現實中的價格競爭、環境保護等方面,也會頻繁出現類似情況。
這個1950年代提出的囚徒困境的典型案例是:兩個罪犯准備搶劫銀行,但作案前失手被擒。警方懷疑他們意圖搶劫,苦於證據只夠起訴非法持有槍械,於是將其分開審訊。為離間雙方,警方分別對兩人說:若你們都保持沉默(「合作」),則一同入獄1年。若是互相檢舉(互相「背叛」),則一同入獄5年。若你認罪並檢舉對方(「背叛」對方),他保持沉默,他入獄10年,你可以獲釋(反之亦然)。結果兩人都選擇了招供。孤立地看,這是最符合個體利益的「理性」選擇(以A為例:若B招供,自己招供獲刑5年,不招供獲刑10年;若B不招供,自己招供可以免刑,不招供獲刑1年。兩種情況下,選擇招供都更有利),事實上卻比兩人都拒不招供的結果糟。由囚徒困境可知,公共生活中,如果每個人都從眼前利益、個人利益出發,結果會對整體的利益(間接對個人的利益)造成傷害。
為解決「囚徒困境」難題,美國曾組織競賽,要求參賽者根據「重復囚徒困境」(雙方不止一次相遇,「背叛」可能在以後遭到報復)來設計程序,將程序輸入計算機反復互相博弈,以最終得分評估優劣(雙方合作各得3分;雙方背叛各得1分;一方合作一方背叛,合作方得0分,背叛方得5分)。有些程序採用「隨機」對策;有些採用「永遠背叛」;有些採用「永遠合作」……結果,加拿大多倫多大學的阿納托爾·拉帕波特教授的「一報還一報」策略奪得了最高分。
「一報還一報」策略是這樣的:我方在第一次相遇時選擇合作,之後就採取對方上一次的選擇。這意味著在對方每一次背叛後,我方就「以牙還牙」,也背叛一次;對方每一次合作後,我方就「以德報德」一次。
該策略有別於「善良」的「永遠合作」或「邪惡」的「永遠背叛」對策,及對方一旦「不忠」,我方就不再給機會,長久對抗的策略。
如果你選擇「永遠背叛」策略,你或許會在第一局拿到最高分,但之後的各局可能都只能拿到低分,最後雖然可能「戰勝」不少對手,但由於總分很低,最終難逃被淘汰出局的命運。所以除非很難與對方再次相遇,不用擔心其日後的反應,才可選擇對抗與背叛;否則,在長期互動、博弈的關系中,「一報還一報」是最佳策略:它是善意的,從不首先背叛;它不迂腐,不管過去相處多好,仍然對背叛有反應;它是寬容的,不因一次背叛而選擇玉石俱焚。
Ⅳ 如何探討計算思維
計算思維的本質是抽象(Abstract)和自動化(Automation)。它反映了計算的根本問題,即什麼能被有效的自動進行。計算是抽象的自動執行,自動化需要某種計算機去解釋抽象。
1. 計算思維的定義
計算思維是運用計算機科學的基礎概念進行問題求解、系統設計、以及人類行為理解 等涵蓋計算機科學之廣度的一系列思維活動。
2. 計算思維的本質
從操作層面上講,計算就是如何尋找一台計算機去求解問題,隱含地說就是要確定合適的抽象,選擇合適的計算機去解釋執行該抽象,後者就是自動化。
計算思維中的抽象完全超越物理的時空觀,可以完全用符號來表示,其中,數字抽象只是一類特例。與數學相比,計算思維中的抽象顯得更為豐富,也更為復雜。數學抽象 的特點是拋開現實事物的物理、化學和生物等特性,僅保留其量的關系和空間的形式,而計算思維中的抽象卻不僅僅如此。堆棧是計算學科中常見的一種抽象數據類型,這種數據類型就不可能像數學中的整數那樣進行簡單的相「加」。演算法也是一種抽象,也不能將兩個演算法簡單地放在一起實現一種並行演算法。
抽象層次是計算思維中的一個重要概念,它使人們可以根據不同的抽象層次,進而有選擇的忽視某些細節,最終控制系統的復雜性。在分析問題時,計算思維要求將注意力集中在感興趣的抽象層次或其上下層,還應當了解各抽象層次之間的關系。
計算思維中的抽象最終是要能夠機械的一步一步自動執行。為了確保機械的自動化,就需要在抽象過程中進行精確和嚴格的符號標記和建模,同時也要求計算機系統或軟體系統生產廠家能夠向公眾提供各種不同抽象層次之間的翻譯工具。
計算思維建立在計算過程的能力和限制之上,由人由機器執行。計算方法和模型使我們敢於去處理那些原本無法由個人獨立完成的問題求解和系統設計。
3.計算思維的關鍵內容
當我們必須求解一個特定的問題時,首先會問:解決這個問題有多麼困難?怎樣才是最佳的解決方法?當我們以計算機解決問題的視角來看待這個問題,我們需要根據計算機科學堅實的理論基礎來准確地回答這些問題。同時,我們還要考慮工具的基本能力,考慮機器的指令系統、資源約束和操作環境等問題。
為了有效地求解一個問題,我們可能要進一步問:一個近似解是否就夠了,是否有更簡便的方法,是否允許誤報和漏報?計算思維就是通過約簡、嵌入、轉化和模擬等方法,把一個看來困難的問題重新闡釋成一個我們知道怎樣解決的問題。
計算思維是一種遞歸思維,是一種並行處理。它可以把代碼譯成數據又把數據譯成代碼。它是由廣義量綱分析進行的類型檢查。例如,對於別名或賦予人與物多個名字的做法,它既知道其益處又了解其害處;對於間接定址和程序調用的方法,它既知道其威力又了解其代價;它評價一個程序時,不僅僅根據其准確性和效率,還有美學的考量,而對於系統的設計,還考慮簡潔和優雅。計算思維是一種多維分析推廣的類型檢查方法。
計算思維採用了抽象和分解來迎接龐雜的任務或者設計巨大復雜的系統,它是一種基於關注點分離的方法(Separation of Concerns,簡稱SOC方法)。例如,它選擇合適的方式去陳述一個問題,或者選擇合適的方式對一個問題的相關方面建模使其易於處理;它是利用不變數簡明扼要且表述性地刻畫系統的行為;它是我們在不必理解每一個細節的情況下就能夠安全地使用、調整和影響一個大型復雜系統的信息;它就是為預期的未來應用而進行數據的預取和緩存的設計。
計算思維是按照預防、保護及通過冗餘、容錯、糾錯的方式,並從最壞情況進行系統恢復的一種思維。例如,對於「死鎖」,計算思維就是學習探討在同步相互會合時如何避免「競爭條件」的情形。
計算思維利用啟發式的推理來尋求解答,它可以在不確定的情況下規劃、學習和調度。例如,它採用各種搜索策略來解決實際問題。計算思維利用海量數據來加快計算,在時間和空間之間,在處理能力和存儲容量之間進行權衡。例如,它在內存和外存的使用上進行了巧妙的設計;它在數據壓縮與解壓縮過程中平衡時間和空間的開銷。
計算思維與生活密切相關:
當你早晨上學時,把當天所需要的東西放進背包,這就是「預置和緩存」;當有人丟失自己的物品,你建議他沿著走過的路線去尋找,這就叫「回推」;在對自己租房還是買房做出決策時,這就是「在線演算法」;在超市付費時,決定排哪個隊,這就是「多伺服器系統」的性能模型;為什麼停電時你的電話還可以使用,這就是「失敗無關性」和「設計冗餘性」。由此可見,計算思維與人們的工作與生活密切相關,計算思維應當成為人類不可或缺的一種生存能力。
計算機科學是計算的學問,它研究什麼是可計算的,怎樣去計算。計算機科學不是計算機編程,像計算機科學家那樣去思維意味著遠不止能為計算機編程,還要求能夠在抽象的多個層次上思維。
Ⅵ 程序設計的計算思維主要體現在數據表示和程序構造
計算思維是分解、模式識別/數據表示,泛化/抽象和形成演算法的一個過程。通過分解問題,使用數據表示法定義涉及的變數,並創建演算法,得出通用的解決方案。
Ⅶ 什麼是計算思維計算思維有什麼特徵
計算思維是運用計算機科學的基礎概念進行問題求解、系統設計、以及人類行為理解等涵蓋計算機科學之廣度的一系列思維活動,由周以真於2006年3月首次提出。2010年,周以真教授又指出計算思維是與形式化問題及其解決方案相關的思維過程,計算思維的特徵如下:
1、概念化,不是程序化
2、根本的,不是刻板的技能
3、是人的,不是計算機的思維方式
4、數學和工程思維的互補與融合
5、是思想,不是人造物
計算思維的優點和內容:
計算思維吸取了問題解決所採用的一般數學思維方法,現實世界中巨大復雜系統的設計與評估的一般工程思維方法,以及復雜性、智能、心理、人類行為的理解等的一般科學思維方法。
優點:計算思維建立在計算過程的能力和限制之上,由人由機器執行。計算方法和模型使我們敢於去處理那些原本無法由個人獨立完成的問題求解和系統設計。
內容:計算思維中的抽象完全超越物理的時空觀,並完全用符號來表示,其中,數字抽象只是一類特例。
Ⅷ 計算思維最基本的內容
計算思維基本的內容是,運用計算機科學的基礎概念進行問題求解、系統設計、以及人類行為理解等涵蓋計算機科學之廣度的一系列思維活動。涉及理解問題並以一種計算機可以執行的方式表達其解決方案,使用計算機科學中的演算法概念與策略來制定、分析和解決問題。
計算思維包括識別模式和順序、創造演算法、設計用於發現以及修正錯誤的測試,計算思維吸取了問題解決所採用的一般數學思維方法,現實世界中巨大復雜系統的設計與評估的一般工程思維方法,以及復雜性、智能、心理、人類行為的理解等的一般科學思維方法。
(8)計算思維是指演算法與程序設計技巧擴展閱讀
2006年3月美國卡內基·梅隆大學計算機科學系主任周以真(Jeannette M. Wing)教授在美國計算機權威期刊《Communications of the ACM》雜志上給出並定義的計算思維,同時還強調計算思維是一項跨學科的基本素養,不僅限於計算機領域。
計算思維不僅僅是在設計程序才會運用到,遷移到其他的課程中,計算思維能夠幫助你分析問題、選擇工具形成自動化的解決方案、選擇最優解以及形成通用的解決方案。計算思維不僅是一種適應於計算機科學的概念和思想,更是一種廣泛應用於工作、學習、生活中,組織和分析問題的視角。