خوارزمية البحث بأولوية الاتساع والمخططات الموزونة - كتاب الذكاء الإصطناعي - الصف 12 - الفصل 1 - المملكة العربية السعودية

الكتاب: كتاب الذكاء الإصطناعي - الصف 12 - الفصل 1 | المادة: الذكاء الإصطناعي | المرحلة: الصف 12 | الفصل الدراسي: 1

الدولة: المملكة العربية السعودية | المنهج: المنهج السعودي - وزارة التعليم

الدرس: خوارزمية البحث بأولوية الاتساع والمخططات الموزونة

📚 معلومات الصفحة

الكتاب: كتاب الذكاء الإصطناعي - الصف 12 - الفصل 1 | المادة: الذكاء الإصطناعي | المرحلة: الصف 12 | الفصل الدراسي: 1

الدولة: المملكة العربية السعودية | المنهج: المنهج السعودي - وزارة التعليم

نوع المحتوى: درس تعليمي

مستوى الصعوبة: متوسط

📝 ملخص الصفحة

تتناول هذه الصفحة تطبيق خوارزمية البحث بأولوية الاتساع (BFS) في حل المتاهات، مع التركيز على الفرق بين المخططات غير الموزونة والموزونة. تبدأ بشرح كيفية تمثيل المتاهة كمخطط غير موزون، حيث تُعرض العقد كخلايا غير مشغولة والحواف كاتصالات بين الخلايا المتجاورة. توضح أن BFS في المخططات غير الموزونة تجد المسار الأقصر بناءً على أقل عدد من الخلايا المفحوصة، مما يجعلها فعالة في إيجاد المسار الأول إلى الهدف.

ثم تنتقل الصفحة إلى مناقشة المخططات الموزونة، حيث تُعطى أوزان مختلفة للحواف بناءً على نوع الحركة (أفقية/رأسية بوزن 1، وقطرية بوزن 3). يُظهر مثال لمتاهة 3x3 موزونة كيف أن المسار الأقصر يتحدد الآن بمجموع الأوزان، وليس بعدد الخلايا، مما يؤدي إلى مسار مختلف عن الحالة غير الموزونة.

تشرح الصفحة أيضًا كيفية ترميز هذه الحالات المعقدة باستخدام دالة `get_accessible_neighbors_weighted` في بايثون، والتي تأخذ في الاعتبار الأوزان المختلفة للحركات. يتم دعم الشرح برسوم توضيحية لمتاهة 3x3 ومخططاتها غير الموزونة والموزونة، مما يساعد في تصور المفاهيم.

بشكل عام، تهدف الصفحة إلى توضيح كيفية تكييف خوارزميات البحث مثل BFS للتعامل مع مشاكل المسار في بيئات موزونة، مع تقديم أمثلة عملية وترميز برمجي لدعم الفهم.

📄 النص الكامل للصفحة

