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

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

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

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

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

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

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

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

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

📝 ملخص الصفحة

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

يتم استخدام مقطع برمجي لتطبيق خوارزمية الحل الجشعة على مجموعات بيانات مختلفة تشمل 5 عمال و10 عمال و15 عاملاً و20 عاملاً، مع عرض أوقات التنفيذ السريعة التي تتراوح بين 0.000997 و0.001995 ثانية. يُظهر هذا الفرق الكبير في السرعة مقارنة بخوارزمية القوة المفرطة.

يُبرز النص قدرة خوارزمية الحل الجشعة على التعامل مع المشكلات الكبيرة، كما في مثال إنشاء 100 نسخة من مشكلة تكوين فريق مع 1000 عامل وحلها في 0.0957 ثانية فقط، مما يؤكد كفاءتها في معالجة البيانات الضخمة.

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

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

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

لا تأخذ خوارزمية الحل الجشعة كل الفرق الممكنة بعين الاعتبار ولا تضمن إيجاد الحل الأمثل، ولكنها كما هو موضح أدناه أسرع بكثير من خوارزمية الحل التي تعتمد على القوة المفرطة، ومع ذلك يمكنها أن تنتج حلولاً جيدة، هي في الغالب حلول مثلى، ومن المؤكد أن تجد هذه الطريقة حلاً إذا كان موجودًا. يستخدم المقطع البرمجي التالي خوارزمية الحل الجشعة لحساب حلول مجموعات البيانات: 5-workers (خمسة عمال)، و 10-workers (عشرة عمال)، و 15-workers (خمسة عشر عاملاً)، و 20-workers (عشرين عاملاً) التي تم استخدامها سابقًا لتقييم خوارزمية الحل بالقوة المفرطة:

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

greedy_solutions_5 = gets_solutions(problems_with_5_workers, solver = greedy_solver) greedy_solutions_10 = gets_solutions(problems_with_10_workers, solver = greedy_solver) greedy_solutions_15 = gets_solutions(problems_with_15_workers, solver = greedy_solver) greedy_solutions_20 = gets_solutions(problems_with_20_workers, solver = greedy_solver)

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

Solved 23 problems in 0.0009970664978027344 seconds Solved 80 problems in 0.000997304916381836 seconds Solved 94 problems in 0.00199508669921875 seconds Solved 99 problems in 0.00199437141845703 seconds

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

والآن يتضح الفرق في السرعة بين الخوارزميتين؛ حيث يمكن تطبيق خوارزمية الحل الجشعة على النسخ المتعلقة بالمشكلات الكبيرة جدًا، كما في المثال التالي:

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

# creates 100 problem instances of a team formation problem with 1000 workers problems_with_1000_workers = [] for i in range(100): # repeats 100 times problems_with_1000_workers.append(create_problem_instance(10, 1000, 8, 5)) # solves the 100-worker problems using the greedy solver greedy_solutions_1000 = gets_solutions(problems_with_1000_workers, solver = greedy_solver)

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

Solved 100 problems in 0.09574556350708008 seconds

نوع: METADATA

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

نوع: METADATA

262

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

لا تأخذ خوارزمية الحل الجشعة كل الفرق الممكنة بعين الاعتبار ولا تضمن إيجاد الحل الأمثل، ولكنها كما هو موضح أدناه أسرع بكثير من خوارزمية الحل التي تعتمد على القوة المفرطة، ومع ذلك يمكنها أن تنتج حلولاً جيدة، هي في الغالب حلول مثلى، ومن المؤكد أن تجد هذه الطريقة حلاً إذا كان موجودًا. يستخدم المقطع البرمجي التالي خوارزمية الحل الجشعة لحساب حلول مجموعات البيانات: 5-workers (خمسة عمال)، و 10-workers (عشرة عمال)، و 15-workers (خمسة عشر عاملاً)، و 20-workers (عشرين عاملاً) التي تم استخدامها سابقًا لتقييم خوارزمية الحل بالقوة المفرطة:greedy_solutions_5 = gets_solutions(problems_with_5_workers, solver = greedy_solver)greedy_solutions_10 = gets_solutions(problems_with_10_workers, solver = greedy_solver)greedy_solutions_15 = gets_solutions(problems_with_15_workers, solver = greedy_solver)greedy_solutions_20 = gets_solutions(problems_with_20_workers, solver = greedy_solver)Solved 23 problems in 0.0009970664978027344 seconds Solved 80 problems in 0.000997304916381836 seconds Solved 94 problems in 0.00199508669921875 seconds Solved 99 problems in 0.00199437141845703 secondsوالآن يتضح الفرق في السرعة بين الخوارزميتين؛ حيث يمكن تطبيق خوارزمية الحل الجشعة على النسخ المتعلقة بالمشكلات الكبيرة جدًا، كما في المثال التالي:# creates 100 problem instances of a team formation problem with 1000 workers problems_with_1000_workers = []for i in range(100): # repeats 100 times problems_with_1000_workers.append(create_problem_instance(10, 1000, 8, 5))# solves the 100-worker problems using the greedy solver greedy_solutions_1000 = gets_solutions(problems_with_1000_workers, solver = greedy_solver)Solved 100 problems in 0.09574556350708008 seconds2023 - 1447

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

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

ما هي السمة الأساسية للخوارزمية الجشعة مقارنة بخوارزمية الحل بالقوة المفرطة؟

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

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

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

هل تضمن الخوارزمية الجشعة دائمًا إيجاد الحل الأمثل؟

الإجابة: لا، الخوارزمية الجشعة لا تضمن دائمًا إيجاد الحل الأمثل، ولكنها غالبًا ما تنتج حلولًا جيدة وقريبة من الأمثل.

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

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

ما هي ميزة تطبيق الخوارزمية الجشعة على مشاكل كبيرة جدًا؟

الإجابة: يمكن تطبيق الخوارزمية الجشعة على النسخ المتعلقة بالمشكلات الكبيرة جدًا بسبب سرعتها مقارنة بالخوارزميات الأخرى.

الشرح: السرعة والكفاءة هي السبب الرئيسي وراء قدرة الخوارزمية الجشعة على التعامل مع مجموعات بيانات ضخمة.

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

ماذا يعني مصطلح 'greedy_solver' في سياق الفقرة؟

الإجابة: يشير 'greedy_solver' إلى الخوارزمية أو الأسلوب المستخدم لتطبيق خوارزمية الحل الجشعة.

الشرح: 'Solver' في هذا السياق هو اسم للوظيفة أو الطريقة التي تنفذ الاستراتيجية الجشعة لحل المشكلات.

تلميح: ابحث عن الكلمات التي تصف 'solver' في الجمل التي تحتوي عليها.