Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

⚖️ 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}")

🔗 İlgili Modüller

  • json - Kural tanımları
  • stats - İstatistiksel analizler