人工智慧

来源:www.uuuwell.com

   

人工智慧(Artificial Intelligence) ,英文縮寫為AI。它是研究、開發用於模擬、延伸和擴展人的智能的理論、方法、技術及應用系統的一門新的技術科學。 人工智慧是電腦科學的一個分支,它企圖了解智能的實質,並生產出一種新的能以人類智能相似的方式做出反應的智能機器,該領域的研究包括機器人、語言識別、圖像識別、自然語言處理專家系統等。

簡介

  人工智慧,英文單詞 artilect,來源於 雨果·德·加里斯 的著作<The Artilect War> 。   「人工智慧」一詞最初是在1956 年Dartmouth學會上提出的。從那以後,研究者發展了眾多理論和原理,人工智慧的概念也隨之擴展。人工智慧是一門極富挑戰性的科學,從事這項工作的人必須懂得電腦知識,心理學和哲學。人工智慧是包括十分廣泛的科學,它由不同的領域組成,如機器學習,電腦視覺等等,總的說來,人工智慧研究的一個主要目標是使機器能夠勝任一些通常需要人類智能才能完成的複雜工作。但不同的時代、不同的人對這種「複雜工作」的理解是不同的。例如繁重的科學和工程計算本來是要人腦來承擔的,現在電腦不但能完成這種計算,而且能夠比人腦做得更快、更準確,因此當代人已不再把這種計算看作是「需要人類智能才能完成的複雜任務」,可見複雜工作的定義是隨著時代的發

具有人工智慧的機器人

展和技術的進步而變化的,人工智慧這門科學的具體目標也自然隨著時代的變化而發展。它一方面不斷獲得新的進展,另一方面又轉向更有意義、更加困難的目標。   目前能夠用來研究人工智慧的主要物質基礎以及能夠實現人工智慧技術平台的機器就是電腦,人工智慧的發展歷史是和電腦科學技術的發展史聯繫在一起的。除了電腦科學以外,人工智慧還涉及資訊理論、控制論、自動化、仿生學生物學、心理學、數理邏輯、語言學醫學和哲學等多門學科。人工智慧學科研究的主要內容包括:知識表示、自動推理和搜索方法、機器學習和知識獲取、知識處理系統、自然語言理解電腦視覺、智能機器人、自動程序設計等方面。    實際應用機器視覺:指紋識別,人臉識別視網膜識別,虹膜識別,掌紋識別,專家系統,智能搜索,定理證明,博弈,自動程序設計,還有航天應用等。   學科範疇人工智慧是一門邊沿學科,屬於自然科學和社會科學的交叉。   涉及學科哲學和認知科學數學,神經生理學,心理學,電腦科學,資訊理論,控制論,不定性論,仿生學,   研究範疇自然語言處理,知識表現,智能搜索,推理,規劃,機器學習,知識獲取,組合調度問題,感知問題,模式識別,邏輯程序設計,軟計算,不精確和不確定的管理,人工生命,神經網路複雜系統遺傳演算法人類思維方式   應用領域智能控制,專家系統,機器人學,語言和圖像理解,遺傳編程機器人工廠   安全問題    目前人工智慧還在研究中,但有學者認為讓電腦擁有智商是很危險的,它可能會反抗人類。這種隱患也在多部電影中發生過。

人工智慧的兩種實現方法

  人工智慧在電腦上實現時有2種不同的方式。一種是採用傳統的編程技術,使系統呈現智能的效果,而不考慮所用方法是否與人或動物機體所用的方法相同。這種方法叫工程學方法(Engineering approach),它已在一些領域內作出了成果,如文字識別、電腦下棋等。另一種是模擬法(Modeling approach),它不僅要看效果,還要求實現方法也和人類或生物機體所用的方法相同或相類似。本書介紹的遺傳演算法(Generic Algorithm,簡稱GA)和人工神經網路(Artificial Neural Network,簡稱ANN)均屬后一類型。遺傳演算法模擬人類或生物的遺傳-進化機制,人工神經網路則是模擬人類或動物大腦神經細胞的活動方式。為了得到相同智能效果,兩種方式通常都可使用。採用前一種方法,需要人工詳細規定程序邏輯,如果遊戲簡單,還是方便的。如果遊戲複雜,角色數量和活動空間增加,相應的邏輯就會很複雜(按指數式增長),人工編程就非常繁瑣,容易出錯。而一旦出錯,就必須修改原程序,重新編譯、調試,最後為用戶提供一個新的版本或提供一個新補丁,非常麻煩。採用后一種方法時,編程者要為每一角色設計一個智能系統(一個模塊)來進行控制,這個智能系統(模塊)開始什麼也不懂,就像初生嬰兒那樣,但它能夠學習,能漸漸地適應環境,應付各種複雜情況。這種系統開始也常犯錯誤,但它能吸取教訓,下一次運行時就可能改正,至少不會永遠錯下去,用不到發布新版本或打補丁。利用這種方法來實現人工智慧,要求編程者具有生物學思考方法,入門難度大一點。但一旦入了門,就可得到廣泛應用。由於這種方法編程時無須對角色的活動規律做詳細規定,應用於複雜問題,通常會比前一種方法更省力。

