เราสามารถสุ่มตัวอย่างเพื่อนบ้านของจุดยอดได้อย่างมีประสิทธิภาพในกราฟของ polytope หรือไม่?


15

ฉันมี polytope Pกำหนดโดย{x:Axb,x0} }

คำถาม:เมื่อพิจารณาจุดยอดvของPมีวิธีคิดเวลาแบบพหุนามที่จะสุ่มตัวอย่างจากเพื่อนบ้านของvในกราฟของPหรือไม่ (พหุนามในมิติจำนวนของสมการและการเป็นตัวแทนของb . ฉันสามารถสรุปได้ว่าจำนวนของสมการนั้นคือพหุนามในมิติ)

อัปเดต:ฉันคิดว่าฉันสามารถแสดงให้เห็นว่านี่คือ NP-hard ดูคำตอบของฉันที่อธิบายการโต้แย้ง (และโดยNPฮาร์ดฉันหมายความว่าอัลกอริทึมเวลาพหุนามจะพิสูจน์RP=NP ... ไม่แน่ใจว่าคำศัพท์ที่ถูกต้องอยู่ที่นี่)

อัปเดต 2:มีการพิสูจน์ 2 บรรทัดของNPแข็ง (ที่ระบุ polytope combinatorial ที่ถูกต้อง) และฉันก็สามารถค้นหาบทความโดย Khachiyan ดูคำตอบสำหรับคำอธิบายและลิงค์ :-D


ปัญหาที่เทียบเท่า :

ในความคิดเห็นของ Peter Shor ชี้ให้เห็นว่าคำถามนี้เทียบเท่ากับคำถามว่าเราสามารถสุ่มตัวอย่างจากจุดยอดของโพลีท็อปที่กำหนดได้อย่างสม่ำเสมอหรือไม่ (ฉันคิดว่าความเท่าเทียมกันจะเป็นดังนี้: ในทิศทางเดียวเราสามารถไปจากโพลิทอปPมีจุดยอดvถึงจุดยอดรูปที่v , P/vและการสุ่มจุดยอดของP/vเท่ากับการสุ่มตัวอย่างเพื่อนบ้านของvบนPในอีกทางหนึ่งเราสามารถไปจากโพลีท็อปPไปยังโพลีท็อปQของมิติที่สูงกว่าหนึ่งโดยการเพิ่มกรวยด้วยเอเพ็กซ์vและฐานP. จากนั้นการสุ่มตัวอย่างเพื่อนบ้านของvในQเท่ากับการสุ่มตัวอย่างจุดยอดของP )

การกำหนดคำถามนี้ถูกถามก่อนหน้านี้: /mathpro/319930/sampling-uniformly-from-the-vertices-of-a-polytope



ฉันไม่รู้คำตอบสำหรับคำถามของคุณ แต่สำหรับความรู้ของฉันไม่มีความแข็งของ NP ที่รู้จักกันเพื่อสุ่มตัวอย่างจุดยอดของโพลีท็อปที่ให้อย่างชัดเจน ตัวอย่างเช่นรอบการสุ่มตัวอย่างโดยประมาณคือ NP-hard อย่างไรก็ตามหากมีโปรแกรมเชิงเส้นบางส่วนที่จุดยอดเข้ารหัสรอบมีโอกาสมากที่คุณจะสามารถปรับความยาวของรอบได้อย่างเหมาะสมและแก้ปัญหา Hamiltonian-Cycle
เฮงกัว

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

@HengGuo ขอบคุณสำหรับความคิดเห็นอีกครั้งพวกเขามีประโยชน์มาก คุณเคยรู้จักตัวอย่างที่ดีที่องศาแตกต่างกันอย่างไร? (ฉันไม่แปลกใจเลยว่าสิ่งนี้จะเกิดขึ้นได้สำหรับโพลีเอสเตปทั่วไปมันจะดีถ้ามีตัวอย่าง combinatorial ถ้ารู้ว่าอยู่ด้านบนหัวของคุณ)
Lorenzo Najt

