การกู้คืนจุดที่ฝังจากกราฟที่มีขอบถ่วงน้ำหนักด้วยระยะห่างระหว่างจุด


10

สมมติว่าฉันให้กราฟที่ไม่ได้บอกทิศทางด้วยขอบถ่วงน้ำหนักและบอกคุณว่าแต่ละโหนดสอดคล้องกับจุดในพื้นที่ 3 มิติ เมื่อใดก็ตามที่มีขอบระหว่างสองโหนดน้ำหนักของขอบคือระยะห่างระหว่างจุด

เป้าหมายของคุณคือการสร้างตำแหน่งสัมพัทธ์ของคะแนนใหม่โดยกำหนดระยะห่างที่ใช้ได้ (แสดงด้วยน้ำหนักขอบ) ตัวอย่างเช่นถ้าฉันให้คุณก็รู้ว่าจุดนั้นเป็นจุดยอดของจัตุรมุข . คุณไม่รู้ว่ามันเกี่ยวข้องกับต้นกำเนิดหรือทิศทางของมันหรือว่ามันถูกสะท้อน แต่คุณสามารถบอกได้ว่ามันเป็นจัตุรมุขd0,1=d0,2=d0,3=d1,2=d1,3=d2,3=1

โดยทั่วไปแล้วปัญหาจะง่ายถ้าฉันให้ความยาวขอบทั้งหมด เพียงแค่เลือกจุดโดยพลการที่( 0 , 0 , 0 )จากนั้นเลือกจุดที่อยู่ใกล้เคียงp 1และวางไว้ที่( d 0 , 1 , 0 , 0 )จากนั้นเพื่อนบ้านทั่วไปp 2จะได้รูปสามเหลี่ยม ระนาบ XY จากนั้นเพื่อนบ้านสามัญคนสุดท้ายp 3จะได้รับการวิเคราะห์ตำแหน่งในครึ่งพื้นที่z > 0p0(0,0,0)p1(d0,1,0,0)p2p3z>0และทำลายความสมมาตรที่เหลืออยู่ (สมมติว่าคุณไม่ได้รับคะแนนที่ลดลง) คุณสามารถใช้จุดสี่จุดเหล่านี้เพื่อวิเคราะห์สามเหลี่ยมที่เหลือทั้งหมด

ในทางกลับกันเมื่อความยาวของขอบหายไปอาจไม่สามารถกู้คืนการฝังได้ ตัวอย่างเช่นหากมีจุดสุดยอดที่ตัดการเชื่อมต่อกราฟเมื่อตัดจากนั้นองค์ประกอบทั้งสองนั้นจะแยกออกหากถอดออกสามารถแกว่งไปรอบ ๆ สัมพันธ์

ซึ่งทำให้เกิดคำถาม:

  • มันแพงแค่ไหนที่จะหาทางออก?
  • คุณจะตัดสินได้อย่างไรว่าโซลูชันนั้นมีเอกลักษณ์เฉพาะตัวหรือไม่ขึ้นกับการแปล / การหมุน / การสะท้อน การเชื่อมต่อ 3 อย่างเพียงพอหรือไม่ จำเป็น?
  • เงื่อนไขอะไรที่ทำให้เกิดปัญหาเล็กน้อย?
  • ถ้าฉันไม่สัญญาว่าน้ำหนักของขอบนั้นสอดคล้องกับระยะทางของบาป 3d ค่าใช้จ่ายในการพิจารณาว่าการฝังเป็นไปได้หรือไม่?

รู้สึกเหมือนเป็นปัญหาการเรียนรู้ของเครื่องสำหรับฉัน ...
vzn

ฉันไม่รู้ว่าจะเลือกคำตอบไหน ทุกอย่างดีในรูปแบบที่ไม่ทับซ้อนกัน ได้รับการโหวตสูงสุด!
Craig Gidney

คำตอบ:


5

วิธีอัลกอริทึมวิธีหนึ่งในการแก้ปัญหานี้ให้ถือว่าเป็นชุดของโหนดเชื่อมต่อกันด้วยสปริงจากนั้นปล่อยให้พวกเขาตกลง / ผ่อนคลายเป็นรูปร่าง

