What Is An Algorithm
الگورتھم صاف صاف قدموں کی ایک فہرست ہے جو ترتیب سے چلائی جائے تو ایک ابتدائی حالت سے مکمل نتیجے تک لے جاتی ہے۔ اس سے زیادہ کچھ نہیں۔ لفظ تکنیکی لگتا ہے کیونکہ ہم نے یہ کمپیوٹر سے سیکھا ہے، لیکن آپ کے گھر کا سب سے پرانا …
اس کو سمجھنے کا ایک سے زیادہ طریقہ ہے۔ اگر آپ کو صرف ایک طریقہ سکھایا گیا ہے تو آپ کو حق سے کم سکھایا گیا ہے۔
اس کو سمجھنے کا ایک سے زیادہ طریقہ ہے۔ اگر آپ کو صرف ایک طریقہ سکھایا گیا ہے تو آپ کو حق سے کم سکھایا گیا ہے۔
الگورتھم صاف صاف قدموں کی ایک فہرست ہے جو ترتیب سے چلائی جائے تو ایک ابتدائی حالت سے مکمل نتیجے تک لے جاتی ہے۔ اس سے زیادہ کچھ نہیں۔ لفظ تکنیکی لگتا ہے کیونکہ ہم نے یہ کمپیوٹر سے سیکھا ہے، لیکن آپ کے گھر کا سب سے پرانا الگورتھم شاید کوئی نسخہ ہے۔ جب نانی آپ کو دال چاول بنانا سکھاتی ہیں تو وہ کوئی راز نہیں دے رہیں۔ وہ ایک الگورتھم دے رہی ہیں۔ مسور کی دال دو بار دھویں۔ چاول دس منٹ بھگو دیں۔ پتیلے میں تیل گرم کریں۔ پہلے زیرہ، پھر پیاز، پھر ہلدی۔ ترتیب اہم ہے۔ مقدار اہم ہے۔ اگر دو قدم آپس میں بدل دیے جائیں تو دال چاول نہیں ملے گی، کچھ اور ملے گا۔
ایک دوسری مثال، اس بار چولہا نہیں۔ ہر صبح اسکول جانے سے پہلے آپ بستہ ترتیب دیتے ہیں۔ آپ کے پاس انگریزی کاپی، ریاضی کی کاپی، اردو کاپی، سائنس کی کتاب، جیومیٹری کا ڈبہ، لنچ باکس، اور پانی کی بوتل ہے۔ بستہ بھرنے کے کم از کم دو طریقے ہیں۔ ایک یہ کہ بے ترتیب چیزیں اٹھا کر اندر ڈالتے جائیں جب تک بستہ بھر نہ جائے۔ دوسرا یہ کہ سب سے بھاری چیزیں نیچے، کتابیں درمیان میں، اور نرم لنچ باکس اوپر رکھیں۔ دوسرا طریقہ بھی ایک الگورتھم ہے۔ قدم یہ ہیں: سب سے بھاری چنیں، نیچے رکھیں، پھر اگلی بھاری چنیں، اور آخر میں نرم چیزیں اوپر رکھیں۔ کمپیوٹر سائنس میں اس الگورتھم کا نام ہے۔ اسے ترتیب دینا، یعنی سورٹنگ کہتے ہیں۔
ایک تیسری مثال گلی سے۔ آپ اور سات کزن اتوار کو پدی کرکٹ کھیلنے کا فیصلہ کر چکے ہیں۔ کسی کو بیٹنگ آرڈر طے کرنا ہے۔ بڑا کزن کہتا ہے، ترتیب یہ ہوگی، پہلے اوپنر، پھر زور دار ہٹ مارنے والے، پھر وکٹیں لینے والے، اور آخر میں چھوٹا جو ابھی سیکھ رہا ہے۔ یہ جملہ کرداروں کی تقسیم کا الگورتھم ہے۔ ان پٹ ہیں آٹھ بچے اور ان کی صلاحیتیں۔ آؤٹ پٹ ہے ایک سے آٹھ تک کی فہرست کہ کون کب بیٹنگ کرے گا۔ اگر کوئی نیا کزن بیچ میں آ جائے، الگورتھم بتا دیتا ہے کہ اسے کہاں رکھیں، اور دس منٹ بحث کی ضرورت نہیں پڑتی۔ الگورتھم اس لیے کام کے ہیں کہ ہر بار نئے سرے سے فیصلہ کرنے کی ضرورت ختم کر دیتے ہیں۔
اچھا الگورتھم کیا ہوتا ہے۔ تین باتیں۔ ایک، ہر قدم اتنا صاف ہو کہ کوئی دوسرا شخص یا کمپیوٹر اندازہ لگائے بغیر اس پر چل سکے۔ دو، الگورتھم ختم ہوتا ہو۔ وہ ہمیشہ کے لیے نہ گھومتا رہے، جیسے کوئی الجھی بحث چلتی رہتی ہے۔ تین، وہ نتیجہ نکالے جو واقعی چاہیے تھا۔ دال چاول کا نسخہ جو کچے چاول پر ختم ہو، اس میں سب قدم تو ہیں لیکن نتیجہ غلط ہے۔ کوڈ میں بھی یہی ہے۔ بغیر خرابی کے چلنے والا پروگرام جو غلط جواب دے، وہ ٹھیک چہرہ پہنے ہوئے ٹوٹا الگورتھم ہے۔
یہ کیوں اہم ہے۔ اگلے بیس سال کے کمپیوٹنگ کی کہانی کروڑوں چھوٹے الگورتھم کی کہانی ہے جو وہ کام کر رہے ہوں گے جو پہلے ہاتھ سے ہوتا تھا۔ کچھ سان فرانسسکو اور بیجنگ میں لکھے جائیں گے۔ بہت سے لاہور، کراچی، کوئٹہ، اور گلگت میں لکھے جانے چاہئیں، کیونکہ ملک کو جو کام درکار ہے وہ یہاں رہنے والے ہی سمجھتے ہیں۔ کم فیس والے پاکستانی اسکول کے داخلے ترتیب دینے کا الگورتھم بوسٹن کے چارٹر اسکول جیسا نہیں۔ ہمارے خاندانی قانون کے تحت برادری کی وراثت بانٹنے کا الگورتھم مغربی ایسٹیٹ پلانر جیسا نہیں۔ یہ لکھنے کی طرف پہلا قدم یہ سمجھنا ہے کہ آپ پہلے ہی روز الگورتھم میں سوچتے ہیں۔ نسخہ، بستہ، بیٹنگ آرڈر۔ آپ صفر سے شروع نہیں کر رہے۔ آپ زندگی بھر کی مشق سے شروع کر رہے ہیں جس کا نام آپ نہیں جانتے تھے۔
تخمینی وقت: 12 منٹ