Drools Eğitimi: Kural Motoru ArchiYapı ve Diyagram

⚡ Akıllı Özet

Drools, açık kaynaklı bir İş Kuralları Yönetim Sistemi olup, Drools ile yazılmıştır. Java İş mantığını uygulama kodundan ayıran yapı. Bu kaynak, kuralları, Rete algoritmasını, Drools mimarisini ve bileşenlerini açıklamaktadır. Eclipse Eklenti kurulumu ve bir "Merhaba Dünya" kuralı örneği.

  • ⚙️ Temel Tanım: Drools bir JavaRete desen eşleştirme algoritmasını kullanarak iş kurallarını çalıştıran, Rete tabanlı bir BRMS.
  • 📜 Kurallar Yapısı: Bir kural, "ne zaman-o zaman" formatını izler ve yalnızca koşulları çalışma belleğindeki gerçeklerle eşleştiğinde eylemleri tetikler.
  • 🏗️ Archidoku: Kurallar bir kural tabanına yüklenir, gerçekler çalışma belleğine girer ve motor bunları bir gündem doğrultusunda eşleştirip çalıştırır.
  • 🔌 Eclipse Kurmak: Drools eklentisi şu şekilde yüklenir: Eclipse jBPM dağıtım ZIP dosyası ve Yeni Yazılım Yükle iletişim kutusu aracılığıyla.
  • 🔄 Zincirleme Modları: Drools, olgulardan sonuçlara doğru ileriye doğru zincirleme işlemeyi ve bir hedeften tekrar olgulara doğru geriye doğru zincirleme işlemeyi destekler.

Drools Eğitimi

Drool nedir?

salyalar açık kaynaklı bir İş Kuralları Yönetim Yazılımıdır (BRMS) Java kullanıcılara İş Kuralı Motoru, Web yazma, Kural Yönetimi Uygulaması gibi çeşitli özellikler ve Karar Modeli ve Gösterim modelleri için çalışma zamanı desteği sağlar. Rete desen eşleştirme algoritmasının gelişmiş uygulama sistemini kullanır.

Drools, Apache Lisansı 2.0 kapsamında yayımlanmıştır ve tüm JVM'lerle uyumludur ve ayrıca Maven Merkezi Deposu'nda da mevcuttur.

Drools aracı, iş süreçlerinde bulunan mantık ve verileri ayırmanıza ve bunlar üzerinde muhakeme yapmanıza yardımcı olur. İleri ve geri zincirleme çıkarım tabanlı saçmalama kuralları motorunu destekler.

Salyalar iki kısma ayrılır:

  • Yazarlık – Kural dosyalarının geliştirilmesini içerir.
  • Süre – Çalışma belleğinin oluşturulmasını ve aktivasyonun ele alınmasını içerir.

Kural Nedir?

Kurallar genellikle "Belirli koşullar oluştuğunda bazı görevleri yapın" şeklinde ifade edilen bilgi parçalarıdır.

Bir kuralın en önemli kısmı, ne zaman parça. Bir kere ne zaman kısmı memnun, sonra parça tetiklenir.

Sözdizimi:

When
<Condition is true>
Then
<Take desired Action>

Desen Eşleştirme Yöntemi

Desen eşleştirme yöntemi, yeni veya eski gerçekleri üretim kurallarıyla karşılaştırmanıza yardımcı olur. Çıkarım Motoru tarafından tamamlanır.

Algorithms Desen Eşleştirme için kullanılanlar şunlardır:

  • Rete Algoritması
  • Sıçrama Algoritması
  • Doğrusal Algoritma
  • Tedavi Algoritması

Ancak Drools'un en çok kullandığı algoritma Rete Algoritması'dır.

Rete Algoritması

Rete algoritması, üretim kural sistemlerini uygulamanıza olanak tanıyan kullanışlı bir kalıp eşleştirme algoritmasıdır. Artan hız için hafızadan ödün vermenize yardımcı olur. Ayrıca, düğüm paylaşımının yardımıyla belirli artıklık türlerini azaltır veya ortadan kaldırır. Farklı olgu türleri arasında birleştirme gerçekleştirirken kısmi eşleşmeleri saklar.

Drools Kural Motoru

Drools Kural Motoru Drools yazılımında bir Uzman sistemi uygulamaya yönelik kural tabanlı bir yaklaşımdır. Kural motoru, ne yapacağınız ve nasıl yapacağınız gibi kararlar vermenize yardımcı olan, bilgiye dayalı sistemler olan Uzman sistemler sağlar. Bilgiyi muhakeme için kullanılabilecek bir bilgi tabanında toplar.

