AIUnlimited
🌳

أسس الذكاء الاصطناعي

🌱
AI Seeds

Start from zero

🌿
AI Sprouts

Build foundations

🌳
AI Branches

Apply in practice

🏕️
AI Canopy

Go deep

🌲
AI Forest

Master AI

🔨

إتقان الذكاء الاصطناعي

✏️
AI Sketch

Start from zero

🪨
AI Chisel

Build foundations

⚒️
AI Craft

Apply in practice

💎
AI Polish

Go deep

🏆
AI Masterpiece

Master AI

📘

تطبيق الذكاء الاصطناعي

📖
فهم النماذج مفتوحة المصدر

أسس وموارد للنماذج مفتوحة المصدر

🎯
من المشكلة إلى مهمة النموذج

تحويل مشاكل الأعمال إلى مهام نموذجية

⚡
تشغيل نموذجك الأول

شاهد نتائجك الأولى في 30 دقيقة

🔧
التحسين الدقيق والتقييم

حسّن النماذج وقيّم الأداء

🚀
أنظمة التطبيقات

بناء تطبيقات ذكاء اصطناعي واقعية

🎨
الذكاء الاصطناعي التوليدي

استكشف نماذج AIGC مفتوحة المصدر

🤖
الوكيل

تعلم أطر عمل الوكيل وأدوات MCP

📐
أسس تكميلية

أساسيات LLM والتقييم

🎓

أكاديمية كلاود

🤖
Claude 101

Learn AI basics with Claude

💻
Claude Code 101

Code with Claude as your pair programmer

🤝
Introduction to Claude Cowork

Collaborate with Claude on complex projects

⚙️
Claude Platform 101

Build apps with the Claude API

المختبر

تم تحميل 7 تجارب
🧬ملعب الشبكة العصبية🤖ذكاء اصطناعي أم إنسان؟🥋دوجو التوجيهات🏁سباق الخوارزميات🧠مسابقة معلومات الذكاء الاصطناعي🏗️لوحة تصميم النظام
🎯مقابلة تجريبيةدخول المختبر→
🚀

التطوير المهني

🚀
منصة انطلاق المقابلات

ابدأ رحلتك

🌟
إتقان المقابلات السلوكية

أتقن المهارات الشخصية

💻
المقابلات التقنية

تفوّق في جولة البرمجة

🤖
مقابلات الذكاء الاصطناعي وتعلم الآلة

إتقان مقابلات تعلم الآلة

🏆
العرض وما بعده

احصل على أفضل عرض

ابدأ الآن
AIUnlimited

رخصة MIT

沪ICP备18025655号-11

تعلّم

  • أساسيات الذكاء الاصطناعي
  • تطبيق الذكاء الاصطناعي
  • أكاديمية كلاود
  • المختبر
  • التطوير المهني

المجتمع

  • عن المنصة
  • الأسئلة الشائعة

الدعم

  • footer.terms
  • footer.privacy
  • footer.contact
البرامج الأكاديمية للذكاء الاصطناعي والهندسة›✏️ AI Sketch›الدروس›الخوارزميات الجشعة
🏃
AI Sketch • متوسط⏱️ 17 دقيقة للقراءة

الخوارزميات الجشعة

ما الذي يجعل الخوارزمية جشعة؟

تقوم الخوارزمية الجشعة ببناء حل خطوة بخطوة، واختيار الخيار الذي يبدو أفضل الآن دائمًا - دون إعادة النظر في الاختيارات السابقة. لا تراجع ولا نظر للأمام.

إنه يعمل عندما تحتوي على خاصيتين:

  1. خاصية الاختيار الجشع - يؤدي الاختيار الأمثل محليًا إلى الحل الأمثل عالميًا.
  2. البنية الأساسية المثالية - المشكلة المتبقية بعد كل اختيار هي مثال أصغر لنفس المشكلة.

اختيار النشاط - المثال الكلاسيكي

بالنظر إلى مجموعة من الأنشطة ذات أوقات البدء والانتهاء، حدد الحد الأقصى للأنشطة غير المتداخلة.

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

def max_activities(intervals):
    intervals.sort(key=lambda x: x[1])
    count, end = 0, 0
    for s, e in intervals:
        if s >= end:
            count += 1
            end = e
    return count

لماذا يعمل هذا؟ إن اختيار النشاط الذي تم الانتهاء منه في أقرب وقت يترك المجال الأكبر للأنشطة المستقبلية. لا يوجد خيار آخر يمكن أن يفعل ما هو أفضل.

مخطط زمني يوضح اختيار النشاط حسب أقرب وقت للانتهاء
يؤدي التحديد حسب أقرب وقت للانتهاء إلى زيادة عدد الأنشطة غير المتداخلة.

ترميز هوفمان - المفهوم

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

🤯
يتم استخدام ترميز هوفمان في ضغط JPEG وMP3 وZIP. اخترعها ديفيد هوفمان عندما كان طالبًا في عام 1952 - وكانت بمثابة واجب منزلي!

