بحث A*

ديكسترا مع حسّ بالاتجاه. تضيف إلى تكلفة كل مكان تقديرًا للتكلفة المتبقية، فتجرّب أولًا الأماكن التي تبدو الأقرب إلى الهدف.

  • الوقت O((V + E) log V)
  • الذاكرة O(V)
  • تستخدم طابور أولوية
ماذا تعني هذه المصطلحات؟
  • التكلفة: ثمن الحركة. في المتاهة تكلف الأرض 1 والوحل 3 والماء 9؛ وفي الرسم البياني هي الرقم على الحافة.
  • طابور الأولوية: طابور يمر فيه الأرخص أولًا، لا من وصل أولًا.
  • التقدير (h): تخمين للتكلفة المتبقية. تبقى A* دقيقة فقط إذا لم يكن التخمين مرتفعًا أبدًا.
  • إرخاء الحافة: التحقق مما إذا كان المرور عبر المكان الحالي يعطي جارًا تكلفة أقل، واعتمادها إن كان كذلك.
0 / 205 خطوة
  • في الطابور
  • الحالي
  • انتهى
  • أرخص طريق
  • أرض · 1
  • وحل · 3
  • ماء · 9
  • جدار

جديد: البداية في A1 بتكلفة 0 وتقدير 26 حتى الهدف. إنه الوحيد في الطابور.

مفتاح المسافة: تشغيل أو إيقاف مؤقت. السهمان الأيسر والأيمن: خطوة بخطوة. Home وEnd: الانتقال المباشر.

جرّب هذا: اختر الحقل المفتوح وبدّل بين ديكسترا وA*: كلاهما يجد طريقًا بالتكلفة نفسها، لكن A* تأخذ من الطابور خلايا أقل بكثير.

كيف يعمل

تعمل A* مثل ديكسترا، لكنها ترتّب الطابور حسب f = التكلفة حتى الآن + h، حيث تقدّر h التكلفة المتبقية. في المتاهة، h هي عدد الحركات حتى M مع تجاهل الجدران والوحل؛ وفي الرسم البياني، المسافة المستقيمة مقسومة على 10. ما دامت h لا تبالغ أبدًا، يكون الطريق الذي لدى A* عند أخذ الهدف هو الأرخص، تمامًا كما في ديكسترا. كلما كان التقدير أفضل، قلّت الأماكن التي يجب فحصها.

متى يكون خيارًا جيدًا

استخدم A* عندما تبحث عن هدف واحد وتستطيع تقدير بعده: إيجاد الطريق في الألعاب، والروبوتات، ومخططات المسارات على الخريطة. مع h = 0 تكون ديكسترا نفسها. التقدير الذي قد يبالغ يجعل A* أسرع لكنه قد يفوّت عليك أرخص طريق.

© 2026 Developer Toolbox. جميع الحقوق محفوظة. حول