📄 النص الكامل للصفحة
في هذه الوحدة، ستشاهد بعض الأمثلة المرئية وتطبيقات البايثون على خوارزمية البحث بأولوية الاتساع (BFS) وخوارزمية البحث بأولوية الأفضل (A* search) لمعرفة الاختلافات بين خوارزميتي البحث المستنيرة وغير المستنيرة.إنشاء ألغاز المتاهة بواسطة البايثون--- SECTION: Creating Maze Puzzles in Python ---
Creating Maze Puzzles in Pythonتُعرّف المتاهة في صورة إطار شبكي 3x3.
يُحدّد موضع البداية بنجمة في أسفل يسار المتاهة. الهدف هو الوصول إلى الخلية المستهدفة المحددة بالعلامة X. ويمكن للاعب الانتقال إلى أي خلية فارغة مجاورة لموقعه الحالي.تكون الخلية فارغة إذا لم تحتوي على عائق. على سبيل المثال، المتاهة الموضحة في شكل 2.17 تحتوي على 3 خلايا تشغلها الحواجز (Blocks). هذه الحواجز الملونة باللون الرمادي تُشكّل عائقًا يجب على اللاعب تجاوزه للوصول إلى الهدف X. ويمكن للاعب الانتقال بشكل أفقي أو رأسي أو قطري إلى أي خلية فارغة مجاورة لموقعه الحالي كما يظهر في الشكل 2.18، على سبيل المثال:الهدف هو إيجاد المسار الأقصر والأقل عددًا لمرات فحص الخلايا. وبالرغم من أن المتاهة الصغيرة 3x3 قد تبدو بسيطة للاعب البشري، إلا أنه يتوجب على الخوارزمية الذكية إيجاد حلول للتعامل مع المتاهات الكبيرة والمعقدة للغاية، مثل: متاهة 10,000×10,000 التي تحتوي على ملايين الحواجز الموزعة في أشكال معقدة ومتنوعة.يمكن استخدام المقطع البرمجي التالي بلغة البايثون لإنشاء مجموعة بيانات تصوّر المثال الموضح في الشكل 2.18.--- SECTION: Python Code for Maze Representation ---
import numpy as np# create a numeric 3 x 3 matrix full of zeros.
small_maze=np.zeros((3,3))# coordinates of the cells occupied by blocks blocks=[(1, 1), (2, 1), (2, 2)]for block in blocks:
# set the value of block-occupied cells to be equal to 1
small_maze[block]=1small_maze--- SECTION: Output of small_maze ---
array([[0., 0., 0.],
[0., 1., 0.],
[0., 1., 1.]])2025 - 1447--- VISUAL CONTEXT ---
**DIAGRAM**: شكل 2.17: لغز متاهة بسيط
Description: A 3x3 grid representing a simple maze. The grid has rows and columns labeled 0, 1, 2. The starting position (موضع البداية) is marked with a yellow star at coordinates (column 0, row 2). The target (الهدف) is marked with a green 'X' at (column 2, row 1). An obstacle (العقبة) is indicated by a shaded cell at (column 1, row 0). Other shaded cells representing blocks are at (column 1, row 1), (column 1, row 2), (column 2, row 0), and (column 2, 2). The labels 'الهدف', 'العقبة', and 'موضع البداية' are connected to their respective elements by blue lines.
Key Values: Grid size: 3x3, Start: (0, 2), Target: (2, 1), Obstacle: (1, 0), Blocked cells: (1,1), (1,2), (2,0), (2,2)
Context: Illustrates the basic structure of a maze puzzle with a defined start, target, and obstacles, as described in the accompanying text.**DIAGRAM**: شكل 2.18: يمكن للاعب الانتقال بشكل أفقي أو رأسي أو قطري إلى أي خلية فارغة مجاورة لموقعه الحالي
Description: A 3x3 grid illustrating possible movement directions for a player from a central cell (column 1, row 1). The grid has rows and columns labeled 0, 1, 2. Shaded cells representing blocks are at (column 1, row 0) and (column 2, row 2). Pink dashed arrows originate from the cell (1,1) and point to all 8 adjacent cells: (0,0), (0,1), (0,2), (1,0) (blocked), (1,2), (2,0), (2,1), (2,2) (blocked). This shows that movement can be horizontal, vertical, or diagonal, but only to empty cells.
Key Values: Grid size: 3x3, Origin cell: (1,1), Blocked cells: (1,0), (2,2), Movement directions: 8 (horizontal, vertical, diagonal)
Context: Demonstrates the rules of movement within the maze, showing that a player can move to any adjacent (including diagonal) empty cell.**DIAGRAM**: شكل 2.18: يمكن للاعب الانتقال بشكل أفقي أو رأسي أو قطري إلى أي خلية فارغة مجاورة لموقعه الحالي
Description: A 3x3 grid showing an example of player movement from a specific cell (column 1, row 2). The grid has rows and columns labeled 0, 1, 2. Shaded cells representing blocks are at (column 1, row 0) and (column 2, row 2). Pink dashed arrows originate from cell (1,2) and point to adjacent empty cells: (0,1), (1,1), (2,1). A dashed arrow also points towards (2,2) which is a blocked cell, indicating it's not a valid move.
Key Values: Grid size: 3x3, Origin cell: (1,2), Blocked cells: (1,0), (2,2), Valid moves from (1,2): (0,1), (1,1), (2,1)
Context: Provides a specific example of valid moves from a given cell, reinforcing the movement rules and the concept of blocked cells.
🎴 بطاقات تعليمية للمراجعة
عدد البطاقات: 5 بطاقة لهذه الصفحة
ما هي قواعد حركة اللاعب في متاهة الشبكة 3x3 كما وردت في النص؟
الإجابة: يمكن للاعب الانتقال بشكل أفقي أو رأسي أو قطري إلى أي خلية فارغة مجاورة لموقعه الحالي. تكون الخلية فارغة إذا لم تحتوي على عائق.
الشرح: تحدد هذه القواعد كيفية استكشاف الخوارزمية للمتاهة، حيث تتحقق من جميع الخلايا المجاورة الثمانية (بما في ذلك القطرية) وتستبعد الخلايا التي تحتوي على حواجز.
تلميح: فكر في الاتجاهات الثلاثة المسموح بها للحركة والشرط الأساسي للخلية المقصودة.
التصنيف: مفهوم جوهري | المستوى: سهل
ما هي قواعد حركة اللاعب في لغز المتاهة الموصوف في النص؟
الإجابة: يمكن للاعب الانتقال بشكل أفقي أو رأسي أو قطري إلى أي خلية فارغة مجاورة لموقعه الحالي. تكون الخلية فارغة إذا لم تحتوي على عائق.
الشرح: تحدد هذه القواعد مساحة البحث للخوارزمية، حيث تتحكم في الحالات (الخلايا) التالية التي يمكن الانتقال إليها من أي حالة حالية، وهو أمر أساسي لتصميم خوارزميات البحث مثل BFS وA*.
تلميح: فكر في الاتجاهات المحتملة للحركة من خلية مركزية وما الذي يمنع الانتقال إلى خلية معينة.
التصنيف: مفهوم جوهري | المستوى: سهل
ما هي قواعد حركة اللاعب في متاهة الشبكة 3x3 كما وردت في النص؟
الإجابة: يمكن للاعب الانتقال بشكل أفقي أو رأسي أو قطري إلى أي خلية فارغة مجاورة لموقعه الحالي. تكون الخلية فارغة إذا لم تحتوي على عائق (حاجز).
الشرح: تحدد هذه القواعد كيفية استكشاف الخوارزمية للمتاهة، حيث تتحقق من جميع الخلايا المجاورة الثمانية (بما في ذلك القطرية) وتستبعد تلك التي تحتوي على حواجز.
تلميح: فكر في الاتجاهات الثلاثة الممكنة للحركة من خلية إلى أخرى، وما هي الحالة التي تجعل الخلية قابلة للانتقال إليها.
التصنيف: مفهوم جوهري | المستوى: سهل
كيف يتم تمثيل المتاهة في الكود البرمجي بلغة بايثون باستخدام مصفوفة رقمية؟
الإجابة: يتم إنشاء مصفوفة رقمية 3x3 مملوءة بالأصفار باستخدام numpy.zeros، ثم يتم تعيين قيمة 1 للخلايا التي تحتوي على حواجز (blocks).
الشرح: يستخدم الكود البرمجي المصفوفة الرقمية لتمثيل حالة كل خلية في المتاهة، حيث تمثل القيمة 0 خلية فارغة والقيمة 1 خلية محجوبة بحاجز، مما يسهل معالجة المتاهة بواسطة الخوارزميات.
تلميح: فكر في كيفية تمثيل الخلايا الفارغة والخلايا المحجوبة باستخدام قيم رقمية في مصفوفة.
التصنيف: صيغة/خطوات | المستوى: متوسط
ما هي قواعد حركة اللاعب في لغز المتاهة الموصوف في النص؟
الإجابة: يمكن للاعب الانتقال بشكل أفقي أو رأسي أو قطري إلى أي خلية فارغة مجاورة لموقعه الحالي. تكون الخلية فارغة إذا لم تحتوي على عائق.
الشرح: تحدد هذه القواعد مساحة البحث للخوارزميات (مثل BFS و A*) في حل ألغاز المتاهة، حيث تتحكم في الخيارات المتاحة للانتقال من حالة إلى أخرى.
تلميح: فكر في الاتجاهات المحتملة للحركة من خلية مركزية وما الذي يحدد صلاحية الخلية الهدف.
التصنيف: مفهوم جوهري | المستوى: سهل