সময় জটিলতা বিশ্লেষণের কোন স্বরলিপিটি ব্যবহার করতে হবে তা কীভাবে একজন জানেন?


90

সবচেয়ে পরিচায়ক অ্যালগরিদম শ্রেণীর সালে মত স্বরলিপি (বিগ হে) এবং Θ চালু করা হয়, এবং একটি ছাত্র সাধারণত এই এক ব্যবহার করা জটিলতা এটি শিখতে হবে।OΘ

যাইহোক, এই ধরনের অন্যান্য notations হয় , Ω এবং ω । এমন কোনও নির্দিষ্ট পরিস্থিতি আছে যেখানে একটি স্বরলিপি অন্যটির চেয়ে পছন্দনীয় হবে?oΩω


2
এটি প্রযোজ্য হিসাবে এত বেশি পছন্দসই নয় ...
vzn

উত্তর:


76

আপনি ল্যান্ডাউ স্বরলিপি উল্লেখ করছেন । এগুলি একই জিনিসটির জন্য পৃথক প্রতীক নয় তবে সম্পূর্ণ ভিন্ন অর্থ রয়েছে। কোনটি "পছন্দনীয়" সম্পূর্ণরূপে কাঙ্ক্ষিত বিবৃতিতে নির্ভর করে।

এর মানে হল যে সবচেয়ে যত দ্রুত বৃদ্ধি , এসিম্পটোটিকভাবে এবং আপ একটি ধ্রুবক ফ্যাক্টর করা; একটি হিসাবে মনেf o ( g ) হ'ল কঠোর রূপ, অর্থাৎ <fO(g)fgfo(g)<

এর প্রতিসম অর্থ: f কমপক্ষে g হিসাবে দ্রুত বৃদ্ধি পায়। ω তার কঠোর চাচাতো ভাই। আপনি দেখতে পাচ্ছেন যে f Ω ( g ) g O ( f ) এর সমান।fΩ(g)fgωfΩ(g)gO(f)

এর মানে হল যে সম্পর্কে যত দ্রুত বৃদ্ধি হিসাবে ; আনুষ্ঠানিকভাবে f O ( g ) Ω ( g )জি (অ্যাসিপটোটিক সমতা) এর শক্তিশালী রূপ। আমরা প্রায়ই মানে Θ যখন আমরা ব্যবহার হেfΘ(g)fgfO(g)Ω(g)fgΘO

এবং এর ভাইবোনরা কীভাবে ফাংশন ক্লাস হয় তা লক্ষ করুন । এগুলি এবং তাদের সঠিক সংজ্ঞাগুলি সম্পর্কে খুব সচেতন হওয়া জরুরী - যাঁরা কারা কথা বলছেন তার উপর নির্ভর করে - যখন তাদের সাথে "পাটিগণিত" করার সময় পৃথক হতে পারে।O(g)

জিনিস প্রমাণ করার সময়, আপনার সুনির্দিষ্ট সংজ্ঞা নিয়ে কাজ করার জন্য যত্ন নিন। চারদিকে ল্যান্ডাউ প্রতীকগুলির জন্য অনেকগুলি সংজ্ঞা রয়েছে (সমস্ত একই বুনিয়াদি অন্তর্দৃষ্টি সহ), যার কয়েকটি ফাংশনে কিছু সেটগুলির সমতুল্য তবে অন্যদের সাথে নয়।

প্রস্তাবিত পড়া:

আপনি যদি কঠোর এবং যথাযথ উপায়ে ল্যান্ডাউ স্বরলিপি ব্যবহার করতে আগ্রহী হন, আপনি রুটেনেন এট আল-এর সাম্প্রতিক কাজটিতে আগ্রহী হতে পারেন। [1]। তারা অ্যাসিম্পোটিক সংকেতের জন্য প্রয়োজনীয় এবং পর্যাপ্ত মানদণ্ড তৈরি করে যেহেতু আমরা এগুলিকে অ্যালগোরিদিমগুলিতে ব্যবহার করি, দেখায় যে সাধারণ সংজ্ঞা তাদের সাথে দেখা করতে ব্যর্থ হয় এবং একটি (আসলে, কার্যক্ষম) সংজ্ঞা প্রদান করে।


  1. কে। রতনেন এট আল দ্বারা অ্যালগরিদম বিশ্লেষণের জন্য ও- স্বীকৃতির একটি সাধারণ সংজ্ঞা । (2015)

5
আমি শুধু যে যদিও বাতলান করতে চান মত কাজ করে এবং Ω মত কাজ করে সেখানে পার্থক্য আছে; g এবং f এর মতো ( জি ) এবং এফ Ω ( জি ) ফাংশনগুলি খুঁজে পাওয়া শক্ত নয় । OΩgffO(g)fΩ(g)
জাচ ল্যাংলি

1
ফাংশন ক্লাসের উল্লেখের জন্য +1। এবং Ω ( 2 এন ) এর মতো স্টাফ কাগজপত্র এবং বইগুলিতে সর্বত্র উপস্থিত হয়, যা প্রথমবারের মতো এই স্বীকৃতিগুলির মুখোমুখি লোকদের জন্য বিভ্রান্তিকর হতে পারে। o(1)Ω(2n)
জানোমা