พิจารณา polytope ชุดอิสระของกราฟสองฝ่าย จุดยอดสองจุด (ชุดอิสระสองชุด) เชื่อมต่อกันหากความแตกต่างสมมาตรทำให้เกิดกราฟย่อยที่เชื่อมต่อ ทีนี้, ใช้กราฟ bipartite ที่ด้านหนึ่งมีเพียงสองจุดยอด, เชื่อมต่อกับทุกจุดยอดในอีกด้านหนึ่งและv 2เพียงอันเดียว พิจารณาอิสระชุด{ V 1 }และ{ V 2 } v1v2{v1}{v2}
เฮงกัว

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

คำตอบ:


4

NP

ครั้งแรกจำ polytope การไหลเวียนของกราฟด้านล่างของหน้า 4 ของการผลิตทุกจุดของรูปทรงหลายเหลี่ยมเป็นเรื่องยาก

จุดยอดอยู่ในการติดต่อทางชีวภาพกับวัฏจักรการกำกับอย่างง่าย ดังนั้นพวกเขาจะยากที่จะตัวอย่างหรือนับจากJVV โจทย์ 5.1 :-D

พร้อมกับคำสำคัญเหล่านี้ฉันสามารถค้นหาความแข็งของผลลัพธ์การสุ่มตัวอย่างเป็นทฤษฎีบทที่ 1 ของHypergraphs ตามขวางและครอบครัวของ Polyhedral Conesโดย Khachiyan


แก้ไข: ฉันเขียนอาร์กิวเมนต์ด้านล่างและมันถูกต้อง อย่างไรก็ตามมีการโต้แย้งที่ง่ายกว่ามากซึ่งฉันจะสรุปไว้ที่นี่:

a) โดยการวิเคราะห์อัลกอริธึมย้อนรอยเพื่อแสดงจุดยอดทั้งหมดและใบหน้าของรูปทรงหลายเหลี่ยมนูน (ฟูกูดะและคณะ) มันเป็นปัญหาที่ยากมากที่จะแก้ปัญหาดังต่อไปนี้บนโพลิสtop

Ax=b,x0RnSn

vPS

yikiSk=1,,d0yikxiPS,dd|supp(x)S|

2d|supp(x)S|supp

dPS,dS

ดูเหมือนจะมีนามสกุลต่าง ๆ ของสิ่งนี้ ฉันจะอัปเดตพร้อมลิงก์เมื่อการเขียนเสร็จสิ้น


(อาร์กิวเมนต์เก่าเคยเป็นที่นี่ - อยู่ในประวัติการแก้ไขฉันลบออกเพราะยาวมากและจะรบกวนการค้นหาคำตอบที่ถูกต้องสำหรับคำถาม)


H1H0leavesd

|H0||H1|

ต้องมีบางอย่างผิดปกติกับสิ่งนี้ หากมีโพลีท็อปที่มีจุดยอดเป็น lassos และรอบง่ายเราไม่สามารถใช้การเขียนโปรแกรมเชิงเส้นเพื่อเพิ่มฟังก์ชั่นเชิงเส้นใด ๆ ที่เราต้องการมากกว่าโพลีท็อปนี้ได้หรือไม่? และนั่นจะไม่ให้เราหาบ่วงบาศที่ทอดในเวลาพหุนาม
Peter Shor

@PeterShor ฉันคิดว่าสิ่งนี้จะไม่เกิดขึ้นเพราะ polytope อาศัยอยู่ในไฮเปอร์เพลนที่กำหนดโดยการตั้งค่าผลรวมของตัวแปรขอบเป็นหนึ่ง เพื่อให้ฟังก์ชั่นนั้นมีค่าคงที่มากกว่าโพลีท็อป ฟังก์ชั่นที่แสดงถึงจำนวนของขอบคือขนาดของการสนับสนุนของเวกเตอร์ซึ่งไม่เป็นเชิงเส้นในโพลีท็อปนี้
Lorenzo Najt

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