เป็นไปได้หรือไม่ที่จะพิสูจน์ว่าสำหรับปัญหาที่กำหนดไม่มีอัลกอริทึมโลภที่เหมาะสมที่สุดอยู่หรือไม่?


10

โลภเป็นคำที่ไม่เป็นทางการ แต่อาจเป็นได้ (ไม่แน่ใจว่าเป็นเหตุผลที่ฉันถาม) ว่าสำหรับปัญหาบางอย่างความโลภสามารถกำหนดได้ทางคณิตศาสตร์และพิสูจน์ได้ว่าไม่มีอัลกอริทึมโลภที่เหมาะสมที่สุด เป็นไปได้ไหม


5
ใช่ดู: en.wikipedia.org/wiki/Greedy_algorithm#Cases_of_failure
MS Dousti

คำตอบ:


9

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

ในความเป็นจริงในเอกสารของพวกเขา"ลักษณะที่แน่นอนของโครงสร้างโลภ" ( SIAM J. Discrete Math . 6 , pp. 274-283), Helman, Moret และ Shapiro ให้คำอธิบายอย่างเป็นทางการของเรื่องนี้ (เรียกว่าการฝัง matroidซึ่ง generalizes ทั้ง matroids และ greedoids) จากนามธรรม:“ ผู้เขียนนำเสนอลักษณะที่แน่นอนของโครงสร้างที่อัลกอริทึมโลภสร้างทางออกที่ดีที่สุด”

โดยทั่วไปอัลกอริทึมโลภสามารถกำหนดในแง่ของระบบชุดถ่วงน้ำหนัก (E,F,w). คุณมีชุดE (ตัวอย่างเช่นขอบในกรณีของต้นไม้ทอดข้ามขั้นต่ำ) และคุณมีชุด F2E จากชุดย่อยของ E (คิดว่าป่าที่ทอดข้ามบางส่วนสำหรับปัญหาของต้นไม้ที่ถูกขยายน้อยที่สุด) F แสดงถึงการแก้ปัญหาบางส่วนที่ถูกต้องสร้างขึ้นโดยการรวมองค์ประกอบจาก E. นอกจากนี้ยังมีฟังก์ชั่นน้ำหนักwซึ่งให้น้ำหนักหรือต้นทุนขององค์ประกอบใด ๆ F. เรามักจะสมมติว่านี่เป็นเส้นตรง - เช่นแต่ละองค์ประกอบในEมีน้ำหนักและน้ำหนักของโซลูชัน (บางส่วน) เป็นเพียงผลรวมของน้ำหนักองค์ประกอบ (ตัวอย่างเช่นน้ำหนักของทรีสแปนต์คือผลรวมของน้ำหนักขอบของมัน) ในบริบทนี้เฮลแมนและคณะ แสดงให้เห็นว่าต่อไปนี้เทียบเท่า:

  1. สำหรับทุกฟังก์ชันวัตถุประสงค์เชิงเส้น (E,F) มีพื้นฐานที่ดีที่สุด

  2. (E,F) คือการฝัง matroid

  3. สำหรับทุกฟังก์ชันวัตถุประสงค์เชิงเส้นฐานโลภของ (E,F) เป็นฐานที่ดีที่สุด

กล่าวอีกนัยหนึ่ง: สำหรับโครงสร้างเช่นนี้ (ซึ่งโดยพื้นฐานแล้วรวมถึงประเภทของโครงสร้างที่มักคิดเมื่อทำงานด้วยความโลภ) ชุดของงานแต่งงาน matroid สามารถแก้ไขได้อย่างตะกละตะกลาม

คำจำกัดความของการฝังตัวของ matroid นั้นไม่ใช่เรื่องยากดังนั้นการพิสูจน์ว่าปัญหาที่เกิดขึ้นนั้นเป็นหรือการที่การฝังตัวของ matroid นั้นเป็นไปได้อย่างแน่นอน รายการวิกิพีเดียให้ความหมายค่อนข้างชัดเจน (ทำความเข้าใจกับหลักฐานว่าทำไมโครงสร้างเหล่านี้จึงแก้ไขได้ด้วยความโลภซึ่งเป็นอีกเรื่องหนึ่งโดยสิ้นเชิง…)

หากปัญหาของคุณสามารถกำหนดในแง่ของการเลือกจากระบบชุดถ่วงน้ำหนักที่มีฟังก์ชั่นเชิงเส้นตรงและถ้าคุณสามารถแสดงให้เห็นว่ามันไม่ใช่การฝัง matroid คุณก็แสดงให้เห็นว่ามันไม่สามารถแก้ไขได้อย่างตะกละตะกลาม ไม่สามารถค้นหาตัวอย่างได้ (แม้ว่าฉันสงสัยว่าการหาตัวอย่างเคาน์เตอร์จะค่อนข้างง่ายกว่าเล็กน้อย)

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


10

ใช่มีงานดังกล่าว อัลลันโบโรดินกับผู้เขียนร่วมพัฒนาทฤษฎีที่พวกเขาทำให้ความคิดของความโลภเป็นระเบียบและได้รับผลลัพธ์ซึ่งอัตราส่วนที่สามารถเข้าถึงได้ประมาณกับพวกเขา พวกเขาแนะนำคลาสของอัลกอริทึมลำดับความสำคัญซึ่งสรุปอัลกอริทึมโลภ งานแรกของพวกเขาในหัวข้อนี้คือกระดาษ " (เพิ่มขึ้น) อัลกอริธึมลำดับความสำคัญ "

ป.ล. วรรคก่อนตอบคำถามต่าง ๆ : เป็นไปได้ไหมที่จะพิสูจน์ได้ว่าสำหรับปัญหาที่กำหนดไม่มีอัลกอริทึมโลภที่มีอัตราส่วนการประมาณน้อยกว่าบางตัว 1+ϵ? สิ่งที่เกี่ยวข้องกับคำถามที่ฉันคิดว่ามันมีวิธีการที่เหมาะสมที่สุดดังนั้นคำถามที่เกี่ยวข้องกับปัญหาใน P (ฉันคิดว่าอัลกอริทึมโลภมีความซับซ้อนพหุนามแม้ว่าฉันเดาว่านี่ไม่จำเป็น) ซึ่งเป็นที่รู้กันว่ามีวิธีอื่น ๆ . และฉันไม่รู้คำตอบสำหรับคำถามนี้

สำหรับ ivotron: หากคุณไม่ได้หมายถึงการตีความครั้งแรกของฉันฉันจะลบคำตอบนี้


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