الخوارزميات عالم جميل ، يحتاج لتفكير والتحلي بمهارة حل المشكلات ، و امتلاك قدرة في علم الرياضيات يفتح لك مجال ويساعدك في كتابة لغات البرمجة

Image

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



  • عدد الزيارات ( 383 )
  • تاريخ النشر: 11 / ديسمبر/ 2024

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

في هذا المقالة سنتعرف على مفهوم الخوارزميات وما علاقة العرب في هذا الاسم وبعض أنواع الخوارزميات .

الخوارزميات Algorithms :

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

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

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

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

تعريف الخوارزميات :

هي أحد علوم الحاسوب تتكون من سلسلة عمليات الحسابية الموجهة الحاسوب (الكومبيوتر ) للقيام بمهمة معينة بترتيب معين للأوامر، وفي زمن محدد وبأقل جهد ممكن أي (أقل استهلاك ذاكرة الكمبيوتر الميموري )، مثل حساب معدل الطلبة أو حساب رواتب الموظفين .

صورة منشور القصة

كيف تعمل الخوارزميات في الحاسوب :

  1. مدخلات .

  2. عمليات أو معالجة .

  3. مخرجات .

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

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

يوجد عدد كبير من أنواع الخوارزميات وتستخدم في غالبية مجالات الحياة، من أهم هذه الخوارزميات :

  1. خوارزميات ترتيب .

  2. خوارزميات توافقية .

  3. خوارزميات البحث .

  4. خوارزميات الفرز.

  5. خوارزميات الذكاء الاصطناعي .

  6. خوارزميات التشفير .

  7. خوارزميات الطبية .

  8. خوارزميات المدمج .

  9. خوارزميات ضغط البيانات .

  10. خوارزميات رقمية

بعض من خوارزميات المهمة :

خوارزميات التشفير :

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

فكرة التشفير :

تشفير رسالة (Encryption) : على رسالة مفهومة (plain text) و مفتاح مشترك بين شخصين تدخل في خوارزمية (معادلات رياضية ) وتخرج رسالة غير مفهومة أو مشفرة (cipher text ) .

فك تشفير الرسالة (Decryption) :

رسالة مشفرة (ciphertext ) مع المفتاح المشترك والخوارزمية ثم نحصل على رسالة مفهومة (plain text).

Encryption and quantum cryptography
#Encryption
#Cryptography

تنقسم إلى :

  1. التقليدية .

  2. متناظرة المفتاح .

  3. غير متناظرة المفتاح .

خوارزميات الترتيب (sorting algorithms ) :

تستخدم خوارزميات الترتيب لترتيب البيانات سواء بيانات رقمية أو نصية.

هناك العديد من خوارزميات الترتيب سواء لترتيب الحروف او الارقام :

  1. خوارزمية الترتيب بالاختبار Selection sort.

  2. خوارزمية الترتيب الفقاعي Bubble sort .

  3. خوارزمية الترتيب بالادخال Insertion sort .

  4. خوارزمية الترتيب السريع Quick sort.

  5. خوارزمية الترتيب الكومى / الركامى Heap sort.

  6. خوارزمية الترتيب النعاس / الكسول Sleep sort.

  7. خوارزمية الترتيب بشجرة البحث الثنائية Binary Search Tree sort .

صورة منشور القصة

كيف تصنف الخوارزميات ؟؟

تصنف الخوارزميات حسب طريقة التنفيذ :

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

  2. الخوارزميات المنطقية .

  3. الخوارزميات التسلسلية والمتوازية والموزعة .

  4. الخوارزميات الدقيقة أو التقريبية .

  5. الخوارزميات الكمية .

تصنيف حسب نموذج التصميم :

  1. خوارزمية البحث الشامل .

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

  3. خوارزميات البحث والتعداد .

  4. الخوارزميات العشوائية .

  5. خوارزميات مونتي كارلو

  6. خوارزميات الحج من التعقيد .

  7. خوارزميات التتبع العكسي .

تصنيف حسب أسلوب التحسين :

  1. خوارزميات البرمجة الخطية .

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

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

  4. الخوارزميات الإرشادية .

تصنيف حسب مجال الدراسة :

كل مجال له مشاكله الخاصة ويحتاج الى خوارزميات فعالة

  1. مجالات العلوم (خوارزميات طبية ).

  2. مجالات الأمن (خوارزميات التشفير ).

  3. مجال الحاسوب البرمجة (خوارزميات برمجية ).

  4. مجال البيانات (خوارزميات ترتيب بيانات ).

  5. مجال الذكاء الاصطناعي (خوارزميات الالة او الذكاء الاصطناعي ).

  6. في مجال استهلاك الموارد (خوارزميات البرمجة الديناميكية).

تصنيف حسب درجة التعقيد :

تصنف على حسب مقدار الوقت أو الزمن لاكمال المهمة

  1. الوقت الثابت .

  2. الوقت اللوغاريتمي .

  3. الوقت الخطي .

  4. وقت كثير الحدود .

  5. الوقت الاسي .

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

صورة منشور القصة

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

سؤال يسأله غالبية من يريد تعلم البرمجة هل أتعلم الخوارزميات أما لغة البرمجة أولا

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

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