簡介

​ 決策樹又(yòu)稱為(wèi)規則樹,是URule Pro規則引擎中(zhōng)提供的另外一種構建規則的方式,它以一棵躺倒的樹形結構來表現規則(之所以将其躺倒是為(wèi)了節省空間,否則一棵稍微大點的樹将會占用(yòng)很(hěn)大的頁(yè)面空間),決策樹表現業務(wù)規則更為(wèi)形象,實際上,無論是決策樹、決策表還是評分(fēn)卡,都可(kě)以通過決策集來實現,隻是,對于某些業務(wù)規則來說,通過決策樹或決策表或評分(fēn)卡實現起來更為(wèi)形象、快捷。

​ 下图是一棵定義好的決策樹:

創建決策樹

​ 打開項目,在測試項目的決策樹節點下右鍵,在彈出菜單中(zhōng)選擇添加決策樹項就可(kě)以創建一個決策樹文(wén)件,如下图所示:

​ 決策表最上方是工(gōng)具(jù)欄,它同樣需要導入各種庫文(wén)件;中(zhōng)間是屬性設置區(qū),與決策表一樣隻提供四個屬性,如果定義屬性,那麽它們将會在運行時被附加由決策樹生成的所有(yǒu)規則上;最下面就是決策樹的定義區(qū),默認它是一個根變量節點,是不可(kě)删除的。在URule Pro當中(zhōng)有(yǒu)三種類型的樹節點,分(fēn)别是變量節點、條件節點以及動作(zuò)節點。

​ 變量節點就是用(yòng)來選擇目标變量的節點,要操作(zuò)這裏我們需要首先導入需要使用(yòng)到的變量庫文(wén)件或參數庫文(wén)件,比如導入我們定義的會員變量庫,然後就可(kě)以選擇具(jù)體(tǐ)的會員變量屬性,如下图:

​ 定義好變量節點上要使用(yòng)的變量後,就可(kě)以添加下級子節點,變量節點下隻能(néng)添加條件節點,一個變量節點可(kě)添加多(duō)個條件節點,每個條件節點上配置的條件與當前變量節點構成一個完整的約束條件,條件的定義與向導式規則中(zhōng)完全相同。如下图:

​ 條件節點下可(kě)以繼續添加子條件以進一步對上級條件進行約束或添加動作(zuò)節點以結束當前條件分(fēn)支或者再添加若幹變量節點以添加新(xīn)類型的條件約束,如下图:

​ 一旦某個條件節點下添加了動作(zuò)節點,那麽就意味着這個條件分(fēn)支的結束,一個動作(zuò)節點中(zhōng)可(kě)添加多(duō)個動作(zuò),同樣一個條件節點下可(kě)以有(yǒu)多(duō)個動作(zuò)節點,動作(zuò)節點上的動作(zuò)類型與動作(zuò)定義方式與向導式規則中(zhōng)完全相同。

對于一個合法的決策樹來說,任何一個分(fēn)支都必須要由至少一個動作(zuò)節點結束,否則系統将不允許保存。

​ 在URule Pro當中(zhōng),為(wèi)了方便大家定義較為(wèi)複雜的決策樹,我們提供了兩種類型的決策樹設計器,一種就是上面介紹的那種設計器,我們稱之為(wèi)“橫向樹編輯器”;還有(yǒu)一種就是傳統的樹形結構決策樹設計器,稱之為(wèi)“縱向樹設計器”,如下图所示:

​ 可(kě)以看到,相比“橫向樹設計器”,這種傳統類型樹設計器節點菜單内容更多(duō),對樹的編輯能(néng)力更強,因為(wèi)它采用(yòng)的是傳統的樹形結構展示,所以這種“縱向樹設計器”有(yǒu)非常強大的樹表現能(néng)力,可(kě)以快速展示成千上萬個節點。 ​ 你在定義決策樹時,如果節點數量過多(duō),采用(yòng)“橫向樹設計器”會發現其加載速度很(hěn)慢,但切換到“縱向樹設計器”則不存在這種問題。 同時大家也能(néng)看到“縱向樹設計器”這種傳統的樹結構相比“橫向樹設計器”對樹的表現能(néng)力略差一些,具(jù)體(tǐ)使用(yòng)中(zhōng)大家可(kě)以根據情況靈活選擇。

​ 通過決策樹設計器工(gōng)具(jù)欄裏的“切換設計器”按鈕可(kě)在兩種設計器間自由切換,切換信息會保存在當前浏覽器的cookie中(zhōng),所以下次在打開決策樹文(wén)件時會采用(yòng)最後一次使用(yòng)的決策樹設計器來打開目标文(wén)件。

results matching ""

    No results matching ""