4
การเพิ่มประสิทธิภาพอัตโนมัติของการคูณเวกเตอร์เมทริกซ์ 0-1
คำถาม: มีขั้นตอนหรือทฤษฎีที่สร้างขึ้นสำหรับการสร้างรหัสที่ใช้การคูณเมทริกซ์เวกเตอร์อย่างมีประสิทธิภาพหรือไม่เมื่อเมทริกซ์นั้นหนาแน่นและเต็มไปด้วยเลขศูนย์และอันเดียว ตามหลักการแล้วรหัสที่ได้รับการปรับปรุงจะใช้ประโยชน์จากข้อมูลที่คำนวณก่อนหน้านี้อย่างเป็นระบบเพื่อลดงานซ้ำซ้อน ในคำอื่น ๆ ฉันมีเมทริกซ์ และผมต้องการที่จะทำบาง precomputation ขึ้นอยู่กับที่จะทำให้การคำนวณเป็นที่มีประสิทธิภาพที่สุดเมื่อผมมารู้ทีหลังได้รับเวกเตอร์โวลต์MMMMMMMvMvMvvvv MMMเป็นเมทริกซ์ไบนารีหนาแน่นที่เป็นรูปสี่เหลี่ยมผืนผ้าที่รู้จักกันใน "เวลารวบรวม" ในขณะที่เป็นเวกเตอร์จริงที่ไม่รู้จักซึ่งรู้จักกันใน "เวลารัน" เท่านั้นvvv ตัวอย่างที่ 1: (หน้าต่างบานเลื่อน) ให้ฉันใช้ตัวอย่างเล็ก ๆ ง่ายๆเพื่ออธิบายประเด็นของฉัน พิจารณาเมทริกซ์ เผื่อว่าเราใช้เมทริกซ์นี้เพื่อเวกเตอร์จะได้รับW = Mv จากนั้นรายการของผลลัพธ์คือ \ start {align} w_1 & = v_1 + v_2 + v_3 + v_5 \\ w_2 & = v_2 + v_3 + v_4 + v_5 + …