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

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

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

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

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

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

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

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

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

📝 ملخص الصفحة

تقدم هذه الصفحة تحليلًا مقارنًا لخوارزميتين لحل مشكلة البائع المتجول: خوارزمية حل القوة المفرطة وخوارزمية حل برمجة الأعداد الصحيحة المختلطة. يتم إنشاء 100 نسخة من المشكلة تتضمن 8 مواقع بمسافات تتراوح بين 5 و20، ويتم استخدام الخوارزميتين لحل كل حالة. النتائج تُظهر أن خوارزمية برمجة الأعداد الصحيحة المختلطة تنتج الحل الأمثل بنسبة 100%، مما يؤكد فعاليتها.

يتم أيضًا اختبار سرعة خوارزمية برمجة الأعداد الصحيحة المختلطة من خلال تطبيقها على 100 نسخة كبيرة تتضمن 20 موقعًا، حيث يستغرق التنفيذ حوالي 188.9 ثانية. هذا الوقت يعتبر سريعًا مقارنة بعدد الطرق الممكنة الهائل (121,645,100,000,000 طريقًا)، مما يبرز كفاءة الخوارزمية في البحث ضمن مساحة الحلول الكبيرة.

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

📋 المحتوى المنظم

📖 محتوى تعليمي مفصّل

نوع: محتوى تعليمي

يولد المقطع البرمجي التالي 100 نسخة من مشكلة البائع المتجول تشمل 8 مواقع وتتراوح المسافات فيها بين 5 و 20. كما أنه يستخدم خوارزمية حل القوة المفرطة، وخوارزمية حل برمجة الأعداد الصحيحة المختلطة لحل كل حالة. ويظهر النسبة المئوية للأسلوبين اللذين أظهرا طريقتين لهما المسافة نفسها:

نوع: محتوى تعليمي

same_count = 0 for i in range(100): dist_matrix, location_ids, startstop=create_problem_instance(8, [5,20]) route1, dist1 = brute_force_solver(dist_matrix, location_ids, startstop) route2, dist2 = MIP_solver(dist_matrix, location_ids, startstop) # counts how many times the two solvers produce the same total distance if dist1 == dist2: same_count += 1 print(same_count / 100)

نوع: محتوى تعليمي

1.0

نوع: محتوى تعليمي

تؤكد النتائج أن خوارزمية حل برمجة الأعداد الصحيحة المختلطة تظهر الحل الأمثل بنسبة 100% لكل نسخ المشكلة. ويوضح المقطع البرمجي التالي سرعة خوارزمية حل برمجة الأعداد الصحيحة المختلطة من خلال استخدامها لحل 100 نسخة كبيرة تتضمن كل منها 20 موقعًا:

نوع: محتوى تعليمي

import time start = time.time() # starts timer for i in range(100): dist_matrix, location_ids, startstop = create_problem_instance(20, [5,20]) route, dist = MIP_solver(dist_matrix, location_ids, startstop) stop=time.time() # stops timer print(stop - start) # prints the elapsed time in seconds

نوع: محتوى تعليمي

188.90074133872986

نوع: محتوى تعليمي

على الرغم من أن وقت التنفيذ الدقيق سيعتمد على قوة معالجة الجهاز الذي تستخدمه لتنفيذ مفكرة جوبيتر، إلا أنه من المفترض أن يستغرق التنفيذ بضع دقائق لحساب الحل لجميع مجموعات البيانات المئة. وهذا بدوره مذهل إذا تم الأخذ في الاعتبار أن عدد الطرق الممكنة لكل نسخة من النسخ المئة هي: 121,645,100,000,000 = !19 طريقًا مختلفًا، ومثل هذا العدد الكبير من الطرق يفوق بكثير قدرات أسلوب القوة المفرطة. ومع ذلك، فإنه عن طريق البحث الفعال في هذه المساحة الهائلة الخاصة بجميع الحلول الممكنة يمكن لخوارزمية حل برمجة الأعداد الصحيحة المختلطة أن تجد الطريق الأمثل بسرعة.

نوع: محتوى تعليمي

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

نوع: METADATA

وزارة التعليم Ministry of Education 293 2023 - 1447

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

