📋 المحتوى المنظم
📖 محتوى تعليمي مفصّل
نوع: محتوى تعليمي
يولد المقطع البرمجي التالي 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؟ وما هي المفارقة بين حجم المشكلة وكفاءة الخوارزمية؟
ما هي القيود التي تواجهها البرمجة الرياضية، ومتى يُفضل استخدام الأسلوب الاستدلالي كبديل؟
الإجابة: تتطلب البرمجة الرياضية فهمًا قويًا للنمذجة الرياضية وقد لا تكون مناسبة للمشكلات المعقدة التي يصعب فيها التعبير عن الدالة الموضوعية والقيود بصيغ رياضية. كما أنها قد تظل بطيئة جدًا لمجموعات البيانات الكبيرة. وفي مثل هذه الحالات، يُقدم الأسلوب الاستدلالي بديلاً أكثر سرعة.
الشرح: النص يشرح بوضوح أن البرمجة الرياضية لها قيود تتعلق بالتعقيد الرياضي ومشكلات الحجم الكبير، ويقترح الأسلوب الاستدلالي كحل بديل في هذه الظروف.
تلميح: فكر في التحديات التي تجعل البرمجة الرياضية غير مثالية، وما هو الحل المقترح لهذه التحديات؟