বিগ ও (লগইন) লগ বেস ই?


99

বাইনারি অনুসন্ধান ট্রি ধরণের ডেটা স্ট্রাকচারের জন্য, আমি দেখতে পাই বিগ ও সংকেত সাধারণত ও (লগন) হিসাবে চিহ্নিত করা হয়। লগের একটি ছোট হাতের 'এল' দিয়ে, এই প্রাকৃতিক লোগারিদম দ্বারা বর্ণিত লগ বেস ই (এন) বোঝায়? সাধারণ প্রশ্নের জন্য দুঃখিত তবে আমি সর্বদা বিভিন্ন বিভক্ত লগারিদমের মধ্যে পার্থক্য করতে সমস্যায় পড়েছি।


58
অন্যরা যেমন নিখুঁতভাবে উল্লেখ করেছে, তাতে কিছু আসে যায় না। সমস্ত লগারিদমগুলি কেবল জড়িত বেসগুলিতে ধ্রুবক নির্ভর করে একে অপরের থেকে পৃথক হয়। যেহেতু এই কারণগুলি ধ্রুবক, এ্যাসেম্পোটিক বিশ্লেষণের উদ্দেশ্যে এগুলি অপ্রাসঙ্গিক। দ্বিতীয়ত, যতক্ষণ নিহিত বেস নির্ধারণ করা হয়, এটি প্রসঙ্গে নির্ভর করে। থাম্বের মোটামুটি নিয়ম হিসাবে নিম্নলিখিতটি ব্যবহার করুন: ১. যখন কোনও গণিতবিদ লেখেন log nতখন তার অর্থ প্রাকৃতিক লোগারিদম। ২. কম্পিউটার বিজ্ঞানী যখন লেখেন log nতখন তার অর্থ বেস-টু। ৩. যখন কোনও ইঞ্জিনিয়ার লেখেন log nতখন তার অর্থ বেস-টেন। এগুলি সাধারণত সত্য।
জেসন

4
@ জেসন, অন্য একটি সম্মেলন (গণিতের মধ্যে) হ'ল এলএন এন মানে প্রাকৃতিক লোগারিদম এবং লগ এন হ'ল বেস দশ ten ভাবুন ln এর অর্থ হ'ল ফরাসি 'লোগারিদম ন্যাচারাল্লে'।
ইন্টারনেট মানুষ

4
লোগারিদমের ভিত্তি প্রতিটি নোডের বাচ্চাদের সংখ্যা। এটি যদি বাইনারি ট্রি হয় তবে এটি বেস 2 লগ।
পল

4
আমি আপনার উত্তরটির প্রশংসা করি, জেসন এবং এখানে ভাববার মতো কিছু। লগটি কী ভিত্তিতে রয়েছে তা নিয়ে আমি গবেষণা করেছিলাম (আমি ধরে নিয়েছি 2), আমি একই উত্তরটি দেখেছি: কারণ আপনি ধ্রুবকটি, লগ_10 (2) কে সরিয়ে দিতে পারেন বলে কিছু যায় আসে না। এটির সাথে আমার সমস্যাটি হ'ল উদাহরণস্বরূপ: 5 লগ_10 (5) <5 যেখানে 5 লগ_2 (5)> ৫. আমি ওপরের তুলনায় ও (এন লগন) এর চেয়ে ভাল বা খারাপ রানের সময়টি কীভাবে উপলব্ধি করতে সহায়তা করতে আমার গণনায় খুব দ্রুত এগুলি প্রবেশ করিয়েছি? (এন) বেস উপর নির্ভর করে এটি গুরুত্বপূর্ণ। অতএব, আমি সত্যিই মনে করি এর সঠিক উত্তরটি হওয়া উচিত যে লগের প্রসঙ্গত বেশিরভাগ কম্পিউটার বিজ্ঞানের অ্যাপ্লিকেশনগুলিতে বেস 2 বলে।
ডগ মিড

@ জেসন, আমি বলব যে এলএন (গণিতের ব্যাখ্যা) ব্যবহার করা সহজ। অন্য দুটি উদাহরণ যুক্তিসঙ্গত।
বেলফোর্ড

উত্তর:


78

বিগ-ও () স্বরলিপিটিতে একবার প্রকাশ করা হলে উভয়ই সঠিক। যাইহোক, সময় শিক্ষাদীক্ষা হে () বহুপদী এর ক্ষেত্রে বাইনারি অনুসন্ধান, শুধুমাত্র লগ ইন করুন 2 সঠিক। আমি ধরে নিই যে এই পার্থক্যটি আপনার প্রশ্নের শুরু হওয়ার জন্য স্বজ্ঞাত অনুপ্রেরণা ছিল।

এছাড়াও, আমার মতের বিষয় হিসাবে, ও (লগ 2 এন) লেখা আপনার উদাহরণের পক্ষে ভাল, কারণ এটি অ্যালগরিদমের রান-টাইমের ব্যয়কে আরও ভালভাবে যোগাযোগ করে।

বড়-ও () স্বরলিপিতে, ধ্রুবক উপাদানগুলি সরানো হয়। একটি লোগারিদম বেস থেকে অন্যটিতে রূপান্তর করা একটি ধ্রুবক গুণক দ্বারা গুণমান জড়িত।

সুতরাং ধ্রুবক ফ্যাক্টরের কারণে ও (লগ এন) ও (লগ 2 এন) এর সমতুল্য ।

তবে, আপনি যদি নিজের উত্তরে লগ 2 এন সহজেই টাইপ করতে পারেন তবে এটি করা আরও শিক্ষামূলক। বাইনারি ট্রি অনুসন্ধানের ক্ষেত্রে, আপনি সঠিক যে লগ 2 এন বিগ-ও () রানটাইমের সময় প্রাপ্তির সময় প্রবর্তিত হয়েছিল।

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


4
কিন্তু এটা প্রদর্শনী যে খুব সহজ log_2 nহয় Θ(log_a n)কোনো বেস জন্য a, তাই আমি নিশ্চিত আমি দেখতে কিভাবে বেস 2 ব্যবহার করছে "আরো সঠিক" আছি।
বি কেট

4
কিনপকিও এবং বিসিএটি, এটি কার্যকর হয়ে উঠতে সহায়তা করার জন্য ধন্যবাদ। এটি প্রথমে খুব একটা ভাল লেখা ছিল না। :)
Hunnicutt

4
ঠিক আছে আমি স্পষ্টতা যোগ করেছি তবে আমি নিশ্চিত যে আমার অনুভূতিতে আমার উত্তর মানুষকে বিভ্রান্ত করতে পারে বলে মনে করি। প্রকৃতপক্ষে, এখানে বেশিরভাগ উত্তর ওপির অন্তর্দৃষ্টি বিবেচনা করে না এবং তাকে আরও শেখানোর চেষ্টা করে। আমি প্রতিযোগিতায় এতটা ঘৃণিত নই, আমি শিক্ষাগ্রহণের জন্য লো বারে একরকম দুঃখী।
হান্নিকত্ত

11
"ও () বহুবর্ষের উত্সের সময়, বাইনারি অনুসন্ধানের ক্ষেত্রে কেবল লগ 2 সঠিক হয় is" দরিদ্র গণিতের জন্য -1। X (n) ~ O (f (n)) এর সংজ্ঞা বলে যে একটি ধ্রুবক সি বিদ্যমান যা c * (f (n)) <x (n) সকল n> n_0 এর জন্য। সুতরাং অবিচ্ছিন্ন সহগ বিশ্লেষণের সময় সম্পূর্ণ অপ্রাসঙ্গিক।
rlbond

4
যেহেতু লগ 2 (এক্স) লগ 10 (এক্স) / লগ 10 (2) এর সমান, আপনি এটি যে কোনও উপায়ে অর্জন করতে পারেন। লগ কোনও পর্যায়ে কঠোরভাবে বেস 2 নয়।
rlbond

80

বড় ও সংকেত লোগারিদমিক বেস দ্বারা প্রভাবিত হয় না, কারণ বিভিন্ন বেসে সমস্ত লোগারিদম একটি ধ্রুবক ফ্যাক্টর দ্বারা সম্পর্কিত , O(ln n)এর সমতুল্য O(log n)

এখানে চিত্র বর্ণনা লিখুন


4
গ্রাফিকগুলি ঝরঝরে তবে O () - এর বহিরাগত সম্পর্কে চিন্তা করুন - ও () প্রয়োগ করার আগে বহুবচন ... কেবল লগ-বেস -২ বাইনারি অনুসন্ধানের জন্য সঠিক।
হাননিকটট

4
@Heath Hunnicutt: নং log_2 xথেকে পৃথক log_b xএকটি ধ্রুবক গুণক দ্বারা c(b)কোনো বেস জন্য bস্বাধীন x
জেসন

4
তবে কেন আপনি কেন এটির বিষয়ে কথা বলছেন, যখন এটি প্রশ্নের সাথে কোনও সম্পর্ক রাখে না এবং কেবল বিভ্রান্তির পরিচয় দেয়?
hobbs

