এই উত্তরের রেফারেন্সের সাথে থেটা (কড়া আবদ্ধ) কী?
ওমেগা নীচু আবদ্ধ, বেশ বোঝা যায়, একটি অ্যালগরিদম সর্বনিম্ন সময় নিতে পারে। এবং আমরা জানি যে বিগ-ও হ'ল উপরের গণ্ডির জন্য, মানে অ্যালগরিদম সর্বাধিক সময় নিতে পারে। তবে থেটা সম্পর্কে আমার ধারণা নেই।
এই উত্তরের রেফারেন্সের সাথে থেটা (কড়া আবদ্ধ) কী?
ওমেগা নীচু আবদ্ধ, বেশ বোঝা যায়, একটি অ্যালগরিদম সর্বনিম্ন সময় নিতে পারে। এবং আমরা জানি যে বিগ-ও হ'ল উপরের গণ্ডির জন্য, মানে অ্যালগরিদম সর্বাধিক সময় নিতে পারে। তবে থেটা সম্পর্কে আমার ধারণা নেই।
উত্তর:
বিগ ও হ'ল উপরের বাউন্ড, ওমেগা নীচের গণ্ডি। থিটার জন্য বিগ ও ওমেগা উভয়ই প্রয়োজন, তাই এটিকে একটি শক্ত বাঁধা হিসাবে উল্লেখ করা হয় (এটি অবশ্যই উপরের এবং নীচের দিকের উভয়ই হতে হবে)।
উদাহরণস্বরূপ, একটি অ্যালগরিদম গ্রহণ Omega(n log n)
করতে কমপক্ষে n log n
সময় লাগে তবে এর উচ্চতর সীমা থাকে না। কমপক্ষে (ওমেগা এন লগ এন) Theta(n log n)
লাগে এবং (বিগ ও এন লগ এন) এর চেয়ে বেশি আর কোনও অ্যালগরিদম গ্রহণ করা অনেক বেশি পছন্দসই । n log n
n log n
Not-স্বরলিপি (theta স্বরলিপি) বলা হয় শক্ত-আবদ্ধ কারণ এটি ও-স্বরলিপি এবং Ω-স্বরলিপি (ওমেগা স্বরলিপি) এর চেয়ে আরও সুনির্দিষ্ট ।
আমি যদি অলস হয়ে থাকি তবে আমি বলতে পারি যে বাছাই করা অ্যারেতে বাইনারি অনুসন্ধান হ'ল ও (এন 2 ), ও (এন 3 ), এবং ও (2 এন ), এবং আমি প্রতিটি ক্ষেত্রে প্রযুক্তিগতভাবে সঠিক হতে পারি। এর কারণ ও-স্বীকৃতি কেবল একটি উপরের বাউন্ডকে নির্দিষ্ট করে এবং বাইনারি অনুসন্ধান কেবল খুব কাছাকাছি নয়, সেই সমস্ত ফাংশন দ্বারা উচ্চতর দিকে আবদ্ধ থাকে। এই অলস অনুমানগুলি অকেজো হবে ।
ও-নোটেশন এবং Ω-স্বরলিপি একত্রিত করে Θ-স্বীকৃতি এই সমস্যাটি সমাধান করে । যদি আমি বলি যে বাইনারি অনুসন্ধান Θ (লগ এন) হয় তবে এটি আপনাকে আরও সুনির্দিষ্ট তথ্য দেয়। এটি আপনাকে জানায় যে প্রদত্ত ফাংশনটি দ্বারা অ্যালগরিদম উভয় পক্ষের সাথে আবদ্ধ থাকে, সুতরাং এটি বর্ণিত তুলনায় কখনই তাত্পর্যপূর্ণ বা ধীর হবে না।
If I were lazy, I could say that binary search on a sorted array is O(n2), O(n3), and O(2n), and I would be technically correct in every case
- মনে হচ্ছে কম্পিউটার জগতের বেশিরভাগ লোকই কেবল অলস হয় কারণ প্রত্যেকেই কেবলমাত্র বিগ ও জটিলতার বিষয়ে কথা বলে।
If I were lazy, I could say that binary search on a sorted array is O(n2), O(n3), and O(2n), and I would be technically correct in every case
যদি কেউ এর সাথে বিভ্রান্ত হয়: সেই ধরণের ফাংশনগুলির জন্য যা ক্ষতিকারকভাবে টাইট নয় ছোট-ও স্বরলিপি ব্যবহার করা হয়। উদাহরণ: - সীমাবদ্ধ 2n ^ 2 = O (n ^ 2) অসম্পূর্ণভাবে শক্ত, তবে সীমাবদ্ধ 2n = O (n ^ 2) নয়। আরও পড়ুন: স্ট্যাকওভারফ্লো.com
যদি আপনার কাছে O (f (n)) এর কিছু থাকে তবে এর অর্থ কে , জি (এন) যেমন চ (এন) ≤ কেজি (এন) রয়েছে ।
যদি আপনার কাছে এমন কিছু থাকে যা Ω (f (n)) এর অর্থ কে , জি (এন) যেমন চ (এন) ≥ কেজি (এন) রয়েছে ।
এবং যদি আপনার ও (f (n)) এবং Ω (f (n)) এর সাথে কিছু থাকে তবে এটি Θ (f (n) ।
Wikipedia নিবন্ধটি শালীন যদি একটু ঘন হয়।
g
পরিবর্তে f
এবং বাকীটি যেমন রয়েছে তেমন ছেড়ে দেওয়া যেতে পারে। একই লাইনের দ্বিতীয় পংক্তির জন্য: এটি "যদি আপনার কাছে এমন কিছু থাকে যা Ω (g (n)) হয়"। আপনি দয়া করে ডাবল চেক করতে পারেন?
অ্যাসিপটোটিক আপার বাউন্ডের অর্থ একটি প্রদত্ত অ্যালগরিদম ইনপুট সংখ্যার উপর নির্ভর করে সর্বাধিক সময়ের মধ্যে সঞ্চালিত হয়।
উদাহরণ হিসাবে একটি বাছাই অ্যালগরিদম নেওয়া যাক। যদি কোনও অ্যারের সমস্ত উপাদানগুলি ক্রমবর্ধমান ক্রমে থাকে, তবে সেগুলি সাজানোর জন্য এটি O(n)
উপরের আবদ্ধ জটিলতা দেখাতে চলমান সময় নেবে । যদি অ্যারে ইতিমধ্যে বাছাই করা হয় তবে মান হবে O(1)
।
সাধারণত, O-notation
উপরের বাউন্ড জটিলতার জন্য ব্যবহৃত হয়।
অসম্পূর্ণভাবে আঁটসাঁট বাঁধা (c 1 g (n) ≤ f (n) ≤ c 2 g (n)) একটি ফাংশনের গড় বাউন্ড জটিলতা দেখায়, সীমাবদ্ধ সীমা (উপরের বাউন্ড এবং নিম্ন সীমা) এর মধ্যে একটি মান থাকে, যেখানে c 1 এবং সি 2 ধ্রুবক।
ন্যূনতম সময় এবং সর্বাধিক সময় বাক্যাংশগুলি এখানে কিছুটা বিভ্রান্তিকর। যখন আমরা বড় ও স্বরলিপিগুলি নিয়ে কথা বলি তখন এটি আমাদের আসল সময় নয়, আমাদের ইনপুটটির আকার যখন বড় হয় তখন সময়টি কীভাবে বাড়তে থাকে। এবং এটি সাধারণত গড় বা সবচেয়ে খারাপ ক্ষেত্রে সময়টির কথা আমরা বলছি, সেরা ক্ষেত্রে নয় , যা সাধারণত আমাদের সমস্যা সমাধানে অর্থবহ নয়।
উদাহরণ হিসাবে অন্য প্রশ্নের গ্রহণযোগ্য উত্তরে অ্যারে অনুসন্ধান ব্যবহার করে। মাপের n এর তালিকার জন্য একটি নির্দিষ্ট নম্বর পেতে যে সময় লাগে তা হল n / 2 * কোনও_কেনস্ট্যান্ট গড়। আপনি যদি এটি একটি ফাংশন হিসাবে বিবেচনা করেন তবে চার্লি প্রদত্ত অর্থে f(n) = n/2*some_constant
এটির চেয়ে দ্রুত আর বৃদ্ধি হয় না g(n) = n
। এছাড়াও, এটি কোনওর চেয়ে ধীর গতি বাড়ায় না g(n)
। তাই, g(n)
হয় আসলে উভয় একটি ঊর্ধ্ব আবদ্ধ এবং একটি নিম্ন বাউন্ড f(n)
, বিগ-হে স্বরলিপি যাতে রৈখিক অনুসন্ধান জটিলতা হয় ঠিক এন , যার মানে হল এটা থীটা (ঢ) হয়।
এই বিষয়ে, অন্য প্রশ্নের স্বীকৃত উত্তরের ব্যাখ্যা সম্পূর্ণ সঠিক নয়, যা দাবী করে যে (এন) উপরের সীমাবদ্ধ কারণ অ্যালগরিদম কিছু ইনপুটগুলির জন্য ধ্রুবক সময়ে চলতে পারে (এটি আমি সর্বোপরি বর্ণিত সেরা ক্ষেত্রে , যা আমরা চলমান সময় সম্পর্কে জানতে চাই না)
যদি আমি অলস হয়ে থাকি তবে আমি বলতে পারি যে বাছাই করা অ্যারেতে বাইনারি অনুসন্ধান হ'ল ও (এন 2), ও (এন 3) এবং ও (2 এন), এবং আমি প্রতিটি ক্ষেত্রে প্রযুক্তিগতভাবে সঠিক হতে পারি।
আমরা উচ্চতর গণ্ডিকে বোঝাতে ও-নোটেশন ("লিটল-ওহ") ব্যবহার করতে পারি যা সংক্ষিপ্তভাবে শক্ত নয়। বিগ-ওহ এবং লিটল-ওহ উভয়ই একই রকম। তবে, বিগ-ওহ সম্ভবত সংক্ষিপ্ততর টাইট উপরের সীমানা সংজ্ঞায়িত করতে ব্যবহৃত হয়।
অবিকল নিচের বাউন্ড বা $ ome ওমেগা বিফোন এফ (এন) এর অর্থ ফাংশনগুলির সেট যা অ্যাসিপোটোটিকালি কম বা এফ (এন) এর সমান, অর্থাৎ ইউ জি (এন) ≤ সিএফ (এন) $ \ সকলের জন্য ʻ ইউনি এন 'কিছু সি, এন' $ \ এর জন্য $ $ b বিবিবি {এন} $ $
এবং এফ (এন) এর উপরের বাউন্ড বা \ \ ম্যাথিত {ও} means অর্থ ফাংশনগুলির সেট যা পরম্পরাগতভাবে বৃহত্তর বা চ (এন) এর সমান যা গাণিতিকভাবে বলে,
n g (n) \ ge cf (n) all for all n \ ge n '$, কিছু সি এর জন্য, n' $ \ in $ $ \ Bbb {N} $ $
এখন $ \ থিতা উপরের লিখিত দুটিটির ছেদটি
$\theta $
যেমন যদি একটি অ্যালগরিদম "হুবহু $ me ওমেগা \ বাম (চ (এন)) \ ডান $" এর মতো হয় তবে এটি $ ta থেটা \ বাম (চ (এন) \ ডান) say বলা ভাল $
অথবা, আমরা আরও বলতে পারি যে এটি আমাদের প্রকৃত গতি $
\omega $
দেয় যেখানে আমাদের সর্বনিম্ন সীমা দেয়।
এর মধ্যে মূল পার্থক্য
ব্লককোট
অ্যাসিম্পোটোটিক্যালি আপার বাউন্ড এবং অ্যাসিপটোটিক্যালি টাইট অ্যাসিম.উপারবাউন্ড মানে একটি প্রদত্ত অ্যালগরিদম যা ইনপুট সংখ্যার উপর নির্ভর করে সর্বোচ্চ পরিমাণের সাথে নির্বাহ করতে পারে, উদাহরণস্বরূপ অ্যালগো বাছাইয়ের ক্ষেত্রে যদি সমস্ত অ্যারে (এন) উপাদানগুলি ক্রমবর্ধমান ক্রমে থাকে তবে সেগুলি আরোহণের জন্য ও (এন) এর চলমান সময় নেবে যা উপরের বাউন্ডের জটিলতা দেখায়, তবে যদি তারা ইতিমধ্যে বাছাই করা হয় তবে এটি ওহাম (1) নেবে so
অসম। টাইটবাউন্ড বাউন্ড উদাহরণস্বরূপ দেখায় (c1g (n) <= f (n) <= c2g (n)) টাইট বাউন্ড সীমাটি দেখায় যে ফাংশনটি দুটি বাউন্ডের (উপরের বাউন্ড এবং নিম্ন সীমা) এর মধ্যে মান রাখে, প্রদান করে গড় কেস