อ่าน 9 นาที
การเรียกซ้ำของเลวินสัน
การเรียกซ้ำของเลวินสันหรือการเรียกซ้ำของเลวินสัน-เดอร์บินเป็นกระบวนการในพีชคณิตเชิงเส้นเพื่อคำนวณหาคำตอบของสมการที่เกี่ยวข้องกับเมทริกซ์โทปลิตซ์แบบเรียกซ้ำอัลกอริทึมนี้ทำงานใน...
การเรียกซ้ำของเลวินสัน
การเรียกซ้ำของเลวินสันหรือการเรียกซ้ำของเลวินสัน-เดอร์บินเป็นกระบวนการในพีชคณิตเชิงเส้นเพื่อคำนวณหาคำตอบของสมการที่เกี่ยวข้องกับเมทริกซ์โทปลิตซ์แบบเรียกซ้ำอัลกอริทึมนี้ทำงานใน เวลา Θ ( n² )ซึ่งเป็นการปรับปรุงที่ดีกว่าการกำจัดแบบเกาส์-จอร์แดนซึ่งทำงานในเวลาΘ ( n³ ) อย่างมาก
อั ลกอริทึม Levinson–Durbin ถูกเสนอครั้งแรกโดยNorman Levinsonในปี 1947 ได้รับการปรับปรุงโดยJames Durbinในปี 1960 และต่อมาได้รับการปรับปรุงให้สามารถคูณด้วย4n² และ 3n²โดยWF Trench และ S. Zohar ตามลำดับ
วิธีการประมวลผลข้อมูลอื่นๆ ได้แก่การแยกส่วนแบบ Schurและการแยกส่วนแบบ Cholesky เมื่อเปรียบเทียบกับวิธีการเหล่านี้ การเรียกซ้ำแบบ Levinson (โดยเฉพาะการเรียกซ้ำแบบ Levinson ที่แยกส่วน) มักจะเร็วกว่าในเชิง การ คำนวณ แต่มีความไวต่อความไม่แม่นยำในการคำนวณมากกว่า เช่นข้อผิดพลาดจากการปัดเศษ
อัลกอริทึม Bareiss สำหรับเมทริกซ์ Toeplitz (อย่าสับสนกับอัลกอริทึม Bareiss ทั่วไป ) ทำงานได้เร็วพอๆ กับการเรียกซ้ำของ Levinson แต่ใช้ พื้นที่ O ( n² )ในขณะที่การเรียกซ้ำของ Levinson ใช้พื้นที่เพียงO ( n ) เท่านั้น อย่างไรก็ตาม อัลกอริทึม Bareiss มีเสถียรภาพเชิงตัวเลข [ 1 ] [ 2 ] ในขณะที่ การเรียกซ้ำของ Levinson มีเสถียรภาพอย่างอ่อนที่สุด (กล่าวคือ มีเสถียรภาพเชิงตัวเลขสำหรับ ระบบ เชิง เส้น ที่มีเงื่อนไขดี ) [ 3 ]
อัลกอริทึมใหม่ที่เรียกว่าอัลกอริทึม Toeplitz ที่เร็วเชิงอะ ซิมโทติก หรือบางครั้ง เรียกว่าอัลกอริทึม Toeplitz ที่เร็วมาก สามารถแก้ปัญหาได้ใน Θ( n (log n ) p )สำหรับp ต่างๆ (เช่นp = 2, [ 4 ] [ 5 ] p = 3 [ 6 ] ) การเรียกซ้ำของ Levinson ยังคงเป็นที่นิยมด้วยเหตุผลหลายประการ ประการแรกคือเข้าใจได้ง่ายกว่าเมื่อเปรียบเทียบกัน ประการที่สองคือเร็วกว่าอัลกอริทึมที่เร็วมากสำหรับn ขนาดเล็ก (โดยปกติn < 256) [ 7 ]
อนุพันธ์
พื้นหลัง
สมการเมทริกซ์มีรูปแบบดังนี้
อัลกอริทึม Levinson–Durbin สามารถใช้ได้กับสมการใดๆ ก็ตาม ตราบใดที่Mเป็นเมทริกซ์ Toeplitz ที่ทราบค่าและมีค่าใน แนวทแยงหลักไม่เป็นศูนย์ โดยที่เป็นเวกเตอร์ ที่ทราบค่า และเป็นเวกเตอร์ตัวเลขที่ไม่ทราบค่าx iที่ยังไม่ได้กำหนด
ในบทความนี้ê iคือเวกเตอร์ที่ประกอบด้วยศูนย์ทั้งหมด ยกเว้นตำแหน่งที่iซึ่งมีค่าเป็นหนึ่ง ความยาวของเวกเตอร์จะถูกกำหนดโดยปริยายจากบริบทโดยรอบ คำว่าNหมายถึงความกว้างของเมทริกซ์ข้างต้น – Mคือ เมทริกซ์ขนาด N × Nสุดท้ายนี้ ในบทความนี้ ตัวยกหมายถึงดัชนีแบบอุปนัยในขณะที่ตัวห้อยหมายถึงดัชนี ตัวอย่างเช่น (และคำจำกัดความ) ในบทความนี้ เมทริกซ์T nคือ เมทริกซ์ขนาด n × n ที่คัดลอกบล็อก ขนาด n × nด้านบนซ้ายจากM – นั่นคือT n ij = M ij
T nก็เป็นเมทริกซ์ Toeplitz เช่นกัน ซึ่งหมายความว่าสามารถเขียนได้ดังนี้
ขั้นตอนเบื้องต้น
อัลกอริทึมนี้ดำเนินการในสองขั้นตอน ในขั้นตอนแรก จะมีการสร้างชุดเวกเตอร์สองชุด เรียกว่า เวกเตอร์ ไปข้างหน้าและ เวกเตอร์ ย้อนกลับเวกเตอร์ไปข้างหน้าใช้เพื่อช่วยในการสร้างชุดเวกเตอร์ย้อนกลับ จากนั้นสามารถทิ้งได้ทันที ส่วนเวกเตอร์ย้อนกลับนั้นจำเป็นสำหรับขั้นตอนที่สอง ซึ่งจะใช้ในการสร้างคำตอบที่ต้องการ
การเรียกซ้ำแบบ Levinson–Durbin กำหนดให้"เวกเตอร์ไปข้างหน้า" ตัวที่n ซึ่งแทนด้วย เป็นเวกเตอร์ที่มีความยาวnซึ่งสอดคล้องกับเงื่อนไขต่อไปนี้:
เวกเตอร์ย้อนกลับตัวที่nถูกกำหนดในทำนองเดียวกัน โดยเป็นเวกเตอร์ที่มีความยาวnซึ่งสอดคล้องกับเงื่อนไขต่อไปนี้:
การลดความซับซ้อนที่สำคัญสามารถเกิดขึ้นได้เมื่อMเป็นเมทริกซ์สมมาตร ในกรณี นี้ เวกเตอร์ทั้งสองจะมีความสัมพันธ์กันโดยb n i = f n n +1− i – กล่าวคือ เวกเตอร์ทั้งสองเป็นการสลับแถวของกันและกัน ซึ่งสามารถช่วยลดการคำนวณเพิ่มเติมในกรณีพิเศษนี้ได้
การหาเวกเตอร์ย้อนกลับ
แม้ว่าเมทริกซ์จะไม่สมมาตร เวกเตอร์ไปข้างหน้าและย้อนกลับลำดับที่ nก็สามารถหาได้จากเวกเตอร์ที่มีความยาวn − 1 ดังต่อไปนี้ ขั้นแรก เวกเตอร์ไปข้างหน้าอาจถูกขยายด้วยศูนย์เพื่อให้ได้:
ในการเปลี่ยนจากT n −1ไปเป็นT nคอลัมน์พิเศษที่เพิ่มเข้าไปในเมทริกซ์จะไม่รบกวนคำตอบเมื่อใช้ศูนย์เพื่อขยายเวกเตอร์ไปข้างหน้า อย่างไรก็ตามแถว พิเศษ ที่เพิ่มเข้าไปในเมทริกซ์ได้รบกวนคำตอบ และสร้างพจน์ความคลาดเคลื่อนที่ไม่ต้องการε fซึ่งเกิดขึ้นในตำแหน่งสุดท้าย สมการข้างต้นให้ค่าของมันดังนี้:
ข้อผิดพลาดนี้จะถูกส่งกลับมาในไม่ช้าและจะถูกกำจัดออกจากเวกเตอร์ไปข้างหน้าตัวใหม่ แต่ก่อนอื่น เวกเตอร์ย้อนกลับจะต้องถูกขยายในลักษณะเดียวกัน (แม้ว่าจะกลับทิศทางก็ตาม) สำหรับเวกเตอร์ย้อนกลับนั้น
เช่นเดียวกับก่อนหน้านี้ คอลัมน์พิเศษที่เพิ่มเข้าไปในเมทริกซ์ไม่ได้รบกวนเวกเตอร์ย้อนกลับใหม่นี้ แต่แถวพิเศษกลับรบกวน ในกรณีนี้ เรามีข้อผิดพลาดที่ไม่ต้องการอีกค่าหนึ่งคือε bซึ่งมีค่าดังนี้:
พจน์ความคลาดเคลื่อนทั้งสองนี้สามารถนำมาใช้สร้างเวกเตอร์ไปข้างหน้าและย้อนกลับลำดับสูงกว่าได้ดังที่อธิบายไว้ต่อไปนี้ โดยใช้คุณสมบัติความเป็นเชิงเส้นของเมทริกซ์ เอกลักษณ์ต่อไปนี้จึงเป็นจริงสำหรับทุกค่า:
ถ้า เลือกค่า αและβให้ด้านขวามือได้ผลลัพธ์เป็นê 1หรือê nแล้ว ปริมาณในวงเล็บจะตรงตามนิยามของ เวกเตอร์ไปข้างหน้าหรือเวกเตอร์ย้อนกลับลำดับที่ nตามลำดับ เมื่อเลือกค่า α และ β แล้ว ผลรวมเวกเตอร์ในวงเล็บจะง่ายและให้ผลลัพธ์ที่ต้องการ
ในการหาค่าสัมประสิทธิ์เหล่านี้จะต้องเป็นไปตามเงื่อนไขดังต่อไปนี้:
และตามลำดับ มีคุณสมบัติดังนี้:
เมื่อคูณสมการทั้งสองก่อนหน้านี้ด้วยหนึ่ง จะได้สมการต่อไปนี้:
เมื่อตัดค่าศูนย์ทั้งหมดที่อยู่ตรงกลางของเวกเตอร์ทั้งสองข้างต้นออกไปแล้ว จะเหลือเพียงสมการต่อไปนี้:
เมื่อแก้สมการเหล่านี้แล้ว (โดยใช้สูตร เมทริกซ์ผกผัน 2×2 ของ Cramer ) เวกเตอร์ไปข้างหน้าและย้อนกลับใหม่จะเป็นดังนี้:
เมื่อทำการบวกเวกเตอร์เหล่านี้แล้ว จะได้ เวกเตอร์ไปข้างหน้าและย้อนกลับลำดับที่ nจากเวกเตอร์ก่อนหน้า สิ่งที่เหลืออยู่ก็คือการหาเวกเตอร์ตัวแรกในกลุ่มนี้ จากนั้นทำการบวกและคูณอย่างรวดเร็วเพื่อหาเวกเตอร์ที่เหลือ เวกเตอร์ไปข้างหน้าและย้อนกลับตัวแรกมีดังนี้:
การใช้เวกเตอร์ย้อนกลับ
ขั้นตอนข้างต้นจะให้ เวกเตอร์ย้อนกลับ NตัวสำหรับMจากนั้นจะได้สมการที่กำหนดขึ้นเองได้ดังนี้:
วิธีแก้ปัญหาสามารถสร้างขึ้นได้ในลักษณะการเรียกซ้ำแบบเดียวกับที่สร้างเวกเตอร์ย้อนกลับ ดังนั้นจะต้องขยายไปสู่ลำดับของตัวกลางโดย ที่
จากนั้นจึงสร้างวิธีแก้ปัญหาแบบเรียกซ้ำโดยสังเกตว่าถ้า
จากนั้นขยายด้วยเลขศูนย์อีกครั้ง และกำหนดค่าคงที่ความคลาดเคลื่อนเมื่อจำเป็น:
จากนั้นเราสามารถใช้ เวกเตอร์ย้อนกลับลำดับที่ nเพื่อกำจัดพจน์ความคลาดเคลื่อนและแทนที่ด้วยสูตรที่ต้องการได้ดังนี้:
การขยายวิธีการนี้ไปจนถึงn = Nจะได้คำตอบ
ในทางปฏิบัติ ขั้นตอนเหล่านี้มักจะดำเนินการไปพร้อม ๆ กับขั้นตอนอื่น ๆ แต่ขั้นตอนเหล่านี้ประกอบกันเป็นหน่วยที่สอดคล้องกันและสมควรได้รับการพิจารณาเป็นขั้นตอนแยกต่างหาก
อัลกอริทึมบล็อกเลวินสัน
ถ้าMไม่ใช่เมทริกซ์ Toeplitz อย่างแท้จริง แต่เป็นเมทริกซ์ Toeplitz แบบบล็อก การเรียกซ้ำของ Levinson สามารถหาได้ในลักษณะเดียวกันโดยพิจารณาเมทริกซ์ Toeplitz แบบบล็อกว่าเป็นเมทริกซ์ Toeplitz ที่มีองค์ประกอบเมทริกซ์ (Musicus 1988) เมทริกซ์ Toeplitz แบบบล็อกเกิดขึ้นตามธรรมชาติใน อัลกอริธึม การประมวลผลสัญญาณเมื่อต้องจัดการกับกระแสสัญญาณหลายกระแส (เช่น ใน ระบบ MIMO ) หรือสัญญาณไซโคลสเตชันนารี
ดูเพิ่มเติม
หมายเหตุ
- ^โบยานซีคและคณะ (1995)
- ^เบรนต์ (1999)
- ^กฤษณะและหวัง (1993)
- ^ "สำเนาที่เก็บถาวร" (PDF)เก็บถาวรจากต้นฉบับ(PDF)เมื่อ 25 มีนาคม 2012 เรียกดูเมื่อ 1 เมษายน2013
{{cite web}}: CS1 maint: archived copy as title (link) - ^ "สำเนาที่เก็บถาวร" (PDF)เก็บถาวรจากต้นฉบับ(PDF)เมื่อวันที่ 15 พฤศจิกายน 2552 เรียกดูเมื่อวันที่ 28 เมษายน 2552
{{cite web}}: CS1 maint: archived copy as title (link) - ^ "สำเนาที่เก็บถาวร" (PDF) . saaz.cs.gsu.edu . เก็บถาวรจากต้นฉบับ(PDF)เมื่อวันที่ 18 เมษายน 2550 . เรียกดูเมื่อวันที่ 12 มกราคม 2565 .
{{cite web}}: CS1 maint: archived copy as title (link) - ^ "สำเนาที่เก็บถาวร" (PDF)เก็บถาวรจากต้นฉบับ(PDF)เมื่อวันที่ 5 กันยายน 2549 เรียกดูเมื่อวันที่ 15 สิงหาคม 2549
{{cite web}}: CS1 maint: archived copy as title (link)
สรุปเนื้อหา
ข้อมูลสำคัญจากบทความ
ข้อมูลสำคัญเกี่ยวกับ การเรียกซ้ำของเลวินสัน
การเรียกซ้ำของเลวินสันหรือการเรียกซ้ำของเลวินสัน-เดอร์บินเป็นกระบวนการในพีชคณิตเชิงเส้นเพื่อคำนวณหาคำตอบของสมการที่เกี่ยวข้องกับเมทริกซ์โทปลิตซ์แบบเรียกซ้ำอัลกอริทึมนี้ทำงานใน...
ขั้นตอนเบื้องต้น
อัลกอริทึมนี้ดำเนินการในสองขั้นตอน ในขั้นตอนแรก จะมีการสร้างชุดเวกเตอร์สองชุด เรียกว่า เวกเตอร์ ไปข้างหน้า และ เวกเตอร์ ย้อนกลับ เวกเตอร์ไปข้างหน้าใช้เพื่อช่วยในการสร้างชุดเวกเตอร์ย้อนกลับ จากนั้นสามารถทิ้งได้ทันที...
การหาเวกเตอร์ย้อนกลับ
แม้ว่าเมทริกซ์จะไม่สมมาตร เวกเตอร์ไปข้างหน้าและย้อนกลับลำดับที่ n ก็สามารถหาได้จากเวกเตอร์ที่มีความยาว n − 1 ดังต่อไปนี้ ขั้นแรก เวกเตอร์ไปข้างหน้าอาจถูกขยายด้วยศูนย์เพื่อให้ได้:
การใช้เวกเตอร์ย้อนกลับ
ขั้นตอนข้างต้นจะให้ เวกเตอร์ย้อนกลับ N ตัวสำหรับ M จากนั้นจะได้สมการที่กำหนดขึ้นเองได้ดังนี้: