ฉันเพิ่งได้รับมอบหมายให้ทำสิ่งนี้เพื่อทำการบ้านและฉันคิดว่าฉันมี Epiphany ที่ประณีต: อัลกอริธึมของ Strassen ใช้ "ความกว้าง" ของส่วนประกอบก่อนการสรุปเพื่อใช้การดำเนินงานน้อยลง ที่ยังสามารถใช้เพื่อแยกคำตอบสุดท้าย (นี่ไม่ใช่วิธีที่ดีที่สุดที่จะพูด แต่มันยากสำหรับฉันที่จะอธิบาย)
ฉันจะใช้ตัวอย่างของการคูณจำนวนเชิงซ้อนสองตัวเข้าด้วยกันเพื่อแสดงความสมดุลของ " การทำงานกับส่วนประกอบ ":
โปรดสังเกตว่าเราใช้การคูณ 4 ตัวซึ่งส่งผลให้มีองค์ประกอบผลิตภัณฑ์ 4 ประการ :
โปรดทราบว่าองค์ประกอบสุดท้าย 2 อย่างที่เราต้องการ: ส่วนจริงและจำนวนจินตภาพของจำนวนเชิงซ้อนเป็นสมการเชิงเส้นจริง ๆ : มันคือผลรวมของผลคูณของสเกล ดังนั้นเราจึงจัดการกับสองการดำเนินการที่นี่: การเพิ่มและการคูณ
ความจริงก็คือส่วนประกอบของผลิตภัณฑ์ทั้ง 4ของเราสามารถเป็นตัวแทนของ2 ส่วนประกอบสุดท้ายของเราหากเราเพียงแค่เพิ่มหรือลบส่วนประกอบของเรา:
แต่องค์ประกอบ 2 ชิ้นสุดท้ายของเราสามารถแสดงเป็นผลรวมของผลิตภัณฑ์ นี่คือสิ่งที่ฉันมาด้วย:
หากคุณเห็นจริง ๆ แล้วเราต้องการเพียง3 องค์ประกอบผลิตภัณฑ์ที่แตกต่างเพื่อสร้างสององค์ประกอบสุดท้ายของเรา:
แต่เดี๋ยวก่อน! ตัวพิมพ์ใหญ่แต่ละตัวอยู่ในผลิตภัณฑ์ของตัวเอง! แต่การจับคือเรารู้ว่าเราสามารถสร้าง (A + B + C + D) จาก (a + b) (c + d) ซึ่งเป็นเพียงการคูณ 1
ดังนั้นในท้ายที่สุดอัลกอริทึมของเราได้รับการปรับให้ใช้น้อยลง แต่ส่วนประกอบ "อ้วนขึ้น" ซึ่งเราแลกเปลี่ยนปริมาณการคูณเพื่อการดำเนินการรวมที่มากขึ้น
ส่วนหนึ่งของสิ่งที่ทำให้สิ่งนี้เป็นคุณสมบัติการกระจายซึ่งทำให้ A (B + C) เทียบเท่ากับ (AB + AC) ขอให้สังเกตว่าการคำนวณครั้งแรกสามารถทำได้โดยใช้ 1 เพิ่มและ 1 คูณการดำเนินงานในขณะที่สองต้องคูณ 2 และ 1 ผลรวม
อัลกอริทึมของ Strassenเป็นส่วนเสริมของการเพิ่มประสิทธิภาพที่เรานำไปใช้กับผลิตภัณฑ์จำนวนเชิงซ้อนยกเว้นมีข้อกำหนดของผลิตภัณฑ์เป้าหมายมากขึ้นและส่วนประกอบของผลิตภัณฑ์ที่เป็นไปได้มากขึ้นที่เราสามารถใช้เพื่อรับเงื่อนไขเหล่านั้น สำหรับเมทริกซ์ 2x2 นั้นอัลกอริทึมของ Strassen morphs อัลกอริทึมที่ต้องการ 8 การคูณกับหนึ่งที่ต้องการ 7 การคูณและใช้ประโยชน์จากคุณสมบัติการกระจายเพื่อ "ผสาน" การคูณสองการรวมกันเป็นหนึ่งการดำเนินการและแทนที่จะออกจากโหนด "อ้วน" ใหม่ เงื่อนไขสินค้าหรืออื่น ๆ ฯลฯ
ตัวอย่างที่ดี: ในการรับ (-1) และ (2) และ (5) คุณสามารถคิดได้ว่าเป็นเพียง (-1), (2), (5) หรือคุณสามารถคิดได้ว่าเป็น (2-3) ), (2), (2 + 3) แม้ว่าการดำเนินการครั้งที่สองจะใช้ตัวเลขที่แตกต่างกันน้อยลง สิ่งที่จับได้คือจำนวนของจำนวนที่แตกต่างกันนั้นเท่ากับจำนวนส่วนประกอบของผลิตภัณฑ์ที่คุณต้องการคำนวณสำหรับการคูณเมทริกซ์ เราเพียง แต่ปรับให้เหมาะสมสำหรับสิ่งนี้เพื่อค้นหามุมมองบางอย่างของการดำเนินการพื้นฐานที่ใช้ประโยชน์จากผลลัพธ์ isomorphic โดยใช้รูปแบบที่แตกต่างกันผ่านคุณสมบัติการกระจาย
บางทีนี่อาจเชื่อมโยงกับทอพอโลยีในบางวิธี? นี่เป็นเพียงวิธีการทำความเข้าใจของคนธรรมดาของฉัน
แก้ไข:นี่คือภาพของบันทึกย่อของฉันฉันเข้าสู่กระบวนการทำให้คำอธิบายจำนวนเชิงซ้อน: