ایک الگورتھم کیا ہے؟

دریافت کریں کہ الگورتھم کیسے دنیا چلاتے ہیں

ایک الگورتھم ہدایات کا ایک مجموعہ ہے. یہ تعریف واقعی آسان ہے. ایک الگورتھم اس طرح کے ہدایات دینے کے طور پر آسان ہو سکتا ہے:

  1. گلی نیچے جاؤ
  2. پہلا حق لیں
  3. بائیں طرف دوسرا گھر تلاش کریں
  4. دروازے پر دستک اور
  5. پیکج کو نجات دیں.

لیکن جب الگورتھم کی تعریف آسان ہے، اصل معنی اور یہ ہماری زندگیوں کو کس طرح متاثر کرتی ہے وہ کافی پیچیدہ ہوسکتی ہے.

ایک الگورتھم کا ایک مثال

ایک الگورتھم کا ایک عام مثال ہے جو ہم اپنے روزانہ زندگی میں استعمال کرتے ہیں ایک ہدایت ہے. یہ ہدایات اس سیٹ کو ہم سب اجزاء دیتا ہے جو ہمیں ان اجزاء کے ساتھ کیا کرنے کی ضرورت ہو گی. آسان، ٹھیک ہے؟

لیکن اگر آپ کو پتہ نہیں ہے کہ پیمائش کپ کہاں رکھا جاتا ہے؟ آپ کو اسے تلاش کرنے کے لئے ایک الگورتھم کی ضرورت ہو گی. آپ ماپنے کپ کا استعمال کرنے کے بارے میں بھی ایک الگورتھم کی ضرورت ہوسکتی ہے.

لہذا جب ایک الگورتھم ہدایات کا ایک مجموعہ ہے، تو یہ بھی ان ہدایتوں کی تشہیر کرنے والے کو یا اس کے لۓ جانے کی ضرورت ہے. مثال کے طور پر، اگر آپ اپنے گھر سے قریبی گروسری کی دکان کو کیسے حاصل کرنے کے بارے میں تفصیلات فراہم کرتے ہیں، تو آپ کے دوست صرف اس بات کو جان سکیں گے کہ اس اسٹور کو کیسے پتہ چلتا ہے. وہ یہ خاص کرسری اسٹور تلاش کرنے کے قابل نہیں ہیں (ابھی تک) کہنے لگے کہ، دوسرے دوست کے گھر سے.

یہ ایک الگورتھم بھی سادہ اور پیچیدہ ہو سکتا ہے. اور جب ہم کمپیوٹر الگورتھم کے لحاظ سے بات کرتے ہیں تو، یہ سمجھنے کے لئے کہ کمپیوٹر کیا کرنے کے قابل ہے، الگورتھم کو تیار کرنے کا ایک بنیادی حصہ ہے.

کس طرح ترتیب دیں الگورتھم تیار

ابتدائی ترین الگورتھم میں سے ایک بلبلا طرح معمول تھا. بلبلا ترتیب میں اعداد و شمار سیٹ کے ذریعہ لوپنگ کرکے اعداد و شمار، خطوط یا الفاظ کو چھانٹنے کے لئے ایک طریقہ ہے، اقدار کی طرف سے ہر ایک سیٹ کی قیمتوں کا موازنہ کرتے ہیں، اور جب ضرورت ہوتی ہے تو انہیں تبدیل کرنا.

اس لوپ کو بار بار ڈالا جاتا ہے جب تک کہ الگورتھم مکمل فہرست کے ذریعہ کسی بھی چیز کو تبدیل کرنے کی ضرورت نہیں ہوسکتی ہے، جس کا مطلب یہ ہے کہ اقدار صحیح طریقے سے ترتیب دیں. اس قسم کی الگورتھم اکثر ریورسسرج الگورتھم کے طور پر حوالہ دی جاتی ہے کیونکہ یہ کام مکمل کرتا ہے جب تک کہ یہ خود کو زیادہ سے زائد عرصہ تک محدود نہیں ہوتا.

الگورتھم ممکن ہوسکتا ہے جیسا کہ:

  1. پہلی قیمت پر جائیں.
  2. اگر ضرورت ہو تو اگلے قیمت کے خلاف اس قیمت کو چیک کریں اور پوزیشن تبدیل کریں
  3. اگلے قیمت پر جائیں اور موازنہ دوبارہ کریں.
  4. اگر ہم اس فہرست کے اختتام پر ہیں تو سب سے اوپر واپس جائیں اگر لوپ کے دوران کوئی قدر تبدیل ہوجائے تو.

لیکن بلبلا کی قسم کو ترتیب دینے والی قیمتوں کا سب سے زیادہ مؤثر طریقہ نہیں بن گیا. جب تک وقت چلا گیا اور کمپیوٹرز پیچیدہ کاموں کو جلدی کرنے کے قابل بن گئے، نئے چھانٹنے والی الگورتھم پاپ لگ گئی.

