ও (·) কোনও ফাংশন নয়, সুতরাং কোনও ফাংশন এর সমান হতে পারে কীভাবে?


47

বড় স্বরলিপি বলতে কী বোঝায় তা আমি পুরোপুরি বুঝতে পারি । যখন আমরা বলি আমার বিষয় , যেখানে আকার ইনপুট উপর একটি আলগোরিদিম সময় চলমান ।OT(n)=O(f(n))T(n)n

আমি এর শব্দার্থবিজ্ঞান বুঝতে পারি। তবে এবং দুটি ভিন্ন জিনিস।T(n)O(f(n))

T(n)( ( এন ) ) টি ( এন ) ( ( এন ) ) ( ( এন ) ) একটি সঠিক সংখ্যা, তবে কোনও ফাংশন নয় যা কোনও সংখ্যাকে আলাদা করে দেয়, তাই প্রযুক্তিগতভাবে আমরা সমান বলতে পারি না , যদি কেউ জিজ্ঞাসা করে আপনি কি মান এর , কি আপনার উত্তর হবে? এর কোন উত্তর নেই.O(f(n))T(n) O(f(n))O(f(n))


7
সহজভাবে, এর = চিহ্নটির অর্থ "সমান" নয়। প্রশ্নটি এই অনুমানের উপর স্থির থাকে। আপনি কি এমন উত্স খুঁজে পেয়েছেন যা তাই বলে? T(n)=O(f(n))
শ্রীভাতসার

