官术网_书友最值得收藏!

啟發(fā)式搜索

“啟發(fā)式的”(heuristic)和“找到了”(Eureka)在英文中有相同的詞根:來自意為“尋找”或“發(fā)現(xiàn)”的希臘語。啟發(fā)法得到了早期GOFAI學(xué)派的重視,并且經(jīng)常被看作“編程技巧”。但是,這個術(shù)語并非源于編程:邏輯學(xué)家和數(shù)學(xué)家對其早已熟悉。早在數(shù)千年前,人類就用啟發(fā)法解決問題(有意或無意地),遠(yuǎn)遠(yuǎn)早于埃達(dá)·洛夫萊斯伯爵夫人(Ada Love Lace's)預(yù)見人工智能的時間。

無論是對人還是對機(jī)器來說,啟發(fā)法都有利于問題的解決。強(qiáng)人工智能使用啟發(fā)法的模式是:讓程序只針對搜索空間的某些部分,同時避開其他部分。

很多啟發(fā)式算法都屬于無法保證成功的經(jīng)驗法則,如早期人工智能使用的大多數(shù)經(jīng)驗法則。在啟發(fā)法引導(dǎo)下,系統(tǒng)正好忽略了某部分的搜索空間,而解決方案可能正好位于這部分空間里。例如,在國際象棋中,“保護(hù)女王”是一條非常有用的規(guī)則,但偶爾也應(yīng)該違背。

還有一些啟發(fā)式算法從邏輯學(xué)角度或數(shù)學(xué)角度被證明是合理的。如今,人工智能和計算機(jī)科學(xué)領(lǐng)域的大量工作都是為了確定程序可證明的屬性。這是“友好人工智能”的一個方面,因為人類安全可能由于使用從邏輯學(xué)角度看不是很可靠的系統(tǒng)而受到的威脅(詳見第7章,啟發(fā)式算法和算法之間原則上沒有區(qū)別,許多算法實(shí)際上是包含多個特定啟發(fā)式算法的微型程序)。

無論啟發(fā)法可靠與否,它對人工智能搜索來說都不可或缺。上文提到人工智能越來越專業(yè)化,這部分取決于能顯著提高效率的新啟發(fā)法的定義,但僅限于限制頗多的某類問題或搜索空間。一個非常成功的啟發(fā)法可能并不適合讓其他人工智能程序“借用”。

如果我們給定幾種啟發(fā)法,那么應(yīng)用它們的順序就可能變得很重要。例如,即使這種排序偶爾會導(dǎo)致災(zāi)難,也應(yīng)該先考慮“保護(hù)女王”,再考慮“保護(hù)象”。不同的順序?qū)⒍x不同的搜索樹遍歷整個搜索空間。給啟發(fā)法下定義和排序是現(xiàn)代人工智能的關(guān)鍵任務(wù)(啟發(fā)法在認(rèn)知心理學(xué)中的地位也很突出,例如,“快速節(jié)儉啟發(fā)式”指出進(jìn)化如何讓人獲得對環(huán)境作出有效回應(yīng)的方法)。

利用啟發(fā)法,我們不再需要窮舉搜索整個搜索空間,但它們有時會和(有限的)窮舉搜索結(jié)合使用。1997年,因擊敗世界冠軍加里·卡斯帕羅夫(Gary Kasparov)而名聲大噪的IBM國際象棋程序深藍(lán)(Deep Blue)使用的是專用硬件芯片,每秒能處理2億個位置,可以知道接下來8步的所有備選棋步。但是,它不得不用啟發(fā)法來選擇備選棋步中的“最佳”棋步。由于啟發(fā)法可信度不高,所以即使是深藍(lán),也不能每次都勝出。

主站蜘蛛池模板: 怀安县| 龙江县| 鄢陵县| 河间市| 东乡| 阿拉尔市| 高邑县| 阜平县| 南木林县| 西和县| 巴南区| 黄石市| 鄂伦春自治旗| 塔城市| 贵南县| 栾川县| 繁昌县| 永靖县| 怀来县| 华宁县| 和硕县| 乌拉特后旗| 离岛区| 辉县市| 阿城市| 泸定县| 长子县| 屏南县| 汝阳县| 武宣县| 勐海县| 奎屯市| 雷波县| 景德镇市| 唐海县| 平定县| 红河县| 玛曲县| 弥渡县| 乡宁县| 鄄城县|