โลภเป็นคำที่ไม่เป็นทางการ แต่อาจเป็นได้ (ไม่แน่ใจว่าเป็นเหตุผลที่ฉันถาม) ว่าสำหรับปัญหาบางอย่างความโลภสามารถกำหนดได้ทางคณิตศาสตร์และพิสูจน์ได้ว่าไม่มีอัลกอริทึมโลภที่เหมาะสมที่สุด เป็นไปได้ไหม
โลภเป็นคำที่ไม่เป็นทางการ แต่อาจเป็นได้ (ไม่แน่ใจว่าเป็นเหตุผลที่ฉันถาม) ว่าสำหรับปัญหาบางอย่างความโลภสามารถกำหนดได้ทางคณิตศาสตร์และพิสูจน์ได้ว่าไม่มีอัลกอริทึมโลภที่เหมาะสมที่สุด เป็นไปได้ไหม
คำตอบ:
สิ่งที่ง่ายที่สุดที่จะทำคือการตั้งค่าอัลกอริทึมโลภสำหรับปัญหาแล้วมองหาตัวอย่างเคาน์เตอร์ หากคุณพบเจอคุณจะได้รับคำตอบ มิฉะนั้นมีหลายวิธีในการพิสูจน์ว่าความโลภงาน แน่นอนว่ามีปัญหาบางอย่างเช่นนี้ (เช่นวิธีการกำหนดอัลกอริทึมโลภโดยเฉพาะ) สำหรับการกำหนดลักษณะของปัญหาที่สามารถแก้ไขและปัญหาใดที่ไม่สามารถแก้ไขได้อย่างตะกละตะกลามก็มีคำตอบทั่วไปเช่นกัน
ในความเป็นจริงในเอกสารของพวกเขา"ลักษณะที่แน่นอนของโครงสร้างโลภ" ( SIAM J. Discrete Math . 6 , pp. 274-283), Helman, Moret และ Shapiro ให้คำอธิบายอย่างเป็นทางการของเรื่องนี้ (เรียกว่าการฝัง matroidซึ่ง generalizes ทั้ง matroids และ greedoids) จากนามธรรม:“ ผู้เขียนนำเสนอลักษณะที่แน่นอนของโครงสร้างที่อัลกอริทึมโลภสร้างทางออกที่ดีที่สุด”
โดยทั่วไปอัลกอริทึมโลภสามารถกำหนดในแง่ของระบบชุดถ่วงน้ำหนัก . คุณมีชุด (ตัวอย่างเช่นขอบในกรณีของต้นไม้ทอดข้ามขั้นต่ำ) และคุณมีชุด จากชุดย่อยของ (คิดว่าป่าที่ทอดข้ามบางส่วนสำหรับปัญหาของต้นไม้ที่ถูกขยายน้อยที่สุด) แสดงถึงการแก้ปัญหาบางส่วนที่ถูกต้องสร้างขึ้นโดยการรวมองค์ประกอบจาก . นอกจากนี้ยังมีฟังก์ชั่นน้ำหนักซึ่งให้น้ำหนักหรือต้นทุนขององค์ประกอบใด ๆ . เรามักจะสมมติว่านี่เป็นเส้นตรง - เช่นแต่ละองค์ประกอบในมีน้ำหนักและน้ำหนักของโซลูชัน (บางส่วน) เป็นเพียงผลรวมของน้ำหนักองค์ประกอบ (ตัวอย่างเช่นน้ำหนักของทรีสแปนต์คือผลรวมของน้ำหนักขอบของมัน) ในบริบทนี้เฮลแมนและคณะ แสดงให้เห็นว่าต่อไปนี้เทียบเท่า:
สำหรับทุกฟังก์ชันวัตถุประสงค์เชิงเส้น มีพื้นฐานที่ดีที่สุด
คือการฝัง matroid
สำหรับทุกฟังก์ชันวัตถุประสงค์เชิงเส้นฐานโลภของ เป็นฐานที่ดีที่สุด
กล่าวอีกนัยหนึ่ง: สำหรับโครงสร้างเช่นนี้ (ซึ่งโดยพื้นฐานแล้วรวมถึงประเภทของโครงสร้างที่มักคิดเมื่อทำงานด้วยความโลภ) ชุดของงานแต่งงาน matroid สามารถแก้ไขได้อย่างตะกละตะกลาม
คำจำกัดความของการฝังตัวของ matroid นั้นไม่ใช่เรื่องยากดังนั้นการพิสูจน์ว่าปัญหาที่เกิดขึ้นนั้นเป็นหรือการที่การฝังตัวของ matroid นั้นเป็นไปได้อย่างแน่นอน รายการวิกิพีเดียให้ความหมายค่อนข้างชัดเจน (ทำความเข้าใจกับหลักฐานว่าทำไมโครงสร้างเหล่านี้จึงแก้ไขได้ด้วยความโลภซึ่งเป็นอีกเรื่องหนึ่งโดยสิ้นเชิง…)
หากปัญหาของคุณสามารถกำหนดในแง่ของการเลือกจากระบบชุดถ่วงน้ำหนักที่มีฟังก์ชั่นเชิงเส้นตรงและถ้าคุณสามารถแสดงให้เห็นว่ามันไม่ใช่การฝัง matroid คุณก็แสดงให้เห็นว่ามันไม่สามารถแก้ไขได้อย่างตะกละตะกลาม ไม่สามารถค้นหาตัวอย่างได้ (แม้ว่าฉันสงสัยว่าการหาตัวอย่างเคาน์เตอร์จะค่อนข้างง่ายกว่าเล็กน้อย)
ฉันคิดว่าวิธีการนี้ไม่ใช่ปัญหาทั้งหมด อย่างที่คุณพูดความคิดทั่วไปของความโลภนั้นค่อนข้างไม่เป็นทางการและมันอาจเป็นไปได้ที่จะปรับแต่งมันในลักษณะที่ไม่เป็นทางการของระบบชุดถ่วงน้ำหนักเชิงเส้น
ใช่มีงานดังกล่าว อัลลันโบโรดินกับผู้เขียนร่วมพัฒนาทฤษฎีที่พวกเขาทำให้ความคิดของความโลภเป็นระเบียบและได้รับผลลัพธ์ซึ่งอัตราส่วนที่สามารถเข้าถึงได้ประมาณกับพวกเขา พวกเขาแนะนำคลาสของอัลกอริทึมลำดับความสำคัญซึ่งสรุปอัลกอริทึมโลภ งานแรกของพวกเขาในหัวข้อนี้คือกระดาษ " (เพิ่มขึ้น) อัลกอริธึมลำดับความสำคัญ "
ป.ล. วรรคก่อนตอบคำถามต่าง ๆ : เป็นไปได้ไหมที่จะพิสูจน์ได้ว่าสำหรับปัญหาที่กำหนดไม่มีอัลกอริทึมโลภที่มีอัตราส่วนการประมาณน้อยกว่าบางตัว ? สิ่งที่เกี่ยวข้องกับคำถามที่ฉันคิดว่ามันมีวิธีการที่เหมาะสมที่สุดดังนั้นคำถามที่เกี่ยวข้องกับปัญหาใน P (ฉันคิดว่าอัลกอริทึมโลภมีความซับซ้อนพหุนามแม้ว่าฉันเดาว่านี่ไม่จำเป็น) ซึ่งเป็นที่รู้กันว่ามีวิธีอื่น ๆ . และฉันไม่รู้คำตอบสำหรับคำถามนี้
สำหรับ ivotron: หากคุณไม่ได้หมายถึงการตีความครั้งแรกของฉันฉันจะลบคำตอบนี้
ดูสิ่งนี้ด้วย: http://en.wikipedia.org/wiki/Greedoid