20
গাণিতিক স্বরলিপিটি যেভাবে ব্যবহার করা হয় তার মধ্যে এটি একটি মাত্র :(
প্রযুক্তি_শক্তি

13
যদি 64 নম্বর হয় তবে আমি কীভাবে 64 হতে পারি?
তাজ

7
উত্তর খুঁজতে শুরু করার জন্য উইকিপিডিয়া সর্বদা একটি ভাল জায়গা - এটিতে এই বিভাগটি নিয়ে এই সঠিক বিষয়টি নিয়ে আলোচনা করা হয়েছে।
ডিউক্লিং

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

উত্তর:


107

কড়া কথা বলতে গেলে হ'ল ফাংশনগুলির একটি সেট । তাই এর মান সহজভাবে হয় সব ফাংশন যে এসিম্পটোটিকভাবে না দ্রুততর হত্তয়া চেয়ে সেট । স্বরলিপি হ'ল তে write লেখার কেবল একটি প্রচলিত উপায় ।O(f(n))O ( f ( n ) ) f ( n ) T ( n ) = O ( f ( n ) ) T ( n ) O ( f ( n ) )O(f(n))f(n)T(n)=O(f(n))T(n)O(f(n))

মনে রাখবেন, এই এছাড়াও কিছু আদেশ সহকারে ব্যাখ্যা স্বরলিপি। উদাহরণস্বরূপ, আমরা এটি লিখি , তবে আমরা কখনই লিখি না । ডোনাল্ড নুথ (কম্পিউটার প্রোগ্রামিং এর আর্ট, 1.2.11.1) উদ্ধৃত:O(1/2)n2+n=O(n2)O(n2)=(1/2)n2+n

সর্বাধিক গুরুত্বপূর্ণ বিবেচনাটি হচ্ছে একমুখী সমতার ধারণা । [...] যদি এবং সূত্রগুলি থাকে যা নোটেশনকে জড়িত করে , তবে স্বরলিপি অর্থ that দ্বারা চিহ্নিত ফাংশনগুলির সেট হয় অন্তর্ভুক্ত দ্বারা প্রকাশ সেটে ।α(n)β(n)Oα(n)=β(n)α(n)β ( n )β(n)


3
আমি দ্বিতীয় অনুচ্ছেদ বুঝতে পারি না। আমি সম্মত হই যে আমরা যখন লিখি তখন আমাদের অর্থ । তবে since যেহেতু সমষ্টি হিসাবে ব্যাখ্যা করা উচিত নয় কোনও অর্থ দেয় না (এটি একটি টাইপ ত্রুটি!)। যদি তা হয় তবে আপনি কেন বলছেন তবে দ্বিতীয় অনুচ্ছেদে? f O ( f ( n ) ) O ( f ( n ) ) = O ( g ( n ) ) O ( f ( n ) ) O ( g ( n ) ) O ( এন 2 ) ( এন 3 ) (f=O(f(n))fO(f(n))O(f(n))=O(g(n))O(f(n))O(g(n))O(n2)O(n3)O(n3)O(n2)
অ্যালেক্স ভং

7
কারণ উভয় সেট হয়ে গেলে আমরা এটিকে হিসাবে ব্যাখ্যা করিO(n2)O(n3)
RiaD

1
আমি যেখানে যেখানে এটির প্রয়োজন সেখানে শব্দ ব্যবহার করব। গণনাগুলিতে আপনার কেবলমাত্র একটি
পক্ষযুক্ত

11
আমি কখনই কোনও পাঠ্য বা অন্য গুরুতর উত্সে ও (এন ^ 2) = ও (এন ^ 3) দেখিনি। আপনি একটি উদ্ধৃত করতে পারেন?
ইয়াক

1
যদি আমরা আরও কঠোর হতে চাই, এবং ফাংশন নয়, এবং are তবে "কিছু কারণে" আমি কাউকে এ write লিখতে দেখিনি যা লোকেরা পড়তে পারে। n 3 f n n 3 n n 2O ( n n 3 )f(n)n3fnn3nn2O(nn3)
জিকে

43

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

O:(NR)P(NR)fO(f)
ff
(nT(n))O(nf(n))
TO(f)
nT(n)O(f(n))T(n)=O((এন))nT(n)O(f(n))T(n)=O(f(n))যদিও আপনি সন্দেহ করেছেন তেমন বেশ ভুল। যদিও এটি খুব সাধারণভাবে ব্যবহৃত হয়, তাই লোকেরা এটি লেখার সময় কী বোঝায় তা অবশ্যই মনে রাখবেন।

আমি সর্বদা লেখার বিরুদ্ধে পরামর্শ দেব , তবে মতামত পৃথকT(n)=O(f(n))


11
T(n)=O(f(n) স্বরলিপি ব্যবহারের জন্য সম্পূর্ণ মানসম্পন্ন ব্যবহার যাতে এটি দোষহীন বলে দাবী করা হয় ((যেমন, আইএমও, দাবি করছে যে একটি ফাংশন; এটি প্রযুক্তিগতভাবে সত্য, তবে এটি সত্যিকারের সহায়ক উপায় নয়) এটি সম্পর্কে ভাবতে।)O
ডেভিড রিচার্বি

38
@ ডেভিডরিচার্বি কিছু জিনিস সম্পূর্ণ মানসম্পন্ন তবে তা হওয়া উচিত নয়। এর একটি উদাহরণ। নিশ্চিত এটি এখনও ভালো লাগলো জানি মানুষ (ওপি ইতিমধ্যে মতো) এই দ্বারা কি বোঝাতে চেয়েছেন, কিন্তু কিভাবে এটি যে এই স্বরলিপি টেকনিক্যালি বাজে কথা বলছে তা নিশ্চিত করতে সহায়ক নয়? আপনি এটি ব্যবহার করবেন কেন ? এমনকি যদি সংস্করণটি অস্পষ্ট না হয় তবে একটিতে ও হয় না এবং আরও লোকেরা এই স্বরলিপিটিতে স্যুইচ করে। এটি লেখার পক্ষে আরও বিশ্রী না হলে এটি গাণিতিকভাবে যা বোঝায় তা স্থির থাকা আরও ভাল। পুরোপুরি পাঠযোগ্য এবং সহজেই লেখা যায়। = ∈ ∈T(n)=O(f(n))=
বাম দিকের বাইরে

1
@ লেফট্রাউন্ডবাউট আপনি যখন বলছেন যে "আপনি লেখার পক্ষে আরও বিশ্রী না হলে" আপনি তার উপরে আঙ্গুলটি রেখেছেন - with সাথে কাজ করা লিখতে আরও অবাস্তব, বিশেষ ক্ষেত্রে যেখানে কোনও শর্তাদি নেই সেখানে বাদে এলএইচএস এবং ঠিক আরএইচএসে একটি। (উদাহরণস্বরূপ , আমার এই উত্তরের মতো অ্যাসিপটিক্সের সাথে কাজ করা এবং সেই উত্তরের সাথে তুলনা করুন যা হে () স্বরলিখনের সমস্ত সুবিধা ত্যাগ করে এবং একটি অযৌক্তিক অনুমানের উপর নির্ভর করতে হবে)) স্বরলিপিটির উদ্দেশ্য চিন্তাকে সহায়তা করা, এবং সেখানে রয়েছে "=" এর অর্থ পরিবর্তন করে এখানে আরও অনেক কিছু অর্জন করতে হবে( )O()
শ্রীভাতসার

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

1
@ শ্রীভত্সআর আমি একমত যে নিয়ম / উপপাদনের একটি সেট তৈরি করা তত্ত্বের বিষয়। তবে সবচেয়ে গুরুত্বপূর্ণটি হ'ল প্রতিটি নিয়মের স্পষ্টভাবে আনুষ্ঠানিককরণ করা যখন ঠিক, এটি প্রয়োগ হয় । আইএমও টাইপ থিওরি এটির জন্য সেরা কাঠামো, তবে নির্লজ্জ সেটগুলি বাস্তবে যথেষ্ট কাছাকাছি। / / জড়িত বীজগণিত প্রকাশের ন্যাভ "সমীকরণ" , যদিও নেই। - "তারা আপনাকে সেট তত্ত্বের আনুষ্ঠানিকতা সম্পর্কে ভাবিয়ে তোলে," - লক্ষ্যটি সম্পন্ন! - "যা মানুষের চিন্তার সাথে মেলে না ..." - তাই না? অনুশীলন হিসাবে, is-a – সম্পর্কের কথা বলা হ'ল টাইপ তত্ত্বের সাথে আপনি যা করছেন। হে ΘOoΘ
বাম দিকের বাইরে

13

আনুষ্ঠানিকভাবে বলতে, ফাংশন সেট একটি হয় যেমন যে কিছু ধ্রুবক জন্য এবং সব যথেষ্ট বড়  । সুতরাং, এটি লেখার সর্বাপেক্ষা সঠিক পদ্ধতি হ'ল । যাইহোক, ব্যবহার পরিবর্তে  সম্পূর্ণরূপে মান, এবং মানে। এটি মূলত কখনই অস্পষ্ট নয় কারণ আমরা কখনই সেট ম্যানিপুলেট করি না ।O(f(n))gg(n)kf(n)knT(n)O(f(n))=T(n)=O(f(n))T(n)O(f(n))O(f(n))

এক অর্থে, সমতা ব্যবহারের ফলে অর্থ "কিছু ফাংশন যেমন সমস্ত বড়  ", এবং এর অর্থ আপনি এই জাতীয় জিনিস লিখতে পারেন । নোট করুন যে এটি বা চেয়ে অনেক বেশি সুনির্দিষ্ট ।O(f(n))gg(n)fg(n)nf(n)=3n+O(logn)f(n)=Θ(n)f(n)=O(n+logn)


আপনি write । আমি স্বীকার করছি যে এটা দিয়ে একটি মাল্টিপল ধাপ গণনার উপসংহারে কুশলী হতে পারে । ( এন ) = = 3 এন + হে ( লগ এন )f(n)3nO(logn)f(n)==3n+O(logn)
বাম দিকের বাইরে

পুনর্বিন্যাস কেবল স্ট্যান্ডোলোন স্টেটমেন্টে কাজ করে। এটি গণনার মাঝে অনেক বেশি সাধারণ, যেখানে এই ধরণের জিনিস কাজ করে না, এবং যেখানে একাধিক ফাংশন ল্যান্ডাউ স্বরলিপিতে একত্রে শোষিত হয়। ( মতো স্টাফ । f(x)=ex(e2x+O(x))=ex+o(1)
ডেভিড রিচারবি

4
আমি এই জারিংয়ের মতো গণনাগুলি পাই; এই সমান চিহ্নগুলি এখন আর দ্বিদ্বিতীয় নয়। আমি নিশ্চিত নই যে । আমি মনে করি এটিও স্বরলিপিটির অপব্যবহার; মূলত আপনি অপারেটরটি ওভারলোড করছেন যেখানে আমি সেটগুলিতে অপারেট করতে এবং উত্তোলন করতে পছন্দ করি । = + + f(x)ex(e2x+O(x))ex+o(1)=+
বাম দিকের বাইরে

অ্যাসিপটোটিক ফাংশন, এর সেট এবং এই সেটটির একটি নির্ধারিত উপাদানগুলির জন্য, বলুন, সম্ভাবনা সামান্য ভিন্ন স্বরলিপি ব্যবহার করা । সুতরাং, যদি , এক লিখতে পারেন দ্ব্যর্থক পরিবর্তে । তারপর আপনি সমস্যা ছাড়া লিখতে পারেন । একজন অনির্দিষ্ট উপাদান এর জন্য অন্যান্য সম্ভব স্বরলিপি হতে পারে , ... হে ( ) - হে ( ) = + + হে ( ) = + + হে ( ) হে ( ) = - হে ( ) ˙ হে ( ) হে ( )O(h)O(h)fgO(h)f=g+O(h)f=g+O(h)O(h)=fgO(h)O˙(h)O^(h)
মিশেল Fioc

11

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

বড় স্বরলিপি বলতে কী বোঝায় তা আমি পুরোপুরি বুঝতে পারি । যখন আমরা বলি আমার বিষয় , যেখানে আকার ইনপুট উপর একটি আলগোরিদিম সময় চলমান ।OT(n)=O(f(n))T(n)n

দুঃখিত, আপনি যদি বড় স্বরলিপিটির অর্থ বোঝেন তবে আপনার কাছে সমস্যা নেই ।O

আমি এর শব্দার্থবিজ্ঞান বুঝতে পারি। তবে এবং দুটি ভিন্ন জিনিস। একটি সঠিক সংখ্যা, তবে কোনও ফাংশন নয় যা কোনও সংখ্যাকে আলাদা করে দেয়, তাই প্রযুক্তিগতভাবে আমরা সমান বলতে পারি না , যদি কেউ জিজ্ঞাসা করে আপনি কি মান এর , কি আপনার উত্তর হবে? এর কোন উত্তর নেই.T(n)O(f(n))T(n)O(f(n))T(n) ( ( এন ) ) ( ( এন ) ) O(f(n))O(f(n))

কী গুরুত্বপূর্ণ তা শব্দার্থবিজ্ঞান । গুরুত্বপূর্ণটি হ'ল (কীভাবে) লোকেরা (তার মধ্যে একটির) এর যথাযথ ব্যাখ্যায় সহজেই সম্মত হতে পারে যা আমাদের আগ্রহী অ্যাসিপোটোটিক আচরণ বা সময় বা স্থান জটিলতার বর্ণনা দেবে এর ডিফল্ট সুনির্দিষ্ট ব্যাখ্যা / সংজ্ঞা , উইকিপিডিয়া থেকে অনুবাদ হিসাবে ,T(n)=O(f(n))

T একটি বাস্তব বা জটিল মূল্যবান ফাংশন এবং একটি বাস্তব মূল্যবান ফাংশন, উভয় বাস্তব ধনাত্মক সংখ্যার কিছু সীমাবদ্ধ উপসেট সংজ্ঞাসমূহ, এই ধরনের যে সব বড় যথেষ্ট মানের জন্য কঠোরভাবে ইতিবাচক । সব ভালোই বড় মানের জন্য জন্য , পরম মান এর একটি ইতিবাচক ধ্রুবক একাধিক সবচেয়ে এ । এটি হ'ল এখানে একটি ইতিবাচক বাস্তব সংখ্যা এবং এমন একটিff(n)nnT(n)f(n)Mn0

 for all nn0,|T(n)|Mf(n) for all nn0.

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

T(n)( ( এন ) ) টি ( এন ) ( ( এন ) ) ( ( এন ) ) একটি সঠিক সংখ্যা, তবে কোনও ফাংশন নয় যা কোনও সংখ্যাকে আলাদা করে দেয়, তাই প্রযুক্তিগতভাবে আমরা সমান বলতে পারি না , যদি কেউ জিজ্ঞাসা করে আপনি কি মান এর , কি আপনার উত্তর হবে? এর কোন উত্তর নেই.O(f(n))T(n) O(f(n))O(f(n))

প্রকৃতপক্ষে, এর কোনও উত্তর হতে পারে না, যেহেতু প্রশ্নটি অজানা। অর্থ সঠিক সংখ্যা নয়। এটা তোলে একটি ফাংশন যার নাম জন্য দাঁড়ানো বোঝানো হয় যার আনুষ্ঠানিক প্যারামিটার (যা সাজানোর বেষ্টিত হয় মধ্যে )। এটি ঠিক যেমন সঠিক এবং আরও অনেক বেশি আমরা যদি লিখি । যদি হল এমন ফাংশন যা থেকে মানচিত্র করে এবং সেই ফাংশন যা থেকে মানচিত্র করে তবে বা এটি প্রচলিতT(n)Tnnf(n)T=O(f)Tnn2fnn3f(n)=O(n3)n2=O(n3)। দয়া করে এটিও নোট করুন যে সংজ্ঞাটি একটি ফাংশন বা না তা বলে না। এটি বলে না যে বাম হাতের দিকটি একেবারে ডান হাতের সমান হওয়ার কথা! আপনি সন্দেহ করতেই পারেন যে সমান চিহ্নটি তার সাধারণ অর্থে সমতা বোঝায় না , যেখানে আপনি সাম্যের উভয় পক্ষকে স্যুইচ করতে পারেন এবং এটি একটি সমতুল্য সম্পর্কের দ্বারা সমর্থন করা উচিত। (সমান চিহ্নটির অপব্যবহারের আর একটি আরও বিখ্যাত উদাহরণ হ'ল বেশিরভাগ প্রোগ্রামিং ভাষায় অ্যাসাইনমেন্ট বোঝাতে সমান চিহ্ন ব্যবহার করা, কিছু ভাষার মতো আরও জটিল ))O:=

যদি আমরা কেবল সেই এক সমতা সম্পর্কে উদ্বিগ্ন হয়ে থাকি (আমি ভাষাও অপব্যবহার করতে শুরু করি It এটি কোনও সমতা নয় ; তবে এটি একটি সমতা since যেহেতু স্বীকৃতিতে একটি সমান চিহ্ন রয়েছে বা এটি কোনও একরকম সাম্য হিসাবে বিবেচিত হতে পারে ), , এই উত্তরটি সম্পন্ন হয়েছে।T(n)=O(f(n))

যাইহোক, প্রশ্ন আসলে যায়। উদাহরণস্বরূপ, কী? এই সমতাটি উপরের সংজ্ঞা দ্বারা আচ্ছাদিত নয়। আমরা আরেকটি সম্মেলন, স্থানধারক কনভেনশন চালু করতে চাই । উইকিপিডিয়ায় বর্ণিত প্লেসোল্ডার কনভেনশনের পূর্ণ বিবৃতি এখানে ।f(n)=3n+O(logn)

আরও জটিল ব্যবহারে, সমীকরণে বিভিন্ন জায়গায় উপস্থিত হতে পারে, এমনকি প্রতিটি পক্ষের বেশ কয়েকবার। উদাহরণস্বরূপ, নিম্নলিখিতগুলি জন্য সত্য ।O()n

(n+1)2=n2+O(n)
(n+O(n1/2))(n+O(logn))2=n3+O(n5/2)
nO(1)=O(en)

এই ধরনের বিবৃতি অর্থ নিম্নরূপ: কোনও ফাংশন যা প্রতিটি সন্তুষ্ট জন্য বাম পাশে, কিছু প্রতিটি পরিতৃপ্ত ফাংশন হয় ডান দিকে, যেমন যে সমীকরণ মধ্যে এই সব ফাংশন বদলে উভয় পক্ষকে সমান করে তোলে উদাহরণস্বরূপ, উপরের তৃতীয় সমীকরণটির অর্থ: "যে কোনও ফাংশনের জন্য জন্য কিছু ফাংশন রয়েছে যেমন "O()O()f(n)=O(1)g(n)=O(en)nf(n)=g(n)

ক্রিয়াকলাপে স্থানধারক সম্মেলনের আরেকটি উদাহরণের জন্য আপনি এখানে পরীক্ষা করতে চাইতে পারেন want

আপনি এখনই লক্ষ্য করেছেন যে আমি বড় নোটের সেট-তাত্ত্বিক ব্যাখ্যাটি ব্যবহার করি নি । আমি কেবল যা করেছি তা কেবলমাত্র সেই সেট-তাত্ত্বিক ব্যাখ্যা ছাড়াই প্রদর্শন করার জন্য যেমন " একটি ফাংশনের একটি সেট", আমরা এখনও বড় নোটেশন পুরোপুরি এবং নিখুঁতভাবে বুঝতে পারি । আপনি যদি সেট-তাত্ত্বিক ব্যাখ্যাটি দরকারী বলে মনে করেন, তবে যে কোনও উপায়ে এগিয়ে যান।OO(f(n))O

আপনি সংক্ষিপ্তসার আচরণের জন্য বৃহত্তর of , , ছোট , ছোট ome , মাল্টিভারিয়াল ব্যবহার এবং আরও অনেক কিছুর জন্য স্বাক্ষরকরণের পরিবারের জন্য আরও বিশদ বিশ্লেষণ এবং ব্যবহারের ধরণের জন্য সিএলআরএসের "অ্যাসিপটোটিক স্বরলিপি" বিভাগটি পরীক্ষা করতে পারেন । উইকিপিডিয়া এন্ট্রি এছাড়াও একটি প্রশংসনীয় ভাল রেফারেন্স।ΘΩoω

শেষ অবধি, একাধিক ভেরিয়েবলের সাথে বড় স্বরলিপি সহ কিছু অন্তর্নিহিত অস্পষ্টতা / বিতর্ক রয়েছে , 1 এবং 2 । আপনি যখন এগুলি ব্যবহার করছেন তখন আপনি দুবার ভাবতে চাইতে পারেন।O


10

ইন অ্যালগরিদম ডিজাইন ম্যানুয়াল [1], আপনি এই সমস্যা সম্পর্কে একটি অনুচ্ছেদ পেতে পারবেন:

বিগ ওহ স্বরলিপি [ , এবং ] ফাংশনগুলির সাথে তুলনা করার সময় সমতার একটি মোটামুটি ধারণা সরবরাহ করে। এটি মত একটি এক্সপ্রেশন দেখতে কিছুটা বিড়বিড় হয় , তবে এর অর্থটি সর্বদা উপরের এবং নীচের সীমাগুলির সংজ্ঞাগুলিতে ফিরে গিয়ে সমাধান করা যায়। এটা তোলে "=" এখানে "মানে যেমন পড়তে সম্ভবত সবচেয়ে শিক্ষণীয় ফাংশন আছে এক "। স্পষ্টতই, হল ।OΩΘn2=O(n3)এন 2( এন 3 )n2O(n3)

কড়া কথায় বলতে গেলে (যেমন ডেভিড রিচার্বির মন্তব্যে উল্লিখিত ), থিতা আপনাকে সমতার একটি মোটামুটি ধারণা দেয়, কম-বা সম-সমমানের একটি মোটামুটি ধারণা এবং greater এবং বৃহত্তর-বা-সমান সম্পর্কে রুক্ষ ধারণা -প্রতি.ΘOΩ

তবুও, আমি ভিন্সনজোর জবাবের সাথে একমত : আপনি কেবল কে ফাংশনের একটি সেট এবং = চিহ্নকে একটি সেট সদস্যপদ প্রতীক হিসাবে ব্যাখ্যা করতে পারেন ।O(f(n))


[1] স্কিয়েনা, এসএস দি অ্যালগরিদম ডিজাইন ম্যানুয়াল (দ্বিতীয় সংস্করণ)। স্প্রিংগার (২০০৮)


7

সাধারণত, মতো বিবৃতিগুলিকে as হিসাবে ব্যাখ্যা করা যেতে পারে

f=O(g)
there exists hO(g) such that f=h.

ডেভিড রিচার্বি উল্লেখ করার মতো প্রসঙ্গে এটি আরও কার্যকর হয়ে ওঠে, যেখানে আমরা অর্থ " " রয়েছে "এর অর্থ বোঝায় যে ।f(n)=n3+O(n2)g(n)O(n2)f(n)=n2+g(n)

আমি এই অস্তিত্বের কোয়ান্টিফায়ার ব্যাখ্যাকে এত দরকারী বলে মনে করি যে আমি এই জাতীয় জিনিস লিখতে প্ররোচিত হই

f(n)O(n3)

যা কেউ কেউ আরও মারাত্মক শৈলীর লঙ্ঘন সন্ধান করতে পারে তবে এটি লেখার কেবল একটি স্থান-সংরক্ষণের উপায় "" সেখানে উপস্থিত রয়েছে যেমন "Cf(n)Cn3


তার টেক্সট বইয়ে, জেফ আবিস্কার, ফীড আবিষ্কার ব্যবহার ।
থিওডোর নরভেল

2

আরও অনেকগুলি পোস্টার ব্যাখ্যা করেছেন যে বিগ-ওকে ফাংশনগুলির একটি সেট হিসাবে চিহ্নিত করা যেতে পারে এবং স্বরলিপিটি নির্দেশ করে যে ( ফাংশন হিসাবে ) এর মধ্যে রয়েছে দ্বারা নির্দেশিত সেট (আবার প্যারামিটার হিসাবে বিবেচনা )। ইংরেজী পাঠের জন্য, আপনাকে লিখতে পছন্দ করা হতে পারে " হয় " বিভ্রান্তি এড়ানো।n2=O(n3)n2nO(n3)nn2O(n3)

যদিও স্বরলিপিটি বিভ্রান্তিকর হতে পারে, তবে এটি ও একই স্বরলিপিটির অংশ হিসাবে ভাবতে সহায়তা করতে পারে, অর্থাত্ চিকিত্সা করা যেমন এটি একটি প্রতীক। আমরা যখন প্রোগ্রামিং ভাষায় লিখি তখন আমরা যা করি তার থেকে কিছুটা আলাদা : দুটি প্রতীক, সংলগ্ন, আমাদের চোখে এক হয়ে যায়।O==O>=

স্বরলিপিটির আর একটি জটিল দিক হ'ল প্যারামিটার হিসাবে পরিবর্তনশীল অভিনয় স্পষ্টভাবে চিহ্নিত বা আবদ্ধ হয় না , এটি কোনও ফাংশন ঘোষণায় বা ল্যাম্বদা স্বরলিপিতে যেভাবে হয়। এটি বিশেষত বিভ্রান্তিকর হতে পারে যখন দুটি ভেরিয়েবল জড়িত থাকে যেমন বা আরও অনেক কিছু যেমন মত প্রকাশে থাকে কারণ এটি বোঝা যায় যে একটি ধ্রুবক। তারপরে আবার, কিছু অ্যালগরিদমের একটি বিগ-ও সেটে জটিলতা রয়েছে যা প্রযুক্তিগতভাবে দুটি ভেরিয়েবল অনুযায়ী পরিবর্তিত হয়, যখন অনুশীলনে তাদের একটি স্থির হয়। আরও বেশি, এক অ্যালগরিদমের জটিলতা পরিমাপের একাধিক যুক্তিসঙ্গত উপায় থাকতে পারে। উদাহরণস্বরূপ, যদি ইনপুট একটি সংখ্যা, আপনার অ্যালগরিদম হতে পারে মানO(mn)O(nc)cO(n)nসংখ্যার বিট আকারে সংখ্যার চেয়ে(যদিও প্রতি সেপ্টেম্বর জটিলতার তত্ত্বে, বিটের আকারটি সাধারণত সঠিক পরামিতি হয়))O(2b)

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

সর্বদা হিসাবে, আপনি আপনার নিজের লিখিত এড়ানোর বিভ্রান্তির করতে চলেছেন সেরা, এবং আমি এড়ানো করার পরামর্শ দিই পরিবর্তে ব্যবহার বা ইংরেজি "... হয় ..."=OO


" " সাধারণত পঠিত হিসেবে করা হবে " -squared এর বড় হে -cubed" বা " -squared অর্ডার -cubed।" n2=O(n3)nnnn
ডেভিড রিচারবি

2

বেশ কয়েকবার যে পয়েন্টটি করা হয়েছে কেবল তা আন্ডারলাইন করার জন্য, এনজি ডি ব্রুইজন, বিশ্লেষণে অ্যাসিম্পটোটিক পদ্ধতিগুলি থেকে উদ্ধৃতি দেওয়ার অনুমতি দিন :

এই সমস্ত সূত্রের সাধারণ ব্যাখ্যা নীচে প্রকাশ করা যেতে পারে। সিম্বল জড়িত যে কোনও অভিব্যক্তি ফাংশনের শ্রেণি হিসাবে বিবেচনা করা উচিত। যদি পরিসীমা বিবেচনা করা হয়, তবে , সহ ফর্মের সমস্ত ফাংশনের শ্রেণিকে বোঝায় , । এবং অর্থ হ'ল ক্লাস ক্লাসে অন্তর্ভুক্তO0<x<O(1)+O(x2)f(x)+g(x)f(x)=O(1)(0<x<)g(x)=O(x2)(0<x<)x1O(1)=O(1)+O(x2)x1O(1)O(1)+O(x2)। কখনও কখনও, সম্পর্কের বাম-পাশের অংশটি কোনও শ্রেণি নয়, তবে একটি একক ফাংশন [...]। তারপরে সম্পর্কের অর্থ হ'ল বামে ফাংশনটি ডানদিকে শ্রেণীর সদস্য।

এটা সুস্পষ্ট যে এই ধরনের সম্পর্কের জন্য সাইন আসলেই ভুল চিহ্ন, কারণ এটি প্রতিসাম্যতার পরামর্শ দেয় এবং এরকম কোনও প্রতিসাম্যতা নেই। উদাহরণস্বরূপ, সঠিক তবে মিথ্যা। একবার এই সতর্কবার্তাটি দেওয়া হয়ে গেলে, তবে, চিহ্ন ব্যবহার করে খুব বেশি ক্ষতি হয় না এবং আমরা এটি রক্ষণ করব, এটি প্রথাগত ছাড়া অন্য কোনও কারণে নয়।=O(x)=O(x2)(x)O(x2)=O(x)(x)=

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

এই কথাটি বলার পরে, বেন্ডার এবং ওরস্যাগের স্বীকৃতি ( বিজ্ঞানী এবং প্রকৌশলীদের জন্য উন্নত গাণিতিক পদ্ধতিগুলি থেকে ) অনেক কম বিভ্রান্তিকর এবং বিবেচনা করার মতো। কিছু সীমা সম্মানের সাথে, আমরা বলি:

f(x)g(x)(xx0)

(উচ্চারণ করা " " asyptotic হয় ) এর অর্থfg

limxx0f(x)g(x)=1

এবং:

f(x)g(x)(xx0)

(উচ্চারিত " তুলনায় নগন্য ") এর অর্থfg

limxx0f(x)g(x)=0

তবে আমি মনে করি যে বিগ-ওহ লক্ষণটির সুবিধাটি হ'ল ধ্রুবক ফ্যাক্টরটি স্বেচ্ছাসেবী। (এবং সামান্য-ওহ লক্ষণগুলির জন্য, ধ্রুবক ফ্যাক্টরটি আপনি যা কিছু তা-ই))


0

আমি স্ট্যাকওভারফ্লোতে এটি পেরেছি ; যদিও সম্ভবত ওপি-র সবচেয়ে সঠিক উত্তর ইতিমধ্যে উপরে বর্ণিত হয়েছে (সমতুল্য ক্লাসগুলি, # 1 হিসাবে নীচে পুনঃস্থাপন করা হয়েছে), এখানে একটি সম্পূর্ণ উত্তর রয়েছে:

  1. সেটগুলি : " " এর অর্থ , অর্থাত্ একটি সেটে সদস্যতা, যেমন " দ্বারা নির্ধারিত ক্রিয়াকলাপগুলির সেট "। এটি আমি সচেতন যে asympotic স্বরলিপি মানক গাণিতিক চিকিত্সা। এই সেটটির উপসর্গের সাথে সম্পর্কিত একটি আংশিক অর্ডার রয়েছে, যেমন (কিছু সেট অতুলনীয় হতে পারে; ডিএজি; আকর্ষণীয়ের জন্য বহুবর্ষীয় শ্রেণিবিন্যাস দেখুন উদাহরণস্বরূপ)।f=O()fO(){12x2,(5x2x+5),2.5x,...}x2O(x2)<O(x3)=O(x3+x)

    বিঃদ্রঃ. " " এর অর্থ । তবে উল্লেখ্য যে উপরেরটি থেকে পৃথক, এটি একটি সমতুল্য সম্পর্ক (স্পষ্টতই নিখুঁত সম্পর্ক এক্স হিসাবে যদি ওফ এ সমান শ্রেণি হয় না, যেহেতু বোঝায় না ; তুচ্ছ সমতুল্য সম্পর্ক " উভয় উপাদান " সম্ভবত কল্পনা করতে আগ্রহী কিন্তু গাণিতিকভাবে উদ্বেগজনক নয়, যেখানে একাধিক সমতুল্য শ্রেণীর বিভাজনের স্থানকে ভাগ করে দেওয়া হয়েছে)।f=Θ()fΘ()f X gfO(g)fO(g)gf(g)O(g)Θ

  2. ওয়াইল্ডকার্ড অভিব্যক্তি : আপনি পিছন-ইঞ্জিনিয়ার করতে পারেন সংজ্ঞা : (অর্থাত একটি অস্তিত্ব আছে উৎপত্তি কাছাকাছি uncaring কিছু ব্যাসার্ধ পর , এই ধরনের জন্য যে সব ...), একটি বিদ্যমান ব্যান্ড বেঁধে ধ্রুবক যা (যেমন ) ... এবং তাই আমরা কেবল কোনও অভিব্যক্তি অভিব্যক্তি , এটি এটিকে নিজের সাথে বাউন্ডের সাথে প্রতিস্থাপন করুন এবং এমন একটি ত্রুটি শর্ত যা আমরা এরর দ্বারা আবদ্ধ একটি ত্রুটি শব্দ জন্যfΘ(g)x0x>x0gfLOWg(x)f(x)HIGHg(x)O(g)k1g(x)+err(x)0err(x)k2g(x)x>x0এবং জন্য সম্ভাব্য সীমাহীন ..... ..... উদাহরণস্বরূপ যদি আমরা বলে থাকি, আমরা সমানভাবে ত্রুটি যেখানে এই ত্রুটি শব্দটি এরর । যদিও আমরা এটি কখনও লিখব না ... কারণ এটি কিছুটা মূর্খ। তবে আমি বিশ্বাস করি এটি সেভাবে চিন্তা করা বৈধ হতে পারে এবং সাম্যের ধারণাটি সংরক্ষণ করবে। (আমি এখানে নেতিবাচক লক্ষণগুলির যথাযথ চিকিত্সা বন্ধ করছি, যা গুরুত্বপূর্ণ হতে পারে))xx0f=2Θ(x2)f(x)=2k1x2+err(x)0err(x)k2x2

    ক। উপরে সংশোধন জন্য উপযুক্ত হিসেবে পরিবর্তেOΘ


পার্ট 1 এখন মনে হচ্ছে কাজ করছে। কিন্তু ২০১ in সালে ত্রুটি শর্তটি পরিচালনা করা এখনও ভুল। আপনি লিখতে পারি না যেমন কোনো ইতিবাচক মেয়াদে । এবং, আপনি যদি লিখতে চলেছেন, বলুন, এরর say তবে আমি মনে করি না যে এটি ত্রুটি শব্দটিকে "যত্নশীল করবেন না" বলা সত্য নয়, যেহেতু ত্রুটি শব্দটি , যা অনেক বেশি, চেয়ে অনেক বড় । কে 1 এক্স 3 + আর আর আর আর এক্স এক্স 2 = 2 এক্স + আর আর 2 এক্স - এক্স 2 এক্স 2x2k1x3+errerrx2=2x+err2xx2x2
ডেভিড রিচারবি

0

আরও সঠিক উত্তরটি হ'ল যখন আমরা বলি একটি ফাংশন f হ'ল ফাংশন জি এর বড় ও '। (অর্থাত x ^ 2 + x হল ও (x ^ 2)) আমরা বলছি যে কিছু মান সি এবং কে-এর জন্য চ (এক্স) <সি * জি (এক্স) যেখানে x> কে। এর অর্থ হ'ল জি এফের বেহাইভারের জন্য একটি উপরের সীমা।

উদাহরণ

x ^ 2 + 10x 4 হ'ল ও (x ^ 2 + x) যা নিজেই ও (x ^ 2)

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