定義

  人工智慧的定義可以分為兩部分,即「人工」和「智能」。「人工」比較好理解,爭議性也不大。有時我們會要考慮什麼是人力所能及製造的,或者人自身的智能程度有沒有高到可以創造人工智慧的地步,等等。但總的來說,「人工系統」就是通常意義下的人工系統。   關於什麼是「智能」,就問題多多了。這涉及到其它諸如意識(consciousness)、自我(self)、思維(mind)(包括無意識的思維(unconscious_mind)等等問題。人唯一了解的智能是人本身的智能,這是普遍認同觀點。但是我們對我們自身智能的理解都非常有限,對構成人的智能的必要元素也了解有限,所以就很難定義什麼是「人工」製造的「智能」了。因此人工智慧的研究往往涉及對人的智能本身的研究。其它關於動物或其它人造系統的智能也普遍被認為是人工智慧相關的研究課題。   人工智慧目前在電腦領域內,得到了愈加廣泛的重視。並在機器人,經濟政治決策,控制系統,模擬系統中得到應用。   著名的美國斯坦福大學人工智慧研究中心尼爾遜教授對人工智慧下了這樣一個定義:「人工智慧是關於知識的學科――怎樣表示知識以及怎樣獲得知識並使用知識的科學。」而另一個美國麻省理工學院的溫斯頓教授認為:「人工智慧就是研究如何使電腦去做過去只有人才能做的智能工作。」這些說法反映了人工智慧學科的基本思想和基本內容。即人工智慧是研究人類智能活動的規律,構造具有一定智能的人工系統,研究如何讓電腦去完成以往需要人的智力才能勝任的工作,也就是研究如何應用電腦的軟硬體來模擬人類某些智能行為的基本理論、方法和技術。   人工智慧(Artificial Intelligence,簡稱AI)是電腦學科的一個分支,二十世紀七十年代以來被稱為世界三大尖端技術之一(空間技術、能源技術、人工智慧)。也被認為是二十一世紀(基因工程納米科學、人工智慧)三大尖端技術之一。這是因為近三十年來它獲得了迅速的發展,在很多學科領域都獲得了廣泛應用,並取得了豐碩的成果,人工智慧已逐步成為一個獨立的分支,無論在理論和實踐上都已自成一個系統。   人工智慧是研究使電腦來模擬人的某些思維過程和智能行為(如學習、推理、思考、規劃等)的學科,主要包括電腦實現智能的原理、製造類似於人腦智能的電腦,使電腦能實現更高層次的應用。人工智慧將涉及到電腦科學、心理學、哲學和語言學等學科。可以說幾乎是自然科學和社會科學的所有學科,其範圍已遠遠超出了電腦科學的範疇,人工智慧與思維科學的關係是實踐和理論的關係,人工智慧是處於思維科學的技術應用層次,是它的一個應用分支。從思維觀點看,人工智慧不僅限於邏輯思維,要考慮形象思維靈感思維才能促進人工智慧的突破性的發展,數學常被認為是多種學科的基礎科學,數學也XX語言、思維領域,人工智慧學科也必須借用數學工具,數學不僅在標準邏輯、模糊數學等範圍發揮作用,數學XX人工智慧學科,它們將互相促進而更快地發展。

簡史

  人工智慧的傳說可以追溯到古埃及,但隨著1941年以來電子電腦的發展,技術已最終可以創造出機器智能,「人工智慧」(Artificial Intelligence)一詞最初是在1956年Dartmouth學會上提出的,從那以後,研究者們發展了眾多理論和原理,人工智慧的概念也隨之擴展,在它還不長的歷史中,人工智慧的發展比預想的要慢,但一直在前進,從40年前出現到現在,已經出現了許多AI程序,並且它們也影響到了其它 技術的發展。

電腦時代

  1941年的一項發明使信息存儲和處理的各個方面都發生了革命.這項同時在美國和德國出現的 發明就是電子電腦.第一台電腦要佔用幾間裝空調的大房間,對程序員來說是場噩夢:僅僅為運行一 個程序就要設置成千的線路.1949年改進后的能存儲程序的電腦使得輸入程序變得簡單些,而且電腦 理論的發展產生了電腦科學,並最終促使了人工智慧的出現.電腦這個用電子方式處理數據的發明,為人工智慧的可能實現提供了一種媒介.

AI的開端

  雖然電腦為AI提供了必要的技術基礎,但直到50年代早期人們才注意到人類智能與機器之間 的聯繫. Norbert Wiener是最早研究反饋理論的美國人之一.最熟悉的反饋控制的例子是自動調溫器.它 將收集到的房間溫度與希望的溫度比較,並做出反應將加熱器開大或關小,從而控制環境溫度.這項對反饋 迴路的研究重要性在於: Wiener從理論上指出,所有的智能活動都是反饋機制的結果.而反饋機制是有可 能用機器模擬的.這項發現對早期AI的發展影響很大.   1955年末,Newell和Simon做了一個名為"邏輯專家"(Logic Theorist)的程序.這個程序被許多人 認為是第一個AI程序.它將每個問題都表示成一個樹形模型,然後選擇最可能得到正確結論的那一枝來求解 問題."邏輯專家"對公眾和AI研究領域產生的影響使它成為AI發展中一個重要的里程碑.1956年,被認為是 人工智慧之父的John McCarthy組織了一次學會,將許多對機器智能感興趣的專家學者聚集在一起進行了一 個月的討論.他請他們到 Vermont參加 " Dartmouth人工智慧夏季研究會".從那時起,這個領域被命名為 "人工智慧".雖然 Dartmouth學會不是非常成功,但它確實集中了AI的創立者們,併為以後的AI研究奠定了基礎.   Dartmouth會議后的7年中,AI研究開始快速發展.雖然這個領域還沒明確定義,會議中的一些思想 已被重新考慮和使用了. Carnegie Mellon大學和MIT開始組建AI研究中心.研究面臨新的挑戰: 下一步需 要建立能夠更有效解決問題的系統,例如在"邏輯專家"中減少搜索;還有就是建立可以自我學習的系統.   1957年一個新程序,"通用解題機"(GPS)的第一個版本進行了測試.這個程序是由製作"邏輯專家" 的同一個組開發的.GPS擴展了Wiener的反饋原理,可以解決很多常識問題.兩年以後,IBM成立了一個AI研 究組.Herbert Gelerneter花3年時間製作了一個解幾何定理的程序.   當越來越多的程序湧現時,McCarthy正忙於一個AI史上的突破.1958年McCarthy宣布了他的新成 果: LISP語言. LISP到今天還在用."LISP"的意思是"表處理"(LISt Processing),它很快就為大多數AI開發者採納.   1963年MIT從美國政府得到一筆220萬美元的資助,用於研究機器輔助識別.這筆資助來自國防部 高級研究計劃署(ARPA),已保證美國在技術進步上領先於蘇聯.這個計劃吸引了來自全世界的電腦科學家,加快了AI研究的發展步伐.

競賽

  Loebner(人工智慧類)   以人類的智慧創造出堪與人類大腦相平行的機器腦(人工智慧),對人類來說是一個極具誘惑的領域,人類為了實現這一夢想也已經奮鬥了很多個年頭了。而從一個語言研究者的角度來看,要讓機器與人之間自由交流那是相當困難的,甚至可以說可能會是一個永無答案的問題。人類的語言,人類的智能是如此的複雜,以至於我們現在的研究可能還並未觸及其導向本質的外延部分的邊沿。

大量的程序

  以後幾年出現了大量程序.其中一個著名的叫"SHRDLU"."SHRDLU"是"微型世界"項目的一部分,包括 在微型世界(例如只有有限數量的幾何形體)中的研究與編程.在MIT由Marvin Minsky領導的研究人員發現,面對小規模的對象,電腦程序可以解決空間和邏輯問題.其它如在60年代末出現的"STUDENT"可

相關書籍

以解決代數 問題,"SIR"可以理解簡單的英語句子.這些程序的結果對處理語言理解和邏輯有所幫助.   70年代另一個進展是專家系統.專家系統可以預測在一定條件下某種解的概率.由於當時電腦已 有巨大容量,專家系統有可能從數據中得出規律.專家系統的市場應用很廣.十年間,專家系統被用於股市預 測,幫助醫生診斷疾病,以及指示礦工確定礦藏位置等.這一切都因為專家系統存儲規律和信息的能力而成為可能.   70年代許多新方法被用於AI開發,著名的如Minsky的構造理論.另外David Marr提出了機器視覺方 面的新理論,例如,如何通過一副圖像的陰影,形狀,顏色,邊界和紋理等基本信息辨別圖像.通過分析這些信 息,可以推斷出圖像可能是什麼.同時期另一項成果是PROLOGE語言,于1972年提出. 80年代期間,AI前進更為迅速,並更多地XX商業領域.1986年,美國AI相關軟硬體銷售高達4.25億 美元.專家系統因其效用尤受需求.象數字電氣公司這樣的公司用XCON專家系統為VAX大型機編程.杜邦,通用 汽車公司和波音公司也大量依賴專家系統.為滿足電腦專家的需要,一些生產專家系統輔助製作軟體的公 司,如Teknowledge和Intellicorp成立了。為了查找和改正現有專家系統中的錯誤,又有另外一些專家系統被設計出來.

實驗室到日常生活

  人們開始感受到電腦和人工智慧技術的影響.電腦技術不再只屬於實驗室中的一小群研究人員. 個人電腦和眾多技術雜誌使電腦技術展現在人們面前.有了象美國人工智慧協會這樣的基金會.因為AI開發 的需要,還出現了一陣研究人員XX私人公司的熱潮。150多所像DEC(它雇了700多員工從事AI研究)這樣的公司共花了10億美元在內部的AI開發組上.   其它一些AI領域也在80年代XX市場.其中一項就是機器視覺. Minsky和Marr的成果現在用到了生產線上的相機和電腦中,進行質量控制.儘管還很簡陋,這些系統已能夠通過黑白區別分辨出物件形狀的不同.到1985年美國有一百多個公司生產機器視覺系統,銷售額共達8千萬美元.   但80年代對AI工業來說也不全是好年景.86-87年對AI系統的需求下降,業界損失了近5億美元.象 Teknowledge和Intellicorp兩家共損失超過6百萬美元,大約占利潤的三分之一巨大的損失迫使許多研究領 導者削減經費.另一個另人失望的是國防部高級研究計劃署支持的所謂"智能卡車".這個項目目的是研製一種能完成許多戰地任務的機器人。由於項目缺陷和成功無望,Pentagon停止了項目的經費.   儘管經歷了這些受挫的事件,AI仍在慢慢恢複發展.新的技術在日本被開發出來,如在美國首創的模糊邏輯,它可以從不確定的

人工智慧機器人

條件作出決策;還有神經網路,被視為實現人工智慧的可能途徑.總之,80年代AI被引入了市場,並顯示出實用價值.可以確信,它將是通向21世紀之匙. 人工智慧技術接受檢驗 在"沙漠風暴"行動中軍方的智能設備經受了戰爭的檢驗.人工智慧技術被用於導彈系統和預警顯示以 及其它先進武器.AI技術也XX了家庭.智能電腦的增加吸引了公眾興趣;一些面向蘋果機和IBM兼容機的應用 軟體例如語音和文字識別已可買到;使用模糊邏輯,AI技術簡化了攝像設備.對人工智慧相關技術更大的需求促 使新的進步不斷出現.人工智慧已經並且將繼續不可避免地改變我們的生活.

專業機構

美國

  1. Massachusetts Institute of Technology 麻省理工學院   麻省理工學院有非常著名的人工智慧實驗室,其中研究成果有模型飛機圖像,直角立方體圖像,盒子等。   2. Stanford University 斯坦福大學 (CA)   3. Carnegie Mellon University 卡內基美隆大學 (PA)   4. University of California-Berkeley 加州大學伯克利分校   5. University of Washington 華盛頓大學   6. University of Texas-Austin 德克薩斯大學奧斯汀分校   7. University of Pennsylvania 賓夕法尼亞大學   8. University of Illinois-Urbana-Champaign 伊利諾伊大學厄本那—香檳分校   9. University of Maryland-College Park 馬里蘭大學帕克分校   10. Cornell University 康奈爾大學 (NY)   11. University of Massachusetts-Amherst 馬薩諸塞大學Amherst校區   12. Georgia Institute of Technology 喬治亞理工學院   University of Michigan-Ann Arbor 密西根大學-安娜堡分校   14. University of Southern California 南加州大學   15. Columbia University 哥倫比亞大學 (NY)   University of California-Los Angeles 加州大學-洛杉磯分校   17. Brown University 布朗大學 (RI)   18. Yale University 耶魯大學 (CT)   19. University of California-San Diego 加利福尼亞大學聖地亞哥分校   20. University of Wisconsin-Madison 威斯康星大學麥迪遜分校

中國

  1、中國科學院自動化研究所    2、清華大學   3、北京大學   4、南京理工大學   5、北京科技大學   6、中國科學技術大學   7、哈爾濱工業大學   8、北京郵電大學   9、北京理工大學   10、廈門大學人工智慧研究所    11、西安交通大學智能車研究所   12、中南大學智能系統與智能軟體研究所   13、西安電子科技大學智能所

主要成果

人機對弈

  1996年2月10~17日, Garry Kasparov以4:2戰勝「深藍」 (Deep Blue)。   1997年5月3~11日, Garry Kasparov以2.5:3.5輸于改進后的「深藍」。   2003年2月Garry Kasparov 3:3戰平 「小深」(Deep Junior)。   2003年11月Garry Kasparov 2:2戰平 「X3D德國人」 (X3D-Fritz )。

模式識別

  採用 $模式識別引擎,分支有2D識別引擎 ,3D識別引擎,駐波識別引擎以及多維識別引擎   目前,2D識別引擎已推出指紋識別,人像識別 ,文字識別,圖像識別 ,車牌識別;駐波識別引擎已推出語音識別;3D識別引擎已推出指紋識別玉帶林中掛(玩游智能版1.25)

自動工程

  自動駕駛(OSO系統)   印鈔工廠(¥流水線)   獵鷹系統(YOD繪圖)

知識工程

  以知識本身為處理對象,研究如何運用人工智慧和軟體技術,設計、構造和維護知識系統   專家系統   智能搜索引擎   電腦視覺和圖像處理   機器翻譯和自然語言理解   數據挖掘和知識發現

意識和人工智慧的區別

  人工智慧就其本質而言,是對人的思維的信息過程的模擬。   對於人的思維模擬可以從兩條道路進行,一是結構模擬,仿照人腦的結構機制,製造出「類人腦」的機器;二是功能模擬,暫時撇開人腦的內部結構,而從其功能過程進行模擬。現代電子電腦的產生便是對人腦思維功能的模擬,是對人腦思維的信息過程的模擬。   人工智慧不是人的智能,更不會超過人的智能。   「機器思維」同人類思維的本質區別:   1.人工智慧純系無意識的機械的物理的過程,人類智能主要是生理和心理的過程。   2.人工智慧沒有社會性。   3.人工智慧沒有人類的意識所特有的能動的創造能力。   4.兩者總是人腦的思維在前,電腦的功能在后。

強人工智慧和弱人工智慧

  人工智慧的一個比較流行的定義,也是該領域較早的定義,是由約翰·麥卡錫(John McCarthy)在1956年的達特矛斯會議(Dartmouth Conference)上提出的:人工智慧就是要讓機器的行為看起來就象是人所表現出的智能行為一樣。但是這個定義似乎忽略了強人工智慧的可能性(見下)。另一個定義指人工智慧是人造機器所表現出來的智能性。總體來講,目前對人工智慧的定義大多可劃分為四類,即機器「像人一樣思考」、「像人一樣行動」、「理性地思考」和「理性地行動」。這裡「行動」應廣義地理解為採取行動,或制定行動的決策,而不是肢體動作。

強人工智慧

  強人工智慧觀點認為有可能製造出真正能推理(Reasoning)和解決問題(Problem_solving)的智能機器,並且,這樣的機器能將被認為是有知覺的,有自我意識的。強人工智慧可以有兩類:[1]   類人的人工智慧,即機器的思考和推理就像人的思維一樣。   非類人的人工智慧,即機器產生了和人完全不一樣的知覺和意識,使用和人完全不一樣的推理方式。

弱人工智慧

  弱人工智慧觀點認為不可能製造出能真正地推理(Reasoning)和解決問題(Problem_solving)的智能機器,這些機器只不過看起來像是智能的,但是並不真正擁有智能,也不會有自主意識。   主流科研集中在弱人工智慧上,並且一般認為這一研究領域已經取得可觀的成就。強人工智慧的研究則處於停滯不前的狀態下。

對強人工智慧的哲學爭論

  「強人工智慧」一詞最初是約翰·羅傑斯·希爾勒針對電腦和其它信息處理機器創造的,其定義為:   「強人工智慧觀點認為電腦不僅是用來研究人的思維的一種工具;相反,只要運行適當的程序,電腦本身就是有思維的。」(J Searle in Minds Brains and Programs. The Behavioral and Brain Sciences,vol. 3,1980)這是指使電腦從事智能的活動。在這裡智能的涵義是多義的、不確定的,象下面所提到的就是其中的例子。利用電腦解決問題時,必須知道明確的程序。可是,人即使在不清楚程序時,根據發現(heu- ristic)法而設法巧妙地解決了問題的情況是不少的。如識別書寫的文字、圖形、聲音等,所謂認識模型就是一例。再有,能力因學習而得到的提高歸納推理、依據類推而進行的推理等,也是其例。此外,解決的程序雖然是清楚的,但是實行起來需要很長時間,對於這樣的問題,人能在很短的時間內找出相當好的解決方法,如競技的比賽等就是其例。還有,電腦在沒有給予充分的合乎邏輯的正確信息時,就不能理解它的意義,而人在僅是被給予不充分、不正確的信息的情況下,根據適當的補充信息,也能抓住它的意義。自然語言就是例子。用電腦處理自然語言,稱為自然語言處理。   關於強人工智慧的爭論不同於更廣義的一元論和二元論(dualism)的爭論。其爭論要點是:如果一台機器的唯一工作原理就是對編碼數據進行轉換,那麼這台機器是不是有思維的?希爾勒認為這是不可能的。他舉了個中文房間的例子來說明,如果機器僅僅是對數據進行轉換,而數據本身是對某些事情的一種編碼表現,那麼在不理解這一編碼和這實際事情之間的對應關係的前提下,機器不可能對其處理的數據有任何理解。基於這一論點,希爾勒認為即使有機器通過了圖靈測試,也不一定說明機器就真的像人一樣有思維和意識。   也有哲學家持不同的觀點。Daniel C. Dennett 在其著作 Consciousness Explained 里認為,人也不過是一台有靈魂的機器而已,為什麼我們認為人可以有智能而普通機器就不能呢?他認為像上述的數據轉換機器是有可能有思維和意識的。   有的哲學家認為如果弱人工智慧是可實現的,那麼強人工智慧也是可實現的。比如Simon Blackburn在其哲學入門教材 Think 里說道,一個人的看起來是「智能」的行動並不能真正說明這個人就真的是智能的。我永遠不可能知道另一個人是否真的像我一樣是智能的,還是說她/他僅僅是看起來是智能的。基於這個論點,既然弱人工智慧認為可以令機器看起來像是智能的,那就不能完全否定這機器是真的有智能的。Blackburn 認為這是一個主觀認定的問題。   需要要指出的是,弱人工智慧並非和強人工智慧完全對立,也就是說,即使強人工智慧是可能的,弱人工智慧仍然是有意義的。至少,今日的電腦能做的事,像算術運算等,在百多年前是被認為很需要智能的。

相關著作

  《視讀人工智慧》:機器真的可以思考嗎?人的思維只是一個複雜的電腦程序嗎?本書著眼於人工智能這個有史以來最為棘手的科學問題之一,集中探討了其背後的一些主要話題。人工智慧不僅僅是一個虛構的概念。人類對智能機體結構半個世紀的研究表明:機器可以打敗人類最偉大的棋手,類人機器人可以走路並且能和人類進行互動。儘管早就有宣言稱智能機器指目可待,但此方面的進展卻緩慢而艱難。意識和環境是困擾研究的兩大難題。我們到底應該怎樣去製造智能機器呢?它應該像大腦一樣運轉?它是否需要軀體?從圖靈影響深遠的奠基性研究到機器人和新人工智慧的飛躍,本書圖文並茂地將人工智慧在過去半個世紀的發展清晰地呈現在讀者面前。   《人工智慧的未來》:詮釋了智能的內涵,闡述了大腦工作的原理,並告訴我們如何才能製造出真正意義上的智能機器——這樣的智能機器將不再僅僅是對人類大腦的簡單模仿,它們的智能在許多方面會遠遠超過人腦。霍金斯認為,從人工智慧到神經網路,早先複製人類智能的努力無一成功,究其原因,都是由於人們並未真正了解智能的內涵和人類大腦。所謂智能,就是人腦比較過去、預測未來的能力。大腦不是電腦,不會亦步亦趨、按部就班地根據輸入產生輸出。大腦是一個龐大的記憶系統,它儲存著在某種程度上反映世界真實結構的經驗,能夠記憶事件的前後順序及其相互關係,並依據記憶做出預測。形成智能、感覺創造力以及知覺等基礎的,就是大腦的記憶-預測系統……   《人工智慧哲學》:人工智慧哲學是伴隨現代信息理論和電腦技術發展起來的一個哲學分支。本書收集了人工智慧研究領域著名學者的十五篇代表性論文,這些論文為電腦科學的發展和人工智慧哲學的建立作出了開創性的貢獻。這些文章總結了人工智慧發展的歷程,近年來該學科發展的趨勢,以及人工智慧中的重要課題。在這些劃時代的著作中,包括有:現代電腦理論之父艾倫·圖靈的「電腦與智能」;著名美國哲學家塞爾的「心靈,大腦與程序」;J·E·欣頓等人的「分散式表述」,以及本書編者、英國著名人工智慧學者M·A·博登的「逃出中文屋」。   《人工智慧:一種現代的方法》:本書以詳盡和豐富的資料,從理性智能體的角度,全面闡述了人工智慧領域的核心內容,並深入介紹了各個主要的研究方向,是一本難得的綜合性教材。全書分為八大部分:第一部分"人工智慧",第二部分"問題求解",第三部分"知識與推理",第四部分"規劃",第五部分"不確定知識與推理",第六部分"學習",第七部分"通訊、感知與行動",第八部分"結論"。本書既詳細介紹了大量的基本概念、思想和演算法,也描述了各研究方向最前沿的進展,同時收集整理了詳實的歷史文獻與事件。因此本書適合於不同層次和領域的研究人員及學生,可以作為信息領域和相關領域的高等院校本科生和研究生的教材或教學輔導書目,也可以作為相關領域的科研與工程技術人員的參考書。

一些代碼

  #include #include #include #include #include using namespace std;   /**********************信息結構*************************************************/   typedef vector Msg; Msg MsgEmpty; // 空的 Msg MsgFalse; // 假 Msg MsgUnknown; //不知道 Msg MsgTrue; //真 Msg MsgAny; //任何值 typedef map Knowledge; //解決方案 struct FunTool //輔助工具 { typedef Msg (*Way)(Msg ); int id; Way pFun; string explain; FunTool(){} FunTool(int _id,Way _pFun,string _explain) { id=_id; pFun=_pFun; explain=_explain; } }; typedef vector FunTools; /**********************信息結構定義完畢*****************************************/ //可能需要的方法,人為提供的 Msg say(Msg msg) { for(int i=0;i { cout<<<"t"; } cout<; return MsgEmpty; } Msg makeMsg(string str) { Msg a; a.push_back(str); return a; } Msg nextNumber(Msg msg) { string str=msg[0]; if(str.empty())makeMsg("");   public :   PlusGirl()   {   initMap();   MsgEmpty.push_back("empty");MsgEmpty.push_back("msgState");   MsgFalse.push_back("false");MsgFalse.push_back("msgState");   MsgUnknown.push_back("unknow");MsgUnknown.push_back("msgState");   MsgTrue.push_back("true");MsgTrue.push_back("msgState");   MsgAny.push_back("any");MsgAny.push_back("msgState");   }   int strToInt(string str)   {   int n=0;int i=0;   while(i<='9'&&str[i]>='0') { n*=10; n+=str[i]-'0'; i++; } return n; } /*******************************************************************************/ FunTools iFunTools;//定義函數工具集 void initMap() { iFunTools.push_back(FunTool(iFunTools.size(),nextNumber,"讓一個數+1")); iFunTools.push_back(FunTool(iFunTools.size(),say,"說出msg中內容")); } Msg showHelp( Msg msg) { cout<<"PlusGirl可用的方法如下 :"<; cout<<"編號t方法的使用說明"<; for(int i=0;i { cout<<<"t"<<; } return MsgEmpty; } /******************************************************************************/ //知識結構,校驗格式與執行解決方案 vector iKnows; //解決方案集合   Msg analyse(const Msg &words) //通過各種情況分析,而解決問題   {for(int i=0;i { Msg msg=solveProblem(iKnows[i],words); if(msg.empty()||msg==MsgUnknown)continue ; return msg; } return MsgEmpty; } Msg solveProblem(Knowledge &know,const Msg problem) //使用一種解決方案,解決一個問題 { Knowledge::iterator loop=know.begin(); map data;//數據區域 data[0]=problem; map itemData; while(loop!=know.end()) { Msg & script=loop->second; if(0>=script.size())return MsgUnknown; //define a msg if(script[0]=="define") { if(6>script.size())return MsgUnknown; if(script[3]!="=")return MsgUnknown; if(script[1]=="msg") { if(script[4]=="msg") { data[strToInt(script[2])]= data[strToInt(script[5])]; }else if(script[4]=="item") { data[strToInt(script[2])].clear(); for(int i=5;i { data[strToInt(script[2])].push_back(itemData[strToInt(script[i])]); } }else if(script[4]=="string") { data[strToInt(script[2])].clear();    }else   return MsgUnknown;   //if ..   if(script[0]=="if")   {   if(9>script.size())return MsgUnknown;   Msg temp;   if(script[1]=="solve")   {temp=solveProblem(iKnows[strToInt(script[2])],data[strToInt(script[3])]);   }else   if(script[1]=="fun")   if(script[5]=="msg")   if((script[4]=="=="&&data[strToInt(script[6])]!=temp)||(script[4]=="!=" &&data[strToInt(script[6])]!=temp))   {loop++;continue;}   if(script[7]=="end")return data[strToInt(script[8])];   if(script[7]=="goto"){loop=know.find(strToInt(script[8]));continue;}   }   if(script[0]=="use")   {   if(6>=script.size())return MsgUnknown;   if(script[4]=="solve")   {data[strToInt(script[2])]=solveProblem(iKnows[strToInt(script[5])],data[strToInt(script[7])]);}   if(script[4]=="fun")   {data[strToInt(script[2])]=iFunTools[strToInt(script[5])].pFun(data[strToInt(script[7])]);}   loop++;   continue ;   }   if(script[0]=="end")   {return data[strToInt(script[1])];}   if(script[0]=="goto")   {loop=know.find(strToInt(script[1]));continue; }loop ++;}   return MsgEmpty;   }   /******************************************************************************/   };   int main()   { PlusGirl girl;   girl.showHelp(MsgEmpty);   cout<<"------------------------------------------"<<; /*加法指南 輸入形如 1 4 可以得到答案 下面是加法代碼 0 define msg 0 = msg 0 1 define item 1 = msg 0 0 2 define item 2 = msg 0 1 3 define msg 1 = item 1 4 define msg 2 = item 2 5 define msg 3 = string 0 6 if msg 3 bad == msg 2 goto 10 7 use msg 3 = fun 0 msg 3 8 use msg 1 = fun 0 msg 1 9 goto 6 10 use msg 1 = fun 1 msg 1 11 end msg 1 */ Knowledge k;   Msg t;

推薦閱讀