সময়ের জটিলতা এবং গণনার জটিলতার মধ্যে পার্থক্য


14

একটি অ্যালগরিদমের জটিলতা পরিমাপের জন্য, এটি কি সময় জটিলতা, বা গুণগত জটিলতা? তাদের মধ্যে পার্থক্য কী?

আমি অ্যালগরিদমে বেসিক (সর্বাধিক ব্যয়বহুল) অপারেশনের সর্বাধিক (নিকৃষ্ট) গণনা গণনা করতাম।


2
আপনার প্রশ্নের উত্তর নয়, তবে এই ধরণের বিষয়ে আপনার আগ্রহের কারণে, আপনি সিএস.স্টাকেক্সেঞ্জার
ডিডাব্লু

1
"অ্যালগরিদমের জটিলতা" যখন অ্যাসিপটোটিক রুনাইমকে উল্লেখ করা হয় তখন এটি একটি (প্রায়শই ব্যবহৃত) মিসনোমার। আপনি "অ্যাসিপটোটিক রানটাইম" বলতে চান।
রাফেল

উত্তর:


9

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

সুতরাং একটি অ্যালগরিদম সবচেয়ে খারাপ ক্ষেত্রে যে পদক্ষেপ গ্রহণ করে তার গণনা করা সমস্যার সমাধানের জন্য একটি সময় জটিলতা দেয়, এটি কত স্মৃতি / কত টেপ কোষ ব্যবহার করে তা গণনা করে একটি স্পেস জটিলতা বাধা দেয় ইত্যাদি ইত্যাদি etc.

এটিও মনে রাখবেন যে আপনি কঠোর হতে চাইলে জটিলতা সমস্যাটিকে বোঝায়, অ্যালগরিদমকে নয়, তাই কোনও সমস্যার জটিলতার সীমা থাকে, একটি অ্যালগরিদমের রিসোর্স সীমা থাকে (চলমান সময়, স্থান ব্যবহার ...)। এটি কেবল সংজ্ঞাগত আনুষ্ঠানিকতার বিষয়, জটিলতা তত্ত্ব সমস্যাগুলি নিয়ে কাজ করে। হ্যাঁ, আলগোরিদিম বিশ্লেষণ সমস্যা ও জটিলতা এবং algorithmics ঘনিষ্ঠভাবে একসঙ্গে বাঁধা এর জন্য একটি কী সরঞ্জাম আছে, কিন্তু আনুষ্ঠানিকভাবে আমরা বলতে হবে মার্জ-বাছাই (একটি অ্যালগরিদম) হয় , এটা সমস্যা S টি আমি এন জি যা হয় পি । মার্জ-বাছাই নির্দিষ্ট সংস্থানগুলি ব্যবহার করে ( ( এন লগ এন )PSortingPO(nlogn)উদাহরণস্বরূপ পদক্ষেপ)। অ্যালগরিদমের রিসোর্স সীমাবদ্ধ এবং সঠিকতা বোঝায় জটিলতার (উপরের) সমস্যার জন্য আবদ্ধ, তবে তারা বিভিন্ন জিনিস। এছাড়াও টি সি 0 -complete অধীনে একটি সি 0 -reductions, এই জটিলতা আবদ্ধ শুধুমাত্র সত্যিই একটি সমস্যার জন্য বিবৃত করা যেতে পারে (কিন্তু আলগোরিদিমিক পরিণতি থাকবে না)।এসRটিআমিএনটিসি0একজনসি0


@ শেখারসুমন সমস্যা দ্বারা আমি একটি গণ্য সমস্যার (যেমন কে-ভার্টেক্স কভার) আনুষ্ঠানিক ধারণাটি বোঝায়, সাধারণ অর্থ নয়। গণনামূলক জটিলতা হ'ল গণ্য সমস্যাগুলির শ্রেণিবিন্যাস, সুতরাং একটি আনুষ্ঠানিক অর্থে, জটিলতা বোঝায় সমস্যা সম্পর্কে আমরা কী বলতে পারি। অ্যালগরিদম সম্পর্কে ফলাফল আমাদের সমস্যার জটিলতা সম্পর্কে জিনিসগুলি বলে দেয়, তবে তাদের মধ্যে জটিলতার ফলাফল হয় না এবং (তবে অনানুষ্ঠানিকভাবে আমরা একটি অ্যালগোরিদমের জটিলতা সম্পর্কে কথা বলি)।
লুক ম্যাথিসন

1
@ শিখারসুমন উইকিপিডিয়া পৃষ্ঠার খোলার অনুচ্ছেদটি বেশ ভাল সারসংক্ষেপ।
লুক ম্যাথিসন