7
@ জ্যাচল্যাংলে আপনি যা বলছেন তা সত্য। এখানে মোট অর্ডার নেই। এটিকে উত্থাপন করা বিপজ্জনক but তবে আমি মনে করি এটি অন্তর্দৃষ্টি বিল্ডিংয়ের উদ্দেশ্যটিকে কার্যকর করে।
রাফেল

42

বড় ও: উপরের আবদ্ধ

O

O(f(n))nKKf(n)fT(n)nO(n)T(n)f(n)

নিম্ন সীমা

ΩOT(n)=Ω(g(n))T(N)Kg(n)KT(n)g(n)

ΘOΩT(n)=Θ(h(n))Kh(n)T(n)Kh(n)KKT(n)h(n)

আরও বিবেচনা

oωoOOoω

উপরের আলোচনায় আমি কিছুটা অনানুষ্ঠানিক হয়েছি। উইকিপিডিয়ায় প্রচলিত সংজ্ঞা এবং আরও গাণিতিক পদ্ধতির রয়েছে।

T(n)=O(f(n))O(f(n))nTO(f)

উদাহরণ: কিছু বাছাই করা অ্যালগরিদম

nO(n2)O(n2)knkn(n1)/2n(n1)/2n2Θ(n2)

O(n2)O(nlg(n))nlg(n)Θ(nlg(n))

O(n2)Θ(n2)Ω(n)Θ(nlg(n))

xyx>yΩ(n)nn1Ω(nlg(n))KnKnlg(n)n!n!Θ(lg(n!))=Θ(nlg(n))Ω(nlg(n))

¹ বা অন্যান্য সংস্থান খরচ যেমন মেমরি স্পেস। এই উত্তরে আমি কেবল চলমান সময় বিবেচনা করি।


1
"তবে কুইকোর্টের সেরা কেসটি (যখন ইনপুটটি ইতিমধ্যে সাজানো থাকে) লিনিয়ার হয়" এটি সবচেয়ে খারাপ ঘটনা !!
ব্যবহারকারী5507

@ ইউজার ৫৫০ Act: আসলে এটি পাইভট কৌশলের উপর নির্ভর করে। যদি প্রথম (বা শেষ) উপাদানটি পাইভট হিসাবে বেছে নেওয়া হয় তবে আপনি ঠিক বলেছেন; তবে আপনি যদি মাঝারি উপাদানটি বেছে নেন বা প্রথম, মধ্যম, শেষ, পরে সাজানো ইনপুটটি সেরা ক্ষেত্রে।
চিরলু

"জটিল ও বিশ্লেষণে ছোট্ট ও ও far প্রায়শই কম ব্যবহৃত হয়।" মহাকাশ জটিলতার বিশ্লেষণে এটি সত্য নয়। সময়ের জটিলতা বিশ্লেষণে আপনি সাধারণত ও এবং use ব্যবহার করেন যখন আপনি নির্দিষ্ট ক্রিয়াকলাপ গণনা করেন (তুলনা, ডিস্ক সিক্স, ক্যাশে মিস করবেন না, আপনার কী আছে)। তবে যেহেতু আপনি সর্বদা অপেক্ষা করতে এবং একটি দ্রুত কম্পিউটার কিনতে পারেন, "প্রাচীর সময়" সর্বদা "একটি ধ্রুবক ফ্যাক্টর অব আপ", তাই বিগ-ও আরও সাধারণ। স্থান বিশ্লেষণে, তথ্য তত্ত্বের কারণে প্রায়শই কঠোর নিম্ন সীমানা থাকে, সুতরাং "f (n) + o (f (n)) বিটস" হিসাবে যেখানে চ (এন) নীচের সীমানা হিসাবে রিপোর্ট করা আকারটি দেখা যায় তা অত্যন্ত সাধারণ।
ছদ্মনাম

আমি যখন এটি ভাবছি: যদি f (n) কোনও ডেটা স্ট্রাকচারের আকারের উপর তাত্ত্বিক নিম্নতর আবদ্ধ হয়, তবে f (n) + O (1) (ধ্রুবক ওভারহেড) ব্যবহার করে এমনটিকে "অন্তর্নিহিত" বলা হয় যা ব্যবহার করে f (n) + O (f (n)) (ধ্রুবক আপেক্ষিক ওভারহেড) কে "কমপ্যাক্ট" বলা হয় এবং f (n) + o (f (n)) (আপেক্ষিক ওভারহেড অবশেষে তুচ্ছ হয়ে ওঠে) ব্যবহার করে তাকে "সানসিঙ্ক্ট" বলা হয় "। আপনার যদি কখনও সেই জায়গাতে কাজ করার প্রয়োজন হয় তা জানতে শর্তাবলী।
ছদ্মনাম

17

OΩΘΘ


3
"সাধারণত"? এগুলি অন্য কিছুর জন্য ব্যবহার করা যেতে পারে?
স্ক্রিন

1
P=DTime(nO(1))f=O(g)f

4
P=DTime(nO(1))P=DTime(nΘ(1))

@ জেফি, আমি এটিকে ফাংশনগুলির সেটগুলির মধ্যে সমতা হিসাবে মনে করি, তবে আপনি ঠিক বলেছেন, কেউ এটিকে আরও সাধারণ অর্থে একটি উচ্চতর আবদ্ধ হিসাবে ভাবতে পারেন।
কাভেহ

PDTIME(nΘ(1))DTIME(Θ(nlogn))PDTIME(Θ(nlogn))DTIME(nΘ(1))=
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.