پولارڈ کا rho الگورتھم
پولارڈ کا رو الگورتھم
تعارف
پولارڈ کا رو الگورتھم ایک عدد نظریہ میں استعمال ہونے والا ایک عدد فیکٹرائزیشن الگورتھم ہے، جو خاص طور پر بڑے اعداد کو فیکٹر کرنے کے لیے ڈیزائن کیا گیا ہے۔ اس کا نام جوہن پولارڈ کے نام پر رکھا گیا ہے، جنہوں نے 1975 میں اسے دریافت کیا۔ یہ الگورتھم پرائم نمبر کے عوامل تلاش کرنے کے لیے ایک منفرد نقطہ نظر استعمال کرتا ہے، جو اس کی رفتار اور نسبتاً کم میموری کی ضرورت کے لیے جانا جاتا ہے۔ پولارڈ کا رو الگورتھم RSA جیسے کرپٹوگرافک سسٹم کی سیکورٹی میں کسی بھی کمزوری کا جائزہ لینے کے لیے کرپٹوگرافک تجزیے میں وسیع پیمانے پر استعمال ہوتا ہے۔
پس منظر
عدد فیکٹرائزیشن، کسی مرکب عدد کو پرائم نمبر کے حاصل ضرب کے طور پر ظاہر کرنے کا عمل، کمپیوٹیشنل پیچیدگی کے میدان میں ایک اہم مسئلہ ہے۔ بہت سے کرپٹوگرافک الگورتھم کی سیکورٹی اس مفروضے پر مبنی ہے کہ بڑے اعداد کو فیکٹرائز کرنا مشکل ہے۔ پولارڈ کا رو الگورتھم، جیسے دیگر فیکٹرائزیشن الگورتھم، اس مفروضے کو چیلنج کرنے کا ایک طریقہ فراہم کرتا ہے۔
الگورتھم کی بنیادی وضاحت
پولارڈ کا رو الگورتھم اس خیال پر مبنی ہے کہ اگر ایک عدد 'n' کے دو عوامل 'p' اور 'q' ہیں، تو ایک مناسب منتخب فنکشن 'f' کے ساتھ، 'f' کے بار بار اطلاق کے نتیجے میں 'p' اور 'q' کے درمیان ایک چکر بن جائے گا۔ یہ چکر ہمیں 'n' کے غیر معمولی عوامل کو تلاش کرنے کی اجازت دے گا۔
الگورتھم درج ذیل مراحل پر عمل درآمد کرتا ہے:
1. ایک رینڈم شروع کرنے والا نمبر 'x' منتخب کریں۔ 2. ایک فنکشن 'f(x)' کو تعریف کریں۔ عام طور پر، 'f(x) = x^2 + c' استعمال ہوتا ہے، جہاں 'c' ایک ایسا مستقل ہے جو 'n' کے برابر نہیں ہے۔ 3. دو متغیر 'x' اور 'y' کو شروع کریں۔ 'x' کو شروع کرنے والے نمبر پر سیٹ کریں، اور 'y' کو 'x' پر سیٹ کریں اور دو بار 'f(x)' پر عمل درآمد کریں۔ یعنی، 'y = f(f(x))'۔ 4. جب تک 'x' اور 'y' کے درمیان سب سے بڑا مشترک عامل (GCD) '1' سے بڑا نہ ہو، اس وقت تک مندرجہ ذیل عمل کو دہرائیں۔
* 'x = f(x)' پر عمل درآمد کریں۔ * 'y = f(f(y))' پر عمل درآمد کریں۔ * 'd = gcd(|x - y|, n)' کی حساب کریں۔
5. اگر 'd' '1' سے بڑا ہے اور 'n' کے برابر نہیں ہے، تو 'd' 'n' کا ایک غیر معمولی عامل ہے۔ 6. اگر 'd' 'n' کے برابر ہے، تو الگورتھم ناکام ہو گیا اور ایک مختلف شروع کرنے والا نمبر منتخب کرنے کی ضرورت ہے۔
فنکشن 'f(x)' کا انتخاب
فنکشن 'f(x)' کا انتخاب الگورتھم کی کارکردگی کو متاثر کرتا ہے۔ عام طور پر، 'f(x) = x^2 + c' استعمال ہوتا ہے، جہاں 'c' 'n' کے برابر نہیں ہے۔ 'c' کا انتخاب تصادفی طور پر کیا جاتا ہے۔ اگر 'c' کو صحیح طریقے سے منتخب نہیں کیا گیا ہے، تو الگورتھم چکر میں پھنس سکتا ہے اور عوامل نہیں ڈھونڈ سکتا۔
GCD کا حساب
سب سے بڑا مشترک عامل (GCD) کا حساب الگورتھم کا ایک اہم حصہ ہے۔ یقلیدین الگورتھم کا استعمال عام طور پر GCD کی حساب کے لیے کیا جاتا ہے۔ یہ الگورتھم دو اعداد کے درمیان سب سے بڑا مشترک عامل کو تیزی سے تلاش کرنے کا ایک موثر طریقہ ہے۔
الگورتھم کی پیچیدگی
پولارڈ کا رو الگورتھم کی اوسط پیچیدگی O(n^(1/4)) ہے، جہاں 'n' فیکٹرائز کرنے والا عدد ہے۔ یہ الگورتھم بڑے اعداد کو فیکٹرائز کرنے کے لیے نسبتاً موثر ہے، لیکن یہ ابھی بھی ٹریول الگورتھم اور جنرل نمبر فیلڈ سائیو جیسے دیگر فیکٹرائزیشن الگورتھم سے کم کارآمد ہے۔
مثال
فرض کریں کہ ہمیں عدد 'n = 8051' کو فیکٹرائز کرنا ہے۔
1. 'x = 2' سے شروع کریں۔ 2. 'c = 1' منتخب کریں۔ 3. 'f(x) = x^2 + 1' 4. 'y = f(f(x)) = f(f(2)) = f(5) = 26' 5. لپ میں:
* 'x = f(x) = f(2) = 5' * 'y = f(f(y)) = f(f(26)) = f(677) = 458330' * 'd = gcd(|5 - 26|, 8051) = gcd(21, 8051) = 1' * 'x = f(x) = f(5) = 26' * 'y = f(f(y)) = f(f(458330)) = f(210066100) = 44127880621' * 'd = gcd(|26 - 458330|, 8051) = gcd(458304, 8051) = 91'
6. 'd = 91' '1' سے بڑا ہے اور 'n' کے برابر نہیں ہے، تو '91' '8051' کا ایک غیر معمولی عامل ہے۔ 7. '8051 / 91 = 88.47' 8. غلطی ہے، دوبارہ کوشش کریں۔
یہ مثال پولارڈ کے رو الگورتھم کے عمل کو ظاہر کرتی ہے۔
کرپٹوگرافی میں استعمال
پولارڈ کا رو الگورتھم کرپٹوگرافی میں ایک اہم ٹول ہے، خاص طور پر RSA جیسے الگورتھم کی سیکورٹی کا تجزیہ کرنے کے لیے۔ اس کا استعمال اس بات کا اندازہ لگانے کے لیے کیا جا سکتا ہے کہ ایک دی گئی کلید کی لمبائی کسی دیے گئے کمپیوٹیشنل پاور کے ساتھ کتنی مضبوط ہے۔
پولارڈ رو کے مختلف ورژن
پولارڈ کے رو الگورتھم کے کئی ورژن موجود ہیں، جو کارکردگی کو بہتر بنانے کے لیے مختلف تکنیکوں کا استعمال کرتے ہیں۔ ان میں شامل ہیں:
- **فلورٹ کا ورژن:** یہ ورژن 'f(x)' کے لیے ایک مختلف فنکشن کا استعمال کرتا ہے، جو کچھ معاملات میں کارکردگی کو بہتر بنا سکتا ہے۔
- **منٹاگ کا ورژن:** یہ ورژن الگورتھم کے عمل کو تیز کرنے کے لیے بیجنگ اور کیشنگ جیسے تکنیکوں کا استعمال کرتا ہے۔
پولارڈ رو الگورتھم کے فوائد اور نقصانات
- فوائد:*
- عمل درآمد کرنا آسان ہے۔
- میموری کی کم ضرورت ہے۔
- کسی عدد کے عوامل تلاش کرنے کے لیے نسبتاً تیز ہے۔
- نقصانات:*
- تمام اعداد کے لیے کارآمد نہیں ہے۔
- عوامل کے سائز پر کارکردگی منحصر ہے۔
- ٹریول الگورتھم اور جنرل نمبر فیلڈ سائیو جیسے دیگر فیکٹرائزیشن الگورتھم سے کم کارآمد ہے۔
پولارڈ رو الگورتھم کا مستقبل
پولارڈ کا رو الگورتھم فیکٹرائزیشن میں ایک اہم ٹول بنا ہوا ہے، اور اس کی تحقیقات جاری ہیں۔ نئی تکنیکوں اور اصلاحات کے ساتھ، یہ الگورتھم بڑے اعداد کو فیکٹرائز کرنے اور کرپٹوگرافک سسٹم کی سیکورٹی کا تجزیہ کرنے میں زیادہ مؤثر ہو سکتا ہے۔
مزید مطالعہ کے لیے
متعلقہ استراتیجییں، فنی تجزیہ اور ٹریڈنگ وولیوم تجزیہ
- ہارمونک ٹریڈنگ
- فیبوناچی ریٹریسمینٹ
- الیکسا رینک
- آر ایس آئی (Relative Strength Index)
- ایم اے سی ڈی (Moving Average Convergence Divergence)
- بولنگر بینڈز
- ٹریڈنگ حجم
- آن بالنس حجم
- ڈائریکشنل موومنٹ انڈیکس
- ویلیوم ویٹڈ ایوریج پرائس
- آرڈر بک
- مارکیٹ کیپٹلائزیشن
- ٹریڈنگ پیئرز
- سوشل میڈیا سینٹمنٹ
- خبریں اور میڈیا کوریج
تجویز شدہ فیوچرز ٹریڈنگ پلیٹ فارم
پلیٹ فارم | فیوچرز خصوصیات | رجسٹریشن |
---|---|---|
Binance Futures | لیوریج تک 125x، USDⓈ-M معاہدے | ابھی رجسٹر کریں |
Bybit Futures | دائمی معکوس معاہدے | ٹریڈنگ شروع کریں |
BingX Futures | کاپی ٹریڈنگ | BingX سے جڑیں |
Bitget Futures | USDT سے ضمانت شدہ معاہدے | اکاؤنٹ کھولیں |
BitMEX | کرپٹو کرنسی پلیٹ فارم، لیوریج تک 100x | BitMEX |
ہماری کمیونٹی میں شامل ہوں
ٹیلیگرام چینل @strategybin سبسکرائب کریں مزید معلومات کے لیے. بہترین منافع پلیٹ فارمز – ابھی رجسٹر کریں.
ہماری کمیونٹی میں حصہ لیں
ٹیلیگرام چینل @cryptofuturestrading سبسکرائب کریں تجزیہ، مفت سگنلز اور مزید کے لیے!