@ লুক, ধন্যবাদ বিষয়গুলি পরিষ্কার করে দেয়। তবে, আমি যদি আইডিয়ামটি "অ্যালগোরিদমগুলি আনুষ্ঠানিকভাবে মূল্যায়নের জন্য সবচেয়ে ব্যবহৃত ধরণের জটিলতা ব্যবহার করতে পারি " (যদিও আমি জানি এটি সুনির্দিষ্ট নয়)। এটি সময় বনাম গণনার কী হবে? আমার যা মনে হয় তা হল, সাধারণভাবে সর্বাধিক গুরুত্বপূর্ণ বিষয়টি সময়, কারণ কিছুটা অর্থে সংস্থানগুলি আরও প্রসারিত!
মিডিয়ান হিলাল

1
@ মিডিয়ানহিলাল সময়টি কোনও সমস্যার জটিলতার জন্য সবচেয়ে সাধারণ হিসাবে বিবেচিত। স্থান খুব বেশি পিছিয়ে নেই (কমপক্ষে জটিলতা তাত্ত্বিকদের দ্বারা এবং লোকেরা খুব বড় ডেটাসেটগুলির সাথে ডিল করে, প্রতিদিন এত কম)।
লুক ম্যাথিসন

-2

সাইক্লোমেটিক জটিলতা প্রায়শই গণনাগত জটিলতার পরিমাপ হিসাবে ব্যবহৃত হয় একটি দরকারী উদাহরণ /programming/9097987/calculation-of-cyclomatic-complexity এ সরবরাহ করা হয়

অ্যালগোরিদমের মাধ্যমে অনেকগুলি পৃথক (সম্ভবত নেস্টেড) পাথ থাকতে পারে যা এটিকে একটি উচ্চ চক্রবৃত্তীয় জটিলতা দেয় তবে কোনও লুপ এটিকে স্বল্প সময়ের জটিলতা দেয় না। একটি একক লুপ সহ একটি প্রোগ্রামে একটি সাইক্লোমেটিক জটিলতা কম তবে সম্ভবত একটি উচ্চ সময়ের জটিলতা থাকবে।

কোডের জন্য প্রয়োজনীয় রক্ষণাবেক্ষণের পরিমাপ হিসাবে প্রায়শই সাইক্লোমেটিক জটিলতা ব্যবহৃত হয়। Http://docs.sonarqube.org/display/SONAR/Bad+ বিতরণ +++ কমপ্লিক্সিতে আরও বিশদ আলোচনা সরবরাহ করা হয়েছে । এটি সময়ের জটিলতার সাথে আলাদা যা কোডের সময় পরিমাপ চালানো হয় এবং এটি সিস্টেমের কার্যকারিতা সম্পর্কে ব্যবহারকারীদের উপলব্ধি মূল্যায়নের জন্য ব্যবহার করা যেতে পারে।


প্রশ্নটি কম্পিউটেশনাল-জটিলতা নিয়ে, চক্রবিজ্ঞানের জটিলতায় নয়!
এএম_আইহেলফুল

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

2
সাইক্লোমেটিক জটিলতা গণনা জটিলতা পরিমাপ করে না। গণনীয় জটিলতা চলমান সময়কে বোঝায়, উত্স কোড কাঠামোটি কতটা জটিল নয়।
DW

@ ডিডব্লিউ আরও সঠিকভাবে, গণনা জটিলতা কোনও সমস্যা সমাধানের জন্য প্রয়োজনীয় সংস্থাগুলিকে বোঝায় (যার মধ্যে স্থান, অল্টারনেশন, ওরাকল কল এবং একই সাথে সময়ও অন্তর্ভুক্ত থাকতে পারে)।
ডেভিড রিচারবি

পছন্দ করুন স্থির জটিলতার ব্যবস্থা যেমন প্রোগ্রামের আকার কিছু পরিস্থিতিতে ভূমিকা রাখে। আমি কি ঠিক করেছি যে এটি কোলমোগোরভ জটিলতার সাথে আরও সম্পর্কিত। সাইক্লোমাটিক জটিলতার জন্যও কি তাই হবে না? প্রোগ্রাম বা সমস্যা লেখার জন্য এক ধরণের জটিলতা এবং অন্যটি সমাধান বা চালানোর জন্য ... সম্ভবত পরিস্থিতিটির একটি সংক্ষিপ্ত পরিমাণ। আমি নিশ্চিত নই যে আমি এ বিষয়ে একটি বুদ্ধিমান প্রশ্ন লিখব।
বাবু
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.