本發明涉及數據處理,尤其涉及一種基于價值驅動的智能體能力子集動態推薦方法、裝置、電子設備、計算機可讀存儲介質和計算機程序產品。
背景技術:
1、在人工智能領域,智能體的規劃和推理能力是衡量其智能水平的重要指標。然而,隨著應用場景的復雜化,智能體的價值函數、能力或動作空間往往變得非常龐大,這給規劃和推理帶來了巨大的挑戰。為了解決這一問題,原tongpl(lua版本)提出了一種基于價值函數(v)推薦特定能力空間(u)的方法,通過減小u空間來提升規劃推理的速度和準確性。
2、在原tongpl(lua版本)的方案中,uv庫是基于owl(web?ontology?language,網絡本體語言)的spo(主謂賓三元組)來定義的。v找u算法通過比較spo字符串來計算uv之間的相似度,從而實現topn的u推薦。然而,這種方案對函數的定義有很強的依賴性,尤其是基于owl的spo結構,這在實際應用中難以進行規模化使用。
3、與此同時,一些其他方案如watchpoints等,雖然能夠追蹤變量發生改變的情況,但卻忽略了變量使用(即沒有改變,只是引用)的情況。這導致這些方案無法為相關性計算提供充足的信息,從而限制了其在智能規劃系統中的應用效果。
4、為了解決復雜智能體規劃和推理空間過大的問題,實際上在多數場景下,可以在規劃推理之前過濾掉相當多不必要的信息。例如基于常識和上下文的過濾機制可以顯著提升規劃效率和準確性。
5、因此,如何設計一種通用、開放且用戶無感的過濾機制,以解決復雜智能體規劃和推理空間過大的問題,成為當前亟待解決的技術問題。
技術實現思路
1、有鑒于此,本發明提供了一種基于價值驅動的智能體能力子集動態推薦方法、裝置、電子設備、計算機可讀存儲介質和計算機程序產品,以解決現有技術中復雜智能體規劃和推理空間過大的問題。
2、為了解決上述技術問題,本發明實施例提供了一種基于價值驅動的智能體能力子集動態推薦方法,所述方法包括:
3、獲取智能體所有的當前的u實例函數和智能體當前的v價值函數;其中,所述當前的u實例函數和所述當前的v價值函數是基于tongpl的python版本撰寫的智能體能力u和價值函數v;
4、獲取當前的infostate對象;其中,infostate對象為信息狀態的數據表示,用于存儲和傳遞智能體在決策過程中所需的信息;
5、基于上述當前的u實例函數、當前的v價值函數以及當前的infostate對象推薦與所述當前的v價值函數相關的u實例函數。
6、可選地,所述方法還包括:
7、智能體的不同價值維度總稱記為價值函數v,其中,價值函數v包括n個維度,每個價值函數v的維度有相應的計算函數記為f_i和權重記為w_i,總的計算函數v為?f_1?*?w_1+?f_2?*?w_2?+?...?+?f_n?*?w_n,計算結果作為總體v的價值函數,所述總體v的價值函數的提升決定智能體行動的驅動力。
8、可選地,基于上述當前的u實例函數、當前的v價值函數以及當前的infostate對象推薦與所述當前的v價值函數相關的u實例函數包括:
9、基于trace+ast運行總體v的價值函數和每個u實例函數,得到總體v的價值函數和每個u實例函數關于infostate對象的使用屬性計數器和改變屬性計數器;
10、基于所述使用屬性計數器的使用屬性名稱和所述改變屬性計數器的改變屬性名稱的重合度構建uv圖;
11、根據所述uv圖計算與總體v的價值函數節點連通的u實例函數節點的入邊邊權總和,得到相關性計算結果;
12、根據所述相關性技術結果推薦所述相關的u實例函數。
13、可選地,基于trace+ast運行總體v的價值函數和每個u實例函數,得到總體v的價值函數和每個u實例函數關于infostate對象的使用屬性計數器和改變屬性計數器包括:
14、在函數調用過程中,建立每個調用棧的節點類stacknode;其中,每個調用棧的節點類stacknode至少包括ast的函數定義節點、按照代碼行索引的所有ast節點、解析后的infostate變量名;并建立每個調用棧的數據結構stackinfo;其中,每個調用棧的數據結構stackinfo至少包括infostate變量id和infostate變量名稱的映射關系、局部infostate變量和infostate變量名稱的映射關系、infostate變量發生變化的標志、使用屬性計數器、改變屬性計數器;
15、利用python的ast和inspect模塊解析uv函數的源代碼得到基于ast的樹結構;
16、利用樹結構在單個調用棧中遞歸地統計infostate變量的使用情況和改變情況;
17、利用trace模塊追蹤infostate變量在多個調用棧中的使用情況和改變情況,得到總的使用屬性計數器和改變屬性計數器。
18、可選地,基于所述使用屬性計數器的使用屬性名稱和所述改變屬性計數器的改變屬性名稱的重合度構建uv圖包括:
19、總體v的價值函數和每個u實例函數都有一個關于infostate對象的總的使用屬性計數器和改變屬性計數器,將總體v的價值函數和每個u實例函數作為圖中的節點;
20、當兩個節點之間對于同一個infostate對象屬性有使用或改變時,則兩個節點是相關的,會在該兩個節點之間建立有向邊,邊權為所有重合的infostate對象屬性的計數總和,進而構建所述uv圖。
21、可選地,根據所述uv圖計算與總體v的價值函數節點連通的u實例函數節點的入邊邊權總和,得到相關性計算結果,根據所述相關性技術結果推薦所述相關的u實例函數包括:
22、根據所述uv圖計算每個與總體v的價值函數節點連通的u實例函數節點的入邊的邊權總和,作為該u實例函數節點的相關性得分;
23、將所有u實例函數節點的相關性得分進行排序,推薦出topn的相關的u實例函數。
24、可選地,所述方法還包括:
25、維護一個或者多個u實例函數;其中,所述每個u實例函數對應于智能體的一個特定能力;
26、在一個u實例函數被配置為在執行時修改?infostate?對象中的一個或多個狀態參數。
27、本發明可選實施例的另一方面,提供了一種基于價值驅動的智能體能力子集動態推薦裝置,所述裝置包括:
28、第一獲取模塊,用于獲取智能體所有的當前的u實例函數和智能體當前的v價值函數;其中,所述當前的u實例函數和所述當前的v價值函數是基于tongpl的python版本撰寫的智能體能力u和價值函數v;
29、第二獲取模塊,用于獲取當前的infostate對象;其中,infostate對象為信息狀態的數據表示,用于存儲和傳遞智能體在決策過程中所需的信息;
30、推薦模塊,用于基于上述當前的u實例函數、當前的v價值函數以及當前的infostate對象推薦與所述當前的v價值函數相關的u實例函數。
31、可選地,所述裝置還包括:
32、計算模塊,用于將智能體的不同價值維度總稱記為價值函數v,其中,價值函數v包括n個維度,每個價值函數v的維度有相應的計算函數記為f_i和權重記為w_i,總的計算函數v為?f_1?*?w_1?+?f_2?*?w_2?+?...?+?f_n?*?w_n,計算結果作為總體v的價值函數,所述總體v的價值函數的提升決定智能體行動的驅動力。
33、可選地,所述推薦模塊包括:
34、第一獲取單元,用于基于trace+ast運行總體v的價值函數和每個u實例函數,得到總體v的價值函數和每個u實例函數關于infostate對象的使用屬性計數器和改變屬性計數器;
35、構建單元,用于基于所述使用屬性計數器的使用屬性名稱和所述改變屬性計數器的改變屬性名稱的重合度構建uv圖;
36、第二獲取單元,用于根據所述uv圖計算與總體v的價值函數節點連通的u實例函數節點的入邊邊權總和,得到相關性計算結果;
37、推薦單元,用于根據所述相關性技術結果推薦所述相關的u實例函數。
38、可選地,第一獲取單元包括:
39、建立子單元,用于在函數調用過程中,建立每個調用棧的節點類stacknode;其中,每個調用棧的節點類stacknode至少包括ast的函數定義節點、按照代碼行索引的所有ast節點、解析后的infostate變量名;并建立每個調用棧的數據結構stackinfo;其中,每個調用棧的數據結構stackinfo至少包括infostate變量id和infostate變量名稱的映射關系、局部infostate變量和infostate變量名稱的映射關系、infostate變量發生變化的標志、使用屬性計數器、改變屬性計數器;
40、第一獲取子單元,用于利用python的ast和inspect模塊解析uv函數的源代碼得到基于ast的樹結構;
41、統計子單元,用于利用樹結構在單個調用棧中遞歸地統計infostate變量的使用情況和改變情況;
42、第二獲取子單元,用于利用trace模塊追蹤infostate變量在多個調用棧中的使用情況和改變情況,得到總的使用屬性計數器和改變屬性計數器。
43、可選地,構建單元包括:
44、第三獲取子單元,用于總體v的價值函數和每個u實例函數都有一個關于infostate對象的總的使用屬性計數器和改變屬性計數器,將總體v的價值函數和每個u實例函數作為圖中的節點;
45、構建子單元,用于當兩個節點之間對于同一個infostate對象屬性有使用或改變時,則兩個節點是相關的,會在該兩個節點之間建立有向邊,邊權為所有重合的infostate對象屬性的計數總和,進而構建所述uv圖。
46、可選地,所述推薦單元還用于根據所述uv圖計算每個與總體v的價值函數節點連通的u實例函數節點的入邊的邊權總和,作為該u實例函數節點的相關性得分;將所有u實例函數節點的相關性得分進行排序,推薦出topn的相關的u實例函數。
47、可選地,所述裝置還包括:
48、維護模塊,用于維護一個或者多個u實例函數;其中,所述每個u實例函數對應于智能體的一個特定能力;
49、修改模塊,用于在一個u實例函數被配置為在執行時修改?infostate?對象中的一個或多個狀態參數。
50、本發明可選實施例的再一方面,提供了一種電子設備,包括:
51、處理器;以及
52、存儲程序的存儲器,
53、其中,所述程序包括指令,所述指令在由所述處理器執行時使所述處理器執行根據上述實施例中任一項所述的方法。
54、本發明可選實施例的再一方面,提供了一種存儲有計算機指令的非瞬時計算機可讀存儲介質,其中,所述計算機指令用于使計算機執行根據上述實施例中的任一項所述的方法。
55、本發明可選實施例的再一方面,提供了一種計算機程序產品,所述計算機程序產品包括指令,當所述指令被執行時,使得計算機執行上述實施例中任一項所述的方法。
56、通過本發明可選實施例,獲取智能體所有的當前的u實例函數和智能體當前的v價值函數;其中,當前的u實例函數和該當前的v價值函數是基于tongpl的python版本撰寫的智能體能力u和價值函數v;獲取當前的infostate對象;其中,infostate對象為信息狀態的數據表示,用于存儲和傳遞智能體在決策過程中所需的信息;基于上述當前的u實例函數、當前的v價值函數以及當前的infostate對象推薦與該當前的v價值函數相關的u實例函數。解決了現有技術中隨著智能體復雜度提升,價值函數v的膨脹和能力集合u的爆炸式增長導致計算復雜度激增和搜索空間過大,且現有基于字符串相似度的篩選機制在面對高復雜度的?v?和?u?時效率低下,缺乏通用且用戶無感的過濾機制,導致規劃效率低下,難以滿足實際應用需求的問題,本發明實施例通過獲取智能體當前的u實例函數和v價值函數,并結合當前的infostate對象,能夠精準地推薦與智能體當前價值函數相關的u實例函數,這種推薦機制基于tongpl的python版本,能夠有效地縮小智能體的能力搜索空間,從而顯著提升規劃推理的效率。同時,由于推薦結果與智能體的當前價值函數緊密相關,因此能夠確保推薦的能力實例與智能體的當前需求和目標高度一致,進而提高規劃決策的準確性和有效性。此外,通過利用infostate對象存儲和傳遞決策過程中的信息,本發明可選實例還能夠增強智能體在不同場景下的自適應能力,使其能夠更加靈活地應對各種復雜情況。
57、應了解的是,上述一般描述及以下具體實施方式僅為示例性及闡釋性的,其并不能限制本發明所欲主張的范圍。