@ ডেভিডরিচারি যেমন ইতিমধ্যে উল্লেখ করেছেন, বিভ্রান্তি দেখা দিয়েছে কারণ বিভিন্ন জটিলতার ব্যবস্থা মেশানো হচ্ছে। তবে আমাকে কিছুটা বিস্তারিত জানাতে দিন।
সাধারণত, স্বেচ্ছাসেবী রিংগুলির উপরে বহুভুজ গুণনের জন্য অ্যালগরিদমগুলি অধ্যয়ন করার সময়, কোনও একটি অ্যালগরিদম ব্যবহার করে সেই রিংটিতে অঙ্কের গাণিতিক ক্রিয়াকলাপগুলির বিষয়ে আগ্রহী। বিশেষত, কিছু (চলমান, একক) রিং , এবং দুটি [বহুবর্ষীয় এর চেয়ে কম ডিগ্রি , স্নেহেজ-স্ট্র্যাসেন অ্যালগরিদমের প্রয়োজন multiplications এবং সংযোজন গনা অনুক্রমে দ্বারা, প্রায়, সংলগ্ন করতে ঐক্যের -th আদিম শিকড় কিছু বড় রিং পেতে এবং তারপর, ফাস্ট ব্যবহার ফুরিয়ার ট্রান্সফর্ম ওভারRf,g∈R[X]nO(nlognloglogn)Rfg∈R[X]nRD⊃RD, পণ্যটির কম্পিউটিং করা ।D
যদি আপনার রিংটিতে unityক্যের একটি তম মূল থাকে, তবে এটি সরাসরি উপর দ্রুত ফুয়ুরি ট্রান্সফর্ম ব্যবহার করে ক্রিয়াকলাপ পর্যন্ত বাড়ানো যায় । আরও সুনির্দিষ্টভাবে, over এর ওপরে , আপনি রিং অপারেশন ব্যবহার করে এটি করতে পারেন জটিল সংখ্যার তুলনায় সঠিক গাণিতিক প্রয়োজন হবে এই বিষয়টি উপেক্ষা করে)।nO(nlogn)RRZ⊂CO(nlogn)
অন্যান্য ব্যবস্থা যা বিবেচনায় নেওয়া যেতে পারে তা হ'ল একটি অপারেশনের সামান্য জটিলতা। আর এই কি আমরা যখন বিট দৈর্ঘ্য দুটি পূর্ণসংখ্যার গুন আগ্রহী হয় । এখানে, আদিম ক্রিয়াকলাপগুলি দুটি সংখ্যা (বহন সহ) যোগ করে দিচ্ছে। সুতরাং, যখন over এর উপর দুটি বহুভুজকে গুণিত করা হয়, তখন আপনাকে প্রকৃতপক্ষে এই বিষয়টি বিবেচনায় নিতে হবে যে গণনার সময় উত্থাপিত সংখ্যাগুলি স্থির সংখ্যক আদিম ক্রিয়াকলাপগুলি ব্যবহার করে গুণ করা যায় না। এটি এবং সত্য যে> জন্য unity ক্যের কোনও তম আদিম মূল নেই আপনাকে অ্যালগরিদম প্রয়োগ করতে বাধা দেয় । আপনি বিবেচনা করে এটি কাটিয়ে উঠতে পারেনnZZnn>2O(nlogn)f,gরিং from থেকে সহগের সাথে, যেহেতু পণ্য বহুবর্ষের গুণফলগুলি এই সীমাটি অতিক্রম করবে না। সেখানে (যখন , আপনি (এর সঙ্গতি বর্গ) দুই একটি শক্তি) একটি হিসাবে ঐক্যের -th রুট, এবং যাও recursively সহগ multiplications জন্য অ্যালগরিদম কল করে, আপনি একটি মোট অর্জন করতে পারেন আদিম (অর্থাত্, বিট) ক্রিয়াকলাপ। এটি তখন পূর্ণসংখ্যার গুণকে বহন করে।Z/⟨2n+1⟩n2nO(nlognloglogn)
উদাহরণস্বরূপ যে রিং অপারেশন এবং আদিম ক্রিয়াকলাপগুলির মধ্যে পার্থক্যের গুরুত্বকে সুন্দরভাবে তুলে ধরে, বহুপদী মূল্যায়নের জন্য দুটি পদ্ধতি বিবেচনা করুন: হর্নার পদ্ধতি এবং এস্ট্রিনের পদ্ধতি। শিঙা বাদক এর পদ্ধতি মূল্যায়ন একটি বহুপদী কিছু পরিচয় শোষণ দ্বারা
যখন এস্ট্রিনের পদ্ধতিটি কে দুটি ভাগে ভাগ করে
এবং
অর্থাৎ, ডিগ্রির শর্তাদি এবং ডিগ্রির শর্তাদিf=∑ni=0fiXix∈Z
f(x)=(…(fnx+fn−1)x+…+…)+f0
fH=∑i=1n/2fn/2+iXi
L=∑i=0n/2fiXi
H>n/2L≤n/2(ধরুন সরলতার জন্য দু'জনের একটি শক্তি)।
n
এর পরে, আমরা নিরূপণ করতে পারেন ব্যবহার
এবং যাও recursively অ্যালগরিদম প্রয়োগের।f(x)
f(x)=H(x)xn/2+L(x)
প্রাক্তন, সংযোজন এবং গুণগুলি ব্যবহার করে, সংযোজন এবং গুণাগুলির সংখ্যা (যা রিং অপারেশন) হিসাবে সর্বোত্তম কব্জি হিসাবে প্রমাণিত হয়, পরেরটির আরও বেশি প্রয়োজন (কমপক্ষে )।nn+logn
কিন্তু, বিট অপারেশন স্তরের উপর, এক (বেশ সহজে) দেখাতে পারি যে, সবচেয়ে খারাপ ক্ষেত্রে, Horner এর পদ্ধতি সঞ্চালিত অন্তত আকারের সংখ্যার multiplications , এর নেতৃস্থানীয় অনেক বিট ক্রিয়াকলাপ (এটি ধরে রাখে এমনকি যদি আমরা ধরে নিই যে দুটি বিট সংখ্যা ) তে গুণিত হতে পারে , তবে এস্ট্রিনের স্কিমটি কিছু জন্য ক্রিয়াকলাপ ব্যবহার করে , যা এখন পর্যন্ত অ্যাসেম্পোটোটিকভাবে দ্রুত।n/2n/2Ω(n2)nO(n)O(nlogcn)=O~(n)c>0