(1)當機器人的機械手拿一本圖書時,機器手上的自動識別系統即帶有傳感器的環境識別Agent 立即感知環境變化,且獲取圖書條形碼信息,并將這些信息傳遞給圖書識別Agent.這一過程主要是實現從環境狀態(E)到感知(Per)的映射(函數see 的輸出是一種感知,即感知的輸入):see : E--》 Per.
(2)信息庫包括了圖書信息的集合和圖書館的電子地圖,存儲著所有圖書條形碼的信息、書名及其圖書標簽和圖書館電子地圖。通過傳感器識別出條形碼,圖書識別Agent 接收條形碼信息,將信息分解,并跟信息庫中已有的條形碼進行模式匹配,找到符合的樣本,返回圖書的基本信息,用函數book(館號,條形碼,條形碼號,書名,標簽)表示,其中標簽指的是在圖書館里的位置編碼,分為2 大部分,前一部分字母遵循中國圖書館圖書分類法,指出圖書的類別,而后一部分則為每個圖書館各自的編碼方式,存儲著每本圖書在館內的具體位置。并將這個函數傳遞給圖書歸類Agent.
(3)規則庫是規則的集合,存儲著中國圖書館圖書分類法及本地圖書館子規則。
圖書歸類Agent 接收函數book,將對應的標簽跟規則庫中的規則進行比較得到圖書在館中的位置,并將其分解為某類圖書的某個具體書柜,用函數position(編碼號,書柜號)將位置函數傳遞給動作Agent.
(4)動作選擇函數獲得推理結果實現從內部狀態到動作(Ac)的映射:action:I--》 Ac.動作Agent將圖書放入推車的空格子中,并在臨時庫中記錄每本書的書柜號和推車格號,同一書柜號的圖書可以記錄在一條記錄中,在原先記錄尾部追加其推車格號即可,那么機器人可將推車中同一個書柜的圖書一次性擺放,不需下次折回。臨時庫見表1 所示。
表1 臨時庫表一
(5)當推車上的格子都擺滿后,動作Agent 傳遞消息給智能決策Agent 圖書已擺滿,則智能決策Agent查看臨時庫中的各個書柜號,根據信息庫中已存儲的圖書館的電子地圖即各個書柜的擺放次序利用改進BUG 算法計算出各個目的地的優先次序和機器人的行走路徑,并指導動作Agent 到各個目的地完成擺書操作,最后回到還書處等待下一次的擺書動作。
3 關鍵算法分析
3.1 圖書歸類
依據圖書館給圖書分類編碼的標準,參照中國圖書館圖書分類法,因為國家圖書館圖書分類法,從首字符可以分出大的圖書所屬類別,從一級類別中再細分,部分首字符,例如:E、U、V 就代表一類,不需要再細分,而有些要細分出來,則需要首四位字符的判斷才能分析出來,更特別的是審計類編碼規則,要有前六位才可以分辨出來。據此我們設計圖書分類編碼,共12 位,由26 個大寫字母和十個數字0~9 組成,前四位代表圖書的類別,如果按照中國圖書館分類法,字符不足四位的用通用字符*補足,例如:U 代表交通運輸類,一本書的分類編碼前四位可以設計為U***;TP1 代表自動化基礎理論,該類別一本書的分類編碼前四位可以設計為:TP1*,后8 位按照各個不同圖書館的不同要求進行編碼,從而根據類別和后八位的編碼確定某本書所在的碼段,接著確定具體的位置和所在柜。
我們根據該編碼規則來設計圖書分類規則庫。我們設計四個子規則庫:
唯一字符規則庫:
r1: IF 第一個字符是U/E/P/Q/R/V THEN 該本書是所對應的某一大類。
兩個字符規則庫:
r1: IF 第一個字符是某個字母 THEN 該本書是某種一級類;
r2: IF 第二個字符是某個字母或數字 THEN 該本書是二級類;
三個字符規則庫:
r1: IF 第一個字符是某個字母 THEN 該本書是某種一級類;
r2: IF 第二個字符是某個字母或數字 THEN該本書是某二級類;
r3: IF 第三個字符是某個字母或數字 THEN該本書是某三級類;
四個字符規則庫:
r41: IF 第一個字符是某個字母 THEN 該本書是某種一級類;
r42: IF 第二個字符是某個字母或數字 THEN該本書是某二級類;
r43: IF 第三個字符是某個字母或數字 THEN該本書是某三級類;
r44: IF 第四個字符是某個字母或數字 THEN該本書是某四級類;
r45: IF 第五字符是點 THEN 根據前四位已判斷類別和后8 位字符的范圍找到該書相應的柜子的編碼 AND 跳出規則庫;
ELSE 第五個字符是某個字母或數字 THEN該S 本書是某五級類;
r46: IF 第6 個字符是點 THEN 根據前五位已判斷類別和后7 字符的范圍找到該書相應的柜子的編碼 AND 跳出規則庫;
根據上述規則庫我們給出編碼和對應書柜編號的識別通用算法如下:
If(第二個字符=*)
{ 轉入唯一字符規則庫;
根據該類別和后8 位字符的范圍找到該書相應書柜的編碼;}
Else if(第三個字符=*)
{ 轉入兩個字符規則庫;
根據該類別和后8 位字符的范圍找到該書相應書柜的編碼 ;}
Else if(第四個字符=*)
{ 轉入三個字符規則庫
根據該類別和后8 位字符的范圍找到該書相應書柜的編碼 ;}
Else 轉入四個字符規則庫;
我們以一個例子具體說明編碼規則:
假設某一高校圖書館給出非審計類8 位的編碼規則是,對于U 類書籍,編碼范圍U***00000000-U***00000200 內的書籍放在1 號柜。我們對一本編碼為U***00000023 使用本文所述的分類算法進行分類。首先,判斷第二位字符,根據算法第二位是*,轉入唯一字符規則庫,首先根據規則r11,判斷出該本書是交通運輸類,結合后八位0000023,該編碼在U***0000000-U***0000200 范圍內,判斷出該書所在的位置為1 號柜。
評論
查看更多