التعليم

ما هي الخوارزمية؟ »تعريفها ومعناها

جدول المحتويات:

Anonim

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

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

جدول المحتويات

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

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

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

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

خصائص الخوارزمية

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

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

أجزاء من الخوارزمية

تتكون كل عملية حسابية من ثلاثة أجزاء مختلفة تخضع للبنية الأساسية للنظام وهي:

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

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

تتضمن الأمثلة الشائعة لحسابات الرياضيات 2 + 3 = 5 للجمع و15-9 = 6 للطرح. هناك طريقة أخرى لتصور الخوارزميات البسيطة وهي في وصفات المطبخ ، لأنها تصف عملية محددة ومنظمة ، على سبيل المثال ، "يجب أولاً وضع نصف قدر من الماء للتسخين ، ثم يجب إضافة قليل من الملح وأخيراً يقسم الفلفل لاستخراج البذور والاعصاب ". في هذا النموذج ، يتم تقديم البداية والعملية والنهاية ، والتي هي أساسًا ما تحدد الخوارزميات.

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

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

حسب نظام التوقيع الخاص بك

النوعية والكمية تقع في هذه الفئة.

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

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

حسب وظيفتها

يقع ما يلي في هذا التصنيف.

1. خوارزمية التأشير

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

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

2. الخوارزميات الاحتمالية

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

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

بالإضافة إلى ذلك ، يوجد ضمن هذه المجموعة ثلاثة أنواع رئيسية تُعرف باسم العددية ومونتي كارلو ولاس فيغاس.

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

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

3. خوارزميات الكشف عن مجريات الأمور

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

4. خوارزميات التراجع

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

5. خوارزمية شره

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

خصائص الخوارزمية

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

عرض المشكلة

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

تحليل الحل العام

بمجرد تحديد المشكلة ، حان الوقت لتحليل ما يلي:

  • و المعلومات من التذاكر التي يقدمونها لنا.
  • النتائج المرجوة.
  • مجال العمل أو البيانات أو العناصر الضرورية الأخرى.

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

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

تفصيل الخوارزمية

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

في وقت لاحق ، يتم تنفيذ تحديد الوحدات النمطية ذات الصلة ، نظرًا لأن التنفيذ الصحيح للخوارزميات يعتمد عليها لتوفير الحلول الممكنة للمتطلبات المحددة أعلاه.

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

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

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

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

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

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