ฉันมีแบบสอบถามที่ซับซ้อนใช้ในการค้นหาชุดข้อมูลเพื่อหา\} แต่ละแบบสอบถามใช้เวลาเฉลี่ยดังนั้นเวลาโดยรวมในการค้นหาเชิงเส้นคือ. ฉันสามารถแบ่งแบบสอบถามออกเป็นย่อยที่ง่ายกว่าและค้นหา และที่{} แต่ละแบบสอบถามย่อยรวดเร็วยิ่งขึ้นในการคำนวณดังนั้นโดยรวมก็จะเร็วขึ้นเพื่อหาแล้วใช้เพื่อหา{}
แต่ละมีมากมาย การทับซ้อนระหว่างแตกต่างกันนั้นสูง ฉันกำลังมองหาวิธีในการกำหนดชุดคำถามคงที่แบบต้นไม้ตัดสินใจซึ่งลดเวลาโดยเฉลี่ยในการค้นหา H_exact ตามตัวอย่างการค้นหาขนาดใหญ่
หากต้องการทำให้เป็นรูปธรรมมากขึ้นสมมติว่าชุดข้อมูลมีผู้คน 7 พันล้านคนทั่วโลกและข้อความค้นหาที่ซับซ้อนคือ "ผู้หญิงที่อาศัยอยู่ในบ้านสีแดงตรงหัวมุมที่ 5 และเล็กซิงตันในเมืองที่เริ่มต้นด้วย B"
ทางออกที่ชัดเจนคือการตรวจสอบทุกคนในโลกและดูว่าใครตรงกับคำค้นหา อาจมีบุคคลดังกล่าวมากกว่าหนึ่งคน วิธีนี้ใช้เวลานาน
ฉันสามารถคำนวณแบบสอบถามนี้ได้ล่วงหน้าซึ่งในกรณีนี้มันจะเร็วมาก .. แต่สำหรับคำถามนี้เท่านั้น อย่างไรก็ตามฉันรู้ว่าข้อความค้นหาอื่น ๆ สำหรับผู้หญิงที่อาศัยอยู่ในบ้านสีฟ้าที่มุมเดียวกันชายที่อาศัยอยู่ที่มุมเดียวกันคำถามเดียวกัน แต่ในเมืองที่เริ่มต้นด้วย C หรือสิ่งที่แตกต่างอย่างสิ้นเชิงเช่น ' ราชาแห่งสวีเดน '
แต่ฉันสามารถแบ่งคำถามที่ซับซ้อนออกเป็นชุดที่ง่ายขึ้น แต่มีชุดทั่วไปมากกว่า ตัวอย่างเช่นคำถามด้านบนทั้งหมดมีข้อความค้นหาตามบทบาทเพศดังนั้นฉันสามารถคำนวณชุดของทุกคนในโลกที่คิดว่าตัวเองเป็น 'ผู้หญิง' แบบสอบถามย่อยนี้ไม่ต้องใช้เวลาดังนั้นเวลาค้นหาโดยรวมจึงลดลงประมาณ 1/2 (สมมติว่าโดยความรู้อื่นเรารู้ว่า "ราชา" ของสวีเดนไม่สามารถเป็น "หญิง" ได้ Hatshepsut เป็นผู้หญิงชาวอียิปต์ที่เป็นราชา)
อย่างไรก็ตามบางครั้งมีคำถามที่ไม่ได้อิงตามเพศเช่น "คนที่อาศัยอยู่บนถนนสายที่ 8 ในบ้านสีแดงในเมืองที่เริ่มต้นด้วย A. " ฉันเห็นได้ว่าข้อความค้นหาย่อย "อาศัยอยู่ในบ้านแดง" เป็นเรื่องปกติและคำนวณรายชื่อของคนเหล่านั้นทั้งหมดที่อาศัยอยู่ในบ้านแดง
นี่ทำให้ฉันตัดสินใจต้นไม้ ในกรณีปกติแต่ละสาขาของแผนผังการตัดสินใจจะมีคำถามที่แตกต่างกันและวิธีการเลือกคำศัพท์ที่เหมาะสมที่สุดสำหรับแผนผังการตัดสินใจนั้นเป็นที่รู้จักกันดี อย่างไรก็ตามฉันกำลังสร้างระบบที่มีอยู่ซึ่งต้องการให้ทุกสาขาต้องถามคำถามเดียวกัน
ต่อไปนี้เป็นตัวอย่างของชุดการตัดสินใจขั้นสุดท้ายที่เป็นไปได้: คำถามที่ 1 คือ 'เป็นผู้หญิงหรือไม่', คำถามที่ 2 คือ 'บุคคลนั้นอาศัยอยู่ในบ้านแดงหรือไม่' คำถามที่ 3 คือ 'บุคคลนั้นอาศัยอยู่ในเมืองที่เริ่มต้นด้วย A หรือบุคคลนั้นอาศัยอยู่ในเมืองที่เริ่มต้นด้วย B หรือไม่ 'และคำถามที่ 4 คือ' บุคคลนั้นอาศัยอยู่บนถนนที่มีหมายเลขหรือไม่ '
เมื่อมีคำถามมาฉันจะเห็นว่าตรงกับคำถามที่คำนวณล่วงหน้าใด ๆฉันได้พิจารณาแล้วหรือไม่ หากเป็นเช่นนั้นแล้วฉันจะได้รับจุดตัดของคำตอบเหล่านั้นและถามคำถามในเซตที่สี่แยก เช่นหากคำถามคือ "คนที่อาศัยอยู่ในบ้านสีแดงบนเกาะ" จากนั้นพบว่า "คนที่อาศัยอยู่ในบ้านหลังสีแดง" ได้รับการคำนวณล่วงหน้าแล้วดังนั้นจึงเป็นเรื่องของการค้นหากลุ่มย่อยของผู้ที่อาศัยอยู่บนเกาะด้วย
ฉันสามารถรับแบบจำลองต้นทุนได้โดยดูที่ชุดของจำนวนมากและตรวจสอบเพื่อดูขนาดของเกี่ยวข้อง ฉันต้องการที่จะลดขนาดเฉลี่ยของ{}
คำถามคือฉันจะเพิ่มประสิทธิภาพการเลือกเป็นไปได้เพื่อสร้างการตัดสินใจที่แน่นอนนี้ได้อย่างไร ฉันลองใช้ GA แต่มันช้าไปบรรจบกัน อาจจะเป็นเพราะพื้นที่คุณลักษณะของฉันมีไม่กี่ล้านเป็นไปได้q_jฉันมาด้วยวิธีโลภ แต่ฉันไม่พอใจกับผลลัพธ์ มันช้ามากและฉันคิดว่าฉันปรับสิ่งผิดให้เหมาะสม
ฉันควรวิจัยเรื่องใดที่มีอยู่