ถ้ามีคนดูคู่มือ Drools หรือบางทีอาจจะเป็นกฎเก่า ๆ ภาพหนึ่งในมูลค่าเพิ่มของพวกเขาก็คือการไขปริศนาเช่น Puzzle Miss Manners (คู่มือของ Drools) ตอนนี้ปริศนาดังกล่าวได้รับการพัฒนาและแก้ไขตามธรรมชาติโดยใช้ภาษาโปรล็อกหรือภาษาโปรแกรมข้อ จำกัด ล่าสุดและสงสัยว่าทำไมทุกคนจะใช้ Drools เพื่อจุดประสงค์นี้ มูลค่าเพิ่มที่ Prolog และ CPL ให้ไว้ในกรณีนี้คือความสามารถในการกำหนดตัวไขปริศนาตามชุดของตรรกะและเพื่อค้นหาพื้นที่ของการแก้ปัญหาโดยอัตโนมัติ (โดย CPL มีประสิทธิภาพมากกว่าในแง่นี้) แต่มูลค่าเพิ่มของผลิตภัณฑ์เช่น Drools คืออะไร (ฉันหมายถึงนอกเหนือจากเสียงระฆังและเสียงนกหวีดแห่งการถ่ายเช่นไฟล์ Excel และแปลเป็นชุดของกฎ)
โดยเฉพาะอย่างยิ่ง Prolog ใช้การค้นหาย้อนรอย CLP ใช้การค้นหาย้อนรอยด้วยการเผยแพร่ข้อ จำกัด และดังนั้นแทนที่จะค้นหาเพื่อพูดผลิตภัณฑ์คาร์ทีเซียนทั้งหมดของช่องว่างสำหรับตัวแปรแต่ละตัวจะตัดส่วนที่มีขนาดใหญ่ของพื้นที่ผลิตภัณฑ์นี้ สิ่งนี้ทำให้พวกเขามีประสิทธิภาพและมีประโยชน์ ทั้ง Prolog และ CLP ถูกกล่าวถึงอย่างพอเพียงในวรรณกรรม
ในขณะที่มันเป็นที่ชัดเจนว่าอัลกอริทึม Rete แคชชุดของกฎในรูปแบบของโครงสร้างข้อมูลบางอย่าง (เพื่อความเข้าใจของฉัน) ทำให้มันมีประสิทธิภาพมากขึ้นในการประเมินผลลัพธ์ถ้าบางอินพุตมีการเปลี่ยนแปลง และการให้หมายถึงการปรับปรุงโครงสร้างข้อมูลนี้อย่างสมบูรณ์แบบเพื่อการเปลี่ยนแปลงที่เพิ่มขึ้นมันเป็นเรื่องยาก (สำหรับฉัน) ที่จะเข้าใจแนวคิดพื้นฐานและยิ่งกว่านั้นคือความสมบูรณ์ของมัน (เมื่อเทียบกับ Prolog? to CLP) น่าเสียดายที่มันยากที่จะหาแหล่งอ้างอิงที่ดีที่ดูอัลกอริธึม Rete ในบริบทที่กว้างขึ้นนี้
เอกสารของ Drools ไม่น่าเป็นไปได้มากนักในแง่นี้ สิ่งที่ฉันพบมากที่สุดคือ "อัลกอริทึม Rete, อัลกอริทึม Leaps และลูกหลานของมันเช่น Drools 'Reteoo (และ Leaps) ให้วิธีที่มีประสิทธิภาพมากในการจับคู่รูปแบบกฎกับข้อมูลออบเจ็กต์โดเมนของคุณ ไม่เปลี่ยนแปลงทั้งหมด (เนื่องจากกฎของเครื่องมือสามารถจดจำการแข่งขันที่ผ่านมาได้) อัลกอริธึมเหล่านี้พิสูจน์การต่อสู้แล้ว " มีประสิทธิภาพมาก - เทียบกับอะไร พิสูจน์แล้วจากการต่อสู้ - มีจุดหนึ่งที่แอปพลิเคชันโลกแห่งความจริงได้หรือไม่?
ฉันจะซาบซึ้งถ้ามีใครสามารถเพิ่มความสว่างให้กับเรื่องนี้หรือให้การอ้างอิงที่ถูกต้อง