โครงสร้างข้อมูลสำหรับเคียวรีผลิตภัณฑ์จุดต่ำสุด


19

Rn,mv1,v2,,vmxRnต่ำสุดฉันx , v ฉันminix,viO ( n m )O(nm) n = 2 n=2O ( บันทึก2 m )O(log2m)

สิ่งเดียวที่ฉันสามารถทำได้คือ มันเป็นผลที่ตามมาทันทีของจอห์นสัน - Lindenstrauss บทแทรกที่ทุก ๆε > 0ε>0และการกระจายDDบนR nRnมีการทำแผนที่เชิงเส้นf : R nR O ( บันทึกm )f:RnRO(logm) (ซึ่งสามารถประเมินได้ในเวลาO ( n log m )O(nlogm) ) เช่นนั้นP r x D [ix , วีฉัน- ε ( x + วีฉัน) 2F ( x ) , F ( วีฉัน ) x , วีฉัน+ ε ( x + วีฉัน) 2 ]1 - εPrxD[ix,viε(x+vi)2f(x),f(vi)x,vi+ε(x+vi)2]1ε\ ดังนั้นในเวลาO ( ( n + m ) บันทึกm )O((n+m)logm)เราสามารถคำนวณได้สิ่งที่อยู่ในความรู้สึกใกล้กับminix,viminix,viสำหรับส่วนใหญ่ของxx (อย่างน้อยถ้าบรรทัดฐานxxและviviมีขนาดเล็ก)

UPDขอบเขตที่กล่าวถึงข้างต้นสามารถเพิ่มความคมชัดให้กับเวลาO(n+m)O(n+m)หากเราใช้การแปลงค่าตามพื้นที่ แม่นยำมากขึ้นเราเลือกk:=O(1ε2)k:=O(1ε2)เวกเตอร์เสียนอิสระr1,r2,,rkr1,r2,,rkr_k จากนั้นเราแมปRnRnถึง{0,1}k{0,1}kดังนี้: วี( R 1 , วี0 , R 2 , วี0 , ... , R k , วี0 )v(r1,v0,r2,v0,,rk,v0)0) จากนั้นเราสามารถประมาณมุมระหว่างเวกเตอร์สองตัวภายในข้อผิดพลาดการเติมεεโดยการคำนวณ11ระยะทางในภาพของการทำแผนที่นี้ ดังนั้นเราสามารถประมาณผลิตภัณฑ์ดอทภายในข้อผิดพลาดของสารเติมแต่งε x วีฉันεxviในO ( 1)ε 2 )O(1ε2)เวลา



ฉันไม่แน่ใจว่าสิ่งนี้ใช้งานได้หรือไม่ แต่เป็นปัญหาของคุณ (หลังจากเปลี่ยนเครื่องหมายของ v_i เพื่อแปลงเป็นขนาดสูงสุด) ดูเหมือนว่าไดอะแกรม Voronoi อาจเป็นไปได้ในการปรับเปลี่ยนอัลกอริทึมสำหรับไดอะแกรม Voronoi กับปัญหานี้ แต่ถึงแม้ว่ามันจะเป็นไปได้มันอาจจะมีประโยชน์สำหรับ n ขนาดเล็กเท่านั้น
Tsuyoshi Ito

ฉันไม่รู้ว่านี่เป็นการสังเกตแบบเดียวกันหรือไม่ ... xทั้งหมดxxสามารถทำให้เป็นเวกเตอร์หน่วยได้และไม่เปลี่ยนผลลัพธ์เราสามารถทำทุกอย่างในหน่วย n-cube ที่มีศูนย์กลางอยู่ที่จุดกำเนิด ค้นหาว่าภูมิภาคใดของคิวบ์ลดขนาดผลิตภัณฑ์ดอทด้วยv ฉันviสำหรับแต่ละผมi (แต่ละภูมิภาคจะต้องเป็นโพลีท็อป) ฉันไม่มีข้อผูกมัดกับจำนวนโพลิปท็อป ถ้ามันน้อยกว่าเลขชี้กำลังเป็นไม่nmคุณมีสิ่งที่ดีกว่าO ( n m )O(nm)โดยทำเคียวรีตำแหน่งจุด n มิติ
Chao Xu

