Nếu một người nhìn vào hướng dẫn sử dụng (có lẽ cũ hơn) của Drools hoặc một số công cụ quy tắc khác, một trong những minh họa về giá trị gia tăng của họ là giải các câu đố như câu đố Miss Manners (hướng dẫn sử dụng của Drools). Giờ đây, những câu đố như vậy được hình thành và giải quyết một cách tự nhiên bằng cách sử dụng Prolog hoặc các ngôn ngữ Lập trình ràng buộc gần đây hơn, và người ta tự hỏi tại sao mọi người sẽ sử dụng Drools cho mục đích này. Giá trị gia tăng mà Prolog và CPL đưa ra trong trường hợp này là khả năng của họ tự nhiên hình thành câu đố dưới dạng tập hợp các vị từ logic và tự động tìm kiếm không gian của các giải pháp (với CPL hiệu quả hơn về mặt này). Nhưng giá trị gia tăng của sản phẩm như Drools là gì (ý tôi là ngoài tiếng chuông và tiếng huýt sáo, ví dụ, một tệp Excel và dịch nó thành một bộ quy tắc)?
Cụ thể hơn, Prolog thực hiện tìm kiếm backtrack, CLP thực hiện tìm kiếm backtrack với lan truyền ràng buộc và do đó, thay vì tìm kiếm, có thể nói, toàn bộ sản phẩm của Cartesian cho các biến riêng lẻ, họ cắt bỏ phần lớn không gian sản phẩm này. Điều này làm cho chúng hiệu quả và hữu ích. Cả Prolog và CLP đều được thảo luận về amply trong tài liệu.
Mặt khác, trong khi rõ ràng thuật toán Rete lưu trữ bộ quy tắc dưới dạng một số cấu trúc dữ liệu, do đó (theo cách hiểu của tôi) giúp đánh giá đầu ra hiệu quả hơn nếu một số đầu vào thay đổi, và đưa ra phương tiện để cập nhật toàn diện cấu trúc dữ liệu này cho những thay đổi gia tăng, đối với tôi, thật khó để hiểu được ý tưởng cơ bản, và thậm chí còn hơn thế, tính linh hoạt của nó (so với những gì? với Prolog? với CLP)? Thật không may, thật khó để tìm thấy các tài liệu tham khảo tốt xem thuật toán Rete trong bối cảnh rộng hơn này.
Rất tiếc, tài liệu của Drools không có nhiều thông tin về mặt này. Cái tôi có thể tìm thấy nhiều nhất là "Thuật toán Rete, thuật toán Leaps và hậu duệ của nó như Reteoo (và Leaps) của Drools, cung cấp các cách rất hiệu quả để khớp các mẫu quy tắc với dữ liệu đối tượng miền của bạn. Chúng đặc biệt hiệu quả khi bạn có bộ dữ liệu không thay đổi hoàn toàn (vì công cụ quy tắc có thể nhớ các trận đấu trong quá khứ). Các thuật toán này đã được chứng minh trong trận chiến ". Rất hiệu quả - so với những gì? Trận chiến đã được chứng minh - một điểm có thể đến các ứng dụng trong thế giới thực?
Tôi sẽ đánh giá cao nếu người ta có thể đưa ra một số ánh sáng hơn về chủ đề này hoặc đưa ra một tài liệu tham khảo hợp lệ.