إيجاد المسار في المتاهة – BFS و DFS و A*
علوم الحاسوبالخوارزميات وحل المشكلات17–18 سنة
جارٍ التحميل…
سجّل الدخول للتشغيلشبكة فيها جدران وخلية بداية وخلية هدف. يختار الطالب البحث بالعرض أولًا (BFS، باستخدام طابور) أو البحث بالعمق أولًا (DFS، باستخدام مكدس) أو خوارزمية A*، ثم يتابع خطوة بخطوة: تُرقَّم الخلايا المنتظرة بحسب ترتيب إخراجها، وتُلوَّن الخلايا المستكشفة بحسب بعدها، ثم يظهر المسار الذي وُجد في النهاية. ارسم الجدران أو امسحها، واسحب البداية والهدف، وأنشئ متاهات جديدة، وقارن عدد الخلايا المستكشفة وطول المسار لكل خوارزمية.
الدرس: خوارزميات إيجاد المسار على شبكة: البحث بالعرض أولًا (BFS) والبحث بالعمق أولًا (DFS) و A*
ماذا تعرض
تُمثَّل المتاهة بشبكة من الخلايا؛ وكل حركة تنقل إلى خلية مجاورة في الأعلى أو الأسفل أو اليمين أو اليسار، ولكل الحركات الكلفة نفسها. يحفظ البحث بالعرض أولًا الخلايا المنتظرة في طابور، فيستكشف كل الخلايا التي تبعد خطوة واحدة، ثم خطوتين، وهكذا؛ لذلك يكون لديه أقصر مسار في أول مرة يبلغ فيها الهدف. أما البحث بالعمق أولًا فيستخدم مكدسًا ويتبع اتجاهًا واحدًا حتى يعلق، فيكون مساره في الغالب أطول. وترتّب خوارزمية A* الخلايا بحسب f = g + h، حيث h هي مسافة مانهاتن إلى الهدف.
طريقة الاستخدام
اختر BFS أو DFS أو A* واضغط «خطوة» لتتابع الخلايا المنتظرة المرقّمة، أو «▶ تشغيل» لرؤية الحركة. قارن جدول النتائج بعد كل تشغيل. استخدم «رسم جدران» و«مسح جدران» و«نقل البداية» و«نقل الهدف» لتغيير الشبكة، أو اختر «نوع الشبكة» واضغط «شبكة جديدة».
المعاملات القابلة للتغيير
- الخوارزمية BFS – البحث بالعرض أولًا, DFS – البحث بالعمق أولًا, A* – بتوجيه من تقدير المسافة
- نوع الشبكة متاهة فيها حلقات, عوائق عشوائية, شبكة فارغة
- عدد أعمدة الشبكة 11–41 خلية
- الجدران الإضافية المزالة (المتاهة) 0–60 %
- كثافة العوائق 0–45 %
- سرعة التشغيل 1–100 خطوة/s
أسئلة للاستكشاف
- لماذا يكون المسار الذي يجده BFS أقصر مسار دائمًا، بينما لا يكون مسار DFS كذلك في الغالب؟
- في شبكة فارغة، أي خوارزمية تستكشف أقل عدد من الخلايا، ولماذا؟
- هل يمكنك بناء متاهة يبلغ فيها DFS الهدف بعد استكشاف خلايا أقل مما يستكشفه BFS؟