แนวทางขั้นตอนขั้นตอนการขยาย a* สืบค้น Algorith กับตัวอย่างคํานวณ
อัลกอริทึมการค้นหา A* เป็นอัลกอริทึมที่ใช้ค้นหาและวาดกราฟและกราฟที่นิยมใช้ในโปรแกรมต่าง ๆ เช่น หุ่นหุ่นยนต์ การพัฒนาเกม และเครือข่ายรูง อัลกอริทึมนี้รวมคุณสมบัติของการค้นหาแบบยูนิฟอร์ม และการค้นหาครั้งแรกอย่างมีประสิทธิภาพที่สุด เพื่อค้นหาเส้นทางที่สั้นที่สุดจากเริ่มต้นของโหนดไปยังโหนด มัคคุเทศก์นี้จัดกระบวนการขั้นตอนขั้นตอนต่อ ๆ ไป เพื่อใช้อัลกอริทึม A* โดยมีตัวอย่างการคํานวณถึงแต่ละขั้นตอน
การ เข้าใจ พระ อัยยสถาน
อัลกอริทึม A* ใช้ฟังก์ชันค่าใช้จ่าย f(n) = g(n) + h(n) โดย:
- [FLT: 0]g(n): ราคาจริงตั้งแต่เริ่มต้นถึงโหนด n.
- [FLT: 0] hh(n): การประมาณค่าจากค่าใช้จ่ายจาก Nip N-ถึงเป้าหมาย (พ.ศ.
อัลกอริทึมนี้สํารวจโหนดที่มีค่า f(n) ต่ําที่สุด สมดุลกับค่าใช้จ่ายจริง และประมาณ เพื่อค้นหาเส้นทางที่ดีที่สุดอย่างมีประสิทธิภาพ
การชดเชยทีละขั้น
ทําตามขั้นตอนเหล่านี้เพื่อใช้อัลกอริทึม A*:
1. เริ่มการทํางานรายการที่เปิดและปิด
รายการที่เปิดอยู่นี้มีโหนดที่จะใช้ในการประเมิน โดยเริ่มจากโหนดเริ่มต้น รายการที่ปิดไว้นี้มีค่าที่ให้ตรวจสอบอยู่แล้ว
2 เลือกโหนดที่มีค่าต่ําสุด f( n)
เอาโหนดนี้ออกจากรายการที่เปิดใช้ และเพิ่มเข้าไปในรายการที่ปิดอยู่
3. สร้างโหนดข้างเคียง
คํานวณ g( n) และ hn สําหรับเพื่อนบ้านแต่ละคน หากเพื่อนบ้านไม่ได้อยู่ในรายการที่เปิด หรือมี g(n) ต่ํากว่า และตั้งค่าให้ตัวแม่อยู่กับโหนดปัจจุบัน
4. ย้ําจนกว่าจะถึงเป้าหมาย
ทําต่อไปจนกว่าโหนดเป้าหมายจะถูกเพิ่มเข้าไปในรายการที่ปิดอยู่ ซึ่งแสดงว่าพบเส้นทางที่สั้นที่สุด
การ คํานวณ ตัว อย่าง
พิจารณาตารางง่าย ๆ กับจุดเริ่ม A และจุด G. huristic h(n) เป็นระยะตรง. การคํานวณเริ่มต้นเป็นดังนี้:
เริ่มต้นที่ โหนด A, g(A) = 0, h(A) = 4. f(A) = 4. โหนดเพื่อนบ้าน B และ C ถูกประเมิน:
สําหรับโหนด B: g(B) = g(A) + ค่าใช้จ่าย (A, B) = 0+1 = 1, h(B) = 3, f(B) = 4
สําหรับโหนด C: g(C) = 1, h(C) = 2, f(C) = 3. Node C มีค่า f(n) ต่ําที่สุด, ดังนั้นจึงถูกเลือกต่อไป
กระบวนการนี้ยังคงดําเนินการต่อไป ปรับปรุงค่า g, h และ f จนกว่าจุดเสียของจุดเป้าหมาย G จะถึง โดยระบุเส้นทางที่สั้นที่สุด