خوارزمية

 خوارزمية

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



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

الخوارزميات ليست جديدة. ففي نهاية المطاف، فهي مجرد تعليمات رياضية. في عام 1952، نشر آلان تورينج، الذي يُحتفل به باعتباره أب الحوسبة الحديثة، خوارزميات لاكتشاف الأنماط في الطبيعة.

لماذا نحتاج الخوارزميات؟

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

ومع ذلك، ليس فيسبوك فقط هو الذي يستخدم الخوارزميات. كما يستخدم عمالقة التكنولوجيا الآخرون، مثل Google وNetflix و TikTok وAmazon، هذه الميزات لتخصيص تجربتك. يمكن للخوارزميات أن تجعل المهام اليومية أسرع وأسهل في التنفيذ. ويمكنها أيضًا أن تسهل عليك فرز مجموعات البيانات الكبيرة للعثور على المعلومات المهمة بسرعة. 

فيما يلي بعض التطبيقات الواقعية للخوارزميات:

  • سيارات ذاتية القيادة
  • محركات البحث
  • برامج الأتمتة
  • وسائل التواصل الاجتماعي
  • ضغط الفيديو.

كيف تعمل خوارزميات الكمبيوتر؟

لا يمكن تسمية جميع الإجراءات خطوة بخطوة بالخوارزميات.

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

يجب أن تحتوي الخوارزمية الجيدة على الخصائص التالية:

  • دقيق

لكي يفهم الكمبيوتر الخوارزمية، يجب أن تكون مفصلة للغاية. هذا هو السبب في أن البرمجة يمكن أن تستغرق وقتًا طويلاً ومكلفة للغاية.

في البرمجة التقليدية، يجب أن تحتوي الخوارزميات على تعليمات محددة لا لبس فيها. يجب على المبرمج أن يحدد خطوات تحويل المدخلات إلى مخرجات. كل خطوة يجب أن تؤدي إلى نتيجة محددة. 

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

  • مدخل

يجب أن تحتوي خوارزمية الصوت على 0 أو أكثر من قيم الإدخال المحددة جيدًا. 

  • انتاج 

تنتج كل خوارزمية مخرجًا واحدًا محددًا جيدًا على الأقل، والذي يطابق النتائج المطلوبة.

  • محدود

تحتوي الخوارزمية على عدد محدود من التعليمات. بعد تنفيذ كافة الخطوات، سوف يتوقف. وقد يتوقف عندما يتم تحقيق المخرج المتوقع أو عندما لا يكون هناك حل آخر ممكن.

  • ممكن

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

  • فعال

لا ينبغي أن تشغل الخوارزمية مساحة كبيرة أو وقتًا كبيرًا. ومع ذلك، في معظم الأحيان، هناك مقايضة بين المكان والزمان.

  • مستقل

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

أنواع الخوارزميات

يمكن أن تحتوي الخوارزميات على أنواع مختلفة من هياكل التحكم. يمكنك تصنيفها إلى ثلاث فئات بناءً على هذه الهياكل.

  • تسلسل

كما يوحي اسمها، يستخدم هذا النوع من الخوارزمية سلسلة من الخطوات التي تؤدي إلى النتيجة المطلوبة. تم تصميم كل خطوة ليتم تنفيذها واحدة تلو الأخرى.

  • المتفرعة

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

  • حلقة

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


Post a Comment

أحدث أقدم