অ্যাসিম্পটোটিক স্বরলিপি ব্যবহারের ক্ষেত্রে ত্রুটি


10

আমি নিম্নলিখিত পুনরাবৃত্তির নিম্নলিখিত প্রমাণের সাথে কী ভুল তা বোঝার চেষ্টা করছি

টি(এন)2(সিএন)

T(n)=2T(n2)+n
T(n)2(cn2)+ncn+n=n(c+1)=O(n)

ডকুমেন্টেশনটি বলছে এটি প্ররোচিত অনুমানের কারণে এটি ভুল কারণ আমি কী মিস করছি?

T(n)cn

2
এই ফর্মটির পুনরাবৃত্তিগুলি মাস্টার উপপাদ্যটি ব্যবহার করেও সমাধান করা যেতে পারে ।
জুহো

2
@ রান: আমি মনে করি না যে এই প্রশ্নের জন্য মাস্টার-উপপাদ্য একটি উপযুক্ত ট্যাগ। প্রশ্নটি কীভাবে সমাধান করা যায় তা নয়, তবে একটি বিশেষ যুক্তিতে ফলসকে নির্দেশ করা। এছাড়াও, মাস্টার-উপপাদ্য সম্ভবত খুব নির্দিষ্ট, এবং সম্ভবত এটির নিজস্ব ট্যাগ থাকার প্রাপ্য নয়। সাধারণভাবে, আমাদের প্রশ্নের ভিত্তিতে ট্যাগ করা উচিত, সম্ভাব্য উত্তর নয়। উদাহরণস্বরূপ, আপনি এই আকড়া-বাজি ট্যাগ করবেন?
আর্যভট্ট

"নিম্নলিখিত প্রমাণের সাথে কী ভুল" - আমি কোনও প্রমাণ দেখছি না। ভুলগুলি চিহ্নিত করার জন্য একটি সম্পূর্ণ প্রমাণ (অর্থাত্ অন্তর্ভুক্তিকে সুস্পষ্ট করা) লিখে প্রায়শই সহায়ক is
রাফেল

উত্তর:


12

আসুন ধরা যাক চূড়ান্ত লক্ষ্যটি । আপনি আনয়ন অনুমান দিয়ে শুরু:T(n)=O(n)

আই < এনT(i)ci সমস্ত ।i<n

এবং প্রমাণটি সম্পূর্ণ করতে, আপনাকে সেই প্রদর্শন করতে হবে ।T(n)cn

তবে, আপনি যা কমাতে সক্ষম হলেন তা হ'ল , যা প্রমাণটি সম্পূর্ণ করতে সহায়ক নয়; সমস্ত জন্য আপনার একটি ধ্রুবক প্রয়োজন । অতএব, আমরা কিছু উপসংহার করতে পারি না এবং প্রমাণিত হয় নি।সি এন টি ( এন ) = ( এন )T(n)(c+1)ncnT(n)=O(n)

লক্ষ্য করুন যে আপনি ফলাফল এবং প্রমাণ প্রক্রিয়া মধ্যে বিভ্রান্ত। এবং আরও একটি বিষয়, প্রকৃতপক্ষে এই ক্ষেত্রে তাই আপনি এটি প্রমাণ করতে সক্ষম হওয়ার জন্য একটি উপযুক্ত আনয়ন অনুমানটি বিবেচনা করতে পারেন।Θ ( এন লগ এন )T(n)Θ(nlogn)


যদি আমরা সি '= সি + 1 প্রতিস্থাপন করি তবে এটি কি কোনও পরিবর্তন আনবে?
এরব

@ বার: না, তা হবে না। আপনি একটি নির্বাচিত ধ্রুবক জন্য প্রমাণ করতে হবে। যদি প্রতিস্থাপন করা হয় , আপনার অবশেষে টি ( এন ) ( সি + 1 ) এন (বা টি ( এন ) ( সি + 2 ) এন ) থাকে তবে ফলাফলটি একই। c=c+1T(n)(c+1)nT(n)(c+2)n
প্যাড

8

আপনি কয়েকটি পদক্ষেপ বাদ দিয়েছেন। দেখে মনে হচ্ছে আপনি প্রেরণের মাধ্যমে প্রমাণ করার চেষ্টা করছেন এবং আপনার প্রমাণটি গেছে:T(n)=O(n)

ধরুন জন্য < এন । এর অর্থ টি ( কে ) সিT(k)=O(k)k<n কিছু । তারপর টি ( এন ) = 2 টি ( এন / 2 ) + + 2 এন / 2 + + ( + + 1 )T(k)ckc , তাই টি ( এন ) = হে ( )T(n)=2T(n/2)+n2cn/2+n(c+1)nT(n)=O(n)

এই প্রমাণ শুরু থেকে ভুল অধিকার যায়: " জন্য < এন " অর্থে দেখা যায় না। বিগ উহু একটি asymptotic ধারণা: টি ( ) = হে ( ) বুঝিয়ে দেয় যে, কিছু ধ্রুবক এবং একটি থ্রেশহোল্ড এন যেমন যে এন , টি ( ) T(k)=O(k)k<nT(k)=O(k)c । এবং আবারও শেষে, আপনি এই সিদ্ধান্ত নিতে পারবেন না যে “ T ( n ) = O ( n ) ”, কারণ এটিপুরোফাংশন টি সম্পর্কে কিছু বলেএবং আপনি কেবলমাত্র নির্দিষ্ট মান টি ( এন ) সম্পর্কে কিছু প্রমাণ করেছেন।kN,T(k)ckT(n)=O(n)TT(n)

অর্থ কী তা সম্পর্কে আপনাকে সুস্পষ্ট হওয়া দরকার । সুতরাং সম্ভবত আপনার প্রমাণ যায়:O

