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

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

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

الدرس: خوارزميات البحث عن المسار: BFS و A*

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

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

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

نوع المحتوى: example

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

📝 ملخص الصفحة

تقدم هذه الصفحة أمثلة عملية لتنفيذ خوارزميات البحث عن المسار باستخدام لغة بايثون، مع التركيز على خوارزميتين رئيسيتين: البحث الأول بالأفضلية (BFS) وخوارزمية A*.

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

يتضمن القسم الثاني كود بايثون لخوارزمية A* الموزونة باستخدام دالة توجيه ثابتة، مع عرض نتائج مماثلة تشمل مسارًا من 26 خلية ومسافة 25 وعدد زيارات الخلايا 1245، مما يوضح كفاءة الخوارزمية في تقليل المسافة.

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

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

--- SECTION: Python Code for BFS weighted algorithm --- big_maze, partial(get_accessible_neighbors_weighted, horizontal_vertical_weight=horz_vert_w, diagonal_weight=diag_w), verbose=False) print('\nBFS weighted.') print('\nShortest Path:', solution_bfs_w) print('Cells on the Shortest Path:', len(solution_bfs_w)) print('Shortest Path Distance:', distance_bfs_w) print('Number of cell visits:', cell_visits_bfs_w) --- SECTION: Python Code for A* Search weighted algorithm --- solution_astar_w, distance_astar_w, cell_visits_astar_w=astar_maze_solver(start_cell, target_cell, big_maze, partial(get_accessible_neighbors_weighted, horizontal_vertical_weight=horz_vert_w, diagonal_weight=diag_w), constant_heuristic, verbose=False) print('\nA* Search weighted with constant heuristic.') print('\nShortest Path:', solution_astar_w) print('Cells on the Shortest Path:', len(solution_astar_w)) print('Shortest Path Distance:', distance_astar_w) print('Number of cell visits:', cell_visits_astar_w) --- SECTION: BFS weighted. --- BFS weighted. Shortest Path: [(14, 0), (14, 1), (14, 2), (13, 2), (13, 3), (12, 3), (12, 4), (11, 4), (11, 5), (10, 5), (10, 6), (9, 6), (9, 7), (9, 8), (9, 9), (9, 10), (9, 11), (9, 12), (9, 13), (8, 13), (7, 13), (6, 13), (5, 13), (5, 12), (4, 11), (5, 10)] Cells on the Shortest Path: 26 Shortest Path Distance: 30 Number of cell visits: 1235 --- SECTION: A* Search weighted with constant heuristic. --- A* Search weighted with constant heuristic. Shortest Path: [(14, 0), (13, 0), (12, 0), (11, 0), (10, 0), (9, 0), (9, 1), (9, 2), (9, 3), (9, 4), (9, 5), (9, 6), (9, 7), (9, 8), (9, 9), (9, 10), (9, 11), (9, 12), (9, 13), (8, 13), (7, 13), (6, 13), (5, 13), (5, 12), (5, 11), (5, 10)] Cells on the Shortest Path: 26 Shortest Path Distance: 25 Number of cell visits: 1245 وزارة التعليم Ministry of Education 123 2023 - 1447 --- VISUAL CONTEXT --- **IMAGE**: Ministry of Education Logo Description: A logo featuring a stylized green pattern resembling a tree or leaves, with the text 'وزارة التعليم' (Ministry of Education) in Arabic, '123' and 'Ministry of Education' in English, and '2023 - 1447' below it. It is located at the bottom left corner of the page. Table Structure: Headers: N/A Rows: Key Values: وزارة التعليم, Ministry of Education, 123, 2023, 1447 Context: This logo serves as a publisher or institutional identifier for the page content.

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

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

ما هي النتيجة التي تم الحصول عليها باستخدام خوارزمية البحث في العرض الأول (BFS) المرجحة لحل المسألة؟

الإجابة: تم الحصول على أقصر مسار يتكون من 26 خلية، بمسافة إجمالية قدرها 30 وحدة، وزيارة 1235 خلية.

الشرح: القسم المخصص لخوارزمية BFS المرجحة يوضح النتائج المباشرة لطول المسار، المسافة، وعدد الزيارات.

تلميح: ابحث عن القسم الذي يذكر 'BFS weighted' واقرأ مخرجاته.

ما هي النتيجة التي تم الحصول عليها باستخدام خوارزمية A* المرجحة مع دالة الاستدلال الثابتة لحل المسألة؟

الإجابة: تم الحصول على أقصر مسار يتكون من 26 خلية، بمسافة إجمالية قدرها 25 وحدة، وزيارة 1245 خلية.

الشرح: القسم المخصص لخوارزمية A* المرجحة مع دالة الاستدلال الثابتة يوضح هذه النتائج.

تلميح: تذكر أن خوارزمية A* المرجحة مع دالة الاستدلال الثابتة تم تطبيقها. انظر إلى القسم الخاص بها.

ما هو الفرق في المسافة الإجمالية بين المسار الأقصر الذي وجدته خوارزمية BFS المرجحة وخوارزمية A* المرجحة؟

الإجابة: المسافة التي وجدتها خوارزمية A* المرجحة (25) أقل من المسافة التي وجدتها خوارزمية BFS المرجحة (30) بوحدتين.

الشرح: يُظهر هذا السؤال قدرة خوارزمية A* على إيجاد مسارات أقصر في هذه الحالة مقارنة بـ BFS المرجحة.

تلميح: قارن بين قيمة 'Shortest Path Distance' لكلتا الخوارزميتين.

ما هو وزن الحركات الأفقية والرأسية (horizontal_vertical_weight) المستخدم في معالجة المسألة؟

الإجابة: تم استخدامه كمدخل لدالة 'get_accessible_neighbors_weighted' ولكن القيمة الدقيقة غير مذكورة في المخرجات المطبوعة، فقط أنها تم تمريرها.

الشرح: يشير الكود إلى أن 'horizontal_vertical_weight' تم تمريره كمعلمة، لكن القيمة العددية ليست مطبوعة مباشرة كناتج نهائي.

تلميح: ابحث عن كيفية استدعاء 'get_accessible_neighbors_weighted' في كود Python.

ما هو الفرق في عدد الزيارات (cell visits) بين خوارزمية BFS المرجحة وخوارزمية A* المرجحة؟

الإجابة: قامت خوارزمية BFS المرجحة بزيارة 1235 خلية، بينما قامت خوارزمية A* المرجحة بزيارة 1245 خلية، مما يعني أن BFS المرجحة زارت عدد خلايا أقل قليلاً.

الشرح: يعكس عدد الزيارات كفاءة البحث. في هذه الحالة، BFS المرجحة كانت أكثر كفاءة قليلاً من حيث عدد الخلايا التي تم فحصها.

تلميح: قارن بين قيم 'Number of cell visits' لكلتا الخوارزميتين.