接著上次的人工智能入門后,今天我們一起繼續(xù)來探討AI。說到AI呢,像大家都比較熟悉的“深藍”和“AlphaGo”是兩個避不開的AI系統(tǒng)肋僧,其實簡單的來講,“深藍”主要利用的是alpha-beta pruning 算法(alpha-beta 剪枝算法)持舆,和強大的硬件系統(tǒng)色瘩,包括特殊設(shè)計的芯片和并行計算系統(tǒng)伪窖,在國際象棋的比賽中逸寓,每次可以計算2億個位置的可能性,擊敗了當時的世界冠軍覆山,名噪一時竹伸。但現(xiàn)在“深藍”已經(jīng)被放在了博物館。AlphaGo除了先進的硬件系統(tǒng)之外簇宽,利用了蒙特卡洛樹算法和深度學(xué)習(xí)勋篓,擊敗了當時排名世界第一的我國選手柯潔。當此為止魏割,棋類游戲的AI系統(tǒng)的設(shè)計告一段落譬嚣。
除了棋類應(yīng)用之外,AI的其他應(yīng)用非常廣泛钞它,包括像拜银,自然語言處理殊鞭,包括翻譯尼桶,問答,居家機器人泵督,演講識別和演講者情緒的變化趾盐,股票市場的預(yù)測和交易小腊,醫(yī)學(xué)圖像處理等。從最基礎(chǔ)的開始秩冈,我們一起來看一下一種非常簡單的AI機制---Agent, 通常被翻譯為“代理”。在計算機領(lǐng)域漩仙,Agent 指那些在特定的環(huán)境可以執(zhí)行特定任務(wù)的實體。想要具有這樣的功能队他,Agent必須有感知系統(tǒng)卷仑,可以執(zhí)行一定的動作锡凝,并且是具有目的性的,而不是隨意的垢啼。從簡單的說起窜锯,Stimulus -response agent (姑且理解為:實時反應(yīng)機器人),這樣的一類設(shè)計是基于機器人所接受到的狀態(tài)來做出反應(yīng)芭析。后面我們會考慮利用一些規(guī)則锚扎,神經(jīng)網(wǎng)絡(luò)或者遺傳算法來控制這樣的agent。
后面我們基于一個繞著墻壁邊緣行走的機器人來一步步認識agent,實際上很多大學(xué)的人工智能課程都參考UC Berkeley 的pacman 設(shè)計,具體參考:http://ai.berkeley.edu/project_overview.html 馁启。假設(shè)我們要設(shè)計這樣一個機器人驾孔,如果處在內(nèi)部物體的邊緣就逆時針繞著走;如果處在外部墻壁邊緣惯疙,就順時針繞著墻壁走翠勉。由圖也可以看到,作為這樣的一個agent霉颠,這個機器人要8個sensor(感應(yīng)器)对碌,來感知這8個位置是否被占了。機器人相應(yīng)的可以往四個方向走蒿偎,東南西北朽们。我們的任務(wù)是要設(shè)計一套方法克伊,根據(jù)感應(yīng)器感知到的周圍的環(huán)境,做出不同的反應(yīng)來华坦。通常這樣的一套方法分兩個部分愿吹,機器人Perception process (感知的過程) 和 action process ( 實施行動) 的部分。
Perception
比較簡單的惜姐,每一個空格的狀態(tài)可以作為一個變量輸入犁跪,這樣8個方向總共占8位,也就是說sensor感知到的信息被整理成8個bit歹袁,1代表這個位置被占坷衍,0表示為空。
這樣的話条舔,其實總共有2的8次方種不同的狀態(tài)枫耳,但這樣考慮會有一些復(fù)雜,不妨這樣考慮:
當左面的空格和左上方的空格都被占用孟抗,并且正上方和右上方的空格都是空的時候迁杨,往北走,這一點無論對于順時針繞著外墻壁還是逆時針繞著內(nèi)部物體凄硼,都是行得通的铅协。
這樣,不妨把左面摊沉,左上方的兩個空格歸并為x4, 上方和右上方的兩個空格歸并為x1, 右方和右下方歸并為x2, 下方和左下方歸并為x3狐史,當其中的某一個空格為1(被占用的時候),這個狀態(tài)就為1说墨。
舉個例子骏全,右上方的空格為1,右方和右下方都是空尼斧,那么需要往右走姜贡。這種情形可能出現(xiàn)在機器人繞著內(nèi)部物體逆時針行走到左下方的時候,需要往右行走突颊。
這個步驟是非常關(guān)鍵的一步鲁豪,算是人力尋找特征這樣一個過程潘悼。
Action
我們規(guī)定:x1到x4都是空的時候治唤,往北(上)走。其余情況:
X4 = 1船惨, x1= 0, 北走;X3 = 1粱锐, x4= 0, 西走;
X2 = 1铐然, x3= 0, 南走恶座;X1 = 1, x2= 0, 東走自点;
好脉让,這次大概這些溅潜,略微枯燥一點,后面一起探討Threshold Logic Unit(閾值邏輯單元) 的使用碴开,這將是神經(jīng)網(wǎng)絡(luò)的開始博秫。