تنجح خوارزمية البحث بأولوية الاتساع (BFS) في إيجاد المسار الأقصر بعد فحص 10 خلايا. يمكن تصوير عملية البحث المطبقة بخوارزمية البحث بأولوية الاتساع (BFS) بسهولة عند تصوير المتاهة بالتمثيل المستند إلى مخطط. المثال التالي يعرض متاهة 3x3 وتمثيلها بالمخطط:يتضمن تمثيل المخطط عقدة واحدة لكل خلية غير مشغولة. توضح القيمة على العقد إحداثيات خلية المصفوفة المقابلة. ستظهر حافة غير موجهة من عقدة إلى أخرى في حال كانت الخلايا المقابلة يمكن الوصول إليها من خلال الانتقال من واحدة إلى الأخرى. إحدى الملاحظات المهمة حول خوارزمية البحث بأولوية الاتساع (BFS) هي أنه في حالة المخططات غير الموزونة (Unweighted Graphs) يكون المسار الأول الذي تحدده الخوارزمية بين خلية البداية وأي خلية أخرى هو المسار الذي يتضمن أقل عدد من الخلايا التي تم فحصها. وهذا يعني أنه إذا كانت كل الحواف في المخطط لها الوزن نفسه، أي كان لكل الانتقالات من خلية إلى أخرى التكلفة نفسها، فإن المسار الأول الذي تحدده الخوارزمية إلى عقدة محددة يكون هو المسار الأقصر إلى تلك العقدة. ولهذا السبب، تتوقف دالة البحث bfs_maze_solver() عن البحث، وتعرض نتيجة المرة الأولى التي فحصت فيها العقدة المستهدفة.ومع ذلك، لا يمكن تطبيق هذه المنهجية على المخططات الموزونة (Weighted Graphs). المثال التالي يوضح إصداراً موزوناً (Weighted Version) لتمثيل مخطط متاهة 3x3:--- SECTION: شكل 2.21: المتاهة ومخططها الموزون --- شكل 2.21: المتاهة ومخططها الموزون في هذا المثال، يكون وزن كل الحواف المقابلة للحركات الرأسية أو الأفقية (جنوبًا، شمالاً، غربًا، شرقًا) يساوي 1. ومع ذلك، يكون وزن كل الحواف المقابلة للحركات القطرية (جنوبية غربية، جنوبية شرقية، شمالية غربية، شمالية شرقية) يساوي 3. في هذه الحالة الموزونة، سيكون المسار الأقصر هو [(2,0), (1,0), (0,0), (0,1), (0,2), (1,2)]، بمسافة إجمالية: 1+1+1+1+1=5.يمكن ترميز هذه الحالة الأكثر تعقيدًا باستخدام الإصدار الموزون من الدالة ()get_accessible_neighbors الموضحة بالأسفل.def get_accessible_neighbors_weighted(maze: np.ndarray, cell: tuple, horizontal_vertical_weight: float, diagonal_weight: float):2025 - 1447--- VISUAL CONTEXT --- **DIAGRAM**: تمثيل متاهة 3x3 ومخططها غير الموزون Description: A diagram showing an unweighted graph representation of a 3x3 maze and its corresponding grid. The graph nodes are labeled with (row, column) coordinates: (1,0), (0,0), (1,2), (2,0), (0,1), (0,2). Edges connect adjacent accessible cells. The 3x3 grid shows the maze layout, with shaded cells representing obstacles. A star symbol marks the cell (2,0) as the start point, and an 'X' symbol marks the cell (1,2) as the target. Data: The graph visually represents the connectivity between accessible cells in the maze. The grid provides a visual context of the maze structure. Key Values: Nodes: (1,0), (0,0), (1,2), (2,0), (0,1), (0,2), Start point: (2,0), Target point: (1,2), Grid dimensions: 3x3 Context: Illustrates the concept of representing a maze as an unweighted graph for pathfinding algorithms like Breadth-First Search (BFS).**DIAGRAM**: شكل 2.21: المتاهة ومخططها الموزون Description: A diagram showing a weighted graph representation of the same 3x3 maze and its corresponding grid. The graph nodes are labeled with (row, column) coordinates: (1,0), (0,0), (1,2), (2,0), (0,1), (0,2). Edges connecting horizontally or vertically have a weight of 1. Edges connecting diagonally have a weight of 3. The 3x3 grid is identical to the unweighted version, with shaded cells as obstacles, a star at (2,0) as the start, and an 'X' at (1,2) as the target. Data: The graph visually represents the connectivity and associated costs (weights) for movements between accessible cells in the maze. The grid provides a visual context of the maze structure. Key Values: Nodes: (1,0), (0,0), (1,2), (2,0), (0,1), (0,2), Edge weight (horizontal/vertical): 1, Edge weight (diagonal): 3, Start point: (2,0), Target point: (1,2), Shortest path: [(2,0), (1,0), (0,0), (0,1), (0,2), (1,2)], Total path weight: 1+1+1+1+1=5, Grid dimensions: 3x3 Context: Demonstrates how edge weights can be assigned to represent different movement costs in a maze, leading to a weighted graph problem. This is used to explain pathfinding in weighted graphs where the shortest path is determined by the sum of edge weights.

