Precomputation
الگورتھم میں، پری کمپیوٹیشن ایک لک اپ ٹیبل تیار کرنے کے لیے رن ٹائم سے پہلے ابتدائی کمپیوٹیشن انجام دینے کا عمل ہے جسے الگورتھم کے ذریعے استعمال کیا جا سکتا ہے تاکہ ہر بار اس پر عمل درآمد ہونے پر بار بار کمپیوٹیشن سے بچا جا سکے۔ پری کمپیوٹیشن اکثر الگورتھم میں استعمال ہوتا ہے جو مہنگے کمپیوٹیشن کے نتائج پر منحصر ہوتا ہے جو الگورتھم کے ان پٹ پر منحصر نہیں ہوتا ہے۔ پری کمپیوٹیشن کی ایک معمولی مثال مشکل کوڈ والے ریاضیاتی مستقلات کا استعمال ہے، جیسے کہ π اور e، بجائے اس کے کہ ان کے تخمینوں کو رن ٹائم پر ضروری درستگی کے مطابق شمار کیا جائے۔ ڈیٹا بیس میں، میٹیریلائزیشن کی اصطلاح پری کمپیوٹیشن کے نتائج کو ذخیرہ کرنے کے لیے استعمال کی جاتی ہے، جیسے کہ میٹیریلائزڈ ویو میں۔ جائزہ الگورتھم کے نفاذ کے آغاز میں انٹرمیڈیٹ نتائج کے ایک سیٹ کی قبل از وقت گنتی اکثر الگورتھم کی کارکردگی کو کافی حد تک بڑھا سکتی ہے۔ یہ اس وقت فائدہ مند ہو جاتا ہے جب ایک یا زیادہ ان پٹ کو اتنی چھوٹی حد تک محدود کر دیا جاتا ہے کہ نتائج کو میموری کے معقول سائز کے بلاک میں محفوظ کیا جا سکے۔ چونکہ وقت کی پیچیدگی میں میموری تک رسائی بنیادی طور پر مستقل ہوتی ہے (سوائے کیشنگ تاخیر کے)، کسی جزو کے ساتھ کوئی بھی الگورتھم جس میں ایک چھوٹی سی ان پٹ رینج پر مستقل کارکردگی سے بھی بدتر ہو اسے پری کمپیوٹنگ ویلیوز کے ذریعے بہتر بنایا جا سکتا ہے۔ بعض صورتوں میں موثر تخمینہ الگورتھم کو اقدار کے ایک مجرد ذیلی سیٹ کا حساب لگا کر اور انٹرمیڈیٹ ان پٹ ویلیوز کے لیے انٹرپولیٹ کر کے حاصل کیا جا سکتا ہے، کیونکہ انٹرپولیشن بھی ایک لکیری آپریشن ہے۔ کمپیوٹر کی آمد سے پہلے، اقدار کی طباعت شدہ تلاش کی میزیں لوگوں کے ذریعہ پیچیدہ افعال کے ہاتھ کے حساب کو تیز کرنے کے لیے استعمال کی جاتی تھیں، جیسے کہ مثلثی میزیں، لوگرتھم میزیں، اور شماریاتی کثافت افعال کی میزیں اسکول کے بچوں کو اکثر "ٹائم ٹیبل" حفظ کرنا سکھایا جاتا ہے تاکہ عام طور پر استعمال ہونے والے نمبروں (9 x 9 یا 12 x 12 تک) کے حساب سے بچ سکیں۔ یہاں تک کہ 493 عیسوی کے اوائل میں، ایکویٹین کے وکٹوریس نے 98 کالموں پر مشتمل ضرب کی میز لکھی جس میں (رومن ہندسوں میں) ہر عدد کا ضرب 2 سے 50 گنا تک دیا گیا تھا اور قطاریں "ایک ہزار سے شروع ہونے والے اعداد کی فہرست تھیں، سینکڑوں سے گھٹ کر ایک سو تک، پھر دس سے گھٹ کر، پھر ایک سے گھٹ کر ایک تک، اور پھر 1/144 تک کے حصوں کی فہرست تھی" مثالیں یہاں تک کہ ڈیجیٹل مثلثی افعال کے جدید کمپیوٹر کے نفاذ میں بھی اکثر پہلے سے مرتب کردہ تلاش کی میزیں استعمال کی جاتی ہیں تاکہ یا تو انٹرپولیشن الگورتھم کے لیے کوفیشنٹس فراہم کیے جا سکیں یا یکے بعد دیگرے لگ بھگ الگورتھم کو شروع کیا جا سکے۔ کرپٹو سسٹمز پر بہت سے حملوں میں پری کمپیوٹیشن شامل ہوتا ہے۔ جدید موثر الگورتھم کے حصے کے طور پر بڑے پیمانے پر پری کمپیوٹیشن کی مثالوں میں شامل ہیں: رینبو ٹیبلز پرفیکٹ ہیش کیوب اٹیک 3 ڈی گرافکس میں مرئیت کے حساب کے لیے بی ایس پی کے درختوں کا پہلے سے حساب لگانا 3 ڈی گرافکس میں روشنی کے لیے تابکاری پری کمپیوٹیشن مرتب ہونے والے کوڈ کی رن ٹائم رفتار کو بڑھانے کے لیے بڑے پیمانے پر پری کمپیوٹیشن کا استعمال کرتے ہیں: اس پری کمپیوٹیشن کو عملی طور پر پروگرام کوڈ کی جزوی تشخیص کی ایک شکل سمجھا جا سکتا ہے۔ اس قسم کی پری کمپیوٹیشن کی مثالوں میں ڈیٹا فلو تجزیہ اور طاقت میں کمی کے اقدامات شامل ہیں۔ ریاضیاتی جدول الگورتھمک کارکردگی جزوی تشخیص میموائزیشن حوالہ جات سافٹ ویئر کی اصلاح بھی دیکھیں۔