বিগ থেটার পরিবর্তে কেন বিগ ও পড়ানো হয়?


21

বড় ও স্বরলিপি একটি উপরের সীমা সরবরাহ করে কোনও ক্রিয়াকলাপের করে যেখানে বিগ থেটা একটি শক্ত বাঁধা সরবরাহ করে। তবে আমি দেখতে পাচ্ছি যে বিগ ও নোটেশনটি সাধারণত (এবং অনানুষ্ঠানিকভাবে) শেখানো হয় এবং ব্যবহৃত হয় যখন তাদের সত্যিকার অর্থে বিগ থেতা বোঝানো হয়।

উদাহরণস্বরূপ "কুইকসোর্ট ওস (এন ^ 2)" আরও শক্তিশালী স্টেটমেন্টে রূপান্তরিত হতে পারে "কুইকসোর্টটি হ'ল N (এন ^ 2)"

বিগ ও-এর ব্যবহার প্রযুক্তিগতভাবে সঠিক হলেও, বিগ থেতার বেশি প্রচলিত ব্যবহার কি আরও ভাববাদী হবে না এবং কম বিভ্রান্তির দিকে পরিচালিত করবে না? এই বিগ ও বেশি ব্যবহৃত হওয়ার কোনও historicalতিহাসিক কারণ রয়েছে কি?

উইকিপিডিয়া নোট:

অনানুষ্ঠানিকভাবে, বিশেষত কম্পিউটার বিজ্ঞানে, বিগ ও সংকেতকে প্রায়শই অ্যাসিম্পটোটিক টাইট বন্ড বর্ণনা করতে কিছুটা আপত্তিজনক ব্যবহারের অনুমতি দেওয়া হয় যেখানে বিগ থিটা ব্যবহার করা নির্দিষ্টভাবে প্রসঙ্গে যথাযথভাবে উপযুক্ত হতে পারে।


3
আমি জানি এটি আসলে প্রশ্নের সাথে সম্পর্কিত নয়, তবে কুইকোর্টটি থিটা নয় (এন ^ 2)। এটি ও (এন ^ 2)।
জাস্টারবার্গ

বিগ ও হ'ল প্রাথমিক / নন-সিএস লোকেরা যা জানতে হবে। বিগ থেটা হ'ল আলগোরিদিমগুলির অন্তর্ভুক্তিতে আবৃত যা প্রতিটি মেজর গ্রহণ করবে না। যাঁরা একটি অ্যালগোরিদম ক্লাস করেছেন তারা ইচ্ছা করলে বিগ ও নোটেশনে আরও গভীরভাবে পড়তে পারেন। আমি নিশ্চিত নই যে উইকিপিডিয়া উক্তিটি কী বোঝায়। একাডেমিক প্রকাশনা দিয়ে আপনি কনফারেন্সে আপনার গলা কেটে ফেলবেন যদি আপনি বিগ ও এবং বড় থিটাকে বিভ্রান্ত করেন। কিছু লোক থিয়েটার পিছনে পিছনে পুরো জীবন কাটায় এবং সেগুলি হাড় হার্ডের সমস্যা।
জব

@jsternberg প্রযুক্তিগতভাবে আপনি সঠিক। এটি সত্য, তবে অর্থহীন: "যে কোনও ক্ষেত্রে কুইকসোর্টটি (সবচেয়ে খারাপ, সেরা, ...) ও (এন ^ 100) But 2), QuickSort সেরা-ক্ষেত্রে থীটা (NlogN) হল কারণ প্রতিটি ক্ষেত্রে আমরা ভিন্ন ফাংশন
Eldar

উত্তর:


26

কারণ আপনি সাধারণত পারফরম্যান্স বিশ্লেষণ করার সময় সবচেয়ে খারাপ ক্ষেত্রে আগ্রহী। সুতরাং, উপরের সীমাটি জানা যথেষ্ট যথেষ্ট।

যখন কোনও প্রদত্ত ইনপুটটির জন্য এটি প্রত্যাশার চেয়ে দ্রুত গতিতে চলে আসে - এটি ঠিক আছে, এটি গুরুত্বপূর্ণ বিষয় নয় point এটি বেশিরভাগই নগন্য তথ্য।

@ পিটার টেইলর উল্লেখ করেছেন যে, কিছু অ্যালগরিদম যেমন শক্তভাবে আবদ্ধ হয় না। উদাহরণস্বরূপ কুইকোর্টটি দেখুন যা ও (এন ^ 2) এবং ওমেগা (এন)।

তদ্ব্যতীত, টাইট গণ্ডিগুলি প্রায়শই গণনা করা আরও কঠিন।

আরো দেখুন:


6
তবে বিগ ও সবচেয়ে খারাপ ক্ষেত্রে পারফরম্যান্সের সাথে সামঞ্জস্য নয়। আমি বলতে পারি কুইকোর্টটি ও (2 2 n) এ চলে এবং 100% সঠিক হতে পারে। এটি আরও বেশি অর্থবহ হবে যদি আমি বলি যে অ্যালগরিদম এক্স থেটায় (N ^ 2) O (N ^ 2) এর পরিবর্তে চলে।
tscuzzy

এছাড়াও, কেবলমাত্র একটি উপরের বাউন্ডের চেয়ে অ্যালগোরিদম বিশ্লেষণ করার সময় টাইট সীমাগুলি প্রায় সর্বদা গণনা করা হয়। আমি জিজ্ঞাসা করছি যে লোকেরা যখন পারে তখন কেন কেবলমাত্র তাদের থেকে বেশি বেশি অভিব্যক্তিযুক্ত থিটা নোটেশন ব্যবহার করে না।
tskuzzy

9
আমি আপনাকে বলেছি কেন বেশিরভাগ প্রোগ্রামাররা এটি ব্যবহার করে না। আমরা অলস এবং এত নির্ভুলতার প্রয়োজন নেই। আপনি চাইলে আপনাকে বড় থিটা ব্যবহার থেকে কেউ বাধা দেয় না। এগিয়ে যাও, এটি। আপনার অ্যালগরিদম-পছন্দ সম্ভবত এটি থেকে এতটা উপকৃত হবে না। আমি কখনই কোনও বড় প্রোগ্রামারকে বড় ও স্বরলিপি দ্বারা বিভ্রান্ত করার কথা শুনিনি। আমিও এটিকে মোটেই বিভ্রান্তিকর মনে করি না।
ফ্যালকন

9

একটি কারণ হ'ল এমন অনেকগুলি মামলা রয়েছে যা সবেমাত্র জানা যায়নি। উদাহরণস্বরূপ, ম্যাট্রিক্সের গুণনটি হ'ল (n ^ 2.376) তবে শক্তভাবে আবদ্ধ হওয়ার কোনও অস্তিত্ব নেই। নিশ্চিত, যতটা আমি বলতে পারেন, সেখানে হয় একটা সংকুচিত ম্যাট্রিক্স গুণ জন্য আবদ্ধ, কিন্তু আমরা এর মান জানি না।


তবে এটি কোনও নির্দিষ্ট অ্যালগরিদম নয়, সমস্যার চলমান সময়ের জন্য সীমাবদ্ধতা হবে। যদিও সাধারণভাবে ম্যাট্রিক্সের গুণটি ঘনকালের চেয়ে দ্রুত সমাধান করা যায়, তুচ্ছ আলগোরিদিম Θ (n ^ 3) যাই হোক না কেন।
tskuzzy

5
@ স্পস্কি, কুইকসোর্ট নিন। এটিতে থেটা-বাউন্ড নেই, কারণ এটি ও (এন ^ 2) এবং ওমেগা (এন)।
পিটার টেলর
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.