ขอบแต่ละอันสอดคล้องกับสปริง ถ้าระยะห่างระหว่างจุดvและwควรจะเป็นd v , wดังนั้นสปริงจึงถูกเลือกดังนั้นจึงเป็นการดีที่ต้องการความยาวd v , w (อาจยาวกว่าหรือสั้นกว่าได้ ตอนนี้เราต้องการที่จะแก้ปัญหาสำหรับชุดของตำแหน่งที่ลดพลังงานรวม สมมติว่าแต่ละจุดสุดยอดวีจะอยู่ที่จุดx วีR 3 จากนั้นพลังงานรวมของข้อตกลงนี้จะเป็น(v,w)vwdv,wdv,wvxvR3

E(x)=(v,w)E(distance(xv,xw)dv,w)2.

นี่ 's จะได้รับ (พวกเขาเป็นน้ำหนักบนขอบ) และเราต้องการที่จะแก้สำหรับx วี ' s (พวกเขาเป็นพิกัดของจุด)dv,wxv

เราสามารถแก้ปัญหาสำหรับการจัดเรียงที่ลดพลังงานทั้งหมดนี้ ข้อตกลงนี้ให้ผู้สมัครที่มีเหตุผลสำหรับตำแหน่งของคะแนน นี่เป็นปัญหาการปรับให้เหมาะสมและมีเทคนิคมาตรฐานสำหรับการแก้ปัญหาการเพิ่มประสิทธิภาพประเภทนี้ ดูตัวอย่างบทความNetwork Solutionsโดย Erica Klarreichx

ฉันไม่คิดว่าจะมีการรับประกันใด ๆ ซึ่งจะให้โซลูชันที่ต้องการถูกต้อง อาจเป็นไปได้ว่าปัญหาการปรับให้เหมาะสมอาจมีความเหมาะสมที่แตกต่างกันซึ่งไม่ได้สะท้อนถึงการจัดเรียงของคะแนนที่คุณต้องการ อย่างไรก็ตามหากกราฟของคุณมีความหนาแน่นเพียงพอฉันสงสัยว่ามันอาจใช้งานได้และให้ทางออกที่ต้องการ


เชิงอรรถ: แน่นอนแม้ในกรณีที่ดีที่สุดเราสามารถแก้ปัญหานี้ได้เฉพาะการแปลการหมุนและการสะท้อนเนื่องจากการเปลี่ยนแปลงเหล่านั้นรักษาระยะทางทั้งหมด ดังนั้นคุณจึงไม่สามารถคาดหวังโซลูชันที่ไม่ซ้ำใคร - แต่คุณอาจหวังว่าโซลูชันนี้มีเอกลักษณ์เฉพาะในการแปลการหมุนและการสะท้อนกลับ


สุดท้ายมีการทำงานจำนวนมากในการฝังกราฟลงในช่องว่างในขณะที่ลดการบิดเบือนของการฝัง มันเกี่ยวข้องกันมาก คุณมีพื้นขอฝังศูนย์การบิดเบือนเข้า 2 ดังนั้นเทคนิคที่พัฒนาในบริบทนั้นอาจมีประโยชน์สำหรับปัญหาของคุณเช่นกัน โดยทั่วไปแล้วงานนั้นจะมุ่งเน้นไปที่การหาการฝังแบบผิดเพี้ยนต่ำเพราะงานนั้นจะเน้นไปที่กรณีที่ไม่มีการฝังแบบสมบูรณ์แบบที่ทำให้ระยะทางตรงกันทั้งหมดดังนั้นแทนที่จะมองหาวิธีการแก้ปัญหาความบิดเบี้ยวต่ำ เข้ากันได้ดีทีเดียว) - เพื่อให้งานมุ่งเน้นไปที่ปัญหาที่แตกต่างกันเล็กน้อย อย่างไรก็ตามเป็นไปได้ว่าเทคนิคของพวกเขาอาจมีประสิทธิภาพในสถานการณ์ของคุณเช่นกัน มันคุ้มค่าที่จะลอง.22


4

ปัญหาคือ NP-สมบูรณ์ ตำแหน่งของคะแนนเป็นใบรับรองที่ดีดังนั้นมันจึงอยู่ใน NP และคุณสามารถเข้ารหัสวงจรใน "มีชุดคะแนนที่น่าพอใจหรือไม่" ปัญหา.

การลดลงของการประเมินผลวงจรถึงการฝังระยะทาง

