แนวทางขั้นตอนขั้นตอนการขยาย a* สืบค้น Algorith กับตัวอย่างคํานวณ

อัลกอริทึมการค้นหา A* เป็นอัลกอริทึมที่ใช้ค้นหาและวาดกราฟและกราฟที่นิยมใช้ในโปรแกรมต่าง ๆ เช่น หุ่นหุ่นยนต์ การพัฒนาเกม และเครือข่ายรูง อัลกอริทึมนี้รวมคุณสมบัติของการค้นหาแบบยูนิฟอร์ม และการค้นหาครั้งแรกอย่างมีประสิทธิภาพที่สุด เพื่อค้นหาเส้นทางที่สั้นที่สุดจากเริ่มต้นของโหนดไปยังโหนด มัคคุเทศก์นี้จัดกระบวนการขั้นตอนขั้นตอนต่อ ๆ ไป เพื่อใช้อัลกอริทึม A* โดยมีตัวอย่างการคํานวณถึงแต่ละขั้นตอน

การ เข้าใจ พระ อัยยสถาน

อัลกอริทึม A* ใช้ฟังก์ชันค่าใช้จ่าย f(n) = g(n) + h(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 จะถึง โดยระบุเส้นทางที่สั้นที่สุด