পি 2 অ্যালগরিদম একটি দুর্দান্ত সন্ধান। এটা তোলে সমাংশক বিভিন্ন অনুমান উপার্জন তাদের পর্যায়ক্রমে আপডেট, এবং ব্যবহার করে কাজ করে দ্বিঘাত সমাংশক অনুমান করার জন্য (রৈখিক নয়, ঘন নয়) ক্ষেপক। লেখকরা দাবী করেছেন যে রৈখিক প্রবৃদ্ধির চেয়ে লেজগুলিতে চতুর্ভুজ প্রক্ষেপণ আরও ভাল কাজ করে এবং ঘনকটি খুব উদ্বেগজনক এবং কঠিন হয়ে উঠবে।
আপনার "ভারী-লেজযুক্ত" ডেটার জন্য এই পদ্ধতিটি কীভাবে ব্যর্থ হবে আপনি ঠিক তা বলছেন না, তবে এটি অনুমান করা সহজ: প্রচুর পরিমাণে ডেটা সংগ্রহ না করা পর্যন্ত ভারী-লেজযুক্ত বিতরণের জন্য চরম কোয়ান্টাইলের অনুমান অস্থির হবে। আপনি যদি সমস্ত ডেটা সঞ্চয় করে রাখেন তবে এটি (কিছুটা কম পরিমাণে) সমস্যা হতে চলেছে, সুতরাং অলৌকিক প্রত্যাশা করবেন না!
যে কোনও হারে, সহায়ক চিহ্নগুলি কেন সেট করা যায় না - আসুন তাদের এবং কল করুন - যার মধ্যে আপনি অত্যন্ত নিশ্চিত যে কোয়ান্টাইলটি মিথ্যা এবং এবং মধ্যে থাকা সমস্ত ডেটা ? আপনার বাফার পূরণ করলে আপনাকে এই চিহ্নিতকারীগুলিকে আপডেট করতে হবে, সর্বদা রেখে । এটি করার জন্য একটি সাধারণ অ্যালগরিদম (ক) কোয়ান্টাইলের বর্তমান পি 2 অনুমান এবং (খ) চেয়ে কম ডাটা সংখ্যার এবং চেয়ে বেশি ডেটার সংখ্যার সংমিশ্রণ থেকে তৈরি করা যেতে পারে । এই ফ্যাশনে আপনি উচ্চ সুনিশ্চিততার সাথে কোয়ান্টাইলটি ঠিক যেমনটি করতে পারেন ঠিক তেমনই যদি আপনার কাছে পুরো ডেটাसेटটি সর্বদা উপলব্ধ থাকে তবে আপনার কেবল একটি অপেক্ষাকৃত ছোট বাফার প্রয়োজন।x 6 x 0 x 6 x 0 ≤ x 6 x 0 x 6x0x6x0x6x0≤x6x0x6
বিশেষত, আমি ডাটা মান ক্রম সম্পর্কে আংশিক তথ্য বজায় রাখতে একটি ডেটা স্ট্রাকচারের প্রস্তাব করছি । এখানে, a একটি লিঙ্কযুক্ত তালিকাএন এক্স 1 , এক্স 2 , … , এক্স এন ওয়াই(k,y,n)nx1,x2,…,xny
y=(x(n)[k+1]≤x(n)[k+2]≤⋯≤x(n)[k+m]).
এই স্বরলিপিটিতে so এখনও অবধি পড়া টির মধ্যে lest এর মধ্যে ক্ষুদ্রতমকে বোঝায় । একটি ধ্রুবক, বাফার আকার । i ম n x m yx(n)[i]ithn xmy
অ্যালগরিদমটি প্রথম ডেটা মানগুলির মুখোমুখি হয়ে them filling পূরণ করে এবং এটিকে ছোট থেকে বৃহত্তম থেকে সাজানো ক্রমে রেখে begins যাক সমাংশক নির্ণয় করা হতে; যেমন, = 0.99। reading পড়ার পরে তিনটি সম্ভাব্য ক্রিয়া রয়েছে: m q q x n + 1yমিকুইকুইএক্সn + 1
যদি । , ইনক্রিমেন্ট । কেএক্সn + 1< এক্স(n)[k+1]k
যদি ।, কিছুই করবেন না।এক্সn + 1> এক্স( এন )[ কে + এম ]
অন্যথায়, সন্নিবেশ মধ্যে । yএক্সn + 1Y
যে কোনও ইভেন্টে, এনক্রিমেন্ট ।এন
সন্নিবেশ পদ্ধতি রাখে মধ্যে সাজানো ক্রম এবং তারপর চরম মান এক ঘটিয়েছে : y yএক্সn + 1YY
যদি , তবে এবং বর্ধমান থেকে সরান ;x ( এন ) [ কে + 1 ] ওয়াই কেk+m/2<nqx(n)[k+1]yk
অন্যথায়, অপসারণ থেকে । yx(n)[k+m]y
প্রদত্ত যথেষ্ট পরিমাণে বড়, এই পদ্ধতিটি উচ্চ সম্ভাবনার সাথে বিতরণের সত্য পরিমাণের বন্ধনী তৈরি করবে। কোনো পর্যায়ে এটা পরিপ্রেক্ষিতে স্বাভাবিক ভাবেই নির্ণয় করা যায় এবং , যা থাকা বিভিন্ন । (আমি বিশ্বাস করি কেবলমাত্র সর্বাধিক পরিমাণ ডেটা ( ) এর বর্গমূলের মতো স্কেল করতে হবে , তবে আমি এটি প্রমাণ করার জন্য কঠোর বিশ্লেষণ করিনি)) কোনও হারে, অ্যালগরিদম এটি সফল হয়েছে কিনা তা সনাক্ত করবে (দ্বারা এবং থেকে ) তুলনা করা ।এন এক্স ( এন ) [ ⌊ কুই এন ⌋ ] এক্স ( এন ) [ ⌈ কুই এন ⌉ ] Y মিটার এন ট / এন ( ট + + মি ) / এন কুইmnx(n)[⌊qn⌋]x(n)[⌈qn⌉]ymNk/n(k+m)/nq
এবং (সবচেয়ে কঠিন ক্ষেত্রে) ব্যবহার করে 100,000 অবধি মান পরীক্ষা করে দেখায় যে of সঠিক মান অর্জনে এই অ্যালগরিদমের 99.5% সাফল্যের হার রয়েছে । মানগুলির একটি স্রোতের জন্য , এর জন্য কেবলমাত্র দুই মিলিয়ন বাফারের প্রয়োজন হবে (তবে তিন বা চার মিলিয়ন ভাল পছন্দ হবে)। বাফারের জন্য বাছাই করা দ্বিগুণ সংযুক্ত তালিকার ব্যবহারের জন্য = প্রচেষ্টা সর্বাধিক বা মিনিট সনাক্তকরণ এবং মোছার সময় ও ক্রিয়াকলাপ। তুলনামূলকভাবে ব্যয়বহুল সন্নিবেশটি কেবলমাত্র কুই=.5এক্স ( এন ) [ ⌊ কুই এন ⌋ ] এন=10 12 হে(লগ( √m=2N−−√q=.5x(n)[⌊qn⌋]N=1012ও(লগ(এন))ও(1)ও( √ ) √O(log(N−−√))O(log(N))O(1)ও(এন+ √)O(N−−√)বার। সুতরাং এই অ্যালগরিদমের গণনাগত ব্যয় হ'ল সময় এবং স্টোরেজে ।ও( √ ) √O(N+N−−√log(N))=O(N)O(N−−√)