เราจะลดการประเมินวงจรลงในปัญหาการฝังระยะทางโดยการสร้างระบบพิกัดวางบิตโลจิคัลในบิตการเดินสายไฟให้เท่ากันและสร้างวิดเจ็ตสำหรับ NOT และประตู

  1. พิกัด เราต้องการระบบพิกัดบางอย่างที่เราสามารถวางตำแหน่งคะแนนด้วย ทำได้โดยสร้างจัตุรมุขคะแนน เพิ่มจุดสี่ทั้งหมดที่ประกาศว่าจะเป็นระยะทางจากแต่ละอื่น ๆ สิ่งนี้บังคับให้รูปร่างของสี่จุดเหล่านั้นกลายเป็นจัตุรมุข เราสามารถวางตำแหน่งจุดอื่น ๆ ที่สัมพันธ์กับระบบพิกัดจัตุรมุขของเราโดยการระบุระยะทางไปยังแต่ละมุมทั้งสี่ของฐาน จัตุรมุขสามารถแปลและหมุนและสะท้อน แต่สิ่งเดียวกันจะเกิดขึ้นกับจุดอื่น ๆ เช่นกัน1

  2. เกร็ด ในการสร้างบิตเราวางตำแหน่งของจุดสามเหลี่ยมที่สัมพันธ์กับจัตุรมุขฐาน ปกติของรูปสามเหลี่ยมจะต้องชี้ขึ้นไปตามแกน Z เพื่อให้สามเหลี่ยมขนานกับระนาบ XY (ในพิกัดจัตุรมุข) นอกจากนี้ยังขอบของมันจะต้องมีความยาว1เมื่อทำเช่นนั้นแล้วเราจะเพิ่ม "ค่า" จุดvซึ่งระบุให้เป็นระยะทาง1จากอีกสามค่า เราไม่เชื่อมต่อvกับระบบพิกัดพื้นฐาน สิ่งนี้ทำให้ได้สองตำแหน่งที่เป็นไปได้: กึ่งกลาง11v1vด้านบนหรือด้านล่างของสามเหลี่ยมเป็นมุมสุดท้ายของจัตุรมุข บิตคือเปิดถ้าจุดอยู่เหนือรูปสามเหลี่ยมและปิดถ้าอยู่ด้านล่าง13

  3. สายไฟ เราสามารถบังคับให้สองบิตให้เท่ากันโดยบอกระยะห่างระหว่างจุดค่าของพวกเขาเท่ากับระยะห่างระหว่างจุดศูนย์กลางของสามเหลี่ยม มีข้อยกเว้นหนึ่งประการคือเมื่อมุมด้านบนหรือด้านล่างของบิตใดบิตหนึ่งตรงกับระนาบกึ่งกลางของอีกอันหนึ่ง ในกรณีนั้นเราใช้ลวดเพื่อย้ายหนึ่งบิตในแนวตั้ง

  4. ไม่ เราจะได้รับการปฏิเสธของบิตโดยการเพิ่มจุดค่าที่สองสามเหลี่ยมเดียวกัน แต่ต้องว่าWเป็นระยะทางของ2wwจากโวลต์ กองกำลังนี้Wจะใช้ตำแหน่งตรงข้ามของโวลต์ที่เกี่ยวกับรูปสามเหลี่ยมให้เรานิดที่มีค่าตรงข้าม23vwv

  5. IMPLIES ปัญหาระยะเท่ากันที่เราต้องแก้ไขด้วยสายไฟนั้นมีประโยชน์จริง ๆ เมื่อบิตเรียงกันในลักษณะนั้นซึ่งเราสามารถบังคับได้ด้วยเส้นลวดในแนวตั้ง หากสูงกว่าเป็นจริงเฉพาะด้านบนของล่างคือระยะห่างที่เหมาะสม หากสูงกว่าเป็นเท็จทั้งด้านบนและด้านล่างเป็นระยะทางที่ถูกต้องออกไป

  6. และ . ในการทำให้ bit เท่ากับA AND Bเราจำเป็นต้องมีสองนัยและวิดเจ็ตเพื่อบังคับให้เท่าเทียมกันเมื่อAและBเห็นด้วย ความหมายเป็นเพียงCCABABและ CCA . ในการทำให้วิดเจ็ตเราเคลื่อนที่ Aและ B ในแนวตั้งดังนั้นพวกมันจึงอยู่ในระดับเดียวกันและระยะทาง 2CBABห่างกันจากนั้นเราย้ายCให้มีระยะห่างเท่ากันระหว่างพวกเขา จากนั้นเราเพิ่มจุดSAและSBระยะทาง23CSASBจากคะแนนAและBตามลำดับและบังคับระยะห่างระหว่างSAและSBให้เป็น2123ABSASB . นอกจากนี้เรายังเพิ่มจุดSCระยะทาง2+13SCจากทั้งSและSB สิ่งนี้จะสร้างสายโซ่ระหว่างจุดมูลค่าของAและBกับSCที่ศูนย์กลางของโซ่ เมื่อA2+123SASBABSCโซ่นั้นจะถูกยืดออกไปจนถึงขีด จำกัด และ S Cนั้นจะอยู่ตรงกลางของสามเหลี่ยม C เมื่อ = Bการเชื่อมโยงห่วงโซ่ถูกบังคับให้ไปในทิศทางตรงข้ามแน่นอนผลักดันมันถึงขีด จำกัด และการวาง S Cใน Cจุดค่า 's เท่ากับ เพื่อบังคับให้ CABSCCA=BSCCACค่าจุดเราแทรกจุด a ระยะทาง1SDจากทั้งS123จุดค่าของ Cและ C นี้ไม่ได้ จำกัด Cจุดค่า 's เมื่อBแต่กองกำลัง = B = Cเมื่อ = BSCCCABA=B=CA=B

