سؤال 1: عدل المقطع البرمجي لخوارزمية البحث بأولوية الاتساع (BFS) وخوارزمية البحث بأولوية الأفضل (A* search) الموزونتين بتغيير الأوزان الأفقية والرأسية إلى 3 والأوزان القطرية إلى 5، وكذلك عدّل نقطة البداية إلى (7, 2).
الإجابة: س:1: اجعل وزن الحركة الأفقية/الرأسية=3، والقطرية=5، ونقطة البداية (2, 7) في BFS و *A.
خطوات الحل:
- **الخطوة 1 (فهم المطلوب):** لنفهم هذا السؤال. لدينا خوارزميتان للبحث في الرسوم البيانية أو الشبكات: خوارزمية البحث بأولوية الاتساع (BFS) وخوارزمية البحث بأولوية الأفضل (A*). المطلوب هو تعديل نسخة موزونة منهما، أي نسخة تأخذ في الاعتبار تكاليف مختلفة للحركات.
- **الخطوة 2 (تحديد التعديلات):** التعديلات المطلوبة هي ثلاث: 1. تغيير وزن الحركة الأفقية (يمين/يسار) والحركة الرأسية (أعلى/أسفل) ليصبح 3 بدلاً من 1 (عادةً). 2. تغيير وزن الحركة القطرية (مثل أعلى-يمين) ليصبح 5 بدلاً من √2 تقريباً (أو قيمة أخرى). 3. تغيير نقطة البداية في البحث من (0,0) عادةً إلى (7, 2). هذه التعديلات تُطبق على الكود أو الخوارزمية نفسها، مما يعني أن أي حساب للمسافة أو التكلفة سيعتمد على هذه الأوزان الجديدة.
- **الخطوة 3 (النتيجة والتطبيق):** إذن، بعد التعديل، ستقوم الخوارزمية الموزونة (BFS الموزون و A* الموزون) بحساب تكلفة المسار بناءً على: تكلفة 3 لكل خطوة أفقية أو رأسية، وتكلفة 5 لكل خطوة قطرية. وستبدأ البحث من الخلية أو العقدة ذات الإحداثيات (7, 2).