ความหมายของวิธีการแก้ปัญหา (meta)


10
  1. สำหรับการปรับให้เหมาะสมจากWikipedia :

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

    คำอื่น ๆ ที่มีความหมายคล้ายกันกับ metaheuristic คือ: ปราศจากอนุพันธ์การค้นหาโดยตรงกล่องดำหรือเครื่องมือเพิ่มประสิทธิภาพการแก้ปัญหาเพียงอย่างเดียว มีการตีพิมพ์หนังสือและแบบสำรวจหลายเล่มเกี่ยวกับเรื่องนี้

    • ฉันสงสัยว่าจะบอกได้อย่างไรว่าวิธีการปรับให้เหมาะสมนั้นมีการเปลี่ยนแปลงหรือไม่? ตัวอย่างเช่น,

      (1) วิธีการซิมเพล็กซ์สำหรับการเขียนโปรแกรมเชิงเส้นเชิงคณิตศาสตร์?

      (2) ส่วนใหญ่ของวิธีการเขียนโปรแกรมที่ไม่เชิงเส้นเช่นการไล่ระดับสีวิธีการคูณลากรองจ์วิธีการลงโทษวิธีการจุดมหาดไทย (วิธีการอุปสรรค), เกี่ยวกับการเปลี่ยนแปลง

      (3) วิธีการไล่ระดับสีฟรีทั้งหมดเช่นวิธี Nelder – Mead หรือวิธีดาวน์ฮิลล์เริมซ์, metaheuristic หรือไม่?

    • วิธีการเพิ่มประสิทธิภาพบางอย่างที่ไม่เกี่ยวกับการเปลี่ยนแปลงคืออะไร?

  2. โดยทั่วไป (เกินกว่าการเพิ่มประสิทธิภาพ) สำหรับเทคนิคการแก้ปัญหาจากWikipedia :

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

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

    ฉันสงสัยว่าจะเข้าใจความหมายของ "ฮิวริสติก" ได้อย่างไร?

    • ฉันจะบอกได้อย่างไรว่า "การแก้ปัญหาการเรียนรู้และการค้นพบ" เป็นวิธีแก้ปัญหาหรือไม่?

    • เทคนิค "การแก้ปัญหาการเรียนรู้และการค้นพบ" อะไรบ้างที่ไม่ใช่การวิเคราะห์พฤติกรรม?

ขอบคุณและขอแสดงความนับถือ!

คำตอบ:


7

ฮิวริสติกเป็นสิ่งที่ใช้งานได้ในหลายกรณีในทางปฏิบัติแม้ว่าจะไม่มีข้อโต้แย้งที่ละเอียดว่าทำไมมันจึงควรทำงานได้ดี

Metaheuristics ไม่ได้เป็นอัลกอริทึม แต่เป็นรูปแบบการแก้ปัญหาหรือแนวคิดแบบทั่วไปที่สามารถใช้ได้ภายในอัลกอริทึมเฉพาะ

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