ด้วยองค์ประกอบเหล่านี้คุณสามารถเข้ารหัสวงจรใด ๆ ในการฝังระยะทาง อินพุตกลายเป็นบิตประตูถูกย่อยสลายเป็น NOTs และ ANDs จะแนะนำบิตใหม่ตามความจำเป็นและนั่นก็คือ บังคับให้ตำแหน่งของผลลัพธ์เป็นจริงและคุณจะได้รับปัญหาความพึงพอใจของคุณ


3

คำตอบบางส่วนเกี่ยวกับความเป็นเอกลักษณ์ : การเชื่อมต่อ 3 อย่างไม่เพียงพอ

ตัวอย่างตัวนับขั้นต่ำ: คิวบ์กราฟ ( ของตระกูล Hypercube Graph )Q3

ป้อนคำอธิบายรูปภาพที่นี่

หากต้องการดูว่าการตรึงความยาวของขอบทั้งหมดในไม่ได้ให้ตำแหน่งของจุดยอดในพื้นที่ 3 มิติที่มีเอกลักษณ์เฉพาะในการแปล / การหมุน / การสะท้อนให้ดูที่วิธีที่คุณสามารถแผ่กล่องกระดาษแข็งออกได้ .Q3

นำมุมของกล่องกระดาษแข็งมาเป็นจุดสนใจ แต่ละมุมของกล่องกระดาษแข็งมีระยะห่างคงที่จากมุมอื่น ๆ

ในขณะที่กราฟผลลัพธ์มีขอบมากกว่าแต่ก็ยังช่วยให้กล่องกระดาษแข็งแบนลง --- การแปลงที่ไม่สามารถผลิตได้โดยการแปล / การหมุน / การสะท้อนQ3


ฉันไม่ค่อยทำตาม อย่างไรก็ตามฉันรู้ว่าคุณสามารถเปลี่ยน 3-connectness ให้เป็น 1-connectedness ได้อย่างมีประสิทธิภาพ ดังนั้นการเชื่อมต่อ 3 แบบดิบจึงไม่เพียงพอ
Craig Gidney

@DW ฉันขยายการโต้แย้งตามที่แนะนำ ฉันไม่ได้ทำให้คุณทะเลาะกันเพราะfour points laying above or below the other fourสามารถแปลงร่างเป็นกันและกันโดยการสะท้อน
อภิวัฒน์จันทวิบูลย์

ที่สมบูรณ์แบบ! นั่นทำให้ฉันสับสนอย่างมาก ขอบคุณ Billiska ความเข้าใจที่ลึกซึ้ง คำถามติดตามในกรณีที่คุณมีข้อมูลเชิงลึกที่สวยงามซึ่งครอบคลุมคำถามนี้: มีตัวอย่างที่แสดงให้เห็นว่า "ความเชื่อมโยง 3 มิติบวกกับการดำรงอยู่อย่างน้อย 4 กลุ่ม ( )" ไม่เพียงพอหรือไม่ ทั้ง? K4
DW

@DW ขอบคุณ และเกี่ยวกับมุมทั้งสี่ของกล่องใบหน้ามีระยะห่างคงที่ซึ่งกันและกันทำให้เกิดข้อ จำกัดK 4 K4K4
อภิวัฒน์จันทวิบูลย์

3

สิ่งนี้เรียกว่าปัญหาต่อไปนี้และเกิดขึ้นเช่นกับการสร้างพิกัดจากเครือข่ายเซ็นเซอร์ที่สามารถวัดระยะทางไปยังโหนดใกล้เคียงได้ & บทความนี้สามารถทำหน้าที่เป็นแบบสำรวจขนาดเล็กพร้อมกับอัลกอริธึมชั้นนำ วิธีการชั้นนำเป็นที่รู้จักกันในชื่อการฉายมูลค่าเอกพจน์อีกการประเมินมูลค่าเอกพจน์ อัลกอริทึมโดยทั่วไปจะขึ้นอยู่กับพีชคณิตเมทริกซ์และการลดอันดับ กระดาษใช้ทั้งอัลกอริทึมและให้การวิเคราะห์เชิงประจักษ์

การสร้างระยะทางแบบยุคลิดจากข้อมูลระยะทางบางส่วน Xu, Chen

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