দ্বিপদী সহগ খুঁজে বের করার জটিলতা যা একটি সংখ্যার সমান


19

মনে করুন আপনি একটি সংখ্যা পাচ্ছেন (ব্যবহার বাইনারি এনকোডিং বিট)।( লগ এম )mO(logm)

আপনি কত তাড়াতাড়ি খুঁজে পেতে পারেন (বা এরূপ অস্তিত্ব নির্ধারণ করে) ?

n,kN,1<kn2:(nk)=m

উদাহরণস্বরূপ, ইনপুটটি , কেউ আউটপুট দিতে পারে ।এন = 27 , কে = 10m=8436285n=27,k=10


সমস্যার জন্য একটি নির্লজ্জ অ্যালগরিদম জন্য সমস্ত সম্ভাব্য মানগুলি অতিক্রম করবে এবং মান সন্ধান করবে যা সম্পত্তি সন্তুষ্ট করে।কেnk

একটি সহজ পর্যবেক্ষণ হ'ল চেয়ে ছোট বা চেয়ে বড় মান পরীক্ষা করার দরকার নেই । তবে (এমনকি যদি আমরা কেবলমাত্র পি প্রতি সম্ভাব্য মানগুলি পরীক্ষা করতে পারি ) এটি একটি অদৃশ্য অ্যালগরিদমতে শেষ হয় যা ইনপুট আকারে তাত্পর্যপূর্ণ।লগ এম ( nlogm(1)কেএনO(m)O(1)kn

একটি বিকল্প পদ্ধতির সম্ভাব্য মান উপর যেতে হবে (এটা চেক করতে যথেষ্ট ) এবং সম্ভব জন্য প্রতিটি চেক জন্য মান। তারপরে আমরা এটি ব্যবহার করতে পারি: { 2 , 3 , , 2 লগ এম } n ( এনk{2,3,,2logm}n

(nk)k<(nk)<nkk!

সুতরাং প্রদত্ত আমাদের কেবলমাত্র রেঞ্জের মানগুলি পরীক্ষা করতে হবে , বাইনারি অনুসন্ধান (যখন ব্যবহার এমনটি সংশোধন করা হয়েছে, monotonically বাড়ছে ), এই একটি বহুপদী অ্যালগরিদম চলমান দেয় ।এন [ কেknকে ( এন)[mk!k,mkk]k এন(লগ2মি)(nk)nO(log2m)

এটি এখনও আমার পক্ষে অদৃশ্য বলে মনে হয় এবং আমি অনুমান করি যে এটি লিনিয়ার সময় (ইনপুট আকারে) সমাধান করা যেতে পারে।


4
এ পর্যন্ত কি কি চেষ্টা করেছ? ইঙ্গিত: ধরে দেওয়া হয়েছিল, খুব। আপনি কি তখন এটি সমাধান করতে পারেন? এর সম্ভাব্য মানগুলির সীমা কত ? বা, ধরুন দেওয়া হয়েছিল; আপনি কি এই ক্ষেত্রে সমাধান করতে পারেন? জন্য সম্ভাব্য মান পরিসীমা কত ? এন কে কেnnkk
DW

উত্তর:


1

এটা সত্য নয় যে । উদাহরণস্বরূপ ।( 9 )(nk)k<(nk)(92)=36<49=(92)2

দ্বিপদী গুণাগুণগুলির গাণিতিক বৈশিষ্ট্যগুলি ব্যবহার করে আমি (এখনও) একটি সূক্ষ্ম সমাধান খুঁজে পাইনি, তবে আমি যদি কিছুটা ব্রুটফোর্সকে সহায়তা করতে পারি তবে: --)

আপনি, প্রতিটি জন্য প্রাথমিক অনুমানটি (যেমন ) ধরে এবং নিউটন-রাফসনের মতো বিশ্লেষণমূলক পদ্ধতি ব্যবহার করে সমাধান করতে পারেন । আপনি সমাধান করতে চান । সাথে বাম দিকের হ'ল যেখানে si হচ্ছে ডিগম্ম ফাংশন, যা গণনা করা সহজ ।এন kn( এন)k!mkএন(ψ(এন+1)-ψ(এন-কে+1)) ( এন)(nk)m=0n ψ(ψ(n+1)ψ(nk+1))(nk)ψ

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

সুতরাং সামগ্রিকভাবে প্রতিটি জন্য অনুসন্ধানটি হওয়া উচিত (ধরে নিলে আপনি যেমন মনে করেছেন যে দ্বিপদী সহগের গণনা করা ধ্রুব সময় নেয়), সুতরাং জন্য আপনার সীমানা ব্যবহার করে অ্যালগরিদমের জন্য মোট জটিলতা হবে ।( 1 ) কে ( লগ ( এম ) )kO(1)kO(log(m))


2
যদিও আমি সম্মত সীমা, (সম্পাদনা দেখুন, যে জন্য ধন্যবাদ) বন্ধ ছিল কেন আপনি অনুসন্ধান দেওয়া ব্যাখ্যা করতে পারেন লাগে ? ( 1 )kO(1)
আরবি
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.