ผลต่างระหว่างรุ่นของ "ขั้นตอนวิธี/กำหนดการพลวัต"
เนื้อหาที่ลบ เนื้อหาที่เพิ่ม
หน้าที่ถูกสร้างด้วย ''''กำหนดการพลวัต''' (Dynamic programming) บางครั้งเราไม่สามารถแบ...' |
ล เพิ่มหมวดหมู่:ขั้นตอนวิธีแล้ว ด้วยฮอทแคต |
||
บรรทัดที่ 2: | บรรทัดที่ 2: | ||
บางครั้งเราไม่สามารถแบ่งปัญหาออกเป็นปัญหาย่อย ๆ ที่ไม่เกี่ยวข้องกันได้ ถ้าเรา พยายามจะแบ่งปัญหานั้น ๆ ออกเป็นปัญหาย่อยที่เล็กที่สุด อัลกอริทึมของคุณอาจ จะใช้เวลาทำงานเป็นแบบ exponential ได้ แต่เวลาที่เราแก้ปัญหาต่าง ๆ เรามักจะ พบว่าเราต้องแก้ปัญหาย่อย ๆ ที่เหมือนกันแบบซ้ำไปซ้ำมา เพื่อหลีกเลี่ยงการคำนวน หาคำตอบซ้ำ ๆ ซาก ๆ dynamic programming จะแก้ปัญหาย่อย ๆ เหล่านั้นเพียง ครั้งเดียวแล้วเก็บผลลัพท์ไว้ ถ้าหากพบว่าต้องแก้ปัญหาย่อยนั้นซ้ำอีกเราก็สามารถนำ คำตอบมาจากคำตอบที่เคยคำนวณเก็บไว้ได้ |
บางครั้งเราไม่สามารถแบ่งปัญหาออกเป็นปัญหาย่อย ๆ ที่ไม่เกี่ยวข้องกันได้ ถ้าเรา พยายามจะแบ่งปัญหานั้น ๆ ออกเป็นปัญหาย่อยที่เล็กที่สุด อัลกอริทึมของคุณอาจ จะใช้เวลาทำงานเป็นแบบ exponential ได้ แต่เวลาที่เราแก้ปัญหาต่าง ๆ เรามักจะ พบว่าเราต้องแก้ปัญหาย่อย ๆ ที่เหมือนกันแบบซ้ำไปซ้ำมา เพื่อหลีกเลี่ยงการคำนวน หาคำตอบซ้ำ ๆ ซาก ๆ dynamic programming จะแก้ปัญหาย่อย ๆ เหล่านั้นเพียง ครั้งเดียวแล้วเก็บผลลัพท์ไว้ ถ้าหากพบว่าต้องแก้ปัญหาย่อยนั้นซ้ำอีกเราก็สามารถนำ คำตอบมาจากคำตอบที่เคยคำนวณเก็บไว้ได้ |
||
[[หมวดหมู่:ขั้นตอนวิธี]] |
รุ่นแก้ไขเมื่อ 17:03, 16 มกราคม 2556
กำหนดการพลวัต (Dynamic programming)
บางครั้งเราไม่สามารถแบ่งปัญหาออกเป็นปัญหาย่อย ๆ ที่ไม่เกี่ยวข้องกันได้ ถ้าเรา พยายามจะแบ่งปัญหานั้น ๆ ออกเป็นปัญหาย่อยที่เล็กที่สุด อัลกอริทึมของคุณอาจ จะใช้เวลาทำงานเป็นแบบ exponential ได้ แต่เวลาที่เราแก้ปัญหาต่าง ๆ เรามักจะ พบว่าเราต้องแก้ปัญหาย่อย ๆ ที่เหมือนกันแบบซ้ำไปซ้ำมา เพื่อหลีกเลี่ยงการคำนวน หาคำตอบซ้ำ ๆ ซาก ๆ dynamic programming จะแก้ปัญหาย่อย ๆ เหล่านั้นเพียง ครั้งเดียวแล้วเก็บผลลัพท์ไว้ ถ้าหากพบว่าต้องแก้ปัญหาย่อยนั้นซ้ำอีกเราก็สามารถนำ คำตอบมาจากคำตอบที่เคยคำนวณเก็บไว้ได้