<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                # Drools 教程:體系結構,規則引擎示例 > 原文: [https://www.guru99.com/drools-tutorial.html](https://www.guru99.com/drools-tutorial.html) ## 什么是 Drool? JBoss Drools 是一個業務邏輯集成平臺(BLiP)。 這是一個用 Java 編寫的開源項目,它使用 Rete 模式匹配算法的高級實現系統。 Drools 工具可幫助您根據業務流程中發現的邏輯和數據進行分離和推理。 它支持基于推理的向前和向后鏈接的 Drools 規則引擎。 流口水分為兩個部分:創作和運行時。 * **創作**-它涉及規則文件的開發。 * **運行時**-它涉及工作內存的創建和激活的處理。 在這次針對初學者的 Drool 培訓中,您將學習: * [什么是流口水?](#1) * [什么是規則?](#2) * [什么是規則引擎?](#3) * [Drools 工具套件](#4) * [Drools](#5) 中的重要組件 * [Drools 的體系結構](#6) * [Drool](#7) 的功能 * [如何在 Eclipse 中添加 Drools 插件](#8) * [創建 Drools 程序](#9) * [為什么使用 Drools Rule Engine?](#10) * [規則引擎](#11)的缺點 ## 什么是規則? 規則是知識的一部分,通常表示為“當出現特定條件時,請執行一些任務”。 規則中最關鍵的部分是部分。 一旦**滿足**部分,**然后**該部分就會被觸發。 句法: ``` When <Condition is true> Then <Take desired Action> ``` ### 模式匹配方法: 模式匹配方法可幫助您將新事實或舊事實與生產規則進行比較。 它由推理引擎完成。 用于模式匹配的算法為: * 算法網絡 * 跳躍算法 * 線性算法 * 對待算法 但是,Drools 最常用的算法是 Rete 算法。 ### 算法網絡 Rete 算法是一種有用的模式匹配算法,可用于實現生產規則系統。 它可以幫助您犧牲內存以提高速度。 它還借助節點共享來減少或消除特定類型的冗余。 在不同事實類型之間執行聯接時,它存儲部分匹配項。 ## 什么是規則引擎? 規則引擎使用基于規則的方法來實施專家系統。 專家系統是基于知識的系統,可以幫助您做出決策。 它將知識收集到可用于推理的知識庫中 ## Drools 工具套件 這是 Drools 套件中的五種工具: * **Drools Guvnor** :它是 Drools 知識庫的集中存儲庫。 * **Drools Flow** :它提供工作流程和業務流程。 * **Drools Fusion** :用于復雜事件處理的工具 * **Drools Expert 或 Rule Engine** :執行推理的有用工具。 * **Drools Planner**:提供自動化計劃,其中包括 NP 硬計劃問題。 ## Drools 中的重要組件 在這里,是 Drools 中使用的基本術語。 * **事實**-事實表示用作規則輸入的數據 * **工作內存**-事實存儲,用于模式匹配。 可以對其進行修改,插入和刪除。 * **知識會議**-此組件包含激發規則所需的所有資源。 在這里,所有事實都插入到單個會話中,然后觸發匹配的規則。 * **知識庫**-代表 Drools 生態系統中的知識。 它存儲發現規則的資源的形成。 * **模塊**-這是一個模塊,用于存儲可以容納不同會話的多個知識庫 ## Drools 的體系結構 ![](https://img.kancloud.cn/a1/07/a107958e05ea175efab90e38ee54a5cd_700x290.png) 這是規則引擎的工作系統: **步驟 1)**規則被加載到 Rule Base 中,并且始終可用。 **步驟 2)**事實被斷言到工作存儲器中,然后可以在其中對其進行修改或收回。 **步驟 3)**將新事實或現有事實與生產規則進行匹配的過程稱為模式匹配,該過程由規則引擎執行。 **步驟 4)**通過議程,您可以借助沖突解決策略來管理沖突規則的執行順序。 ## Drool 的功能 這是 Drool 的重要功能: * 幫助您將應用程序與動態邏輯分開 * 聲明式編程 * 知識集中 * 速度和可擴展性 * 將邏輯與應用程序分開 * 可以理解的規則 ## 如何在 Eclipse 中添加 Drools 插件 **步驟 1)**轉到[鏈接](https://www.drools.org/download/download.html),然后單擊“ Distribution ZIP”進行 jBPM 集成。 下載后,將其解壓縮到硬盤中 ![](https://img.kancloud.cn/1b/14/1b1448a0a4ab58c216d28d1fe8efad63_790x649.png) **步驟 2)**在 Eclipse 中,選擇“安裝新軟件” ![](https://img.kancloud.cn/c1/b0/c1b0ade7bb3befb0f7c85e3d3358cc3e_863x373.png) **步驟 3)**點擊添加 ![](https://img.kancloud.cn/0a/8d/0a8d0049d38ec0b35dcefc588d8b31ff_700x558.png) **步驟 4)**在下一個屏幕中, 1. 點擊本地 2. 選擇文件夾“ org.drools.updatesite /” 3. 點擊確定 ![](https://img.kancloud.cn/87/6b/876b8fc43f6298eee95236147c003065_650x562.png) **步驟 5)**單擊下一步 ![](https://img.kancloud.cn/ed/ee/edeed48e323702e2ec9cf28b8059144f_600x498.png) **步驟 6)**接受許可協議,然后單擊下一步 ![](https://img.kancloud.cn/e2/dd/e2dda01a2432625579337a387e64c48e_861x512.png) **步驟 7)**軟件將下載,并且將要求您重新啟動 Eclipse **步驟 8)**在 Windows >首選項菜單中,您將看到 Drools 選項,表明已安裝。 ![](https://img.kancloud.cn/0c/63/0c63aba4867d9b0d3f7ef3f9d84bed65_842x546.png) ## 創建 Drools 程序 ``` package com.sample inport com.sample.DroolsTest.Message; rule "Hello World" when m : Message( status ** Message.Hello, myMessage : message ) then System.out.println( myMessage ); m.setMessage( "Goodbye cruel world" ); m.setStatus( Message.GOODBYE ); update( m ); end rule "GoodBye" when Message( status ** Message.GOODBYE, myMessage : message ) then System.out.println( myMessage ); end ``` ### 什么是后向與前向鏈接? 前向鏈接引擎檢查事實并得出特定結論。 讓我們考慮一下醫療診斷系統的場景。 如果將患者的癥狀作為事實記入工作記憶中,則很容易診斷出他是否患有疾病。 ![](https://img.kancloud.cn/87/b7/87b7e219e6a0f66a049098f66a1dd49a_760x196.png) 向后鏈接引擎具有設定的目標,并且引擎試圖滿足該目標。 考慮相同的醫學診斷方案。 假設某種疾病的流行。 該 AI 可以假定給定的個體患有該疾病,并嘗試根據可用信息確定其診斷是否正確。 ![](https://img.kancloud.cn/d1/f5/d1f5b26264fee63d5e95eff52c495b37_756x198.png) ## 為什么使用 Drools Rule Engine? 這里是使用 Drools 規則引擎的主要原因: * 規則對于開發人員和業務分析師而言很容易理解。 * 規則易于維護。 * 規則引擎使用 Rete 算法,該算法指出引擎的性能永遠不取決于規則的數量。 * 可以在不關閉應用程序的情況下修改和部署規則。 * 從相對靜態的代碼庫外部化業務邏輯。 * 規則以不太復雜的格式開發,因此業務分析師可以輕松地閱讀和驗證一組規則。 * 規則允許您創建知識倉庫,該倉庫可以形式執行。 * Eclipse 之類的工具可幫助您管理規則,獲得即時響應,身份驗證和內容支持。 ## 規則引擎的缺點 這里是使用規則引擎的缺點/缺點: * 開發人員需要進行大量的學習工作,才能了解這種編程方法 * 規則引擎不是解決問題的安全方法。 * 需要了解規則引擎的工作以消耗更多內存 * 對于復雜的分支,有很多規則。 規則可能會隨著時間而變化,并且隨著代碼的更改而生效 #### 摘要 * JBoss Drools 是一個業務邏輯集成平臺(BLiP) * Drool 工具的類型為:1)Drools Guvnor 2)Drools Flow 3)Drools Fusion 4)Drools Expert 5)Drools,計劃程序。 * Drool 幫助您將應用程序與動態邏輯分開。 * 事實代表了用作規則輸入的數據。 * 工作存儲器是具有事實的存儲,用于事實模式匹配。 可以對其進行修改,插入和刪除。 * 知識庫是包含激發規則所需的所有資源的組件。 * 知識會議代表了 Drools 生態系統中的知識。 * 知識庫表示 Drools 生態系統中的知識。 * 模塊存儲多個知識庫,這些知識庫可以舉行不同的會話。 * 規則是知識的一部分,通常表示為“當出現特定條件時,請執行一些任務”。 * Drools 是一個規則引擎,它使用基于規則的方法來實施 Expert 系統。 * 前向鏈接引擎檢查事實并得出特定結論。 * 向后鏈接引擎具有設定的目標,并且引擎試圖滿足該目標。 * Rete 算法是一種有用的模式匹配算法,可用于實現生產規則系統。 * 規則對于開發人員和業務分析師而言很容易理解。 * 使用像 Drool 這樣的規則引擎的主要缺點是,開發人員需要大量學習才能知道這種編程方法。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看