Sparse Walsh-Hadamard Transform


15

วอลช์-Hadamard แปลง (WHT)เป็นลักษณะทั่วไปของฟูเรียร์และเป็นมุมฉากเปลี่ยนแปลงในเวกเตอร์ของตัวเลขจริงหรือซับซ้อนของมิติเมตร การแปลงรูปได้รับความนิยมในการคำนวณควอนตัม แต่ได้มีการศึกษาเมื่อไม่นานมานี้ว่าเป็นสิ่งที่จำเป็นสำหรับการคาดคะเนของเวกเตอร์มิติสูงเพื่อใช้ในการพิสูจน์ Johnson-Lindenstrauss Lemma คุณสมบัติหลักของมันคือแม้ว่ามันจะเป็นเมทริกซ์สี่เหลี่ยมจัตุรัสd × dแต่มันสามารถนำไปใช้กับเวกเตอร์ในเวลาO ( d log d ) (แทนที่จะเป็นd=2md×dO(dlogd) ) โดยวิธีการแบบ FFTd2

สมมติว่าเวกเตอร์ใส่เป็นป่าโปร่ง : มันมีเพียงไม่กี่รายการภัณฑ์ (พูด ) มีวิธีใดที่จะคำนวณ WHT ในเวลาf ( r , d )เช่นนั้นf ( d , d ) = O ( d log d )และ f ( r , d ) = o ( d log d )สำหรับr = o ( d ) ?rdf(r,d)f(d,d)=O(dlogd)f(r,d)=o(dlogd)r=o(d)

หมายเหตุ: ความต้องการเหล่านี้เป็นเพียงวิธีหนึ่งในการมอบความคิดที่ว่าฉันต้องการอะไรบางอย่างที่วิ่งเร็วกว่าสำหรับขนาดเล็กและRdlogdr


ฉันแน่ใจว่าคุณทราบถึงการสังเกตง่าย ๆ สองข้อต่อไปนี้ แต่อย่างไรก็ตามฉันจะจดบันทึกไว้สำหรับผู้อ่านรายอื่น: (1) การคูณที่ตรงไปตรงมาให้เวลา O (rd) มันจะดีกว่า O (d log d) ก็ต่อเมื่อ r = o (log d) (2) แม้ว่าเวกเตอร์อินพุตจะเบาบางเอาต์พุตจะไม่กระจัดกระจายโดยทั่วไป นี่หมายความว่าเราไม่สามารถหวังให้ f (r, d) เป็น o (d) แม้สำหรับ r = 1
Tsuyoshi Ito

4
คุณรู้ไหมว่าคำตอบสำหรับคำถามเดียวกันนี้สำหรับการแปลงฟูริเยร์คืออะไร?
Robin Kothari

Tsuyoshi: ใช่ฉันรู้ (1) และที่จริงแล้วสิ่งที่ทำสำหรับแอปพลิเคชันที่ต้องการสิ่งนี้ สำหรับ (2) ก็เป็นจริงเช่นกัน Robin นั่นเป็นประเด็นที่ดี - ฉันไม่รู้อะไรเกี่ยวกับ FT และอันที่จริงแล้วอาจเป็นจุดเริ่มต้นที่ดีในการขุด
Suresh Venkat

ปรากฎว่าฉันควรจะขุดวิกิพีเดีย หน้า FFT กล่าวถึงเอกสารสองฉบับที่อาจเกี่ยวข้องกับปัญหาการคำนวณการกระจัดกระจาย
Suresh Venkat

คำตอบ:


6

ดัชนีแถว WHT โดยจำนวนเต็ม x สำหรับ d ดังนั้น x จึงมีล็อก d บิต ในทำนองเดียวกันดัชนีคอลัมน์ ตำแหน่ง (x, y) คือ( - 1 ) x , y โดยที่เลขชี้กำลังเป็นผลคูณดอทของบันทึกความยาว d สมมติว่า r เป็นกำลังของ 2 โดยปัดเศษขึ้นหากจำเป็น แบ่งเมทริกซ์ dxr ออกเป็นบล็อก rxr โดยให้บิตล็อก r แรกแตกต่างกันและแก้ไขบิตล็อกอื่น ๆ (d / r) บิตในแต่ละวิธี d / r บล็อก rxr นี้เป็นเมทริกซ์ WHT ที่เล็กกว่าของขนาด r ยกเว้นบางคอลัมน์อาจหายไปทำซ้ำหรือลบล้าง ไม่ว่าในกรณีใด preprocess เวกเตอร์ได้อย่างง่ายดายจากนั้นทำ rxr WHT ในเวลา r log r จากนั้นทำซ้ำ d / r ครั้งรวมเวลา d log r0x<d(-1)x,Y

ตัวอย่าง:

d = 4

WHT H คืออะไร

++++
+-+-
++--
+--+

ชุดของคอลัมน์โดยพลการคือ 00 และ 10 (ซ้ายสุดและสองคอลัมน์ถัดไป):

++
++
+-
+-

บล็อคแถวนั้น

++
++

และ

--
--

(a,)T(a+,0)T

++
+-

(a,)T(-a-,0)T

++
+-
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.