لعبة القفز

بالنظر إلى مصفوفة حيث nums[i] هو الحد الأقصى لطول القفز من الفهرس i، حدد ما إذا كان يمكنك الوصول إلى الفهرس الأخير.

النهج الجشع: تتبع أبعد مؤشر يمكن الوصول إليه حتى الآن. قم بالمسح من اليسار إلى اليمين - إذا تخلفت عن الركب، فارجع كاذبًا.

def can_jump(nums):
    farthest = 0
    for i, jump in enumerate(nums):
        if i > farthest:
            return False
        farthest = max(farthest, i + jump)
    return True
🧠فحص سريع

في لعبة القفز، ماذا يمثل المتغير الجشع ”الأبعد”؟

الدرس 9 من 100٪ مكتمل
←التكرار والتراجع

مناقشة

تسجيل الدخول للانضمام إلى النقاش

##محطة بنزين

سافر في طريق دائري مع محطات الوقود. في المحطة i تحصل على gas[i] وقود وتنفق cost[i] للوصول إلى المحطة التالية. ابحث عن محطة البداية التي تتيح لك إكمال الدائرة، أو العودة إلى −1.

الرؤية الجشعة: إذا كان إجمالي الغاز ≥ التكلفة الإجمالية، فإن الحل موجود. تتبع الفائض الجاري؛ وعندما ينخفض ​​تحت الصفر، يجب أن تبدأ الإجابة بعد تلك النقطة.

جدولة المهام

جدولة المهام مع فترة تباطؤ قدرها n بين المهام المتطابقة. الجشع: اختر دائمًا المهمة المتبقية الأكثر تكرارًا. تعتمد الإجابة على الحد الأقصى للتكرار وعدد المهام المشتركة فيه.

Tasks: A A A B B C, cooldown = 2
Schedule: A B C A B _ A
Total = 7
🤔
Think about it:في برنامج جدولة المهام، لماذا يؤدي اختيار المهمة الأكثر تكرارًا أولاً إلى تقليل فتحات الخمول؟ ما الخطأ الذي سيحدث إذا اخترت الأقل تكرارًا أولاً؟

حقيبة الظهر الجزئية مقابل حقيبة الظهر 0/1

حقيبة الظهر الجزئية: يمكنك أخذ أجزاء من العناصر. يعمل الجشع - قم بالفرز حسب القيمة لكل وزن، خذ أفضل نسبة أولاً.

0/1 حقيبة الظهر: العناصر هي كل شيء أو لا شيء. الجشع ** يفشل ** هنا لأن تخطي عنصر ثقيل ولكن ثمين قد يكون أسوأ من تناول عنصرين أخف. وهذا يتطلب البرمجة الديناميكية.

Items: (weight=3, value=4), (weight=2, value=3), (weight=2, value=3)
Capacity: 4

Greedy (best ratio first): takes item 1 (w=3, v=4) → 1 remaining → can't fit rest → value = 4
Optimal: takes items 2+3 (w=4, v=6) → value = 6 ✗ Greedy fails!
🧠فحص سريع

لماذا يفشل النهج الجشع في مشكلة الحقيبة 0/1؟

متى ينجح الجشع؟

✅ يعمل عندما يمكنك إثبات خاصية الاختيار الجشع:

  • جدولة الفترات، ترميز هوفمان، الحد الأدنى من الأشجار الممتدة، خوارزمية ديكسترا، تغيير العملة مع الفئات القياسية

❌ يفشل عندما لا يتحول الأمثل المحلي إلى الأمثل العالمي:

  • 0/1 حقيبة الظهر، أطول مسار في الرسوم البيانية العامة، بائع متجول

إثبات صحة الجشع - حجة الصرف

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

🧠فحص سريع

ما هي ”وسيطة التبادل” المستخدمة؟

الجشع مقابل البرمجة الديناميكية

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

عندما تكون في شك، ابدأ بالجشع - إذا لم تتمكن من إثبات نجاحه، فانتقل إلى DP.

🤯
تعتبر خوارزمية Dijkstra للأقصر مسارًا جشعة - فهي تعالج دائمًا أقرب عقدة لم تتم زيارتها. إنه يعمل لأن أوزان الحواف غير سالبة، مما يضمن أن الاختيار الجشع آمن.
🤔
Think about it:لقد تم إعطاؤك فئات عملات معدنية [1، 3، 4] وتحتاج إلى تغيير قيمة 6. يختار الأسلوب الجشع 4+1+1=3 عملات معدنية، لكن الخيار الأمثل هو 3+3=2 عملات معدنية. وماذا عن هذه الطوائف التي تكسر خاصية الاختيار الجشع؟

📚 مزيد من القراءة

  • NeetCode - قائمة التشغيل الجشع - مشاكل الجشع المنسقة مع التفسيرات
  • دليل المقابلة التقنية - الجشع - متى تستخدم الأنماط الجشعة والشائعة
  • خوارزميات CP - الخوارزميات الجشعة - نظرية وبراهين أعمق