人工智慧
說起人工智慧,歷史源遠流長,從上古時代的女媧造人,再到希臘神話中的皮格馬林翁無一不體現人類對人工智慧的夢想與渴望。
也許史前文明真的存在,但是已經無從考證,唯一可以知道的是現代人工智慧開始於1956年達特矛斯會議,會議第一次使用了Artificial Intelligence 即AI(人工智慧)這個詞。
人工智慧經過過近一百的發展,取得了突飛猛進的成果。尤其是計算機的出現和軟體的流行更是讓人工智慧變得真實可行。
但是現在的人工智慧,還非常的弱智,弱智的原因是因為它過於依賴算法,過於依賴數學模型。
那麼什麼才是真正的人工智慧呢?今天我們就拋開複雜的科學技術以簡單的語言進行說明吧。
智慧生命
細心的人們會發現所謂的生命其實就是生和命的合成詞,其中生字表示出現一個新的個體,命表示一種傳承,合起來就是出現一個新的傳承個體。如果用現在的科學來講那麼所謂的生命就是一個新DNA的誕生。
那麼什麼是智慧生命呢?智慧生命簡單來說就是更聰明的生命。從現代字義上來解釋就是能夠利用豐富(慧中的第一個豐字)的傳感器(智中的知:知字有知道感知和識別的意思)和控制器(智中的曰:曰字動詞有說和表現的意思)做出保護心臟(慧中的心:心字有心臟中樞和要害的意思)的豐富(慧中的第二個豐字)選擇(慧中的彐字:彐字有打掃整理的意思)。
有人說心應該是指大腦而不是心臟,為什麼智慧的慧字保護的是心臟而不是大腦呢?因為我們這裡還是尊重了漢字的本意,既心就是心臟。因為心臟是動力之源,沒有心臟一切生命活動即將停止,包括大腦。而沒有大腦我們還可以說他是個傻子。
心臟是生命得以繼續存活的基礎。因此我們才說智慧生命的本質就是一種為了讓心臟能夠繼續存活而做出的相對優秀選擇的DAN個體。
由於這種本能的選擇依賴於大量的感知和強大的控制,所以智慧生命看上去往往比其它生命更聰明更強大。
動物的傳感器和控制器目前還相對弱小,在瞬息萬變的環境中難以做出完美的選擇,他們為了更好的生活,便根據以往的成功經驗,強迫自己擁有了一種快速反應的本能。這種本能再經過多代的驗證後,將以基因的方式遺傳給自己的後代。這種基因因其驗證時間長短不同也有其強弱之分。
比如動物最基本的呼吸,生長、爬行、哭喊和睡覺,再到很容易學會的聽、看、嗅、摸、吃,以至複雜的 交流、奔跑、狩獵等。
搞清楚智能(擁有智慧的能力)之後,我們再來看看什麼是人工智慧?那麼什麼是人工智慧呢?人工智慧就是人工地創造出一個擁有智慧生命的機器來。就好像女媧造人和皮格馬林翁雕刻那樣。
電子計算機
人工智慧核心要解決的就是人造生命和智慧。也許有人要問什麼是生命,什麼是非生命,兩者又有什麼不同?其實從廣義上來講兩者本質上沒什麼不同?
因為兩者都是由物質構成的,唯一不同的是生命長短不一樣。換句話說,人類具有生命,星球同樣也具有生命,只不過是星球的生命周期是人類的億倍而已。
當然為了方便我們的研究,我們更多從狹義的層面來看問題,就拿和人類最比較接近的計算機兩者之間做一個比較吧。
計算機是機器的一種,機器一詞從舊石器時代開始就已經存在了,通過機器一詞二字我們就能猜測出那時候人類已經能使用木頭和石頭這些簡單的材料製作工具和容器了,而木材甚至還要早於石材。當然現在我們則更多的使用了合金,矽膠這些新材料來製造新機器了,直到1946年電子計算機的出現。
電子計算機是和人類最為接近的機器了,它由輸入設備(傳感器),輸出設備(控制器),電源(心臟)、存儲器(大腦)和CPU(神經系統)構成。
第二篇:利用計算機製造機器人
前面饒了很多彎,為了能更快的進入主題,所以先把強大的漢字放一邊(漢語簡直就是破解科技謎題的咒語)。
我們現在來說下利用電子計算機實現人工智慧的方法:
首先,我們知道所有的電子計算機都是依靠程序來運行的,而這些程序就是我們硬碟上所存儲的物理數據。不錯,程序也是需要載體才能夠發揮作用的。因此嚴格意義上說,程序也是一種硬體。
程序運行的原理是人為規定的一系列如果那麼的算法。算法是一個擁有自上而下的邏輯流程。
比如:當電源開關打開時,小燈泡變亮,電源關閉時,小燈泡變暗。
如果你的電源開關是一個時而導電,時而絕緣的矽片的話,你就可以控制很多個可以自由開關的小燈泡。好吧我知道你可以用手去開關那個電源開關。但是如果我們有一萬個這樣的小燈泡你一定會很累吧,顯然半導體可能更輕鬆些,實際上世界上第一臺電子計算機就是由一萬八千個這樣的小燈泡(電子管)組成的,而現在我們則普遍使用了由半導體做成的電晶體。
我們現在使用的電子計算機大都是馮諾依曼設計的,馮諾依曼計算機的原理非常簡單。那就是它每隔一會就會等待你的一個指令,當接受到這個指令後,它開始按照這個指令去工作,工作完成後它繼續等待下一個指令。
比如你對你的孩子說,孩子去把垃圾到了,然後他就真的去把垃圾到了,倒完之後,他繼續等你的下一條指令。好吧現實中的孩子可能不如你的小燈泡那麼聽話。
馮諾依曼計算的基本原理實際上就是等待指令和執行指令的一個無限循環。
你可以手動輸入這些指令,也可把這些指令變成一行行由開和關組成的指令集,他可能是一個打孔帶,也可能是一個磁碟。為了方便我們控制計算機我們還可以設計一個編譯器,這個編譯器可以把你設計好的字符切換成它可以運行的開關指令。為了讓計算機能夠從單純的開關中知道什麼時候開始執行,我們規定每隔8個命令就開始執行一次。 比如ASCII(美國標準信息交換代碼)中的字母a就可換成指令集中的【關開開關關關關開(01100001)】,這個指令組合就可以讓計算機屏幕顯示出一個小寫的a字。
看來光為了顯示一個a字,計算機就做了很多開關的工作。如果要顯示一篇文章那他不知道總共要開關多少次。 事實上也是這樣的,計算機每秒開關的次數就是計算機測評的主要依據。不過更多的時候我們是看他每秒運行的指令數,比如加法,這個指令數也叫主頻,現在的超級計算機都可以達到好幾千萬億次了。
指令集其實就是計算機的語言,只不過計算機使用的是0和1這樣的開關語言,人類則使用方便管理的英文字符。 我們把0和1組成的命令集叫做機器語言、由簡單英文字符組成指令集叫做彙編語言,彙編語言需要,由常用英文組成的指令集叫做高級語言。不管是機器語言還是彙編語言或者高級語言我們都需要編譯器把他轉化成開關語言。相對比而言機器語言更好轉化,所以解釋成本也是最低的,因此工作效率更高。
不錯,這裡我們說到人工智慧的核心了,他就是機器語言。我們假設給計算機這樣一個程序:
00 如果第一個燈泡不亮,第二個也不亮 10 如果第一個燈泡不亮,則點亮第二個燈泡 10 如果第一個燈泡亮了,則關閉第二個燈泡 11如果第一個燈泡亮了,則點亮第二個燈泡。
很簡單對吧,剩下更多的排列組合也都是這個道理。只不過你可以把小燈泡換成液晶屏中的像素點,把命令集換成鍵盤。這樣你就可以通過敲擊鍵盤來控制你的屏幕了。