Table of Contents
الخوارزميات algorithms تعرف الخوارزميات بانها عبارة عن مجموعه او سلسلة من الخطوات او العمليات يتم القيام بها لحل مشكله معينه. سوف نتعرف في هذه المقالة على مفهوم ما هي الخوارزميات وسنتعرف أيضا على أهمية الخوارزميات و أنواع الخوارزميات الخوارزميات في علوم الحاسوب وأيضا سوف نقوم بتوضيح الخوارزميات شكلا تمثيليا وشرحها في التمثيل الذي سنوضحه في الفقرات التأليه. تم تسمية الخوارزميات بهذا الاسم نسبتا الى العالم المسلم أبو جعفر بن موسى الخوارزمي الذي قام بابتكارها وكان ذألك تقريبا في القرن التاسع ميلادي. ويشير مصطلح الخوارزميات الى ثلاثة تراكيب او خطوات والتي هي التسلسل، الاختيار، التكرار.
ما هي الخوارزميات اخي القارئ سبق وذكرنا في القطعه السابقه ان الخوارزميات لها ثلاثه تراكيب – التسلسل والاختيار والتكرار – حيث ان هذه التراكيب الثلاثه تسهل فهم الخوارزميه. ماهي علاقه الخوارزميات بالكمبيوتر واستخدام الخوارزميات في الكمبيوتر وفي جميع مجالات وفروع علم الحاسوب حيث يلجأ مستخدم الكمبيوتر الزاميا الى استخدامها لتسهيل عمله وتوفير الوقت وتنظيم العمل بخطوات مرتبه وسهله.
لايكاد يخلو مجال او علم في هذا العصر الذي نعيشه اليوم عصر التكنولوجيا والعلوم الحديثه الا ويتطلب فيه او يتم اللجو فيه الى استخدام الخوارزميات لحل المشكلات وتسهيلها وترتيبها وتنظيمها بالرغم من ان الخوارزميات ليست من الابتكارات الحديثه وانما يتم اللجو الى استخدامها نظرا الى أهميتها وفوائدها وحلها للمشاكل ومن اكثر المجالات استخداما لها مجال الكمبيوتر.
1 ما هي الخوارزميات
تم التعرف في المقدمه أعلاه على مفهوم الخوارزميات وأههميتها وأنواعها والحاجه اليها في هذا العصر. وهنا نقدم تعريف اخر للخوارزميات( هي عباره عن خطوات مرتبه ومتسلسله لتبسيط المشاكل وتصغيرها لكي نستطيع التخلص منها وحلها بطريقه مرتبه بحيث تكون النتائج ايجابيه وتلبي المتطلبات المرجوه في حل مشكله معينه ). يتم تنفيد الخوارزميه في مرحلتين والتي هي كالاتي:
أولا: مرحلة ادخال البيانات او المعلومات التي تعبر عن المشكله طبعا يتم ادخال البيانات على خطوات محدده في حل المشكله.
ثانيا:مرحلة المخرجات او النتائج حيث تقدم لنا هذه النتائج معلومات مسهله ومبسطه توضح كيفية التخلص من هذه المشكله.
2 أهمية الخوارزميات
يتسائل الكثير من الناس ماذا نستفيد من الخوارزميات algorithms وللاجابه على هذا التسائل قمنا بانشا هذه المقاله تبرز أهمية الخوارزميات في الحاجه اليها والمجالات التي يتم اللجوء فيها الى استخدام الخوارزميات. من خلال أستخدام الخوارزميات نستطيع التغيير في حياتنا على سبيل المثال تقدم لنا الخوارزميات حلا لمشكلة أهدار الوقت والعجز في التفكير في الحلول لمشاكلنا.
كما تكمن أيظا أهمية الخوارزميات في مجال الكمبيوتر بل ان صح التعبير تعتبر الخوارزميات الشيء الأساسي الذي يتم بواسطته اطلاق الاختراعات والابتكارات بطرق واضحه وسهله كذللك ايظا أهميتها واستخدامها في علم الحاسوب حيث أستطاع المفكرون والعلماء حل اكبر المشاكل الحاسوبيه من خلال استخدام الخوارزميات.
3 الخوارزميات في علوم الحاسوب
تعتبر الخوارزميات جانب كبير او متطلب أساسي من المتطلبات التي يحتاج اليها الشخص الذي يريد الإبحار في علم الحاسوب. فهي شي لا يستغنى عنه المهندسون والمبرمجون وغيرهم من مستخدمين الحاسوب.ويتم تعريفها حاسوبيا بأنها مجموعه من التعليمات البرمجية التي تم إدخالها من قبل مستخدم الحاسوب يقوم جهاز الكمبيوتر اليا بمعالجه هذه التعليمات البرمجيه ومن ثم أخراجها نتائج بسيطه ومسهله. هنالك خوارزميات صغيره وسهله من حيث عملها والمطلوب منها مثل الخوارزميه التي تقوم بقياس مساحه شيئين YوX مثلا هولاء الشيئين هما عباره عن قطعه ارض مقسومه الى قسمين وهذان القسمان او قطعتا الأرض بشكل مربع ويكون هنا قياسهما سريع وسهل.
وهنالك كذالك خوارزميات كبيره وصعبه على نفس المثال السابق قطعتين ارض ولكن الاختلاف في شكلهما حيث هنا المثال على قطعتين مختلفتين في الشكل احداهما دائريه والأخرى مستطيله فيكون هنا القياس صعب ويتطلب وقت اكبر.
4 أنواع الخوارزميات
يتم تصنيف أنواع الخوارزميات نظرا للمشكلة وطريقه عمل الخوارزمية المستخدمة في حل هذه المشكلة وسنذكر لك أبرز وأهم أنواع الخوارزميات وأكثرها استخداما وهي كالتالي:
الخوارزميات التكرارية (Recursion algorithms)
سميت هذه الخوارزميات التكرارية نظرا لطريقه عملها حيث تقوم باستدعاء نفسها بشكل تكراري حتى يتم حل المشكلة.
الخوارزميات الديناميكيه (Dinamic algorithms)
يتم حل المشكله في هذا النوع من الخوارزميات بتقسيم المشكله الى فروع جانبيه تخص هذه المشكله أي يتم تصغير المشكله الى عدد من المشاكل الاصغر من المشكله الرئيسيه وتتشابه هذه الخوارزميه نوعا ما مع خوارزميه (فرق تسد) وخوارزمية التكرار.
خوارزمية فرق تسد (Divide and conquer algorithms)
في هذه النوع من الخوارزميات يتم حل المشكله بتصغيرها الى مشكله اصغر منها مشابهه لها وان لم يتم حلها تصغيرها الى مشكله اصغر من التصغير الذي قبل ويستمر تصغيرها حتى تصبح مشكله سهله الحل.
الخوارزميات العشوائيه (Rondom algorithms)
تم تسمية هذا النوع من الخوارزميات بالخوارزميات العشوائيه نظرا لطريقة عملها في حل المشاكل حيث تكون النتائج في هذا النوع من الخوارزميات عشوائيه وغير دقيقه وانما تقريبيه ولا يتم العمل لهذا النوع من الخوارزميات في المجالات المهمه والحساسه. تعتبر هذه الخوارزميه خوارزميه تجريبيه.
الخوارزميات التراجعيه (Badatracking algorithms)
هذا النوع من الخوارزميات قابله للمراوغه والرجوع حيث تقوم بحل المشكله اكثر من مره والتراجع اذا كانت النتائج غير مقبوله وهكذا حتى يتم الوصول الى الحل المطلوب للمشكله.
خوارزميات البحث (Search aigorithms)
يتم استخدام هذا النوع من الخوارزميات في انشاء الأبحاث وايظا في الكشف البياني والكشف الرسومي.
الخوارزميات الجشعه (Greedy algorithms)
يقوم هذا النوع من الخوارزميات باعطاء عدة حلول للمشكله ثم تقوم بتعديل هذه الحلول حتى تصل الى الحل الأمثل لكلا من الحلول المعطاه وقد تم تسميتها بالخوارزميه الجشع نظرا لاصرارها في النهاية على الوصول الى انسب الحلول الممكنه للمشكله.
الخوارزميات الخطية
يتم استخدام هذه النوع من الخوارزميات الخوارزميات algorithms في البرمجه الخطيه ويشبه هذه النوع من الخوارزميات الخوارزميات التراجعيه حيث ان الحلول التي تقدمها في النهايه عباره عن حلول تقريبيه وليست حلول حتميه.
الخوارزميات الحتميه
وقد تم تسميتها بالخوارزميات الخوارزميات الحتميه لقيامها بحل المشاكل بشكل دقيق ومؤكد في جميع الخطوات من الابتدا في حل المشكله الى الوصول الى النتائج النهايه.
الخوارزميات المتوازية
يتم حل المشكلة في هذا النوع من الخوارزميات بتقسيم المشكلة الى عدة مشاكل والقيام بحلها في وقت واحد وبشكل متوازي ومن ابرز الامثله على هذه الخوارزميه وحدة المعالجة المركزية في جهاز الكمبيوتر حيث تستطيع في الكمبيوتر فتح اكثر من برنامج واستخدامهما في نفس الوقت.
الخوارزميات الموزعه
طريقه عمل هذه النوع من الخوارزميات هي توزيع المشكله او تقسيمها على شكل مهام ومن ثم القيام بانجاز هذه المهام سواء في وقت واحد او كلا على حده.
خوارزميات أخرى
- خوارزميات هندسة البرمجيات.
- خوارزميات الذكاء الاصطناعي. للقراءة عن الذكاء الاصطناعي أضغط هناء
- خوارزميات الترتيب.
- خوارزميات التشفير.
- خوارزميات الرسم البياني.
- خوارزميات التوافق.