ฉันอ่านเกี่ยวกับการเขียนโปรแกรมแบบไดนามิกเมื่อฉันเจอข้อความอ้างอิงต่อไปนี้
อัลกอริทึมการเขียนโปรแกรมแบบไดนามิกจะตรวจสอบวิธีที่เป็นไปได้ทั้งหมดในการแก้ปัญหาและจะเลือกทางออกที่ดีที่สุด ดังนั้นเราจึงสามารถคิดคร่าว ๆ ของการเขียนโปรแกรมแบบไดนามิกเป็นอัจฉริยะวิธีแรงเดรัจฉานที่ช่วยให้เราไปถึงการแก้ปัญหาที่เป็นไปได้ทั้งหมดในการเลือกที่ดีที่สุด หากขอบเขตของปัญหาเป็นเช่นนั้นที่จะผ่านการแก้ไขปัญหาที่เป็นไปได้ทั้งหมดและเป็นไปได้อย่างรวดเร็วพอการเขียนโปรแกรมแบบไดนามิกรับประกันการหาทางออกที่ดีที่สุด
ตัวอย่างต่อไปนี้ได้รับ
ตัวอย่างเช่นสมมติว่าคุณต้องได้รับจากจุด A ถึงจุด B โดยเร็วที่สุดในเมืองที่กำหนดในช่วงชั่วโมงเร่งด่วน อัลกอริทึมการเขียนโปรแกรมแบบไดนามิกจะตรวจสอบรายงานการจราจรทั้งหมดโดยดูจากชุดค่าผสมที่เป็นไปได้ทั้งหมดของถนนที่คุณอาจจะใช้แล้วจะบอกให้คุณทราบว่าวิธีใดเป็นวิธีที่เร็วที่สุด แน่นอนว่าคุณอาจต้องรอสักครู่จนกว่าอัลกอริทึมจะเสร็จสิ้นและจากนั้นจึงเริ่มขับรถเท่านั้น เส้นทางที่คุณจะใช้จะเป็นเส้นทางที่เร็วที่สุด (สมมติว่าไม่มีอะไรเปลี่ยนแปลงในสภาพแวดล้อมภายนอก)
Brute Force กำลังพยายามแก้ปัญหาที่เป็นไปได้ก่อนตัดสินใจเลือกทางออกที่ดีที่สุด
การเขียนโปรแกรมแบบไดนามิกแตกต่างจาก Brute Force อย่างไรหากผ่านโซลูชั่นที่เป็นไปได้ทั้งหมดก่อนที่จะเลือกสิ่งที่ดีที่สุดความแตกต่างเดียวที่ฉันเห็นคือการเขียนโปรแกรมแบบไดนามิกคำนึงถึงปัจจัยเพิ่มเติม (สภาพการจราจรในกรณีนี้)
ฉันถูกต้องหรือไม่ที่จะบอกว่า Dynamic Programming เป็นส่วนหนึ่งของวิธี Brute Force?
intelligent, brute force
แต่ก็ลืมอธิบายส่วน "ปัญญา"