আমি নিম্নলিখিত পুনরাবৃত্তির নিম্নলিখিত প্রমাণের সাথে কী ভুল তা বোঝার চেষ্টা করছি
টি(এন)≤2(সি⌊এন)
ডকুমেন্টেশনটি বলছে এটি প্ররোচিত অনুমানের কারণে এটি ভুল কারণ আমি কী মিস করছি?
আমি নিম্নলিখিত পুনরাবৃত্তির নিম্নলিখিত প্রমাণের সাথে কী ভুল তা বোঝার চেষ্টা করছি
টি(এন)≤2(সি⌊এন)
ডকুমেন্টেশনটি বলছে এটি প্ররোচিত অনুমানের কারণে এটি ভুল কারণ আমি কী মিস করছি?
উত্তর:
আসুন ধরা যাক চূড়ান্ত লক্ষ্যটি । আপনি আনয়ন অনুমান দিয়ে শুরু:
আই < এন সমস্ত ।
এবং প্রমাণটি সম্পূর্ণ করতে, আপনাকে সেই প্রদর্শন করতে হবে ।
তবে, আপনি যা কমাতে সক্ষম হলেন তা হ'ল , যা প্রমাণটি সম্পূর্ণ করতে সহায়ক নয়; সমস্ত জন্য আপনার একটি ধ্রুবক প্রয়োজন । অতএব, আমরা কিছু উপসংহার করতে পারি না এবং প্রমাণিত হয় নি।সি এন টি ( এন ) = ও ( এন )
লক্ষ্য করুন যে আপনি ফলাফল এবং প্রমাণ প্রক্রিয়া মধ্যে বিভ্রান্ত। এবং আরও একটি বিষয়, প্রকৃতপক্ষে এই ক্ষেত্রে তাই আপনি এটি প্রমাণ করতে সক্ষম হওয়ার জন্য একটি উপযুক্ত আনয়ন অনুমানটি বিবেচনা করতে পারেন।Θ ( এন লগ এন )
আপনি কয়েকটি পদক্ষেপ বাদ দিয়েছেন। দেখে মনে হচ্ছে আপনি প্রেরণের মাধ্যমে প্রমাণ করার চেষ্টা করছেন এবং আপনার প্রমাণটি গেছে:
ধরুন জন্য ট < এন । এর অর্থ টি ( কে ) ≤ সি কিছু গ । তারপর টি ( এন ) = 2 টি ( ⌊ এন / 2 ⌋ ) + + ঢ ≤ 2 গ ⌊ এন / 2 ⌋ + + ঢ ≤ ( গ + + 1 ) , তাই টি ( এন ) = হে ( ঢ ) ।
এই প্রমাণ শুরু থেকে ভুল অধিকার যায়: " জন্য ট < এন " অর্থে দেখা যায় না। বিগ উহু একটি asymptotic ধারণা: টি ( ট ) = হে ( ট ) বুঝিয়ে দেয় যে, কিছু ধ্রুবক গ এবং একটি থ্রেশহোল্ড এন যেমন যে ∀ ট ≥ এন , টি ( ট ) ≤ গ । এবং আবারও শেষে, আপনি এই সিদ্ধান্ত নিতে পারবেন না যে “ T ( n ) = O ( n ) ”, কারণ এটিপুরোফাংশন টি সম্পর্কে কিছু বলেএবং আপনি কেবলমাত্র নির্দিষ্ট মান টি ( এন ) সম্পর্কে কিছু প্রমাণ করেছেন।
অর্থ কী তা সম্পর্কে আপনাকে সুস্পষ্ট হওয়া দরকার । সুতরাং সম্ভবত আপনার প্রমাণ যায়:
ধরুন যে for all k < n । তারপর টি ( এন ) = 2 টি ( ⌊ এন / 2 ⌋ ) + + ঢ ≤ 2 গ ⌊ এন / 2 ⌋ + + ঢ ≤ ( গ + + 1 ) ।
এটি একটি প্রস্তাবনামূলক পদক্ষেপ প্রমাণ করে না: আপনি থেকে শুরু , এবং আপনি প্রমাণ করেছেন যে কে = এন , টি ( কে ) ≤ ( সি + 1 ) । এটি একটি দুর্বল আবদ্ধ। এর মানে কি তাকান: টি ( ট ) ≤ গ অর্থ হল গ টি টি এর বৃদ্ধির হারের জন্য আবদ্ধ। তবে আপনার কাছে রেট সি রয়েছে যা বাড়লে কে বাড়ে। এটি লিনিয়ার বৃদ্ধি নয়!
আপনি যদি ঘনিষ্ঠভাবে তাকান, আপনি খেয়াল করতে পারেন যে রেট যখনই কে ডাবল হয় তখন 1 কে বৃদ্ধি পায় । সুতরাং, অনানুষ্ঠানিকভাবে, যদি মি = 2 পি কে হয় তবে সি এম = সি কে + পি ; অন্য কথায়, সি কে = সি 0 লগ 2 কে ।
এটি সুনির্দিষ্ট করা যেতে পারে। প্রবর্তনের মাধ্যমে প্রমাণ করুন যে , টি ( কে ) ≤ সি লগ 2 ( কে ) এর জন্য ।
পুনরাবৃত্তির সম্পর্কটি বিভাজন এবং বিজয়ী অ্যালগরিদমগুলির জন্য আদর্শ যা লিনিয়ার সময়ে দুটি সমান অংশে ডেটা বিভক্ত করে। এই জাতীয় অ্যালগরিদমগুলি Θ ( এন) এ পরিচালনা করে সময় ( ও ( এন ) নয় )।
প্রত্যাশিত ফলাফলটি কী তা দেখতে, আপনি মাস্টার উপপাদ্যের বিরুদ্ধে পুনরাবৃত্তির সম্পর্কটি পরীক্ষা করতে পারেন । বিভাগটি এবং অতিরিক্ত কাজ করা হয় এন ; লগ 2 ( 2 ) = 1 সুতরাং এটি দ্বিতীয় ক্ষেত্রে যার জন্য বৃদ্ধি Θ ( এন) ।
আমি ইতিমধ্যে দেওয়া উত্তরটি প্রসারিত করছি, সম্ভবত কেবলমাত্র আমার মন্তব্যটি আরও বিশদভাবে ব্যাখ্যা করে।
অনুমান হিসাবে স্পষ্টভাবে কঠিন এবং ক্লান্তিকর হতে পারে, কখনও কখনও আরও ভাল পদ্ধতি বিদ্যমান। এরকম একটি পদ্ধতি হ'ল মাস্টার উপপাদ্য । আমাদের পুনরাবৃত্তি এখন ফর্মের , যেখানে a ≥ 1 এবং b > 1 ধ্রুবক এবং f ( n ) একটি ফাংশন। মনে রাখবেন আমাদের ক্ষেত্রে ⌊ এন / 2 ⌋ ব্যাখ্যা করা যেতে পারে মানে এন / 2। প্রযুক্তিগতভাবে নির্ভুলভাবে বলতে গেলে, আমাদের পুনরাবৃত্তিটি সঠিকভাবে সংজ্ঞায়িত নাও হতে পারে কারণ একটি পূর্ণসংখ্যা হতে পারে না। তবে এটি অনুমোদিত কারণ এটি পুনরাবৃত্তির অ্যাসিম্পটোটিক আচরণকে প্রভাবিত করবে না। অতএব, আমরা প্রায়শই মেঝে এবং সিলিং ফেলে রাখা সুবিধাজনক বলে মনে করি। এর আনুষ্ঠানিক প্রমাণটি কিছুটা ক্লান্তিকর তবে আগ্রহী পাঠক এটি Cormen et al এর উদাহরণ থেকে খুঁজে পেতে পারেন । বই ।
আমাদের ক্ষেত্রে, আমাদের কাছে , বি = 2 , এফ ( এন ) = Θ ( এন ) রয়েছে । এর অর্থ হ'ল আমাদের কাছে n লগ বি a = এন লগ 2 2 = এন রয়েছে । দ্বিতীয় ক্ষেত্রে মাস্টার উপপাদ্য থেকে প্রযোজ্য চ ( এন ) = Θ ( এন ) , এবং আমরা সমাধান আছে টি ( এন ) = Θ ( এন লগ ।