Jika seseorang melihat (mungkin lebih tua) manual Drools atau mesin aturan lainnya, salah satu ilustrasi dari nilai tambah mereka adalah memecahkan teka-teki seperti puzzle Miss Manners (manual Drools). Sekarang, teka-teki tersebut diformulasikan dan dipecahkan secara alami menggunakan Prolog atau bahasa Constraint Programming yang lebih baru, dan orang bertanya-tanya mengapa ada orang yang akan menggunakan Drools untuk tujuan ini. Nilai tambah yang diberikan Prolog dan CPL dalam hal ini adalah kemampuan mereka untuk secara alami merumuskan teka-teki sebagai seperangkat predikat logis dan secara otomatis mencari ruang solusi (dengan CPL lebih efisien dalam hal ini). Tapi apa nilai tambah produk seperti Drools (maksud saya selain lonceng dan peluit mengambil, misalnya, file Excel dan menerjemahkannya ke dalam seperangkat aturan)?
Lebih khusus lagi, Prolog mengimplementasikan pencarian backtrack, CLP mengimplementasikan pencarian backtrack dengan propagasi kendala, dan karena itu alih-alih mencari, sehingga dapat dikatakan, seluruh produk ruang Cartesian untuk variabel individual, mereka memangkas sebagian besar ruang produk ini. Inilah yang membuatnya efektif dan berguna. Prolog dan CLP dibahas dengan baik dalam literatur.
Di sisi lain, sementara itu jelas bahwa algoritma Rete cache set aturan dalam bentuk beberapa struktur data, sehingga (untuk pemahaman saya) membuatnya lebih efektif untuk mengevaluasi output jika beberapa input telah berubah, dan memberi sarana untuk secara efektif memperbarui struktur data ini untuk perubahan tambahan, sulit (bagi saya) untuk memahami ide dasar, dan bahkan lebih efektif lagi, efektivitasnya (dibandingkan dengan apa? dengan Prolog? ke CLP)? Sayangnya, sulit untuk menemukan referensi bagus yang melihat algoritma Rete dalam konteks yang lebih luas ini.
Dokumentasi Drools sayangnya tidak terlalu informatif dalam hal ini. Yang paling bisa saya temukan adalah "Algoritme Rete, algoritma Leaps, dan turunannya seperti Retrooo Drools (dan Leaps), menyediakan cara yang sangat efisien untuk mencocokkan pola aturan dengan data objek domain Anda. Ini terutama efisien ketika Anda memiliki kumpulan data yang jangan berubah seluruhnya (karena mesin aturan dapat mengingat pertandingan sebelumnya). Algoritma ini terbukti pertempuran ". Sangat efisien - dibandingkan dengan apa? Pertempuran terbukti - dapatkah satu titik ke aplikasi dunia nyata?
Saya akan sangat menghargai jika seseorang dapat menjelaskan lebih lanjut tentang hal ini atau memberikan referensi yang valid.