อัลกอริธึม Nelder-Mead = downhill simplex เพื่อย่อฟังก์ชันคือฮิวริสติก (จริง ๆ แล้วมันอาจจะล้มเหลวในปัญหาที่ค่อนข้างง่ายในมิติที่สูงกว่า) และการค้นหา tabu คือ metaheuristics (เนื่องจากอัลกอริธึมที่หลากหลาย มีคุณภาพแตกต่างกันมาก


ขอบคุณ! (1) ดังนั้นเพื่อบอกว่าวิธีหนึ่งเป็นวิธีการเกี่ยวกับการเปลี่ยนแปลงทางธรรมชาติหรือไม่คือเพื่อดูว่ามันมีทฤษฎีเกี่ยวกับเมื่อมันมาบรรจบกับเครื่องมือเพิ่มประสิทธิภาพที่แท้จริงหรือไม่? หากวิธีการยังไม่มีทฤษฎีเช่นนั้นแล้วมันคือความเชื่อเรื่องเนื้อสัตว์หรือไม่? ถ้าวันหนึ่งมีทฤษฎีมันก็จะกลายเป็นจาก metaheuristic เพื่อที่ไม่ใช่ - metaheuristic? (2) "คำอื่น ๆ ที่มีความหมายคล้ายกันกับ metaheuristic คือ: ปราศจากอนุพันธ์การค้นหาโดยตรงกล่องดำหรือเพียงแค่เครื่องมือเพิ่มประสิทธิภาพฮิวริสติกเท่านั้น" ฉันสงสัยว่า metaheuristic ใช้ประโยชน์จากฟังก์ชั่นเท่านั้นและไม่มีอนุพันธ์หรือไม่ เป็น "วิธีการค้นหา" ในการตอบคำถามอื่นของฉันหรือไม่
ทิม

@ Tim: metaheuristic หมายถึง: (i) ไม่มีทฤษฎีการรวมและ (ii) ไม่มีสูตรที่แน่นอนสำหรับการดำเนินการ แต่เป็นหลักการทั่วไป - ที่ไม่มีอนุพันธ์ (= การค้นหาโดยตรง = กล่องดำชื่อที่แตกต่างกันจากรากประวัติศาสตร์ที่แตกต่างกัน) สามารถเป็นฮิวริสติกหรือไม่; มันเพิ่งบอกเกี่ยวกับอินพุตที่ผู้ใช้ต้องจัดเตรียม
Arnold Neumaier

ขอบคุณ! ฉันสงสัยว่า metaheuristic ใช้ประโยชน์จากฟังก์ชั่นเท่านั้นและไม่มีอนุพันธ์หรือไม่
ทิม

@Tim: อาจใช่ ฉันไม่รู้อะไรเลยจริงๆเรียกว่า metaheuristic ที่ใช้การไล่ระดับสี
Arnold Neumaier

7

ฉันจะไม่ทำซ้ำมากกว่า simplex และ Nelder-Mead เนื่องจาก @ArnoldNeumaier ให้คำอธิบายที่ดีมาก แต่ต้องการเพิ่ม 2 เซนต์ของฉัน

หนึ่งในคำพูดที่ดีที่สุดที่ฉันเคยได้ยินเมื่อนานมาแล้วเพื่ออธิบายความแตกต่างระหว่างฮิวริสติกและการเปลี่ยนแปลงในระบบ: ฮิวริสติกเป็นกฎที่ดีทีเดียว metaheuristic เป็นกฎที่ดีสำหรับการค้นหากฎที่ดีงาม

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

  • ฉันควรปรับแต่งพารามิเตอร์ของฮิวริสติกนี้เพื่อปรับปรุงประสิทธิภาพของปัญหานั้นอย่างไร
  • ฮิวริสติกนี้ดีกว่าฮิวริสติกหรือไม่

มี metaheuristic มากมายที่คุณสามารถใช้สำหรับการแก้ปัญหาการเรียนรู้และการค้นพบคือ:

ฉันพบว่า metaheuristics ส่วนใหญ่ได้รับแรงบันดาลใจจากปรากฏการณ์ทางธรรมชาติซึ่งยากที่จะอธิบายอย่างจริงจัง แต่มีคุณสมบัติการบรรจบกัน

นี่คือลิงค์ที่ดีหากคุณต้องการอ่านเพิ่มเติมเกี่ยวกับเทคนิคการคิดเลขอื่น ๆ


ขอบคุณ! ฉันไม่แน่ใจว่าฉันเข้าใจหรือไม่ "ฮิวริสติกเป็นกฎที่ดีทีเดียวการใช้กฎเกณฑ์เป็นกฎที่ดีในการค้นหากฎที่ดี" ตัวอย่างเช่นการจำลองการอบการจับกลุ่มอนุภาคมดโคโลนีและการค้นหาแบบฮิวริสติกหรือการเปลี่ยนแปลงเชิงอภิปรัชญา หากพวกเขาเป็นหนึ่งในสองคู่ของพวกเขาคืออะไรเพื่ออื่น ๆ ?
ทิม

สิ่งที่คุณควรเข้าใจจากคำพูดนี้ก็คือทั้งฮิวริสติกและการวิเคราะห์เชิงเมธาเยอร์นั้นไม่ถูกต้องหรือพิสูจน์ได้ดังนั้นจึงเป็น "กฎที่ดีงาม" metaheuristic อยู่ในระดับที่สูงกว่าฮิวริสติกและผ่านการทำซ้ำหลายครั้งอย่างต่อเนื่องที่คุณสามารถหาชุดของพารามิเตอร์ที่จะแก้ปัญหาได้อย่างถูกต้อง หากคุณรู้ว่าชุดของพารามิเตอร์นี้มาจากจุดเริ่มต้นคุณจะต้องเขียนฮิวริสติกเพื่อแก้ปัญหา แต่เนื่องจากคุณไม่ทราบคุณต้องใช้อัลกอริทึมเพื่อค้นหาพารามิเตอร์เหล่านี้สำหรับการแก้ปัญหาของคุณ: การเปลี่ยนแปลง หวังว่าชัดเจน
Charles Menguy

และอัลกอริธึมที่ฉันให้ที่นี่คือ metaheuristics ทั้งหมดและคุณสามารถค้นหารายละเอียดเพิ่มเติมได้จากลิงค์ที่ฉันให้ ฉันไม่แน่ใจว่าสิ่งที่คุณหมายถึงสำหรับคู่
Charles Menguy

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

ยกตัวอย่างเช่นการหลอมจำลอง สิ่งที่มันทำในท้ายที่สุดคือการค้นหาในห่วงโซ่มาร์คอฟ "กฎ" ของฮิวริสติกจะสมมติว่ารัฐในลูกโซ่มาร์คอฟคือทางออก สิ่งที่ metaheuristic ทำคือมองหาลู่เข้าในห่วงโซ่มาร์คอฟเพื่อค้นหาสถานะที่เหมาะสมซึ่งอธิบายถึงวิธีแก้ปัญหา โดยทั่วไปแล้วฉันคิดว่าคุณไม่ควรพยายามอย่างหนักที่จะแยกแยะความแตกต่าง: ใช้ฮิวริสติกเมื่อมีวิธีง่ายๆ "ที่ค่อนข้างง่าย" ที่สามารถคำนวณได้ง่ายและใช้เมตาโฮริสติกเมื่อพื้นที่โซลูชันใหญ่เกินไปและคุณต้องฉลาดขึ้น การแก้ปัญหา
Charles Menguy
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.