يولد المقطع البرمجي التالي 100 نسخة من مشكلة البائع المتجول تشمل 8 مواقع وتتراوح المسافات فيها بين 5 و 20. كما أنه يستخدم خوارزمية حل القوة المفرطة، وخوارزمية حل برمجة الأعداد الصحيحة المختلطة لحل كل حالة. ويظهر النسبة المئوية للأسلوبين اللذين أظهرا طريقتين لهما المسافة نفسها:same_count = 0 for i in range(100): dist_matrix, location_ids, startstop=create_problem_instance(8, [5,20]) route1, dist1 = brute_force_solver(dist_matrix, location_ids, startstop) route2, dist2 = MIP_solver(dist_matrix, location_ids, startstop) # counts how many times the two solvers produce the same total distance if dist1 == dist2: same_count += 1 print(same_count / 100)1.0تؤكد النتائج أن خوارزمية حل برمجة الأعداد الصحيحة المختلطة تظهر الحل الأمثل بنسبة 100% لكل نسخ المشكلة. ويوضح المقطع البرمجي التالي سرعة خوارزمية حل برمجة الأعداد الصحيحة المختلطة من خلال استخدامها لحل 100 نسخة كبيرة تتضمن كل منها 20 موقعًا:import time start = time.time() # starts timer for i in range(100): dist_matrix, location_ids, startstop = create_problem_instance(20, [5,20]) route, dist = MIP_solver(dist_matrix, location_ids, startstop)stop=time.time() # stops timer print(stop - start) # prints the elapsed time in seconds188.90074133872986على الرغم من أن وقت التنفيذ الدقيق سيعتمد على قوة معالجة الجهاز الذي تستخدمه لتنفيذ مفكرة جوبيتر، إلا أنه من المفترض أن يستغرق التنفيذ بضع دقائق لحساب الحل لجميع مجموعات البيانات المئة. وهذا بدوره مذهل إذا تم الأخذ في الاعتبار أن عدد الطرق الممكنة لكل نسخة من النسخ المئة هي: 121,645,100,000,000 = !19 طريقًا مختلفًا، ومثل هذا العدد الكبير من الطرق يفوق بكثير قدرات أسلوب القوة المفرطة. ومع ذلك، فإنه عن طريق البحث الفعال في هذه المساحة الهائلة الخاصة بجميع الحلول الممكنة يمكن لخوارزمية حل برمجة الأعداد الصحيحة المختلطة أن تجد الطريق الأمثل بسرعة.وعلى الرغم من مزايا البرمجة الرياضية إلا أنها تملك قيودًا خاصة أيضًا. فهي تتطلب فهمًا قويًا للنمذجة الرياضية وقد لا تكون مناسبة للمشكلات المعقدة التي يصعب فيها التعبير عن الدالة الموضوعية والقيود بواسطة الصيغ الرياضية. وعلى الرغم من أن البرمجة الرياضية أسرع بكثير من أسلوب القوة المفرطة إلا أنها قد تظل بطيئة جدًا بالنسبة لمجموعات البيانات الكبيرة. وفي مثل هذه الحالات يقدم الأسلوب الاستدلالي الموضح في الدرسين السابقين بديلاً أكثر سرعة.2023 - 1447

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

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

ما هي المشكلة التي تم توليد 100 نسخة منها في المقطع البرمجي الأول، وكم عدد المواقع التي شملتها؟

الإجابة: تم توليد 100 نسخة من مشكلة البائع المتجول، وشملت كل نسخة 8 مواقع.

الشرح: يذكر النص صراحة أن المقطع البرمجي يولد 100 نسخة من مشكلة البائع المتجول وتشمل 8 مواقع.

تلميح: ابحث عن اسم المشكلة التي يتم حلها في الجزء الأول من النص.

ما هي الخوارزميات التي استخدمت لحل مشكلة البائع المتجول في المثال الأول؟

الإجابة: تم استخدام خوارزمية حل القوة المفرطة (brute force) وخوارزمية حل برمجة الأعداد الصحيحة المختلطة (MIP solver).

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

تلميح: ما هي الأساليب التي تم ذكرها لحل كل حالة من حالات المشكلة؟

وفقًا للنتائج، ما هي نسبة دقة خوارزمية حل برمجة الأعداد الصحيحة المختلطة في إيجاد الحل الأمثل؟

الإجابة: تؤكد النتائج أن خوارزمية حل برمجة الأعداد الصحيحة المختلطة تظهر الحل الأمثل بنسبة 100% لكل نسخ المشكلة.

الشرح: النص يوضح بشكل مباشر أن خوارزمية MIP تحقق الحل الأمثل بنسبة 100%.

تلميح: ما هي النسبة المئوية المذكورة التي تشير إلى نجاح خوارزمية MIP؟

ما هو الهدف من المقطع البرمجي الثاني، وما هي أهم معلومة نستنتجها حول أداء خوارزمية MIP؟

الإجابة: يهدف المقطع البرمجي الثاني إلى توضيح سرعة خوارزمية حل برمجة الأعداد الصحيحة المختلطة من خلال استخدامها لحل 100 نسخة كبيرة تتضمن 20 موقعًا. وتستنتج المعلومة المهمة هي أن الخوارزمية قادرة على إيجاد الحل الأمثل بسرعة حتى لمجموعات البيانات الكبيرة.

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

تلميح: ما الذي يحاول المقطع البرمجي الثاني إظهاره عن خوارزمية MIP؟ وما هي المفارقة بين حجم المشكلة وكفاءة الخوارزمية؟

ما هي القيود التي تواجهها البرمجة الرياضية، ومتى يُفضل استخدام الأسلوب الاستدلالي كبديل؟

الإجابة: تتطلب البرمجة الرياضية فهمًا قويًا للنمذجة الرياضية وقد لا تكون مناسبة للمشكلات المعقدة التي يصعب فيها التعبير عن الدالة الموضوعية والقيود بصيغ رياضية. كما أنها قد تظل بطيئة جدًا لمجموعات البيانات الكبيرة. وفي مثل هذه الحالات، يُقدم الأسلوب الاستدلالي بديلاً أكثر سرعة.

الشرح: النص يشرح بوضوح أن البرمجة الرياضية لها قيود تتعلق بالتعقيد الرياضي ومشكلات الحجم الكبير، ويقترح الأسلوب الاستدلالي كحل بديل في هذه الظروف.

تلميح: فكر في التحديات التي تجعل البرمجة الرياضية غير مثالية، وما هو الحل المقترح لهذه التحديات؟