ایک ایسی الگورتھم پہلی فہرست کے ذریعہ سکین کرتا ہے اور ترتیب شدہ اقدار کی دوسری فہرست تشکیل دیتا ہے. یہ طریقہ صرف اصل فہرست کے ذریعہ ایک واحد پاس دیتا ہے، اور ہر قیمت کے ساتھ، یہ دوسری فہرست کے ذریعہ لوپ کرے گا جب تک کہ قیمت ڈالنے کیلئے صحیح جگہ مل جائے. عام طور پر، بلبلا ترتیب کا طریقہ کار استعمال کرنے سے زیادہ موثر ہے.

یہ ہے کہ الگورتھم واقعی پاگل ہوسکتا ہے. یا واقعی بہت دلچسپ ہے، اس پر منحصر ہے کہ آپ کس طرح نظر آتے ہیں.

جبکہ بلبلا کی طرح کا طریقہ بہت سے طریقوں میں اقدار کو ترتیب دینے کے سب سے زیادہ ناکافی طریقوں میں سے ایک سمجھا جاتا ہے، اگر اصل فہرست مناسب طریقے سے حل کی جاتی ہے تو، بلبلا کی طرح سب سے زیادہ موثر ہوسکتا ہے. اس وجہ سے، اس مثال میں، بلبلا ترتیب الگورتھم فہرست کے ذریعے ایک ہی وقت میں جائیں گے اور اس کا تعین کریں کہ یہ صحیح طریقے سے ترتیب دی جائے گی.

بدقسمتی سے، ہم ہمیشہ اس بات کو نہیں جانتے ہیں کہ ہماری فہرست ختم ہو جاتی ہے، لہذا ہمیں ایک الگورتھم منتخب کرنا ہوگا جو فہرستوں کی بڑی تعداد میں اوسط پر استعمال کرنے کے لئے سب سے زیادہ مؤثر ثابت ہوتا ہے.

بلبلا ترتیب سے ہم سیکھیں

فیس بک الگورتھم اور زیادہ روزانہ زندگی میں

الورجیتھم ہر روز انسانوں کی مدد سے کام پر ہیں. جب آپ ویب کو تلاش کرتے ہیں تو، ایک الگورتھم بہترین تلاش کے نتائج تلاش کرنے کی کوشش کر رہا ہے. ہدایات کے لئے اپنے اسمارٹ فون سے پوچھیں، اور ایک الگورتھم آپ کو لینے کے لئے بہترین راستہ کا فیصلہ کرتا ہے. اور جب آپ فیس بک کو براؤز کریں تو، ایک الگورتھم فیصلہ کرتا ہے کہ ہمارے دوست کے فیس بک کے خطوط میں سے کون سا ہمارے لئے بہت اہم ہے. (آتے ہیں امید کرتے ہیں کہ ہمارے دوستوں کو پتہ نہیں چلتا کہ فاسٹ کو ہم سب سے زیادہ پسند کرتے ہیں!)

لیکن الگورتھم کے بارے میں سوچ کر ہمارے کمپیوٹر کی زندگیوں سے کہیں زیادہ مدد کر سکتے ہیں. یہ ہمیں بہتر سینڈوچ کی تعمیر میں بھی مدد مل سکتی ہے.

چلو کہ میں دو روٹی روٹی کے ساتھ شروع کروں گا، ایک ٹکڑا اور ایک اور ٹکڑا پر میونیز ایک انگوٹی پر پھیلا ہوا ہے. میں نے پنیر کی پنیر میئونیز کے ساتھ، اس کے سب سے اوپر کچھ ہام، کچھ لیٹی، ٹماٹر کے دو سلائسس اور پھر اس پر انگور کے ساتھ اس کا ٹکڑا لگایا. اچھا سینڈوچ، ٹھیک ہے؟

اگر یہ ایرر برقرار رہے تو ہمارے ہیلپ ڈیسک سے رابطہ کریں. لیکن اگر میں اسے تھوڑی دیر کے لئے میز پر چھوڑتا ہوں، تو اس کی روٹی کا سب سے بڑا ٹکڑا اس ٹماٹر میں سے کچھ ٹماٹر سے گریز کر سکتا ہے. یہ ایک مسئلہ ہے جس میں میں نے توقع نہیں کی تھی، اور میں دیکھ کر پہلے سالوں کے لئے سینڈوچ بنا سکتا ہوں، لیکن ایک بار جب میں کروں گا، میں بہتر سینڈوچ کی تعمیر کے لئے اپنی الگورتھم کو تبدیل کرنے کے طریقوں پر سوچنا شروع کر سکتا ہوں.

مثال کے طور پر، میں ٹماٹر سے چھٹکارا حاصل کرسکتا تھا. لیکن میں اس ٹماٹر کا ذائقہ کھونا نہیں چاہتا. اس کے بجائے، میں روٹی اور لیٹی کے بعد سینڈوچ پر ٹماٹر ڈال سکتا ہوں. یہ ٹیٹو ٹماٹر اور روٹی کے درمیان حفاظتی رکاوٹ بناتا ہے.

یہ ایک الگورتھم تیار کرتا ہے. اور ایک الگورتھم بننے کے لئے کمپیوٹر کی طرف سے ایک الگورتھم ہونا ضروری نہیں ہے. ایک الگورتھم ایک عمل ہے، اور ہمارے اردگرد عمل ہمارے ارد گرد ہیں.