যখন একটি পূর্ণসংখ্যা স্থির হয় তখন পূর্ণসংখ্যার গুণ্য


35

যাক A আকারের একটি ধনাত্মক পূর্ণসংখ্যা সংশোধন হতে n বিট।

একটিকে যথাযথভাবে এই পূর্ণসংখ্যার প্রাক-প্রক্রিয়া করার অনুমতি দেওয়া হয়।

সাইজের এম বিটগুলির আরও একটি ধনাত্মক পূর্ণসংখ্যার দেওয়া , গুণক A বি এর জটিলতা কত ?BmAB

ϵ = 0(max(n,m))1+ϵϵ=0


6
দেওয়া A , কেবল 2n এন্ট্রি সহ একটি সারণী নির্মাণ করুন const (অবশ্যই আপনি যা চেয়েছিলেন এটি নয়, তবে আমি মনে করি আপনার প্রয়োজনীয়তা আরও সুনির্দিষ্ট করা উচিত ...)
Jukka Suomela

9
আমি মনে করি যে প্রশ্নটি আদর্শ বুলিয়ান সার্কিট মডেলটিতে নিখুঁত ধারণা তৈরি করে।
নোট

4
আপনি কি সুস্পষ্ট উপরের এবং নিম্ন সীমাটি সংক্ষিপ্ত করতে এবং সর্বোত্তম ফলাফল যা সম্পর্কে আপনি অবগত আছেন? এটি দেখায় যে আপনি সমস্যাটি সম্পর্কে যত্নবান এবং আপনি এটি সম্পর্কে চিন্তাভাবনা করেছেন এবং এটি প্রত্যেককে আপনার সমস্যা সম্পর্কে ভাবতে আরও উত্সাহ দেয়।
রবিন কোঠারি

4
আমি মনে করি প্রশ্নকর্তার স্পষ্টরূপে অর্থ হ'ল প্রাক-প্রসেসড অংশটি অবশ্যই স্পেস নিতে হবে। (ম্যাট্রিক্স-ভেক্টর মাল্টের সেই সম্পত্তি রয়েছে))nO(1)
রায়ান উইলিয়ামস

আপনি যা চান ঠিক তা জানতে চাই; আমার মনে হচ্ছে আমি এ নিয়ে অন্তহীন কেসগুলি পেরিয়ে যেতে পারি। এটি আমার প্রথম উত্তর, সুতরাং আমি আপনাকে যতটা সম্ভব তথ্য দেওয়ার চেষ্টা করে বিশেষত খুশি। আপনি যদি চান, আপনি আমাকে mgroff100@hotmail.com এ ইমেল করতে পারেন, এবং আমি আপনার সাথে আরও অনেক কিছু করতে পেরে খুশি হব।
ম্যাট গ্রাফ

উত্তর:


20

যদিও এটি সর্বদা সর্বাধিক দক্ষ অ্যালগরিদম হবে না, সংযোজন চেইনের সাথে এই প্রশ্নের একটি খুব ঘনিষ্ঠ সম্পর্ক রয়েছে; সংযুক্তকরণের জন্য যে কোনও অ্যালগরিদম দ্রুত সংযোজনমূলক চেইন দ্বারা গণনার জন্য একটি অ্যালগরিদমে অনুবাদ করে বার বার সংযোজন (প্রতিটি সংযোজন অবশ্যই, একটি অপারেশন হওয়া)। এর বিপরীতে, কম্পিউটিং জন্য একটি দ্রুত আলগোরিদিম কোন কম্পিউটিং জন্য একটি দ্রুত আলগোরিদিম বিশালাকার , কিন্তু অবশ্যই এই অ্যালগরিদম অগত্যা একটি ছাড়াও শৃঙ্খল আকারে আছে না; তবুও, এটি শুরু করার মতো দুর্দান্ত জায়গা বলে মনে হচ্ছে। কটাক্ষপাত আছে http://en.wikipedia.org/wiki/Addition_chain বা ভোল চেক আউট। 2 এরf ( B ) = A B O ( n ) A B B AAf(B)=ABO(n)ABBAআরও তথ্যের জন্য আর্ট অফ কম্পিউটার প্রোগ্রামিং


17

স্টিভেন স্টাডনিকি-র ধারণাকে প্রসারিত করার জন্য, আমরা দ্রুত একটি নিখুঁত অ্যালগরিদম তৈরি করতে পারি যা ডিস্ক্রিট ফুরিয়ার ট্রান্সফর্ম ব্যবহার করে ম্যাট্রিক্স গুণনের চেয়ে আরও ভাল করে তোলে।

আমরা বেশী সংখ্যা গণনা । যদি অর্ধেকেরও কম বিটগুলি হয় তবে আমরা তাদের অবস্থানগুলির একটি লিঙ্কযুক্ত তালিকা তৈরি করি। গুণিত করার জন্য, আমরা কেবল তালিকার প্রতিটি পজিশনে বাম স্থানান্তরিত করি (উপস্থাপিত বিট দ্বারা গুণিত) এবং ফলাফলগুলি যুক্ত করি।বিAB

যদি অর্ধেকেরও বেশি বিটগুলি এক হয় তবে আমরা উপরের মতো একই কাজ করি তবে আমরা পজিশনের তালিকাটি তৈরি করতে পরিবর্তে শূন্যগুলি ব্যবহার করি। ধারণাটি হ'ল আমরা এই যোগফলটি সেই যোগফল থেকে বিয়োগ করব যা সমস্তগুলি দ্বারা গুণিত করে প্রাপ্ত হবে। সকলের যোগফল পেতে, আমরা বিটের সংখ্যা দ্বারা স্থানান্তর করব এবং এটিকে বিয়োগ করব । তারপরে আমরা লিঙ্কযুক্ত তালিকা থেকে প্রাপ্ত আমাদের যোগফল বিয়োগ করতে পারি।BAB

আমরা কল করতে পারি যে নিষ্পাপ লিঙ্ক-তালিকার অ্যালগোরিদম। এটির চলমান সময়টি সবচেয়ে খারাপ ক্ষেত্রে , তবে গড় ক্ষেত্রে , যা ডিএফটি থেকে ছোটের চেয়ে দ্রুত।( | বি | √)O(n2)| |O(|B||A|2π)|A|

তালিকার ধারণাটি সর্বোত্তমভাবে ব্যবহার করতে আমরা বিভাজন এবং বিজয় ব্যবহার করি। আমরা বিভক্ত অর্ধেক, এবং সাদাসিধা অ্যালগোরিদম ব্যবহার করে যুক্ত তালিকার মাপ পাবেন। যদি সেগুলি 5 এর চেয়ে বেশি হয় তবে আমরা সমস্ত অর্ধেক পাঁচটির চেয়ে কম কাটতে না পারা পর্যন্ত 5 টিরও অধিক অর্ধেকের উপরে আমরা নিষ্কলুষ অ্যালগরিদমকে আবার কল করি। (এটি কারণ আমরা এটিকে 4 টি বিয়োগে কমাতে পারি)A

আরও ভাল এখনও, আমরা আমাদের বিভাজন এবং বিজয়ী অ্যালগরিদম উন্নতি করি। আমরা শাখা প্রশস্তকরণের সমস্ত সম্ভাব্য সংমিশ্রণগুলির মাধ্যমে পুনরাবৃত্তি করি, লোভের সাথে সেরাটিকে বেছে নিয়ে। এই প্রিপ্রোসেসিং প্রকৃত গুণনের প্রায় একই সময় নেয়।

যদি আমাদের প্রাক-প্রক্রিয়াজাতকরণের সাথে অসীম স্বাধীনতার অনুমতি দেওয়া হয় তবে আমরা সর্বোত্তমভাবে সমস্ত শাখার জন্য অনুকূলিত বিভাজন এবং বিজয়ী অ্যালগরিদম সমাধান করি। এটি সবচেয়ে খারাপ ক্ষেত্রে সময় নেয় , তবে সংযোজন শৃঙ্খলা পদ্ধতিতে এটি সর্বোত্তম হওয়া উচিত।O(2|A|)

আমি উপরের অ্যালগরিদমের জন্য আরও সঠিক মান গণনা করার জন্য কাজ করছি।


হাই ম্যাট: কিএবং? | ||A||B|
টি ....

এন | | N | | n বি|A|আকার , মূলত উপাদানের সংখ্যা । এটি আপনার সমতুল্য , যেমন । জন্য একই । যাইহোক, এই সূত্রটি এখনও ধরে রাখে যখন এবং এবং জন্য আলাদা হয় । AAn|A|n|B|nAB
ম্যাট গ্রাফ

17

ধ্রুবক দ্বারা গুণিত নামক কাগজটি সাবলাইনার ( পিডিএফ ) হয় শিফট / সংযোজন ক্রিয়াকলাপগুলির জন্য একটি অ্যালগরিদম দেয় , যেখানে ধ্রুবকের আকার হয় ।এনO(nlogn)n

মূলত, এটি ধ্রুবকটিতে বিটগুলির সন্ধান, শিফট করে এবং সংখ্যাটি কেবল ধ্রুবকগুলিতে বিটগুলির জন্য গুণনের জন্য যুক্ত করে কাজ করে (বাইনারিটির জন্য দীর্ঘ সংখ্যাবৃদ্ধির মতো, যেখানে নীচের সংখ্যায় একটি বিটকে গুণিত করতে হয় শীর্ষ স্থানান্তরিত এবং যোগ করা হয় না, যখন একটি1 0 11101 বিট মানে শীর্ষ স্থানান্তরিত হয় এবং যুক্ত হয়)। তবে এটি এখনও , কারণ ধ্রুবকটিতে ( এন ) 1- বিট থাকতে পারে ।O(n)O(n) 1

তারপরে কাগজটি ধ্রুবকের সংখ্যা উপস্থাপনাটিকে ডাবল-বেস নম্বর ব্যবস্থায় পরিবর্তন করার বিষয়ে কথা বলেছে, যেখানে রূপান্তরটি সঠিকভাবে করা গেলে এটি অ- বিট বিভক্ত হয়, (এটি একটি খুব অপ্রয়োজনীয় সংখ্যা সিস্টেম)। তারা গণনা করে যে এটি কতটা বিচ্ছিন্ন; শূন্য নন বিটের সংখ্যা ( এন ) এর চেয়ে কম সীমাবদ্ধ , সুতরাং এখানে সংযোজনগুলির একটি সাবলাইনার সংখ্যা রয়েছে। তবে এটি এখনও হে ( এন এম)0O(n)প্রতিটি সংযোজনের(এম)ব্যয়েরকারণে প্রকৃত ক্রিয়াকলাপ(যেখানেএনধ্রুবকের আকার এবংএমঅন্য সংখ্যার আকার)।O(nmlogn)O(m)nm

সুতরাং আপনার প্রশ্নের উত্তর দেওয়ার জন্য, হ্যাঁ ম্যাট্রিক্স-ভেক্টর গুণকের অনুরূপ ফলাফল রয়েছে, আপনি যদি একটি ধ্রুবক থাকে তবে স্পিডআপ পান; তবে অবশ্যই এই গতিপথটি কেবল নিষ্প্রাণ দীর্ঘ-গুণণের চেয়ে বেশি, এবং সেখানে বহুগুণ অ্যালগরিদম রয়েছে যা হে ( এন 2) থেকে অনেক ভালlognআপনি এই অ্যালগরিদমটি পেতে পারেন।O(n2logn)


@ জাস যা আমার বিশেষত্ব: ডি।
রিয়েলজ স্লাও

3
এটি 2007 এ dx.doi.org/10.1109/ARITH.2007.24 (সম্পূর্ণতার জন্য) হিসাবে উপস্থিত হয়েছিল ।
আন্দ্রেস সালামন

10

n

বার্নস্টেইন, আর। (1986), পূর্ণসংখ্যার ধ্রুবক দ্বারা গুণ। সফ্টওয়্যার: অনুশীলন এবং অভিজ্ঞতা, 16: 641–652। doi: 10.1002 / spe.4380160704

ভিনসেন্ট লেফভেরের আরও আধুনিক কাজ এখানে পাওয়া যাবে (তাঁর অনুগামী কাজগুলি দেখতে নিশ্চিত হন), এবং তিনি দক্ষ সার্কিট সংশ্লেষণের একটি সিএমইউ প্রকল্পও নোট করেছেন (সেখানে উল্লেখগুলি দেখুন)। পরবর্তী প্রকল্প এমনকি ধ্রুবকগুলির সেট দ্বারা একযোগে গুণকেও বিবেচনা করে।

PS আমি আপনাকে আপনার ব্যবহারকারীর নামটি সনাক্তযোগ্য কিছুতে পরিবর্তন করতে বিবেচনা করতে উত্সাহিত করি।


8

knknnk/2r2r2kn6nএখানে চিত্র বর্ণনা লিখুন

185=1+8+16+32+1286×185=1110=2+4+16+64+10241851001110111100110101000110011101

0011101000011110211200110201
01101010001(সবুজতেও) এই ক্রমবিন্যাস মেশিনটি কীভাবে পদ্ধতিগত উপায়ে গণনা করা যায় তার আরও বিশদের জন্য এই লিঙ্কটি দেখুন

আপনি কি আপনার মন্তব্য বিস্তারিত বলতে পারেন?
জে.ই.

k>2

nknkk

k2r

kn
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.