🎴 بطاقات تعليمية للمراجعة

عدد البطاقات: 5 بطاقة لهذه الصفحة

في أي نوع من المخططات تكون خوارزمية البحث بأولوية الاتساع (BFS) قادرة على إيجاد المسار الأقصر بشكل مباشر؟

الإجابة: في المخططات غير الموزونة (Unweighted Graphs).

الشرح: عندما تكون جميع الحواف في المخطط لها الوزن نفسه (أي تكلفة الانتقال متساوية)، فإن المسار الذي يتضمن أقل عدد من الخلايا/العقد المفحوصة هو بالضرورة المسار الأقصر.

تلميح: فكر في طبيعة تكلفة الانتقال بين العقد في هذا النوع من المخططات.

لماذا لا يمكن تطبيق منهجية خوارزمية البحث بأولوية الاتساع (BFS) بشكل مباشر لإيجاد المسار الأقصر في المخططات الموزونة (Weighted Graphs)؟

الإجابة: لأن المسار الذي يتضمن أقل عدد من الخلايا قد لا يكون هو المسار الأقصر بسبب اختلاف أوزان الحواف (تكاليف الانتقال).

الشرح: في المخططات الموزونة، قد يتطلب المرور بعدد قليل من الخلايا تكلفة إجمالية أعلى من المرور بعدد أكبر من الخلايا إذا كانت تكلفة العبور في الخلايا القليلة مرتفعة. BFS تبحث عن أقل عدد من العقد، وليس أقل مجموع أوزان.

تلميح: قارن بين 'عدد الخلايا' و 'إجمالي التكلفة' عندما تختلف تكلفة عبور كل خلية.

ما هو وزن الحواف المقابلة للحركات الرأسية أو الأفقية (جنوبًا، شمالاً، غربًا، شرقًا) في المثال الموزون لمتاهة 3x3 الموضح؟

الإجابة: وزن الحواف هو 1.

الشرح: في التمثيل الموزون الموضح، تم تخصيص وزن قدره 1 للانتقال بين الخلايا المتجاورة بشكل رأسي أو أفقي.

تلميح: لاحظ القيم المحددة للحركات الأساسية في وصف المثال الموزون.

ما هو وزن الحواف المقابلة للحركات القطرية (جنوبية غربية، جنوبية شرقية، شمالية غربية، شمالية شرقية) في المثال الموزون لمتاهة 3x3 الموضح؟

الإجابة: وزن الحواف هو 3.

الشرح: في المثال الموزون، تم تخصيص وزن أكبر (3) للانتقال بين الخلايا بشكل قطري، مما يعكس تكلفة أعلى لهذه الحركات.

تلميح: ابحث عن القيم التي تختلف عن الحركات الرأسية والأفقية في وصف المثال.

بالنظر إلى المخطط الموزون لمتاهة 3x3، ما هو المسار الأقصر من خلية البداية (2,0) إلى خلية الهدف (1,2) وما هي مسافته الإجمالية؟

الإجابة: المسار هو [(2,0), (1,0), (0,0), (0,1), (0,2), (1,2)]، والمسافة الإجمالية هي 5.

الشرح: المسار الموضح يتضمن 5 حركات بخطوة واحدة (2,0) -> (1,0) (رأسي، وزن 1)، (1,0) -> (0,0) (رأسي، وزن 1)، (0,0) -> (0,1) (أفقي، وزن 1)، (0,1) -> (0,2) (أفقي، وزن 1)، (0,2) -> (1,2) (رأسي، وزن 1). مجموعها 1+1+1+1+1=5. أي مسار آخر قد يتضمن حركات قطرية بتكلفة 3 مما يزيد المسافة الإجمالية.

تلميح: احسب تكلفة كل خطوة في المسار الموضح مع الأخذ في الاعتبار أوزان الحواف الرأسية/الأفقية والقطرية.