ฉันมีข้อสังเกตสองสามข้อซึ่งยาวเกินไปสำหรับความคิดเห็น นี่คือบทสรุป
อัลกอริทึมใด ๆ ในการแก้ปัญหาของคุณสามารถใช้เพื่อแก้ปัญหาโปรแกรมเชิงเส้นได้อย่างแน่นอน (เช่น "การเขียนโปรแกรมเชิงเส้นแรง" ซึ่งใช้ในการแก้ปัญหาของ Sariel และปัจจุบันไม่มีอัลกอริทึมเวลาพหุนาม)
การติดตามอย่างเป็นธรรมชาติคือถ้าการแก้ปัญหาโดยประมาณ (เช่น "การเขียนโปรแกรมเชิงเส้นอ่อน") สามารถให้โซลูชันได้ ในขณะที่คำตอบคือใช่ปรากฏว่าเงื่อนไขการหยุดสำหรับโพรซีเดอร์นี้ต้องการปริมาณที่ไม่สามารถคำนวณได้ในเวลาที่ดีที่สุดของความรู้ของฉัน (เช่นอัลกอริทึมค้นหาสิ่งที่ดี แต่การรับรองนี้เป็นเรื่องยาก) คำแนะนำหลักของฉันที่นี่คือการให้คำจำกัดความที่มีความหมายของ "ϵ- ทางออกที่ดีที่สุด "สำหรับปัญหาของคุณซึ่งในกรณีนี้วิธีการนี้จะสามารถจัดการได้ง่าย (กลยุทธ์นี้จะทำให้ใบหน้าเล็ก ๆ ของรูปทรงหลายเหลี่ยมมีปัญหา)
โดยทั่วไปขณะที่คิดถึงคำแถลงปัญหาปัจจุบันของคุณฉันยังคงพิจารณาถึงประสิทธิภาพอย่างต่อเนื่อง แต่มีสัญชาตญาณที่สมเหตุสมผลในเรื่องนี้: วัตถุที่เราขว้างไป - ยอดเขาใบหน้า ฯลฯ - แยกจากกันและมีความอุดมสมบูรณ์อย่างชี้แจง
(1. ) สมมติว่าเรามีอัลกอริทึมที่สามารถแก้ปัญหาของคุณได้ โปรดสังเกตว่าจุดที่ถูกเปิดเผยของใบหน้าใด ๆ ที่มีจุดกึ่งกลางที่ให้ไว้จะเป็นคำตอบที่แน่นอนของโปรแกรมเชิงเส้นดั้งเดิม ดังนั้นดำเนินการดังนี้ เพิ่มข้อ จำกัด เชิงเส้นใหม่โดยบอกว่าค่าวัตถุประสงค์ดั้งเดิมจะต้องเท่ากับค่าที่เหมาะสมที่สุด (ซึ่งตอนนี้เรารู้แล้ว) และตั้งค่าวัตถุประสงค์ใหม่เพื่อเพิ่มพิกัดแรกของการแก้ปัญหาให้สูงสุด ทำซ้ำขั้นตอนนี้หนึ่งครั้งสำหรับแต่ละมิติแต่ละครั้งเพิ่มข้อ จำกัด และเลือกพิกัดใหม่เพื่อเพิ่ม กระบวนการนี้จะลดขนาดของโซลูชันในแต่ละครั้ง จำเป็นเมื่อกระบวนการเสร็จสมบูรณ์เรามีชุดเลียนแบบ 0 มิติหมายถึงจุดเดียว ดังนั้นด้วยO(d) วนซ้ำของอัลกอริทึมการแก้จุดกึ่งกลางของคุณ (และเพิ่มคำอธิบายปัญหาโดยจำนวนพหุนามเท่านั้น dแต่ละครั้ง) การโปรแกรมเชิงเส้นที่แข็งแกร่งจะได้รับการแก้ไข นี่แสดงให้เห็นว่าในขณะที่โซลูชันของ Sariel ต้องการการเขียนโปรแกรมเชิงเส้นที่มีประสิทธิภาพ แต่โซลูชันที่ตรงกับคำถามของคุณไม่สามารถหลีกเลี่ยงได้ ( แก้ไข : โปรดทราบว่าการพิสูจน์ของฉันสมมติว่ารูปทรงหลายเหลี่ยมขนาดกะทัดรัด (โพลีท็อป) เป็นอย่างอื่นไม่เช่นนั้นจะต้องทำงานให้หนักขึ้นเล็กน้อยเพื่อหาจุดยอด)
(2. )นี่คือรูปแบบการวนซ้ำโดยใช้ตัวแก้นูนแบบเป่าเต็มในแต่ละการวนซ้ำซึ่งการแก้ปัญหาจะมาบรรจบกันเป็นความคิดเล็กน้อยของการแก้ปัญหาจุดกึ่งกลาง เลือกลำดับของค่าปรับที่เป็นบวก แต่ลดลง{λi}∞i=1↓0; มันสมเหตุสมผลที่จะให้สิ่งเหล่านี้ลงไปตามเรขาคณิตเช่นλi=2−i. ตอนนี้สำหรับแต่ละคนiประมาณฟังก์ชั่นนูนน้อยที่สุด
⟨c,x⟩−λi∑j=1mln(⟨aj,x⟩−b),
ที่ไหน ⟨c,x⟩ เป็นเป้าหมายดั้งเดิมของคุณและ j ช่วงเหนือ mข้อ จำกัด เดิมตอนนี้วางไว้ในวัตถุประสงค์ผ่านอุปสรรคลอการิทึม (หมายเหตุนี่เป็นมาตรฐาน) ตอนนี้ถ้าเราคิดถึงใบหน้าที่มีขนาดเล็กที่สุดของโพลีเฮดของคุณให้สังเกตว่ามีขนาดเล็กพอสมควรλi และความอดทน τไปที่กล่องดำของคุณที่เลือกให้เหมาะสมที่สุดโดยประมาณของคุณจะอยู่ใกล้กับใบหน้านี้อย่างไรก็ตามอุปสรรคจะผลักดันให้ไกลที่สุดเท่าที่จะทำได้จากข้อ จำกัด อื่น ๆ กล่าวอีกวิธีหนึ่งว่าλi ลดลงเป้าหมายเชิงเส้นเริ่มแรกจะเป็นอุปสรรคต่อการคัดสรรอย่างพิถีพิถันซึ่งทำให้คุณไม่ต้องเผชิญกับใบหน้าที่เหมาะสม แต่จะไม่ส่งผลกระทบต่อสิ่งกีดขวางที่ทำให้คุณไม่อยู่ในขอบเขตอื่น ๆ โดยเฉพาะอย่างยิ่งใบหน้าเป้าหมาย
ในโลกที่สมบูรณ์แบบเราจะนั่งลงและวิเคราะห์คุณค่าที่สมบูรณ์แบบ λหรืออย่างน้อยก็หยุดเวลาเพื่อที่คุณจะได้ไม่ต้องแก้ไขปัญหามากมายอีกต่อไป น่าเสียดายที่มันดูลำบาก แนวคิดหนึ่งคือพูดเพื่อกำหนดความกว้างที่เล็กที่สุดของใบหน้าใด ๆ ที่มีมิติมากกว่า 0 นี่เป็นปัญหาการย่อเล็กสุดที่กำหนดไว้อย่างดีพร้อมค่าบวกสูงสุดเนื่องจากมีใบหน้าจำนวนมาก (และมีการคำนวณความกว้างเทียบกับแต่ละหน้า) ด้วยสิ่งนี้เราสามารถตั้งค่าλเล็กพอที่อิทธิพลของกำแพงจะเล็กอยู่ในใจกลางของใบหน้าทุกคน โชคไม่ดีที่อาจมีหลายใบหน้าแทนการคำนวณปริมาณนี้ไร้สาระ
เงื่อนไขการหยุดทั้งหมดที่ฉันจะได้รับมีความยุ่งยากในการคำนวณประเภทนี้ (ยิ่งไปกว่านั้นหลาย ๆ คนสามารถนำสิ่งนี้กลับไปใช้เป็นตัวแก้ปัญหาการเขียนโปรแกรมเชิงเส้นได้อีกครั้ง)
ด้วยเหตุนี้คำแนะนำของฉันคือการสร้างความคิดของ ``ϵ- ปิดจุดกึ่งกลางที่เหมาะสม '' และแก้ปัญหาโดยเลือก λ และความอดทนของคุณในการเลือกใช้กล่องดำแบบนูน τอย่างเหมาะสม. ฉันคิดว่านี่เป็นตัวเลือกที่สมเหตุสมผลเพราะคุณอาจไม่สนใจใบหน้าที่มีความกว้างมากที่สุดϵ.
(ความเห็นสุดท้ายบางอย่าง)ดูเหมือนว่าความคิดของ "จุดกึ่งกลาง" นั้นสำคัญมาก ความคิดเห็นของซาโชชี้ให้เห็นว่าเซนทรอยด์ (ศูนย์กลางของมวล?) เป็นปัญหาที่ยากมากในขณะที่การค้นหาพูดลูกที่ถูกจารึกไว้ที่ใหญ่ที่สุดนั้นเป็นเรื่องง่าย อุปสรรคลอการิทึมที่ฉันได้แนะนำไว้ข้างต้นโดยทั่วไปจะไม่สอดคล้องกับแนวคิดจุดกึ่งกลางเหล่านี้ ในอีกทางหนึ่งสำหรับอุปสรรคและลูกคุณสามารถได้รับขอบเขตล่างบนระยะทางจากเซนทรอยด์ของคุณไปยังขอบเขตญาติของใบหน้า; อาจเป็นประโยชน์กับคุณมากกว่านี้ใช่ไหม
สุดท้ายจากคำอธิบายของคุณฉันเชื่อว่าคุณหมายถึง "เป้าหมายใบหน้า" ที่มีมิติสูงที่สุดเท่าที่จะเป็นไปได้? สิ่งนี้ถูกกำหนดไว้อย่างดีอย่างไรก็ตามยังมีวิธีแก้ไขปัญหาสำหรับมิติที่เล็กกว่าทั้งหมด อย่างไรก็ตามทั้งแนวทางของ Sariel และแนวทางป้องกันด้านบนจะทำงานร่วมกับใบหน้าที่มีขนาดใหญ่ที่สุด