Drools Araçlar Paketi

Şimdi bu Drools Rule Engine eğitiminde Drools Tool Suite'i öğreneceğiz. Drools paketinin bir parçası olarak gelen beş tür araç şunlardır:

  • salyalar akıyor Şef: Drools KnowledgeBase için merkezi bir depodur.
  • Salya Akışı: İş akışı ve iş süreçleri sunar.
  • Salya Füzyonu: Karmaşık olay işleme için kullanılan araç
  • Drools Expert veya Kural Motoru: Akıl yürütmeyi gerçekleştirmek için yararlı bir araç.
  • Salya Planlayıcısı: NP-zor planlama problemlerini içeren otomatik planlama sunmak.

Drools'taki önemli bileşenler

Şimdi bu Drools eğitiminde Drools'un önemli bileşenlerini öğrenelim.

Drools'da kullanılan temel terimler şunlardır:

  • Gerçekler – Gerçekler, kurallara girdi görevi gören verileri temsil eder
  • Bellek Çalışma – Desen eşleştirme için kullanıldıkları Gerçeklerle Depolama. Değiştirilebilir, eklenebilir ve kaldırılabilir.
  • Bilgi Oturumu – Bu bileşen, tetikleme kuralı için gereken tüm kaynakları içerir. Burada tüm veriler tek bir oturuma eklenir ve ardından eşleşen kurallar tetiklenir.
  • Bilgi tabanı – Drools ekosistemindeki bilgiyi temsil eder. Kuralların bulunduğu kaynakların oluşumunu depolar.
  • modül – Bu, farklı oturumlar düzenleyebilecek birden fazla Bilgi Tabanını saklayan bir modüldür

ArchiDrools'un yapısı

Drools Kural Motoru Archidoku
Drools Kural Motoru Archidoku

Drools mimarisinin çalışma sistemi şu şekildedir:

) 1 Adım Kurallar, her zaman kullanılabilen Kural Tabanına yüklenir.

) 2 Adım Bilgiler, çalışma belleğine kaydedilir ve burada değiştirilebilir veya yeniden işlenebilir.tracted.

) 3 Adım Yeni veya mevcut gerçekleri üretim kurallarıyla eşleştirme sürecine, Kural motoru tarafından gerçekleştirilen model eşleştirme adı verilir.

) 4 Adım Gündem, bir çatışma çözme stratejisinin yardımıyla çelişen kuralların uygulanma sırasını yönetmenize olanak tanır.

Drool'un Özellikleri

Drool'un önemli özellikleri şunlardır:

  • Uygulamayı dinamik mantıktan ayırmanıza yardımcı olur
  • Bildirimsel Programlama
  • Bilginin Merkezileştirilmesi
  • Hız ve Ölçeklenebilirlik
  • Mantığı uygulamadan ayırın
  • Anlaşılabilir kurallar

Drools eklentileri nasıl eklenir? Eclipse

Şimdi bu Drools eğitiminde, Drools eklentisini nasıl ekleyeceğimizi öğrenelim Eclipse.

) 1 Adım jBPM Entegrasyonu için “Dağıtım ZIP”ine tıklayın
MyCAD'de yazılım Güncelleme ye git https://www.drools.org/download/download.html ve jBPM Entegrasyonu için “Dağıtım ZIP” seçeneğine tıklayın. İndirildikten sonra, örneğintracBunu sabit diskinize kaydedin.

Drools Eklentilerini Ekle Eclipse

) 2 Adım Yeni Yazılım Yükle
In Eclipse, Yeni Yazılım Yükle'yi seçin.

Drools Eklentilerini Ekle Eclipse

) 3 Adım Ekle düğmesine tıklayın
Bir yazılım eklemek için Ekle düğmesine tıklayın.

Drools Eklentilerini Ekle Eclipse

) 4 Adım Klasöre Gözat
Bir sonraki ekranda Yerel'e tıklayın ve “org.drools.updatesite/” klasörünü seçin ve ardından Tamam'a tıklayın.

Drools Eklentilerini Ekle Eclipse

) 5 Adım İleri düğmesine tıklayın
Kurulum düzeltme sayfasında İleri düğmesine tıklayın.

Drools Eklentilerini Ekle Eclipse

) 6 Adım Lisans sözleşmesini kabul edin
Lisans sözleşmesini kabul edin ve ileri'ye tıklayın.

Drools Eklentilerini Ekle Eclipse

) 7 Adım Reboot Eclipse
Yazılım indirilecek ve Eclipse'i yeniden başlatmanız istenecek.

) 8 Adım Kurulum işlemi tamamlandı
In Windows > Tercihler menüsünde, kurulu olduğunu belirten Drools seçeneğini göreceksiniz.