พารามิเตอร์ใดที่คุณสนใจอีก โดยปกติถ้าคุณต้องการให้ sublinear เป็น m คุณจะเริ่มได้รับเลขชี้กำลังเป็น n
Suresh Venkat

@Suresh มันจะดีที่จะเข้าใจการแลกเปลี่ยนที่เป็นไปได้ที่แตกต่างกัน เวอร์ชั่นโดยประมาณก็น่าสนใจเช่นกัน
ilyaraz

บันทึกย่อ: สำหรับกรณี n = 2 การค้นหาแบบไบนารีบนฮัลล์นูนให้เวลาเคียวรีO ( บันทึกn )O(logn)
Geoffrey Irving

คำตอบ:


16

พิจารณากรณีพิเศษที่คุณเพียงแค่ต้องการตรวจสอบว่าเวกเตอร์แบบสอบถามของคุณเป็นมุมฉากกับเวกเตอร์บางส่วนในคอลเลกชันของคุณที่ประมวลผลแล้ว (นั่นคือคุณต้องการพิจารณาว่าซึ่งเวกเตอร์ที่อยู่ภายใต้การสนทนามีค่าสัมประสิทธิ์ที่ไม่เป็นลบ) กรณีนี้น่าสนใจมากminix,vi=0minix,vi=0

สมมติว่าคุณสามารถตอบคำถามในเวลาเวลาสำหรับโดยประมวลผลล่วงหน้า ( องศาของพหุนามไม่ควรขึ้นอยู่กับหรือหรือ )nO(1)m1δnO(1)m1δδ>0δ>0mO(1)nO(1)mO(1)nO(1)mmnnδδ

ในบทความ "อัลกอริธึมใหม่สำหรับความพึงพอใจสูงสุด 2 ข้อ จำกัด และความหมาย" ฉันสังเกตว่าโครงสร้างข้อมูลดังกล่าวจะช่วยให้คุณแก้ปัญหา CNF-SAT ได้ในเวลาสำหรับ , โดยที่คือจำนวนของตัวแปร นี้จะลบล้าง "Strong ชี้แจงเวลาสมมติฐาน" ที่ K-SAT ต้องใช้หลักเวลาสำหรับมากมายk2αv2αvα<1α<1vv2n2nkk

เพื่อดูว่าทำไมสมมติว่าเวลา preprocessing มีขอบเขตโดยค พิจารณาสูตร CNFกับตัวแปรและข้อ เราแบ่งชุดของตัวแปรออกเป็นสองส่วนและของขนาดและตามลำดับ แสดงรายการการมอบหมายที่เป็นไปได้ทั้งหมดให้กับตัวแปรในชิ้นส่วน (รับและมอบหมายตามลำดับ) เชื่อมโยงแต่ละส่วนที่ได้รับมอบหมายบางส่วนกับเวกเตอร์ bitโดยที่ iff the(nm)c(nm)cF V n P 1 P 2โวลต์( 1 - 1 / ( 2 ) ) V / ( 2 ) 2 โวลต์( 1 - 1 / ( 2 ) ) 2 V / ( 2 )ฉัน n W ฉันW ฉัน [ j ] = 1 jFvnP1P2v(11/(2c))v/(2c)2v(11/(2c))2v/(2c)Ainwiwi[j]=1jประโยคที่ห้าของไม่พอใจโดยดังนั้นเราจึงมีสองรายการของเวกเตอร์บิตจำนวนมากชี้แจงF A iFAi

ขอให้สังเกตว่าคือพอใจ IFF มีเวกเตอร์จากที่ได้รับมอบหมายในและเวกเตอร์จากที่ได้รับมอบหมายในดังกล่าวว่า0F w 1 P 1 w 2 P 2w 1 , w 2= 0Fw1P1w2P2w1,w2=0

