جب تک آپ ریاضی یا پروگرامنگ میں نہیں آتے ہیں ، لفظ "الگورتھم" آپ کے لئے یونانی ہوسکتا ہے ، لیکن یہ اس مضمون کو پڑھنے کے لئے استعمال کر رہے ہر چیز کے بنیادی نقائص میں سے ایک ہے۔ وہ کیا ہیں ، اور وہ کیسے کام کرتے ہیں اس کی ایک فوری وضاحت یہاں ہے۔
دستبرداری: میں ریاضی یا کمپیوٹر سائنس ٹیچر نہیں ہوں ، لہذا میں جو بھی اصطلاحات استعمال کرتا ہوں وہ تکنیکی نہیں ہے۔ اس کی وجہ یہ ہے کہ میں لوگوں کو ریاضی کے بارے میں بالکل آرام دہ نہیں ہونے کے لئے سادہ انگریزی میں ہر چیز کی وضاحت کرنے کی کوشش کر رہا ہوں۔ کہا جا رہا ہے ، اس میں کچھ ریاضی شامل ہے ، اور یہ ناگزیر ہے۔ ریاضی کے بارے میں ، تبصرے میں اپنی اصلاح یا بہتر سمجھنے کے لئے آزاد محسوس کریں ، لیکن براہ کرم ، ریاضی کے لحاظ سے ہمارے درمیان امتیاز کے ل it اسے آسان رکھیں۔
بذریعہ تصویر ایان روٹسالا
الگورتھم کیا ہے؟
لفظ ’الگورتھم‘ میں ’الجبرا‘ کی طرح ایک تشبیہ ہے ، سوائے اس کے اس سے مراد خود عربی کے ریاضی دان ، الخوارزمی (صرف ایک دلچسپ بات ہے)۔ ایک الگورتھم ، جو ہمارے درمیان نان پروگرامروں کے لئے ہے ، وہ ہدایات کا ایک مجموعہ ہے جو ایک ان پٹ لے ، A ، اور ایک آؤٹ پٹ B فراہم کرتا ہے ، جو کسی طرح سے شامل ڈیٹا کو تبدیل کرتا ہے۔ الگورتھم میں مختلف قسم کے استعمال ہوتے ہیں۔ ریاضی میں ، وہ بہت زیادہ جدید چیزوں کے علاوہ ، ڈیٹا سیٹ میں پوائنٹس سے افعال کا حساب کتاب کرنے میں مدد کرسکتے ہیں۔ پروگرامنگ میں ہی ان کے استعمال کو چھوڑ کر ، وہ فائل کمپریشن اور ڈیٹا انکرپشن جیسی چیزوں میں اہم کردار ادا کرتے ہیں۔
ہدایات کا ایک بنیادی مجموعہ
ہم کہتے ہیں کہ آپ کا دوست ایک گروسری اسٹور میں آپ سے مل رہا ہے اور آپ اسے آپ کی سمت لے رہے ہیں۔ آپ کہتے ہیں جیسے "دائیں طرف کے دروازوں سے اندر آنا" ، "بائیں طرف مچھلی کے حصے کو منتقل کرو" اور "اگر آپ کو ڈیری نظر آئے تو آپ نے مجھے منتقل کیا۔" الگورتھم اس طرح کام کرتے ہیں۔ ہم اس معیار کی بنیاد پر ہدایات کی وضاحت کے لئے ایک فلو چارٹ استعمال کرسکتے ہیں جو ہمیں وقت سے پہلے معلوم ہوتا ہے یا عمل کے دوران معلوم کرسکتا ہے۔
(تصویر کے عنوان سے “ آئس بریکنگ روٹین ”ترمیم: بشکریہ ٹرگر اور فری وہیل )
START سے ، آپ راستے سے نیچے جائیں گے ، اور اس پر انحصار کریں گے کہ آپ کیا کرتے ہیں کسی آخری نتیجے تک "بہاؤ" کی پیروی کرتے ہیں۔ فلو چارٹس بصری ٹولز ہیں جو کمپیوٹر کے ذریعہ استعمال ہونے والی ہدایات کے ایک سیٹ کی زیادہ سمجھداری کے ساتھ نمائندگی کرسکتے ہیں۔ اسی طرح ، الگورتھم ریاضی پر مبنی زیادہ ماڈلز کے ساتھ بھی ایسا ہی کرتے ہیں۔
گراف
آئیے ہم گراف کا استعمال ان مختلف طریقوں کی وضاحت کرنے کے لئے کرتے ہیں جن سے ہم ہدایت دے سکتے ہیں۔
ہم اس گراف کو اس کے تمام نکات کے مابین ایک رابطے کے طور پر ظاہر کرسکتے ہیں۔ اس شبیہہ کو دوبارہ پیش کرنے کے ل we ، ہم کسی اور کو ہدایات کا ایک سیٹ دے سکتے ہیں۔
طریقہ 1
ہم پوائنٹس کی ایک سیریز کے طور پر اس کی نمائندگی کرسکتے ہیں ، اور معلومات گراف = {(x1, y1), (x2, y2), …, (xn, yn)} کی معیاری شکل کی پیروی کریں گی۔
گراف = {(0,0), (3,0), (3,3), (5,5), (7,10), (8,7), (9,4), (10,1)}
ہر ایک کو ایک کے بعد ایک نقطہ بنانا اور ان کو پچھلے نقطہ سے جوڑنا بہت آسان ہے۔ تاہم ، ایک گراف کا تصور کریں جس میں ایک ہزار پوائنٹس یا ایک سے زیادہ طبقات ہیں جن پر ہر راستہ چل رہا ہے۔ اس فہرست میں بہت سارے ڈیٹا ہوں گے نا؟ اور پھر ایک وقت میں ہر ایک کو جوڑنا ، درد ہوسکتا ہے۔
طریقہ 2
ایک اور چیز جو ہم کر سکتے ہیں وہ ہے ایک نقطہ نقطہ ، اس کے اور اگلے نقطہ کے مابین لائن کی ڈھال ، اور اشارہ کریں کہ گراف = {(starting point} ، [m1, x1, h1] ،… ، [mn, xn, hn] of کی معیاری شکل کا استعمال کرتے ہوئے اگلے نقطہ کی توقع کہاں کی جائے۔ یہاں ، متغیر ‘ایم’ لائن کی ڈھلوان کی نمائندگی کرتا ہے ، ‘x’ گنتی کرنے کی سمت کی نمائندگی کرتا ہے (چاہے وہ x یا y) ، اور ‘h’ آپ کو بتاتا ہے کہ کہا ہوا سمت میں کتنے گننے ہیں۔ آپ ہر تحریک کے بعد کسی نقطہ کی منصوبہ بندی کرنا بھی یاد رکھ سکتے ہیں۔
گراف = {(0,0), [0,x,3], [0,y,3], [1,x,2], [2.5,x,2], [-3,x,1], [-3,x,1], [-3,x,1]}
آپ اسی گراف کے ساتھ ختم ہوجائیں گے۔ آپ دیکھ سکتے ہیں کہ اس اظہار میں آخری تین شرائط ایک جیسی ہیں ، لہذا ہم کسی طرح سے صرف "تین بار دہرانے" کہہ کر اس کو تراش سکتے ہیں۔ چلو یہ کہتے ہیں کہ جب بھی آپ متغیر ‘R’ دکھائی دیتے ہیں ، اس کا مطلب آخری چیز کو دہرانا ہے۔ ہم یہ کر سکتے ہیں:
گراف = {(0,0), [0,x,3], [0,y,3], [1,x,2], [2.5,x,2], [-3,x,1], [R=2]}
اگر انفرادی نکات پر واقعی کوئی فرق نہیں پڑتا ہے ، اور صرف گراف خود ہی کرتا ہے تو کیا ہوگا؟ ہم آخری تین حصوں کو اس طرح مضبوط کرسکتے ہیں:
گراف = {(0,0), [0,x,3], [0,y,3], [1,x,2], [2.5,x,2], [-3,x,3]}
یہ چیزوں کو تھوڑا سا مختصر کرتا ہے جہاں سے وہ پہلے تھے۔
طریقہ 3
آئیے اس کو ایک اور طرح سے کرنے کی کوشش کریں۔
y = 0، 0≤x≤3
x = 0، 0≤y≤3
y = x، 3≤x≤5
y = 2.5x-7.5 ، 5≤x≤7
y = -3x + 29 ، 7≤x≤8
y = -3x + 29 ، 8≤x≤9
y = -3x + 29.9≤x≤10
ہمارے یہاں یہ خالص الجبری اصطلاحات میں ہے۔ ایک بار پھر ، اگر ان نکات پر کوئی فرق نہیں پڑتا ہے اور صرف گراف ہی کرتا ہے تو ، ہم آخری تین آئٹمز کو مستحکم کرسکتے ہیں۔
y = 0، 0≤x≤3
x = 0، 0≤y≤3
y = x، 3≤x≤5
y = 2.5x-7.5 ، 5≤x≤7
y = -3x + 29 ، 7≤x≤10
اب ، آپ کون سا طریقہ منتخب کرتے ہیں اس کا انحصار آپ کی صلاحیتوں پر ہے۔ ہوسکتا ہے کہ آپ ریاضی اور گرافنگ میں بہت اچھے ہو ، لہذا آپ آخری آپشن کا انتخاب کریں۔ ہوسکتا ہے کہ آپ نیویگیٹ کرنے میں اچھے ہوں ، لہذا آپ دوسرا آپشن منتخب کریں۔ تاہم ، کمپیوٹرز کے دائرے میں ، آپ بہت سارے قسم کے کام کر رہے ہیں اور کمپیوٹر کی صلاحیت واقعتا change تبدیل نہیں ہوتی ہے۔ لہذا ، الگورتھم ان کاموں کو بہتر بناتے ہیں جو وہ مکمل کرتے ہیں۔
نوٹ کرنے کے لئے ایک اور اہم نکتہ یہ ہے کہ ہر طریقہ کار کی کلید پر انحصار کرتا ہے۔ ہدایات کا ہر مجموعہ بیکار ہے جب تک آپ نہیں جانتے کہ ان کے ساتھ کیا کرنا ہے۔ اگر آپ نہیں جانتے کہ آپ نے ہر نکتے کو پلاٹ کرنے اور نقطوں کو جوڑنا ہے تو ، پوائنٹس کے پہلے سیٹ کا مطلب کچھ بھی نہیں ہے۔ جب تک آپ یہ نہیں جانتے ہیں کہ دوسرے متغیر کے ہر متغیر کا کیا مطلب ہے ، آپ کو ان کو لاگو کرنے کا طریقہ نہیں پتہ ہوگا ، جیسے سائپر کی کلید کی طرح ہے۔ یہ کلید الگورتھم کو استعمال کرنے کا بھی لازمی جزو ہے ، اور اکثر ، یہ چابی برادری میں یا کسی "معیاری" کے ذریعے پائی جاتی ہے۔
فائل سمپیڑن
جب آپ .zip فائل ڈاؤن لوڈ کرتے ہیں تو ، آپ مواد کو نکال دیتے ہیں تاکہ آپ اس کے اندر موجود ہر چیز کو استعمال کرسکیں۔ آج کل ، زیادہ تر آپریٹنگ سسٹم زپ فائلوں میں غوطہ لگا سکتے ہیں جیسے وہ عام فولڈر تھے ، پس منظر میں سب کچھ کرتے ہوئے۔ ایک دہائی قبل میری ونڈوز 95 مشین پر ، مجھے فائل کے ناموں سے زیادہ کچھ دیکھنے سے پہلے ہی دستی طور پر سب کچھ نکالنا پڑا تھا۔ اس کی وجہ یہ ہے کہ ڈسک پر .zip فائل کے بطور جو چیز محفوظ تھی وہ قابل استعمال شکل میں نہیں تھی۔ پل آؤٹ سوفی کے بارے میں سوچئے۔ جب آپ اسے بستر کے طور پر استعمال کرنا چاہتے ہیں تو ، آپ کو کشنوں کو ہٹانا ہوگا اور اس کو کھولنا ہوگا ، جس میں زیادہ جگہ لگتی ہے۔ جب آپ کو اس کی ضرورت نہ ہو ، یا آپ اسے ٹرانسپورٹ کرنا چاہتے ہو تو ، آپ اسے بیک اپ کرسکتے ہیں۔
کمپریشن الگورتھم خاص طور پر جن فائلوں کو نشانہ بنایا جاتا ہے ان کی قسموں کے لئے ایڈجسٹ اور ان کو بہتر بنایا جاتا ہے۔ آڈیو فارمیٹس ، مثال کے طور پر ، ہر ایک ڈیٹا کو ذخیرہ کرنے کے لئے مختلف طریقے سے استعمال کرتا ہے جو ، جب آڈیو کوڈیک کے ذریعہ ڈی کوڈ ہوجاتا ہے تو ، اصل ویوفورم کی طرح ہی ایک ساؤنڈ فائل دے گا۔ ان فرق کے بارے میں مزید معلومات کے ل our ، ہمارا پچھلا مضمون دیکھیں ، ان تمام آڈیو فارمیٹوں میں کیا فرق ہے؟ لاقانونی آڈیو فارمیٹس اور .zip فائلوں میں ایک چیز مشترک ہے: وہ دونوں ڈیٹاپریشن کے عمل کے بعد اصل ڈیٹا کو اس کی عین شکل میں برآمد کرتے ہیں۔ کھوئے ہوئے آڈیو کوڈکس ڈسک کی جگہ کو بچانے کے ل means دوسرے ذرائع استعمال کرتے ہیں ، جیسے تعدد تراشنا جو انسانی کانوں کے ذریعہ سننے کے قابل نہیں ہیں اور کچھ تفصیل سے جان چھڑانے کے لئے حصوں میں موجوں کو ہموار کرتے ہیں۔ آخر میں ، جب کہ ہم واقعی MP3 اور سی ڈی ٹریک کے درمیان فرق نہیں سن پائیں گے ، اس سے پہلے والے معلومات میں یقینا. کمی ہے۔
ڈیٹا انکرپشن
ڈیٹا یا مواصلات کی لائنوں کو محفوظ کرتے وقت الگورتھم بھی استعمال ہوتا ہے۔ اعداد و شمار کو ذخیرہ کرنے کی بجائے تاکہ اس میں ڈسک کی کم جگہ استعمال ہو ، یہ اس انداز میں ذخیرہ ہے جو دوسرے پروگراموں کے ذریعہ undetectable ہے۔ اگر کوئی آپ کی ہارڈ ڈرائیو چوری کرتا ہے اور اس کو اسکین کرنا شروع کرتا ہے تو ، وہ آپ فائلیں حذف کرنے کے وقت بھی ڈیٹا اٹھاسکتے ہیں کیونکہ ڈیٹا خود ابھی بھی موجود ہے ، حالانکہ اس میں آگے بھیجنے کی جگہ ختم ہوجاتی ہے۔ جب ڈیٹا کو خفیہ کردیا جاتا ہے تو ، جو کچھ بھی ذخیرہ ہوتا ہے وہ اس کی طرح نہیں لگتا ہے۔ یہ عام طور پر بے ترتیب نظر آتا ہے ، گویا وقت کے ساتھ ساتھ ٹکڑے ٹکڑے ہوجاتے ہیں۔ آپ ڈیٹا کو اسٹور بھی کرسکتے ہیں اور اسے کسی دوسری قسم کی فائل کے طور پر بھی ظاہر کرسکتے ہیں۔ اس کے لئے تصویری فائلیں اور میوزک فائلیں اچھ areی ہیں ، کیوں کہ وہ شک کیئے بغیر کافی بڑی ہوسکتی ہیں ، مثال کے طور پر۔ یہ سب ریاضی کے الگورتھم کو استعمال کرکے کیا جاتا ہے ، جو کسی نہ کسی طرح کا ان پٹ لیتے ہیں اور اسے کسی اور خاص شکل میں تبدیل کرتے ہیں۔ خفیہ کاری کے کام کرنے کے طریقہ سے متعلق مزید معلومات کے ل For ، چیک کریں HTG وضاحت کرتا ہے: خفیہ کاری کیا ہے اور یہ کیسے کام کرتی ہے؟
الگورتھم ریاضی کے ٹولز ہیں جو کمپیوٹر سائنس میں طرح طرح کے استعمال مہیا کرتے ہیں۔ وہ ایک مستقل نقطہ اور اختتامی نقطہ کے مابین مسلسل راستے میں راہ فراہم کرنے کے لئے کام کرتے ہیں ، اور اس پر عمل کرنے کے لئے ہدایات فراہم کرتے ہیں۔ ہم نے روشنی ڈالی اس سے بھی زیادہ جانتے ہو؟ تبصرے میں اپنی وضاحت کا اشتراک کریں!