4
শখগুলি: কারণ সেই কারণেই ওপি অনুসন্ধানের জন্য অনুপ্রাণিত হয়েছিল। আমি তার ধারণাগুলি উত্তরের সাথে সংযুক্ত করার চেষ্টা করছি, তাই তিনি বুঝতে পেরেছিলেন যে তাঁর অন্তর্নিহিততা কেন ছিল, কেন এটি ও () এর ক্ষেত্রে প্রযোজ্য নয়, তবে তিনি এখানে যা শিখেন তা বিশ্লেষণের উত্সের অংশে অতিরিক্ত প্রয়োগ না করে। সংক্ষিপ্ত উত্তরগুলি যা ভুল বোঝাবুঝির মূল কারণটি চিহ্নিত করে না তা আরও ভুল বোঝাবুঝির কারণ হতে পারে। এটি খারাপ শিক্ষাগত।
Hunnicutt

4
@ স্বাস্থ্য হানিক্যুট: আপনি যদি অ্যাসিপটোটিক বিশ্লেষণ করেন তবে তাতে কিছু আসে যায় না। যে কোনও বিগ-ও ফেলে দেওয়ার জন্য আপনি শেষ মুহুর্ত পর্যন্ত অপেক্ষা করেন তা এই সত্যটি পরিবর্তন করে না যে আমি আমার সমস্ত লোগারিথগুলিকে কিছু নির্বিকার ধ্রুবক দ্বারা ভাগ করতে পারি এবং সমস্ত পদক্ষেপে বেসটি পরিবর্তন করতে পারি। এটি হ'ল, যদি আমার কিছু বিশ্লেষণ থাকে যার সাথে জড়িত থাকে তবে আমি log_2 nকেবল log_2 nসর্বত্র প্রবেশ করতে এবং সর্বত্র প্রতিস্থাপন করতে পারি log_pi 2 * log_2 n / log_pi 2এবং তারপরে log_pi 2 * log_pi nসর্বত্র রয়েছে এমন একটি বিশ্লেষণ দিয়ে শেষ করতে পারি । এখন আমার বিশ্লেষণ শর্তে log_pi n
জেসন

9

এটি ভিত্তিটি কী তা সত্য তা বিবেচ্য নয়, যেহেতু বিগ-ও নোটেশন সাধারণত কেবলমাত্র তাত্পর্যপূর্ণভাবে সর্বাধিক ক্রম দেখায় লেখা হয় n, তাই ধ্রুবক সহগগুলি চলে যাবে। যেহেতু একটি পৃথক লোগারিদম বেস একটি ধ্রুবক সহগের সমতুল্য, এটি অতিমাত্রায় is

এটি বলেছিল, আমি সম্ভবত লগ বেস 2 ধরে নিব।


@ কিনোপিকো: এ সম্পর্কে ঠিক কী ভুল? আরও স্পষ্টতই, আমার উত্তরটি আপনার এবং অন্যদের থেকে এখানে কীভাবে আলাদা?
ড্যানিয়েল প্রাইডেন

আহ, সম্ভবত "সহগ" ব্যবহারের ক্ষেত্রে আমার ভুল। আমি স্পষ্ট করতে সম্পাদনা করব।
ড্যানিয়েল প্রাইডেন

আপনার উত্তর নিয়ে আমার মূল বিষয়টি ছিল। এছাড়াও, "তাদের এখনও কিছু প্রভাব থাকবে" এর অর্থ আপনি কী বোঝাতে চেয়েছেন এটি কিছুটা অস্পষ্ট। কিছু প্রভাব কি?
বি কেট

4
আপনার উত্তরটি সর্বোচ্চ অর্ডার সহগকে আলোচনা করে। আপনি যা বলেছেন তা যথাসম্ভব যথাযথ, তবে লগারিদম বেস অপ্রাসঙ্গিক হবার কারণ এটি নয়। কারণটি হ'ল বিভিন্ন বেস লোগারিদমের মধ্যে পার্থক্যটি একটি ধ্রুবক যা ও () দ্বারা শোষণ করে।

4
@ কিনোপিকো: ঠিক আছে। আমি মনে করি আমরা একই কথা বলছি। আমি ও (100) = ও (1) বলব কারণ ও (100) = ও (100 * 1) = ও (সি * 1) = ও (1)। ধ্রুবক প্রকাশগুলি অতিমাত্রায় থাকার দ্বারা আমি যা বোঝাতে চাইছি। অর্থাৎ অর্ডার এর কোনো ধ্রুবক 1.
ড্যানিয়েল Pryden

7

