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