تكنولوجيا

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

ما هي الخوارزميات

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

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

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

أنواع الخوارزميات في البرمجة

تساعد خوارزميات البرمجة في حل المشكلات، وتتنوع أنواع الخوارزميات في البرمجة بشكل كبير وتتجلى في

الخوارزمية العودية

تعتمد خوارزمية الرجوع (Recursion) على التكرار واستخدام مفاهيم التخفيضات، وتتمثل مفاهيم التخفيضات في اختزال مشكلة واحدة من بين مجموعة المشاكل الأخرى. يعني كتابة خوارزمية لحل مشكلة A باستخدام خوارزمية لحل مشكلة B كإجراء فرعي. ويتم حل المشكلة بشكل مباشر، ثم تخفيضها إلى حالة واحدة أو أبسط من المشكلة الأصلية.

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

خوارزميات البرمجة الديناميكية

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

  • البنية التحتية المثالية هي التي تحتوي على الحل الأمثل والأفضل لحل المشاكل الفرعية المتعلقة بمشكلة ما .
  • تكون المشاكل الفرعية متداخلة في الحل التقليدي، حيث يحتوي على عدد قليل من المشاكل الفرعية.

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

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

خوارزميات فرق تسد

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

خوارزمية القوة الغاشمة

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

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

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

  • اختيار الخيار الأفضل بجشع.
  • تتميز البنية التحتية بأنها أفضل إذا تم العثور على الحل الأمثل والأفضل من خلال استعادة الحل الأمثل للمشكلات الفرعية.

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

أمثلة على الخوارزميات

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

-أمثلة عن الخوارزميات في الرياضيات الأساسية

عند مواجهة مشكلة ما، يجب علينا معرفة ما إذا كان رقم معين مثل الرقم 7 فرديًا أم زوجيًا، ولذلك يمكن استخدام هذه الخوارزمية التي تتضمن الخطوات التالية:

  • سيتم قسمة الرقم على الرقم 2، ثم قسمة الرقم 7 على الرقم 2.
  • سيتم التحقق من الباقي، فإذا كان الباقي يساوي الصفر، فإن الرقم زوجي، وإلا فإنه فردي، ومن ثم نستنتج أن الرقم 7 هو رقم فردي.

-أمثلة عن الخوارزميات في الحياة اليومية

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

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

أمثلة عن الخوارزميات في البرمجة

  • مثال عن الخوارزمية العودية

  • مثال عن الخوارزمية الديناميكية.

  • مثال عن خوارزمية التراجع.

  • مثال عن خوارزمية فرق تسد.

  • مثال عن خوارزمية القوة الغاشمة.

استخدامات الخوارزميات البرمجية

إن لكل خوارزمية لها استخداماتها الخاصة وتتجلى في:

إن الخوارزمية العودية تستخدم في:

  • حساب مجموع مصفوفة الأرقام.
  • سلسلة فيبوناتشي.
  • حساب العوامل.
  • فرز قائمة أو مجموعة من الأرقام.
  • تستخدم في خوارزميات الرسم البياني,
  • يتم استخدام العلاقات بين العقود للاستنتاج حول تنظيم وديناميكيات الأنظمة المعقدة.
  • يستخدم العلماء المتخصصون في مجال الشبكات هذه الخوارزميات للكشف عن المعلومات الخفية والتنبؤ بالسلوك.

إن الخوارزمية العودية تستخدم في:

  • أطول تتابع مشترك.
  • أطول زيادة في التتابع.
  • أطول سلسلة فرعية شائعة.
  • مجموع المجموعة الفرعية.
  • ضرب مصفوفة السلسلة.
  • خوارزمية بيلمان فورد.

إن خوارزمية التراجع تستخدم في:

  • مشكلة ن كوينز.
  • لعبة الأشجار.
  • تجزئة النص.
  • أشجار البحث الثنائية.
  • مشكلة تلوين الرسم البياني.

إن خوارزمية فرق تسد تستخدم في:

  • البحث الثنائي.
  • دمج الفرز والفرز السريع.
  • إيجاد الوسيط.
  • ضرب المصفوفة.

إن خوارزمية الجشع تستخدم في:

  • الفرز وفرز الطوبولوجي وفرز التحديد.
  • تستخدم في خوارزميات بريم وكروسكال.
  • تستخدم في مشكلة تغيير العملة.

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *

زر الذهاب إلى الأعلى