ধরুন যে for all k < n । তারপর টি ( এন ) = 2 টি ( এন / 2 ) + + 2 এন / 2 + + ( + + 1 )T(k)ckk<nT(n)=2T(n/2)+n2cn/2+n(c+1)n

এটি একটি প্রস্তাবনামূলক পদক্ষেপ প্রমাণ করে না: আপনি থেকে শুরু , এবং আপনি প্রমাণ করেছেন যে কে = এন , টি ( কে ) ( সি + 1 )T(k)ckk=n । এটি একটি দুর্বল আবদ্ধ। এর মানে কি তাকান: টি ( ) T(k)(c+1)k অর্থ হলটি টি এর বৃদ্ধির হারের জন্য আবদ্ধ। তবে আপনার কাছে রেট সি রয়েছে যা বাড়লে কে বাড়ে। এটি লিনিয়ার বৃদ্ধি নয়!T(k)ckcTck

আপনি যদি ঘনিষ্ঠভাবে তাকান, আপনি খেয়াল করতে পারেন যে রেট যখনই কে ডাবল হয় তখন 1 কে বৃদ্ধি পায় । সুতরাং, অনানুষ্ঠানিকভাবে, যদি মি = 2 পি কে হয় তবে সি এম = সি কে + পি ; অন্য কথায়, সি কে = সি 0 লগ 2 কেc1km=2pkcm=ck+pck=c0log2k

এটি সুনির্দিষ্ট করা যেতে পারে। প্রবর্তনের মাধ্যমে প্রমাণ করুন যে , টি ( কে ) সি লগ 2 ( কে ) এর জন্যk1T(k)clog2(k)

পুনরাবৃত্তির সম্পর্কটি বিভাজন এবং বিজয়ী অ্যালগরিদমগুলির জন্য আদর্শ যা লিনিয়ার সময়ে দুটি সমান অংশে ডেটা বিভক্ত করে। এই জাতীয় অ্যালগরিদমগুলি Θ ( এন) এ পরিচালনা করে সময় (( এন ) নয় )।Θ(nlog(n))O(n)

প্রত্যাশিত ফলাফলটি কী তা দেখতে, আপনি মাস্টার উপপাদ্যের বিরুদ্ধে পুনরাবৃত্তির সম্পর্কটি পরীক্ষা করতে পারেন । বিভাগটি এবং অতিরিক্ত কাজ করা হয় এন ; লগ 2 ( 2 ) = 1 সুতরাং এটি দ্বিতীয় ক্ষেত্রে যার জন্য বৃদ্ধি Θ ( এন)2T(n/2)nlog2(2)=1Θ(nlog(n))


7

আমি ইতিমধ্যে দেওয়া উত্তরটি প্রসারিত করছি, সম্ভবত কেবলমাত্র আমার মন্তব্যটি আরও বিশদভাবে ব্যাখ্যা করে।

অনুমান হিসাবে স্পষ্টভাবে কঠিন এবং ক্লান্তিকর হতে পারে, কখনও কখনও আরও ভাল পদ্ধতি বিদ্যমান। এরকম একটি পদ্ধতি হ'ল মাস্টার উপপাদ্য । আমাদের পুনরাবৃত্তি এখন ফর্মের , যেখানে a 1 এবং b > 1 ধ্রুবক এবং f ( n ) একটি ফাংশন। মনে রাখবেন আমাদের ক্ষেত্রে এন / 2 ব্যাখ্যা করা যেতে পারে মানে এন / 2টি(এন)=একটিটি(এন/)+ +(এন)একটি1>1(এন)এন/2এন/2। প্রযুক্তিগতভাবে নির্ভুলভাবে বলতে গেলে, আমাদের পুনরাবৃত্তিটি সঠিকভাবে সংজ্ঞায়িত নাও হতে পারে কারণ একটি পূর্ণসংখ্যা হতে পারে না। তবে এটি অনুমোদিত কারণ এটি পুনরাবৃত্তির অ্যাসিম্পটোটিক আচরণকে প্রভাবিত করবে না। অতএব, আমরা প্রায়শই মেঝে এবং সিলিং ফেলে রাখা সুবিধাজনক বলে মনে করি। এর আনুষ্ঠানিক প্রমাণটি কিছুটা ক্লান্তিকর তবে আগ্রহী পাঠক এটি Cormen et al এর উদাহরণ থেকে খুঁজে পেতে পারেন বইএন/2

আমাদের ক্ষেত্রে, আমাদের কাছে , বি = 2 , এফ ( এন ) = Θ ( এন ) রয়েছে । এর অর্থ হ'ল আমাদের কাছে n লগ বি a = এন লগ 2 2 = এন রয়েছেদ্বিতীয় ক্ষেত্রে মাস্টার উপপাদ্য থেকে প্রযোজ্য ( এন ) = Θ ( এন ) , এবং আমরা সমাধান আছে টি ( এন ) = Θ ( এন লগএকটি=2=2(এন)=Θ(এন)এনলগএকটি=এনলগ22=এন(এন)=Θ(এন)টি(এন)=Θ(এনলগএন)


ধন্যবাদ! এটি উল্লেখ করা যেতে পারে যে "তল এবং সিল অবস্হান" এটি সাধারণভাবে সম্পন্ন হয় এমন ধরে ধরে যায় । প্রাথমিক পর্যবেক্ষণটি হ'ল অ-হ্রাসকারী ক্রিয়াকলাপগুলির জন্য, উপসর্গগুলির অ্যাসিম্পটোটিক বৃদ্ধি পুরো ক্রমটির অ্যাসিম্পটোটিক বৃদ্ধি সমান। এন=2
রাফেল
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.