⚖️ rules - Kural Tabanlı Sistemler
İş kuralları motoru, karar ağaçları ve kural çıkarımı
📦 67 Fonksiyon
📝 657 Satır
💾 18.2 KB
📋 Genel Bakış
rules modülü, iş kuralları, karar tabloları ve kural tabanlı çıkarım sistemleri oluşturmak için araçlar sağlar.
📋 Kural Tanımlama
- rules.Kural() - Yeni kural oluşturma
- rules.koşul() - Kural koşulu
- rules.eylem() - Kural eylemi
🔍 Kural Motoru
- rules.Motor() - Kural motoru oluşturma
- rules.kural_ekle() - Motor'a kural ekleme
- rules.çalıştır() - Kuralları değerlendirme
🌳 Karar Ağaçları
- rules.KararAğacı() - Karar ağacı oluşturma
- rules.dal_ekle() - Yeni dal ekleme
- rules.tahmin_et() - Sonuç tahmini
💡 Kullanım Örnekleri
İndirim Hesaplama Sistemi
kullan rules
sınıf İndirimMotoru {
değer motor: rules.Motor
fonksiyon yeni() -> İndirimMotoru {
değer motor = rules.Motor.yeni()
// VIP müşteri kuralı
motor.kural_ekle(rules.Kural(
ad: "VIP İndirimi",
koşul: |müşteri| müşteri["vip"] == doğru,
eylem: |müşteri| müşteri["indirim"] = 0.20,
öncelik: 10
))
// Yüksek tutarlı alışveriş
motor.kural_ekle(rules.Kural(
ad: "Yüksek Tutar İndirimi",
koşul: |müşteri| müşteri["toplam"] > 1000.0,
eylem: |müşteri| müşteri["indirim"] = 0.15,
öncelik: 8
))
// İlk alışveriş
motor.kural_ekle(rules.Kural(
ad: "İlk Alışveriş",
koşul: |müşteri| müşteri["ilk_alışveriş"] == doğru,
eylem: |müşteri| müşteri["indirim"] = 0.10,
öncelik: 5
))
dön İndirimMotoru { motor: motor }
}
fonksiyon indirim_hesapla(müşteri: Sözlük) -> Gerçek {
müşteri["indirim"] = 0.0
bu.motor.çalıştır(müşteri)
dön müşteri["indirim"]
}
}
// Kullanım
değer motor = İndirimMotoru.yeni()
// Senaryolar
değer müşteri1 = {
"ad": "Ahmet",
"vip": doğru,
"toplam": 500.0,
"ilk_alışveriş": yanlış
}
değer indirim1 = motor.indirim_hesapla(müşteri1)
yazdır(f"VIP müşteri indirimi: %{indirim1 * 100}")
değer müşteri2 = {
"ad": "Ayşe",
"vip": yanlış,
"toplam": 1500.0,
"ilk_alışveriş": yanlış
}
değer indirim2 = motor.indirim_hesapla(müşteri2)
yazdır(f"Yüksek tutarlı alışveriş indirimi: %{indirim2 * 100}")