Drools Eklentilerini Ekle Eclipse

Drools Programı Merhaba Dünya Örneği

Aşağıda Merhaba Dünya programı için bir Drools örneği verilmiştir:

package com.sample
import 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

Geriye ve İleriye Zincirleme Nedir?

İleri zincirleme motor, gerçekleri kontrol eder ve belirli bir sonuca varır.

Tıbbi teşhis sisteminin bir senaryosunu ele alalım. Eğer hastanın semptomları çalışan hafızaya gerçekler olarak yerleştirilirse, o zaman ona bir hastalık tanısı koymak kolaydır.

Geriye ve İleriye Zincirleme

İleri zincirleme motor

Geriye zincirleme motorun belirlenmiş bir hedefi vardır ve motor bu hedefi karşılamaya çalışır.

Aynı tıbbi teşhis senaryosunu düşünün. Belirli bir hastalığın salgını olduğunu varsayalım. Bu yapay zeka, belirli bir kişinin hastalığa sahip olduğunu varsayabilir ve mevcut bilgilere dayanarak teşhisinin doğru olup olmadığını belirlemeye çalışabilir.

Geriye ve İleriye Zincirleme

Geriye zincirleme motor

Neden Drools Kural Motorunu kullanmalısınız?

Drools kural motorunu kullanmanın başlıca nedenleri şunlardır:

  • Kuralların geliştiriciler için anlaşılması kolaydır ve iş analistleri.
  • Kurallar kolaylıkla korunabilir.
  • Kural Motoru, motorun performansının hiçbir zaman kural sayısına bağlı olmadığını belirten bir Rete algoritması kullanır.
  • Kurallar, uygulamayı kapatmadan değiştirilebilir ve dağıtılabilir.
  • İş mantığını nispeten statik kod tabanından dışsallaştırır.
  • Kurallar daha az karmaşık formatlarda geliştirilir, böylece iş analisti bir grup kuralı kolayca okuyabilir ve doğrulayabilir.
  • Kurallar, formda yürütülebilir bir bilgi deposu oluşturmanıza olanak tanır.
  • Gibi araçlar Eclipse kuralları yönetmenize, anında yanıt almanıza, kimlik doğrulama ve içerik desteği almanıza yardımcı olur.

Kural Motorunun Dezavantajları

Kural motorunu kullanmanın dezavantajları/eksileri şunlardır:

  • Geliştiricilerin bu programlama yöntemini bilmesi çok fazla öğrenme çabası gerektirir
  • Kural motoru sorunları gidermek için güvenli bir yöntem değildir.
  • Kural motorunun çalışma prensibini anlamak, daha fazla bellek tüketimine yol açar.
  • Karmaşık bir dallanma için geniş bir kurallar kümesi vardır.

Kurallar zamanla değişebilir ve kod değişiklikleriyle geçerlilik kazanır

SSS

Evet. Drools, Apache Lisansı 2.0 altında yayınlanmıştır ve tamamen ücretsiz ve açık kaynaklıdır. Herhangi bir JVM üzerinde çalışır ve kolay proje entegrasyonu için Maven Merkezi Deposu aracılığıyla edinilebilir.

Drools kuralları, "ne zaman"-"o zaman" yapısına dayalı bildirimsel bir sözdizimi olan DRL (Drools Kural Dili) ile yazılır. Kurallar ayrıca karar tabloları, DMN modelleri veya iş kullanıcıları için alana özgü diller kullanılarak da oluşturulabilir.

Kural motoru, mantığı, uygulamayı yeniden dağıtmaya gerek kalmadan değiştirilebilen, bakımı kolay kurallara dönüştürür. Sabit kodlanmış if-else mantığı, kod tabanına dağılmış durumdadır, güncellenmesi daha zordur ve koşul sayısı arttıkça iyi ölçeklenmez.

Drools, insan bilgisini kurallar olarak kodlayarak yapay zekanın klasik bir dalı olan uzman sistemleri uygular. Motor, sembolik yapay zeka karar sistemlerine benzer şekilde ileri ve geri zincirleme işlemleri destekleyerek sonuçlara ulaşmak için olgular üzerinde akıl yürütür.

Evet. Yapay zekâ asistanları, sade dildeki gereksinimlerden DRL kuralları oluşturabilir, çelişkili veya gereksiz kuralları tespit edebilir ve optimizasyonlar önerebilir. Ekipler, doğru iş mantığı ve güvenilir yürütme sağlamak için oluşturulan kuralları yine de doğrular.

Bu yazıyı şu şekilde özetleyin: