أنواع الخوارزميات البرمجية بالترتيب، ما هي الخوارزميات، تُستخدم الخوارزميات في الرياضيات وعلوم الكمبيوتر ، وتسمى في خوارزمية اللغة الإنجليزية ، ويتجلى معناها في أنها سلسلة محددة من التعليمات لحل فئة من المشكلات ، أو لإجراء عملية حسابية قابلة للتنفيذ عن طريق الكمبيوتر. عادة لا تكون الخوارزميات غامضة وتستخدم كمواصفات حتى تقوم بعمليات حسابية ، بالإضافة إلى معالجة البيانات والتفكير الآلي.
ما هي الخوارزميات
لم يتم الاتفاق على معنى وتعريف الخوارزمية على معنى محدد ، لكن تعريفها غير الرسمي تجلى في حقيقة أنها مجموعة من القواعد التي تحتوي على سلسلة محددة من العمليات التي تكون شاملة لجميع برامج الكمبيوتر ، بالإضافة إلى البرامج التي لم يتم تنفيذها عن طريق العمليات الحسابية العددية ، اعتبر بعض المبرمجين والعلماء أن أي برنامج هو خوارزمية ، لكن آخرين اعتبروا البرنامج خوارزمية بشرط أن يقوم بعدد من الخطوات الحسابية.
كلمة الخوارزمي مأخوذة من عالم الرياضيات محمد بن موسى الخوارزمي ، وأخذت في القرن التاسع ، وعرف هذا العالم بكتابه في الجبر ، وأصبح اسمه الخوارزمي معروفًا في أواخر العصور الوسطى اللاتينية. . في عدد محدود من الخطوات ، وتتضمن تكرار عملية معينة ، تجدر الإشارة إلى أن الخوارزمية لا تُستخدم فقط في علوم الكمبيوتر والرياضيات ، بل تُستخدم في الحياة اليومية. تعريف الخوارزمية هو مجموعة من القواعد التي تحدد تسلسل العمليات ، ويمكن أن تشير هذه القواعد إلى برامج الكمبيوتر أو قد تؤدي إجراء بيروقراطي معين.
أنواع الخوارزميات في البرمجة
تساعد خوارزميات البرمجة في حل المشكلات ، وتتعدد أنواع الخوارزميات في البرمجة وتتجلى في:
الخوارزمية العودية
نظرًا لأن الخوارزمية العودية تعتمد على التكرار على مفاهيم التخفيضات وتسمى العودية ، وتعني مفاهيم التخفيضات تقليل مشكلة واحدة من المشكلات الأخرى ، فهذا يعني كتابة خوارزمية لـ A تستخدم خوارزمية لـ B كإجراء فرعي ، ووصف هذه الخوارزمية أنها تحل المشكلة مباشرة ، ثم تعمل على اختصارها إلى حالة واحدة أو أبسط من المشكلة المطروحة.
تعتبر واحدة من أبسط الخوارزميات لأنها لا تتطلب تفكيرًا محددًا في كل مشكلة فرعية ، وهذا يعني أننا نحتاج فقط إلى التفكير وإيجاد حل لمشكلة فرعية واحدة ، وسيتم التعامل مع جميع التعقيدات الأخرى تلقائيًا ، التكرار يعني ببساطة أنها تدعو نفسها لحل مشاكلها الفرعية.
خوارزميات البرمجة الديناميكية
البرمجة الديناميكية هي مفهوم يستخدم للتحسين ، لتبسيط مشكلة معقدة عن طريق تقسيمها إلى مشاكل فرعية صغيرة وبسيطة. لحل مشكلة باستخدام البرمجة الديناميكية ، يجب أن تتكون المشكلة من خاصيتين:
- البنية التحتية المثلى التي تحتوي على أفضل وأفضل الحلول لحل المشاكل الفرعية لمشكلة ما.
- تحتوي المشكلات الفرعية التي تتداخل كحل متكرر على عدد صغير من المشكلات الفرعية.
خوارزمية التراجع
تعتمد هذه الخوارزمية على تحديد حل لمشكلة حسابية تدريجيًا عن طريق حل جزء صغير من المشكلة في وقت واحد. في كل مرة ، يجب أن تقرر الخوارزمية بين عدة بدائل للجزء التالي من المشكلة ، ثم تقييم كل بديل بشكل متكرر لاختيار أفضل حل للمشكلة. تُستخدم هذه الخوارزمية لاتخاذ سلسلة من القرارات حتى يتم بناء هيكل معين بشكل تكراري ، وتلعب هذه البنية دورًا في تلبية قيود محددة.
خوارزميات فرق تسد
تحل هذه الخوارزمية المشكلة عن طريق تقسيم المشكلة إلى مشاكل فرعية تعتبر أمثلة أصغر لنفس المشكلة ، ثم تحل المشكلة بشكل متكرر ، ثم تجمع الحلول لجميع المشكلات الفرعية حتى يتم تأطير الحل النهائي.
خوارزمية القوة الغاشمة
تعتبر أبسط خوارزمية يمكن ابتكارها لحل المشكلة حيث يمكن حل كل مشكلة من خلال نهج القوة الغاشمة مع العلم أن هناك العديد من التعقيدات في المكان والزمان بشكل عام.
خوارزمية الجشع
في هذه الخوارزمية ، يتم اتخاذ قرار محدد في مرحلة دون التفكير في المستقبل. هناك خصائص محددة لهذه الخوارزمية تنعكس في:
- اختر الخيار الأفضل بجشع.
- وخاصية البنية التحتية المثلى في حال إيجاد حل أمثل وأفضل من خلال استرجاع الحل الأمثل للمشكلات الفرعية.
وتجدر الإشارة إلى أن الخوارزمية الجشعة لا تعمل دائمًا ، ولكن إذا نجحت ، فإنها تعمل كالسحر. إنها خوارزمية سهلة التثبيت وبسيطة ، ولكن اتخاذ أفضل القرارات محليًا لا يعمل دائمًا ، لذلك يتم استبداله بحل موثوق يُعرف باسم نهج البرمجة الديناميكية.
أمثلة على الخوارزميات
نجد من تعريف الخوارزميات التي تم ذكرها سابقًا في هذه المقالة أنها ليست غامضة ، حيث توضح الخوارزمية التعليمات التي تغطي عددًا محدودًا من الحالات المتتالية المحددة ، مما يؤدي في النهاية إلى النتائج التي تتجلى في المخرجات وتنتهي في النهاية. كما ذكرنا سابقًا أن الخوارزميات تُستخدم في علوم الكمبيوتر والرياضيات وأيضًا في حياتنا اليومية. تتضمن أمثلة الخوارزميات ما يلي:
أمثلة على الخوارزميات في الرياضيات الأساسية
على سبيل المثال ، عند مواجهة مشكلة ، يجب أن نعرف ما إذا كان رقم معين ، على سبيل المثال ، الرقم سبعة ، فرديًا أم زوجيًا. هنا ، ستتألف هذه الخوارزمية من الخطوات التالية:
- سيتم قسمة الرقم على الرقم 2 ، ثم نقسم الرقم 7 على الرقم 2.
- سيتم فحص الباقي. إذا كان الباقي صفرًا ، فسيكون عددًا زوجيًا. إذا لم يكن صفرًا ، فهو رقم فردي. نستنتج أن الرقم 7 هو عدد فردي.
أمثلة من الخوارزميات في الحياة اليومية
لنفترض أننا نريد زراعة أوراق الكاري في أصيص ، يجب علينا القيام بطرق مختلفة ، وهذا يعني أن هناك خوارزميات متعددة لهذه المشكلة ، وقد تكون إحدى الخوارزميات حول زراعة بذور أوراق الكاري في إناء ، والخوارزميات المستخدمة هي على النحو التالي:
- نأخذ بعض الأوساخ في الوعاء.
- نزرع بذور أوراق الكاري الطازجة في التربة.
- نحافظ على البذور.
- نتأكد من أن درجة حرارة التربة دافئة إلى حد ما ، أي 20 درجة مئوية على الأقل.
- عندما تتجذر البذور في غضون أسابيع قليلة مع بيئة مناسبة من الرطوبة والدفء ، تأكد من أن الحاوية التي بداخلها تم التخلص منها جيدًا وأن ضوء الشمس يخترق.
- ثم نقوم بتزويد البذور بالسماد بشكل أسبوعي ونقوم بقص أوراقها حسب الحاجة.
يستخدم خوارزميات البرمجيات
كل خوارزمية لها استخداماتها الخاصة ، وهي:
تُستخدم الخوارزمية العودية من أجل:
- احسب مجموع مصفوفة الأعداد.
- سلسلة فيبوناتشي.
- احسب العوامل.
- فرز قائمة أو مجموعة من الأرقام.
- المستخدمة في خوارزميات الرسم البياني ،
- تُستخدم العلاقات بين العقد لاستنتاج تنظيم وديناميكيات الأنظمة المعقدة.
- يستخدم علماء الشبكات هذه الخوارزميات للكشف عن المعلومات المخفية والتنبؤ بالسلوك.
تُستخدم الخوارزمية العودية من أجل:
- أطول تتابع مشترك.
- أطول زيادة في التسلسل.
- أطول سلسلة فرعية مشتركة.
- مجموع المجموعة الفرعية.
- سلسلة المصفوفة الضرب.
- خوارزمية فورد بيلمان.[3]
تُستخدم خوارزمية التراجع من أجل:
- مشكلة ن كوينز.
- لعبة الأشجار.
- تجزئة النص.
- أشجار البحث الثنائية.
- مشكلة تلوين الرسم البياني.
تُستخدم خوارزمية فرق تسد من أجل:
- بحث ثنائي.
- دمج الفرز والفرز السريع.
- ابحث عن وسيط.
- ضرب المصفوفة.
نختم مقالنا بأن تُستخدم الخوارزمية الجشعة من أجل الفرز والفرز الطوبولوجي وفرز الاختيار، تستخدم في خوارزميات Prim و Kruskal، وتستخدم في مشكلة صرف العملات.