Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม

การขยายพันธุ์ Tuple ID คืออะไร?


การเผยแพร่ Tuple ID เป็นแนวทางสำหรับการนำ virtual join ไปใช้ ซึ่งช่วยปรับปรุงประสิทธิภาพของการจำแนกประเภทพหุสัมพันธ์อย่างมาก แทนที่จะรวมความสัมพันธ์ทางกายภาพ พวกเขาจะถูกรวมเข้าด้วยกันโดยการเชื่อมต่อ ID ของสิ่งอันดับเป้าหมายกับสิ่งอันดับในความสัมพันธ์ที่ไม่ใช่เป้าหมาย

ในวิธีนี้ เพรดิเคตสามารถคำนวณได้เหมือนกับว่ามีการใช้การรวมทางกายภาพ การเผยแพร่ Tuple ID นั้นยืดหยุ่นและมีประสิทธิภาพ เนื่องจาก ID สามารถแพร่กระจายได้ง่ายระหว่างสองความสัมพันธ์ โดยต้องการการถ่ายโอนข้อมูลเพียงเล็กน้อยและพื้นที่จัดเก็บมากขึ้น โดยการทำเช่นนี้ เพรดิเคตในความสัมพันธ์แบบพหุคูณสามารถคำนวณได้ด้วยการคำนวณซ้ำซ้อนเล็กน้อย

ต้องบังคับใช้การเผยแพร่ Tuple ID ด้วยข้อจำกัดเฉพาะ มีสองกรณีที่การขยายพันธุ์ดังกล่าวสามารถต่อต้านได้ -

  • การขยายพันธุ์ด้วยการแผ่ออกขนาดใหญ่

  • การแพร่กระจายผ่านลิงค์ที่ยาวและอ่อนแอ

กรณีแรกปรากฏขึ้น เมื่อหลังจากเผยแพร่ ID ไปยังความสัมพันธ์ R แล้ว พบว่าแต่ละ tuple ใน R ถูกเชื่อมกับ tuple เป้าหมายบางตัว และ tuple เป้าหมายแต่ละ tuple ถูกเชื่อมกับ tuple บางตัวใน R การเชื่อมต่อเชิงความหมายระหว่าง R และความสัมพันธ์เป้าหมาย อ่อนมากเพราะเชื่อมต่อไม่ได้

ตัวอย่างเช่น การแพร่กระจายระหว่างผู้คนผ่านการเชื่อมโยงประเทศเกิดไม่สามารถเกิดผลได้ กรณีที่สองปรากฏขึ้นเมื่อการขยายพันธุ์ผ่านการเชื่อมต่อที่ยาวนาน (เช่น การเชื่อมต่อนักเรียนกับสัตว์เลี้ยงของตัวแทนจำหน่ายรถยนต์ไม่สามารถเกิดผลได้) จากประโยชน์ของประสิทธิภาพและความมั่นใจ จึงไม่แนะนำให้ขยายพันธุ์ผ่านการเชื่อมต่อดังกล่าว

CrossMine เป็นวิธีการที่ต้องใช้ tuple ID propagation สำหรับการจำแนกประเภท multirelational มันสามารถรวมข้อมูลของการเผยแพร่ ID ได้ดีขึ้น CrossMine ต้องการเพรดิเคตที่ซับซ้อนเป็นส่วนประกอบของกฎ กริยาเชิงซ้อน p ประกอบด้วยสองส่วนดังนี้ −

เส้นทางประกอบ − นี่แสดงถึงวิธีการเผยแพร่ ID เช่น เส้นทาง “เงินกู้. account_ID → Account.account_ID” หมายถึง ID การเผยแพร่จากเงินกู้ไปยังบัญชีโดยใช้ account_ID หากไม่มีการเผยแพร่ ID prop-path จะเป็นโมฆะ

ข้อจำกัด − นี่คือภาคแสดงที่แสดงถึงข้อจำกัดเกี่ยวกับความสัมพันธ์ที่ ID ถูกเผยแพร่ เป็นหมวดหมู่หรือเป็นตัวเลขก็ได้

CrossMine สร้างตัวแยกประเภทรวมถึงชุดของกฎ แต่ละรายการรวมถึงรายการของเพรดิเคตที่ซับซ้อนและเลเบลคลาส CrossMine เป็นอัลกอริธึมครอบคลุมตามลำดับเช่น FOIL สามารถสร้างกฎได้ทีละข้อ หลังจากสร้างกฎ r แล้ว tuple เป้าหมายที่เป็นค่าบวกทั้งหมดที่ตรงตาม r จะถูกลบออกจากชุดข้อมูล

CrossMine จะค้นหาเพรดิเคตเชิงซ้อนที่ดีที่สุดอย่างสม่ำเสมอ และเพิ่มเข้าไปในกฎสมัยใหม่ จนกว่าจะมีการรวบรวมเกณฑ์การหยุด ความสัมพันธ์จะทำงานหากเกิดขึ้นในกฎปัจจุบัน ก่อนค้นหาเพรดิเคตที่ดีที่สุดต่อไปนี้ ความสัมพันธ์ที่แอ็คทีฟแต่ละรายการจำเป็นต้องมี IDset ของ ID ที่เผยแพร่สำหรับทูเพิลทุกตัว