大膽想象一下,如果計算機可以自行編寫程序,這會為人類帶來什么樣的變化?
與其辛苦研究計算機解決問題的方法論,敲出精準的代碼,不如告訴計算機你想要什么,讓它自己運行算法去解決你的需求。
聽起來是不是很優(yōu)秀呢?
“進化計算”正是研究這一大膽想法的學科。
我們可以把“進化計算”看做是一類人工智能和機器學習的分支。最早提出于20世紀50年代,進化計算旨在讓計算機自行解決問題,而不需要人類編寫一步步復雜的編程代碼。理論上來說,這可能會讓原本需要編寫幾周的代碼在幾分鐘之內就可以實現(xiàn)。
這種理念可以讓計算機去完成人類很難理解或者難以實現(xiàn)的復雜問題。計算機學家已經(jīng)將進化計算應用到了一些實際問題上,包括為蝦飼料配置最佳組合、最佳資產(chǎn)組合、通信技術、游戲行業(yè)和自動包裝等。
那些研究進化計算的科學家們在這60多年時間里提出了大量建議。然而,進化計算的理論并沒有在研究領域之外被廣泛應用。
所以,為什么進化計算一直進展緩慢?
進化計算的原理
進化計算沿用了查爾斯.達爾文的自然選擇學說,就是我們通常所知的“適者生存”。也就是說,一個物種里最弱小的(或者不太容易生存的)相繼死亡而強壯的會生存。經(jīng)過許多代以后,這樣的物種會進化得越來越適應周圍環(huán)境。
進化計算中,計算機為每個問題創(chuàng)造了大量的潛在答案。由于這些方案通常都是隨機產(chǎn)生的,所以計算機剛開始肯定也不能我們關心的問題。但是,有些方案要比其他的更好。計算機可以從中排除最差的答案,找到最優(yōu)解并發(fā)掘更多潛在答案。不同的答案會被融合在一起(這通常被叫做“交叉”),從而獲得一個可以不斷被測試和實驗的新一代答案。
就像自然選擇學說一樣,另一個關于進化計算的重要元素是突變。所以,每過一段時間,被測試的答案就會產(chǎn)生一個既小而隨機的變化。這就意味著,新的潛在方法會被創(chuàng)造,而僅僅使用交叉法是不能實現(xiàn)的。
理想情況下,由交叉和變異組合成的潛在新方案,會比他們的“父母”更好。但“進化”也不是每次都發(fā)生的,只有更多迭代產(chǎn)生,更好的解答才能浮現(xiàn)。對于進化學習來說,擁有數(shù)以萬計的迭代是有跡可循的,就像自然選擇需要數(shù)以萬年去選擇一個物種生存一樣。
基因編程樹
進化計算中最有名的莫過于基因編程。在基因編程中,一個計算機程序會讓另一個程序經(jīng)過演變來處理特定的問題。用戶提供了一些衡量程序優(yōu)劣的度量,然后演化過程接管,一切順利的話,就會返回一個解決問題的程序。
遺傳算子
盡管在科研界,基因編程研究已經(jīng)取得了巨大進展,但是進化計算依舊很被難投入到商用中。這究竟是為什么呢?
為什么進化計算一直沒被投入商用?
不同于其他很多技術,進化計算還未真正被商業(yè)領域接受。3D打印是在20世紀80年代發(fā)明的,經(jīng)過很長一段時間的發(fā)展,現(xiàn)在已被用于工業(yè)制造。同樣,增強現(xiàn)實、虛擬現(xiàn)實和人工智能也從研究領域中涌現(xiàn)出來,成為大型科技公司的主要產(chǎn)品。
阻礙進化計算商用的一個關鍵問題是,研究人員未能把重點放在商業(yè)領域感興趣的問題上。
舉個例子。計算機科學家已經(jīng)深入研究了如何利用進化計算來為車輛制定路線。但是,研究者們通常只是研究問題的一些簡單方面,而非是問題本質。很多汽車路徑優(yōu)化,用的是兩點之間直線最短的原理。
在現(xiàn)實世界中,車輛行駛的路線很少遵循直線,而且必須考慮單向系統(tǒng)、故障、法律問題(比如司機必須休息多久)、時間限制以及其他很多問題。這種復雜性正是進化計算能夠提供幫助的地方。
如果我們能夠充分定義問題在現(xiàn)實世界中發(fā)生的情況,那么進化算法應該能夠處理其復雜性。
另一個問題是,進化計算的結果有的時候很難解釋。舉例來說,盡管基因編程系統(tǒng)可能會創(chuàng)造一個完美的答案,但是這個答案是如何實現(xiàn)的,可能對于一個程序員來說是一個秘密,因為系統(tǒng)產(chǎn)生的代碼可能十分復雜,并且難以理解。
進化計算系統(tǒng)的實現(xiàn)和支持也很復雜,這可能會讓一些商業(yè)組織望而卻步。如果有一個易于使用的框架來隱藏大部分潛在的復雜性,這將會有所幫助。盡管這些框架存在于科學界,但它們不容易被商業(yè)部門使用,更不用說家庭用戶了。
IBM著名的軟件工程師弗雷迪克.布魯克斯曾經(jīng)這樣說道:你是不能通過增加人力來處理規(guī)模不斷擴大的軟件開發(fā)項目的。
如果有朝一日進化計算能夠被投入商用,這對軟件開發(fā)商來說將會是一個巨大的幫助。
-
云計算
+關注
關注
39文章
7678瀏覽量
137034 -
編程
+關注
關注
88文章
3544瀏覽量
93499 -
自動化系統(tǒng)
+關注
關注
3文章
249瀏覽量
29606
原文標題:號稱能自動編程60年,“進化計算”究竟進化到哪一步了?
文章出處:【微信號:BigDataDigest,微信公眾號:大數(shù)據(jù)文摘】歡迎添加關注!文章轉載請注明出處。
發(fā)布評論請先 登錄
相關推薦
評論