![](/files/userfiles/image/8327.jpg)
الخوارزمية هي التقنية الأساسية المستخدمة لإنجاز المهمة.
في العصر الرقمي اليوم، تعد الخوارزميات بمثابة المهندسين المعماريين غير المرئيين الذين يشكلون مشهد التكنولوجيا والمعلومات. تدعم هذه المجموعات المعقدة من القواعد والتعليمات كل جانب تقريبًا من جوانب حياتنا الرقمية، من الطريقة التي تحدد بها محركات البحث أولويات النتائج إلى كيفية تقديم موجزات الوسائط الاجتماعية للمحتوى. ولكن ما هي الخوارزمية بالضبط؟
في جوهرها، الخوارزمية هي إجراء منهجي خطوة بخطوة لحل المشكلات أو إنجاز المهام. سواء كانت صيغة بسيطة لإضافة الأرقام أو بروتوكول متطور للتعلم الآلي، تعمل الخوارزميات كعمود فقري لتطبيقات البرامج، مما يضمن أداء المهام بكفاءة وفعالية. في هذه المقالة، سنكشف غموض مفهوم الخوارزميات، واستكشاف أصولها، وكيفية عملها، وتأثيرها على المجتمع والتكنولوجيا.
دور الخوارزميات في علوم الكمبيوتر
لجعل الكمبيوتر يقوم بأي شيء، عليك كتابة برنامج كمبيوتر. لكتابة برنامج كمبيوتر، عليك أن تخبر الكمبيوتر خطوة بخطوة بما تريد منه أن يفعله بالضبط. ثم "ينفذ" الكمبيوتر البرنامج، متبعًا كل خطوة ميكانيكيًا، لإنجاز الهدف النهائي.
عندما تخبر الكمبيوتر بما يجب أن يفعله، يمكنك أيضًا اختيار كيفية القيام بذلك. وهنا يأتي دور خوارزميات الكمبيوتر. الخوارزمية هي التقنية الأساسية المستخدمة لإنجاز المهمة. دعنا نتبع مثالاً للمساعدة في فهم مفهوم الخوارزمية.
خوارزميات متعددة لظروف مختلفة
لنفترض أن لديك صديقًا يصل إلى المطار، ويحتاج صديقك إلى الانتقال من المطار إلى منزلك. فيما يلي أربع خوارزميات مختلفة يمكنك تقديمها لصديقك للوصول إلى منزلك:
خوارزمية التاكسي:
1. اذهب إلى موقف التاكسي.
2. استقل سيارة أجرة.
3. أعط السائق عنواني.
خوارزمية اتصل بي:
1. عندما تصل طائرتك، اتصل بهاتفي المحمول.
2. قابلني خارج قسم استلام الأمتعة.
خوارزمية تأجير السيارات:
1. استقل الحافلة إلى مكان تأجير السيارات.
2. استأجر سيارة.
3. اتبع الاتجاهات للوصول إلى منزلي.
خوارزمية الحافلة:
1. استقل الحافلة رقم 70 من خارج منطقة استلام الأمتعة.
2. انتقل إلى الحافلة رقم 14 في شارع ماين.
3. انزل في شارع السوق.
4. امش مسافة كتلتين شمالاً إلى منزلي.
تنجز هذه الخوارزميات الأربع نفس الهدف تمامًا، لكن كل خوارزمية تحققه بطريقة مختلفة تمامًا. كما أن لكل خوارزمية تكلفة مختلفة ووقت سفر مختلف. على سبيل المثال، ربما يكون ركوب سيارة أجرة هو أسرع طريقة، ولكنه أيضًا الأكثر تكلفة. ركوب الحافلة أقل تكلفة بالتأكيد، ولكنه أبطأ كثيرًا. تختار الخوارزمية بناءً على الظروف.
خوارزميات الفرز
في برمجة الكمبيوتر، غالبًا ما توجد طرق مختلفة -- خوارزميات -- لإنجاز أي مهمة معينة. ولكل خوارزمية مزايا وعيوب في مواقف مختلفة. خوارزمية الفرز هي أحد الأساليب التي تم إجراء الكثير من الأبحاث عليها، لأن أجهزة الكمبيوتر تقضي الكثير من الوقت في فرز القوائم.
فيما يلي خمس خوارزميات فرز مختلفة:
• فرز الصناديق
• فرز الدمج
• فرز الفقاعات
• فرز القشرة
• الفرز السريع
إذا كان لديك مليون قيمة عددية صحيحة بين 1 و10 وتحتاج إلى فرزها، فإن الفرز بالصناديق هو الخوارزمية الصحيحة التي يجب استخدامها. إذا كان لديك مليون عنوان كتاب، فقد يكون الفرز السريع هو الخوارزمية الأفضل. من خلال معرفة نقاط القوة والضعف في الخوارزميات المختلفة، يمكنك اختيار أفضلها للمهمة المطروحة.
أنواع الخوارزميات
في علوم الكمبيوتر، يمكن تصنيف الخوارزميات على نطاق واسع إلى عدة أنواع رئيسية بناءً على منهجيتها والغرض منها ومجال تطبيقها. من خوارزمية التشفير إلى الخوارزمية المتكررة، هناك العديد من الاستخدامات للغات البرمجة المختلفة.
فيما يلي نظرة عامة على الأنواع الرئيسية للخوارزميات المستخدمة بشكل شائع:
خوارزمية البحث
تم تصميم خوارزمية البحث لاسترجاع المعلومات المخزنة داخل بنية بيانات. تشمل الأمثلة البحث الخطي والبحث الثنائي وخوارزميات البحث المستخدمة في قواعد البيانات ومحركات البحث.
خوارزمية البرمجة الديناميكية
يعمل هذا النوع على تحسين المشكلات عن طريق تقسيمها إلى مشكلات فرعية أبسط. ومن الأمثلة على ذلك توليد سلسلة فيبوناتشي، ومشكلة حقيبة الظهر، وخوارزميات العثور على أقصر المسارات في الرسم البياني، مثل خوارزميات بيلمان-فورد وفلويد-وارشال.
الخوارزمية الجشعة
تهدف الخوارزميات الجشعة إلى أفضل حل في الوقت الحالي دون النظر في العواقب المستقبلية. وهي تستخدم في حل المشكلات، مثل خوارزميات كروسكال وبريم للعثور على الحد الأدنى لشجرة الامتداد في الرسم البياني.
الخوارزمية التراجعية
يستخدم هذا النوع في مشكلات إرضاء القيود، حيث تقوم ببناء مرشحين للحلول بشكل تدريجي، والتخلي عن مرشح ("التراجع") بمجرد تحديد أنه لا يمكن إكمال المرشح لحل صالح. ومن الأمثلة على ذلك حل مشكلة N-Queens والألغاز مثل السودوكو.
خوارزمية التعلم الآلي
تم تصميم هذه الخوارزميات للسماح لأجهزة الكمبيوتر بالتعلم من البيانات وإجراء التنبؤات أو اتخاذ القرارات. ويمكن تقسيمها إلى فئات مثل التعلم الخاضع للإشراف، والتعلم غير الخاضع للإشراف، والتعلم التعزيزي، وخوارزميات التعلم العميق.
الخوارزمية العشوائية
بشكل مناسب، تستخدم الخوارزميات العشوائية درجة من العشوائية كجزء من منطقها. وهي مفيدة للمشاكل التي يكون فيها النهج الحتمي غير فعال. وتشمل الأمثلة طريقة مونت كارلو والفرز السريع العشوائي.
خوارزمية القوة الغاشمة
تستكشف خوارزمية القوة الغاشمة بشكل منهجي جميع الحلول الممكنة لمشكلة ما للعثور على الحل الصحيح. إنها بسيطة وتضمن الحل إذا كان موجودًا، ولكنها قد تكون غير فعالة للمشاكل الكبيرة أو المعقدة بسبب طبيعتها الشاملة.
هذه الفئات ليست متبادلة الحصر، وقد تتناسب العديد من الخوارزميات مع فئات متعددة اعتمادًا على تطبيقها ومنهجيتها. يساعد فهم هذه الأنواع في اختيار الخوارزمية الصحيحة لحل مشكلة معينة بكفاءة.
المصدر: