একটি পূর্ণসংখ্যার শক্তির বিটের সংখ্যা গণনা করা


10

বাইনারি উপস্থাপনায় দুটি পূর্ণসংখ্যা এবং হয়েছে, এর বিট-আকারের কম্পিউটিংয়ের জটিলতা কী ?n x nxnxn

এটি করার একটি উপায় পর্যাপ্ত নির্ভুলতার সাথে একটি অনুমানের গণনা করে গণনা করা । দেখা যাচ্ছে যে কম্পিউটিং সঙ্গে precisions এর বিট মধ্যে সম্পন্ন করা যাবে যেখানে সময় দৈর্ঘ্য দুটি পূর্ণসংখ্যার গুণফল গনা প্রয়োজন হয় । এই উৎপাদনের একটি (বিশেষ সহজ নয়) জটিলতা অ্যালগরিদম প্রায় যদি একটি উভয়ের bitsize উপর আবদ্ধ হয় এবং (যদি আমি কোন ত্রুটি করেছি)।লগ ইন করুন 2 ( x এর ) লগ ইন করুন 2 ( x এর ) ট হে ( এম ( ট ) লগ ট ) এম ( ট ) ট হে ( গুলি লগ 2 টি ) এস x এন1+⌊log2⁡(xn)⌋=1+⌊nlog2⁡(x)⌋log2⁡(x)log2⁡(x)kO(M(k)log⁡k)M(k)kO(slog2⁡s)sxn

আমরা মারতে পারি যেখানে এবং এর আকার (তাদের ক্ষেত্রে তুলনীয় আকার রয়েছে)? এই জটিলতা বা আরও ভাল পেতে একটি সাধারণ অ্যালগরিদম আছে?O(slog2⁡(s))sxn

দ্রষ্টব্য: আমি টুরিং মেশিনের মতো একটি তাত্ত্বিক মডেলের জটিলতায় আগ্রহী।



@ ভিজেএন: আমার মনে হয় না এটি দরকারী ...
— ব্রুনো

কেন না? এই প্রশ্নটি ডাইসন অনুমানের উপর অ্যালগরিদমিক আক্রমণগুলির কথা মনে করায় যেমন 1 , 2
— আরজেলিপটন

কেবলমাত্র আমি আমার প্রশ্নের উত্তর খুঁজে পেয়েছি, সুতরাং এটিকে আমার মনে অন্য কোথাও জিজ্ঞাসা করার দরকার নেই।
— ব্রুনো

উত্তর:


1

[সম্পাদনা] যেমন পরামর্শ দেওয়া হয়েছে, আমি আরও উত্তর দেওয়ার জন্য আমার উত্তরটি সম্পাদনা করি।

আমার দ্বিতীয় প্রশ্নের উত্তরটি হ'ল না :

প্রস্তাব. কম্পিউটিং স্পষ্টতা পর্যন্ত ট হার্ড হিসাবে অন্তত কম্পিউটিং বিট আকার হিসাবে এক্স 2 ট ।লগ⁡(এক্স)টএক্স2ট

প্রুফ। যাক একটি পূর্ণসংখ্যার y এর বিট-আকার বোঝান । প্রথম যে বিজ্ঞপ্তি নন-নেগেটিভ পূর্ণসংখ্যা জন্য Y , বিট-মাপ Y হল 1 + + ⌊ লগ Y ⌋ ।|Y|YYY1+ +⌊লগ⁡Y⌋

এইভাবে, । এখন 2 কে লগ ( এক্স ) হ'ল লগ ( এক্স ) কে পজিশনে বামে স্থানান্তরিত । তথাপি একজন গনা করতে লগ ( এক্স ) স্পষ্টতা করতে ট কেবল যতবার 1 এর বিট-মাপ এক্স 2 ট এবং ফলাফল নাড়াচাড়া ট ডানদিকে অবস্থান।|এক্স2ট|=1+ +⌊2টলগ⁡এক্স⌋2টলগ⁡(এক্স)লগ⁡(এক্স)টলগ⁡(এক্স)ট1এক্স2টট


1
বিটের সংখ্যা কেন আপনাকে লগ এক্স থেকে কে বিট স্পষ্টতা গণনা করতে সক্ষম করে ? আপনার হ্রাস আসলে কাজ করে? কি হবে যদি বিশেষ ক্ষেত্রে যেখানে এন = 2 ট অনেক সহজ ছিল / সব অন্যান্য সম্ভাব্য মান চেয়ে কঠিন এন (অ-ক্ষমতা-অফ দুই)? আপনার কি সেই সম্ভাবনা উড়িয়ে দেওয়ার কোনও উপায় আছে? x2klog⁡xkn=2kn
— DW

@ ডাব্লুডাব্লু: ভিজএন এর মন্তব্যের পরে আমি এই প্রশ্নে ফিরে আসছি। আমার প্রমাণ নিম্নরূপ: একটি পূর্ণসংখ্যা এর বিট সংখ্যা হল 1 + + ⌊ লগ Y ⌋ । সুতরাং, বিট সংখ্যা এক্স 2 ট হয় 1 + + ⌊ 2 ট লগ এক্স ⌋ । উপরন্তু, 2 ট লগ এক্স হিসাবে একই লগ এক্স কিন্তু স্থানান্তরিত ট বাঁদিকে অবস্থান। সুতরাং, ⌊ 2 ট লগ এক্স ⌋ (অন্তত) আপনি দেয় ট প্রথম বিটy1+⌊log⁡y⌋x2k1+⌊2klog⁡x⌋2klog⁡xlog⁡xk⌊2klog⁡x⌋k । সুতরাং, আপনি যদিফলাফলকে 1 টি বিয়োগ করে এক্স 2 কে বিটের সংখ্যা গণনা করতে পারেন তবে আপনি লগ এক্সের প্রথম কে বিট পাবেন। এটা কোনো কিছু হলো? log⁡xx2k1klog⁡x
— ব্রুনো

হ্যাঁ, এটি আমার আরও অর্থবোধ করে! বিশেষত যেহেতু আপনি কেবল কঠোরতা দেখানোর চেষ্টা করছেন। আমি কি এই উত্তর আরও বিশদ ব্যাখ্যা দিয়ে আপনার উত্তর আপডেট করতে উত্সাহিত করতে পারি? এইটিতে ফিরে এসে নিজের প্রশ্নের উত্তর ডকুমেন্ট করার জন্য আপনাকে ধন্যবাদ।
— ডিডাব্লিউ
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.