দুটোই সঠিক. এই ব্যাপারে চিন্তা করো

log2(n)=log(n)/log(2)=O(log(n))
log10(n)=log(n)/log(10)=O(log(n))
logE(n)=log(n)/log(E)=O(log(n))

3

হ্যাঁ, বিগ-ও স্বরলিপি সম্পর্কে কথা বলার সময় বেসটি কোনও বিষয় নয়। তবে, কম্পিউটেশনালি যখন কোনও সত্যিকারের অনুসন্ধানের সমস্যার মুখোমুখি হয় তখন তা কিছু যায় আসে না।

গাছের কাঠামোগত সম্পর্কে অন্তর্দৃষ্টি বিকাশ করার সময়, এটি বোঝা সহায়ক যে বাইনারি অনুসন্ধান গাছকে ও (এন লগ এন) সময়ে অনুসন্ধান করা যেতে পারে কারণ এটি গাছের উচ্চতা - অর্থাৎ, নোডযুক্ত বাইনারি গাছে, গাছ গভীরতা হ'ল ও (এন লগ এন) (বেস 2)। যদি প্রতিটি নোডের তিনটি বাচ্চা থাকে তবে গাছটি ও (এন লগ এন) সময়ে অনুসন্ধান করা যেতে পারে, তবে বেস 3 লগারিদম দিয়ে। গুণগতভাবে, প্রতিটি নোডের বাচ্চার সংখ্যার পারফরম্যান্সে বড় প্রভাব ফেলতে পারে (উদাহরণস্বরূপ: লিঙ্ক পাঠ্য দেখুন )

উপভোগ করুন!

পল


আপনি বলতে চেয়েছিলেন যে বাইনারি গাছের উচ্চতা লগ এন, এন লগ এন নয়, তাই না?
সেল

1

প্রযুক্তিগতভাবে বেসটি কোনও বিষয় নয়, তবে আপনি সাধারণত এটি বেস -২ হিসাবে ভাবতে পারেন।


1

প্রথমে আপনার অবশ্যই বুঝতে হবে একটি ফাংশন f (n) এর ও (জি (এন)) হওয়ার অর্থ কী।

আনুষ্ঠানিক সংজ্ঞাটি হল: * একটি ফাংশন f (n) বলা হয় ও (জি (এন)) iff | f (n) | <= সি * | জি (এন) | যখনই এন> কে, যেখানে সি এবং কে ধ্রুবক *

সুতরাং আসুন চ (এন) = ল এর ভিত্তি একটি, যেখানে a> 1 এবং জি (এন) = ল এর বেস ল, যেখানে বি> 1

দ্রষ্টব্য: এর অর্থ মান a এবং b এর মান 1 এর চেয়ে বড় হতে পারে, উদাহরণস্বরূপ a = 100 এবং b = 3

এখন আমরা নিম্নলিখিতটি পাই: ল এর বেস a কে বলা হয় O (এন এর লগ বেস বি) iff | লগ বেসের একটি | <= সি * | ল এর লগ বেস বি | যখনই এন> কে

K = 0, এবং সি = লগ বেসের একটি বেছে নিন।

এখন আমাদের সমীকরণটি নীচের মতো দেখাচ্ছে: | লগ বেস এন | <= লগ বেস বি এর | ল এর বেসের বি | যখনই এন> 0

ডানদিকে লক্ষ্য করুন, আমরা সমীকরণটি পরিচালনা করতে পারি: = ল এর ভিত্তি একটি বি * | লগ বেস বি এন | = | লগ বেস বেস | * লগ বেস a এর b = | লগ বেস a এর b ^ (লগ বেস বি এর n) | = | লগ বেস a |

এখন আমাদের সমীকরণটি নীচের মতো দেখাচ্ছে: | লগ বেস এন | <= | লগ বেসের এন | যখনই এন> 0

A, b> 1 এবং n> 0 এর সীমাবদ্ধতা বাদে এন, বি, বা মানগুলি কী হয় তা সমীকরণটি সর্বদা সত্য always সুতরাং ল এর লগের ভিত্তিটি হ'ল ও (লগ বেস বি এর এন) এবং যেহেতু এ, বি কিছু যায় আসে না আমরা কেবল সেগুলি বাদ দিতে পারি।

আপনি এটিতে এখানে একটি ইউটিউব ভিডিও দেখতে পাবেন: https://www.youtube.com/watch?v=MY-VCrQCaVw

আপনি এটিতে এখানে একটি নিবন্ধ পড়তে পারেন: https://medium.com/@randerson112358/omitting-bases-in-logs-in-big-o-a619a46740ca

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