ตอนนี้ให้และ preprocess โครงสร้างข้อมูลสันนิษฐานกับเวกเตอร์ทั้งหมดจากส่วนP_2สิ่งนี้ใช้เวลาตามสมมติฐาน เรียกใช้อัลกอริทึมการค้นหาบนเวกเตอร์ทั้งหมดจากผู้ที่ได้รับมอบหมายในส่วนP_1โดยสมมติฐานนี้ใช้เวลา(2C)} Let(2C)m = 2 v / ( 2 c ) P 2 n 2 v / 2 P 1 2 v ( 1 - 1 / ( 2 c ) )n O ( 1 ) m 1 - δ = n O ( 1 ) 2 v - δ v / ( 2 c ) α = 1 - δm=2v/(2c)P2n2v/2P12v(11/(2c))nO(1)m1δ=nO(1)2vδv/(2c)/ ( 2 c )α=1δ/(2c)

บางทีอาจเป็นไปได้ที่จะได้รับการประมวลผลล่วงหน้าที่มีประสิทธิภาพและเวลาสอบถามด้วยเทคนิคที่มีอยู่ อัลกอริทึม CNF-SAT ที่รู้จักกันดีที่สุดไม่ได้ตัดทอนมันออกไป (พวกมันได้อะไร ) แต่การคำนวณนั้นแรงกว่าเล็กน้อย - ในการตั้งค่านี้มันจะเหมือนกับการแก้ MAX CNF-SATnO(1)m11/(loglogm)nO(1)m11/(loglogm)2nn/lognminix,vi


! น่ากลัว แต่มันก็ไม่ได้ตัดทอนโครงสร้างข้อมูลโดยประมาณเช่นเดียวกับเวลาของแบบสอบถามเช่นO ( m p o l y ( log n ) )ซึ่งน่าสนใจเช่นกัน
ilyaraz

โดยวิธีการที่เราไม่สามารถพูดอะไรบางอย่างเช่น "ถ้ามีแม้กระทั่งโครงสร้างข้อมูลโดยประมาณด้วยเวลาแบบสอบถามที่รวดเร็ว MAX-SAT ก็จะประมาณ"
ilyaraz

ทำไมความเท่าเทียมกันที่ระบุไว้ในวรรคหนึ่งจึงถืออยู่? ฉันคิดว่าผลิตภัณฑ์ชั้นในสามารถลบได้โดยทั่วไป
Tsuyoshi Ito

ilyaraz: ใช่แม้โครงสร้างข้อมูลประมาณจะหมายถึง MAX-SAT โดยประมาณ Tsuyoshi: ขอบคุณสำหรับความเข้าใจของคุณ
Ryan Williams

6

นี่คือแนวคิดหนึ่งสำหรับคำตอบที่แน่นอนฉันสงสัยว่า Chao Xu อาจจะพูดพาดพิงถึง ก่อนอื่นให้สังเกตว่าเราอาจทำให้xเป็นปกติตามที่เจ้าชีทชี้ให้เห็น ตอนนี้พิจารณาไฮเปอร์เพลชั่วโมงปกติไปยังทิศทางที่x เป้าหมายคือการหาจุดที่ใกล้กับไฮเปอร์เพลนนี้มากที่สุด ตามความเป็นคู่สิ่งนี้สอดคล้องกับข้อความค้นหาการถ่ายภาพรังสีในการจัดเรียงของไฮเปอร์เพลนเพื่อค้นหาระนาบที่ใกล้ที่สุด "เหนือ" จุดสอบถาม เนื่องจากสามารถประมวลผลได้ล่วงหน้าความซับซ้อนหลักคือตำแหน่งของจุดและดังนั้นปัญหาของคุณจึงถูกลดลงเป็นความซับซ้อนของการทำตำแหน่งจุดในการจัดเรียงของไฮเปอร์เพลน การใช้การตัดสามารถทำได้ในเวลาO ( บันทึกn )ในn d ช่องว่าง


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