অ্যান্টি-ব্লুম ফিল্টার আছে?


25

একটি ব্লুম ফিল্টার প্রক্রিয়া চলাকালীন ইতিমধ্যে বিভিন্ন মানগুলির মুখোমুখি হয়েছে কিনা তা দক্ষতার সাথে নজর রাখতে সক্ষম করে। যখন অনেকগুলি ডেটা আইটেম থাকে তখন একটি ব্লুম ফিল্টার একটি হ্যাশ টেবিলের মাধ্যমে একটি গুরুত্বপূর্ণ স্মৃতি সঞ্চয় করতে পারে can এটি একটি হ্যাশ টেবিলের সাথে ভাগ করে নেবে এমন একটি ব্লুম ফিল্টারের প্রধান বৈশিষ্ট্যটি হ'ল এটি সর্বদা "নতুন নয়" বলে যদি কোনও আইটেম নতুন না হয় তবে একটি শূন্যের সম্ভাবনা নেই যে কোনও আইটেম "নতুন নয়" হিসাবে পতাকাঙ্কিত হবে prob "এটি নতুন হলেও।

বিপরীত আচরণ আছে কি একটি "অ্যান্টি-ব্লুম ফিল্টার" আছে?

অন্য কথায়: একটি কার্যকর ডেটা কাঠামো আছে যা কোনও আইটেম নতুন হলে "নতুন" বলে, তবে যা কিছু নয় এমন কিছু আইটেমের জন্য "নতুন" বলতে পারে?

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


যারা আরও আনুষ্ঠানিক চিকিত্সা পছন্দ করেন তাদের জন্য, ব্লুম ফিল্টার যদি নতুন বলে মনে করে তবে লিখুন, অন্যথায় লিখুন এবং যদি সত্যিই নতুন এবং অন্যথায়।b(x)=1xb(x)=0n(x)=1xn(x)=0

তারপরে ; ; ; , কিছু ।Pr[b(x)=0|n(x)=0]=1Pr[b(x)=0|n(x)=1]=αPr[b(x)=1|n(x)=0]=0Pr[b(x)=1|n(x)=1]=1α0<α<1

আমি জিজ্ঞাসা করছি: কিছু 0 <\ বিটা <1 , যেমন প্র [b '(x) = 0 | এর সাথে একটি ' বি ' ফাংশন বাস্তবায়ন করে একটি কার্যকর ডাটা স্ট্রাকচার কি উপস্থিত রয়েছে? n (x) = 0] = \ বিটা ; প্র [বি '(এক্স) = 0 | n (x) = 1] = 0 ; প্র [বি '(এক্স) = 1 | n (x) = 0] = 1 - \ বিটা ; প্র [বি '(এক্স) = 1 | n (x) = 1] = 1 ?b0<β<1Pr[b(x)=0|n(x)=0]=βPr[b(x)=0|n(x)=1]=0Pr[b(x)=1|n(x)=0]=1βPr[b(x)=1|n(x)=1]=1


সম্পাদনা: মনে হচ্ছে এই প্রশ্নটি স্ট্যাকএক্সচেঞ্জ-এর আগে আগে জিজ্ঞাসা করা হয়েছিল, যেমন "হতে পারে না" এর উত্তরগুলির একটি পরিসীমা সহ /programming/635728 এবং /cstheory/6596 "এর মাধ্যমে" সম্পন্ন করা যায়, কিছু খরচে "থেকে" এটি করা তুচ্ছ, এর মানগুলি উল্টিয়ে "।" "সঠিক" উত্তরটি কী তা এখনও আমার কাছে পরিষ্কার নয়। কি হল পরিষ্কার যে কিছু বাছাই একজন LRU ক্যাশে প্রকল্প (Ilmari Karonen দ্বারা প্রস্তাবিত এক ধরনের হিসাবে) বরং ভাল কাজ করে, সহজ বাস্তবায়ন হয়, এবং সময় আমার কোড চালানোর জন্য নিয়ে যাওয়া একটি 50% হ্রাস হয়।b


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

আপনি নিম্নলিখিত আলোচনায় আগ্রহী হতে পারেন: সন্তুষ্টি-ভিত্তিক সেট সদস্যতা ফিল্টার
কাভে

@ কাভাহ: পয়েন্টারটির জন্য ধন্যবাদ, দেখুন।
আন্দ্রেস সালামন

উত্তর:


12

প্যাট্রিক 8787 এর হ্যাশ আইডিয়াটি নিয়ে এখানে একটি ব্যবহারিক নির্মাণ যা আপনার প্রয়োজনীয়তার প্রায়শই পূরণ করে - কোনও পুরানো ব্যক্তির জন্য ভুয়াভাবে নতুন মান ভুল করার সম্ভাবনা একেবারেই শূন্য নয়, তবে সহজেই তুচ্ছভাবে ছোট করা যায়।

এবং পরামিতিগুলি চয়ন করুন ; ব্যবহারিক মান হতে পারে, বলুন, এবং । যাক একটি নিরাপদ হতে ক্রিপ্টোগ্রাফিক হ্যাশ ফাংশন (অন্তত) উত্পাদক আউটপুট বিট।nkn=128k=16Hn+k

বিট বিটস্ট্রিংসের একটি অ্যারে হতে দিন । এই অ্যারে মোট বিট ব্যবহার করে ফিল্টারের রাজ্য সঞ্চয় করে । (এই অ্যারেটি কীভাবে আরম্ভ করা হয় তা বিশেষভাবে বিবেচনা করে না; আমরা কেবল এটি শূন্যে বা এলোমেলো বিট দিয়ে পূরণ করতে পারি))a2k nn2k

  • ফিল্টারটিতে একটি নতুন মান করতে, গণনা করুন , যেখানে প্রথম বোঝায় এবং নীচের বিটগুলি নির্দেশ করে । যাক ।xij=H(x)ikjnH(x)ai=j

  • ফিল্টারটিতে কোনও মান যুক্ত হয়েছে কিনা তা পরীক্ষা করতে, উপরের মতো গণনা করুন এবং কিনা তা পরীক্ষা করুন । যদি হ্যাঁ, সত্য ফিরে আসুন; অন্যথায় মিথ্যা ফিরে।xij=H(x)ai=j

দাবি 1: একটি মিথ্যা ইতিবাচক সম্ভাবনা (নতুন মান মিথ্যাভাবে দেখা যায় বলে দাবী করেন =) হয় । এটিকে বাড়িয়ে তুলনামূলকভাবে ছোট, স্টোরেজ স্পেসের একটি ব্যয়বহুল ব্যয়ে, বাড়িয়ে দেওয়া যায় ; বিশেষত, , এই সম্ভাবনাটি মূলত নগণ্য, বাস্তবে, একটি হার্ডওয়্যার ত্রুটির কারণে মিথ্যা পজিটিভ হওয়ার সম্ভাবনার চেয়ে অনেক ছোট।1/2n+knn128

বিশেষ করে, পরে স্বতন্ত্র মান পরীক্ষা করা হয়েছে এবং ফিল্টার যোগ করা, অন্তত একটি মিথ্যা ইতিবাচক ঘটেছে থাকার সম্ভাব্যতা । উদাহরণস্বরূপ, সঙ্গে এবং 50% সম্ভাবনা সঙ্গে একটি মিথ্যা ইতিবাচক পেতে প্রয়োজন স্বতন্ত্র মান রয়েছে তা গণনা সম্পর্কে ।N(N2N)/2n+k+1n=128k=162(n+k)/2=272

দাবি 2: একটি মিথ্যা নেতিবাচক (= পূর্বে যুক্ত হওয়া মানটি নতুন হিসাবে দাবী করা হয়েছে) এর সম্ভাবনা চেয়ে বড় নয় , যেখানে হল ফিল্টারটিতে যুক্ত হওয়া স্বতন্ত্র মানগুলির সংখ্যা (বা, আরও সুনির্দিষ্টভাবে, নির্দিষ্ট মান পরীক্ষা করার পরে যুক্ত হওয়া স্বতন্ত্র মানের সংখ্যা সম্প্রতি ফিল্টারটিতে যুক্ত হয়েছিল) added1(12k)N1exp(N/2k)<N/2kN


গীত। "অবহেলিতভাবে ছোট" দৃষ্টিকোণে রাখতে, 128-বিট এনক্রিপশন সাধারণত পরিচিত প্রযুক্তির সাথে অবিচ্ছেদ্য হিসাবে বিবেচিত হয় । দিয়ে এই স্কিমটি থেকে একটি মিথ্যা ইতিবাচক প্রাপ্তি সম্ভবত তার প্রথম প্রয়াসে কেউ আপনার গোপন 128-বিট এনক্রিপশন কীটি সঠিকভাবে অনুমান করছে । ( এবং এটি আসলে তুলনায় প্রায় 65,000 গুণ কম)n+k=128n=128k=16

তবে যদি এটি এখনও আপনাকে অযৌক্তিকভাবে নার্ভাস বোধ করে, আপনি সর্বদা যেতে পারেন ; এটি আপনার স্টোরেজ প্রয়োজনীয়তা দ্বিগুণ করবে, তবে আমি নিরাপদে আপনাকে যে কোনও অঙ্কের জন্য বাজি রাখতে পারি যে নামটি কাটাতে হবে যে কেউ কখনও মিথ্যা পজিটিভ দেখতে পাবে না - ধরে নিই যে হ্যাশ ফাংশনটি কোনওভাবেই ভেঙে যায়নি।n=256n=256


1
সম্ভাব্যতা কেবল হার্ডওয়্যার ত্রুটির সাথে তুলনীয় করে তৈরি করা যায় না; এটি প্রথমবারের মতো এসএসএইচ লগইনের জন্য আপনার আরএসএ কী অনুমান করার সম্ভাবনার সাথে তুলনামূলকও তৈরি করা যেতে পারে । আইএমও-র পরবর্তীকালের তুলনায় আপনার সমাধানের কার্যকারিতা জানায়।
আর ..

+1 খুব সুন্দর - আমার বোধগম্যতা এই যে স্থানটি দক্ষতার সমস্যাটি সমাধান করে যখন কিছুটি (খুব ছোট) ভুলভাবে "নতুন নয়" উত্তর দেওয়ার সুযোগ দেয় যখন আইটেমটি আসলে নতুন হয়। খুব ব্যবহারিক, এবং ভাল বিশ্লেষণ।
প্যাট্রিক 87

1
দাবি ১ টি কেবল উল্লেখ করছে যে একটি শালীন হ্যাশ কার্যক্রমে সংঘর্ষের সম্ভাবনা কম রয়েছে। এটি ইতিমধ্যে অনুশীলনে সত্য যদি কমপক্ষে 50 বা তার বেশি হয়। আমার অ্যাপ্লিকেশনটির জন্য, এবং সাধারণ -৪-বিট, অ-ক্রিপ্টোগ্রাফিকালি সুরক্ষিত, তবে দ্রুত হ্যাশ ফাংশন সহ দুর্দান্ত কাজ করে। n+kn=44k=20
আন্দ্রেস সালামন

@ অ্যান্ড্রেসালামন: সত্য, যদিও একটি সুরক্ষিত ক্রিপ্টোগ্রাফিক হ্যাশ ফাংশন আসলে কিছুটা শক্তিশালী গ্যারান্টি সরবরাহ করে: যথা, আপনি ইচ্ছাকৃতভাবে অনুসন্ধান করার চেষ্টা করলেও সংঘর্ষের ইনপুটগুলি খুঁজে পাওয়া অবৈধ । পর্যাপ্ত পরিমাণে (উদাহরণস্বরূপ হিসাবে আমি উপরে প্রস্তাব করেছি) এর অর্থ, এর অর্থ হ'ল মিথ্যা পজিটিভের ব্যয় বেশি হলেও এমনকি যদি কোনও সক্রিয় প্রতিপক্ষের কোনও এটির সন্ধান করার চেষ্টা করাও থাকে তবে সম্পূর্ণ ডেটা সংরক্ষণ করা অপ্রয়োজনীয় । অবশ্যই, আপনার যদি এতটা দৃ strong় গ্যারান্টির প্রয়োজন না হয় তবে কিছুটা বেশি সংঘর্ষের ঝুঁকি গ্রহণযোগ্য হতে পারে। nn=128
ইলমারি করোনেন

1
@ নিউউপটিয়ান যে কারণে আমি একটি ক্রিপ্টোগ্রাফিক হ্যাশ ফাংশন নির্দিষ্ট করেছিলাম তা হ'ল তাদের পক্ষে ব্রুট ফোর্সের চেয়ে বেশি কার্যকরভাবে সংঘর্ষের জন্মের কোনও জ্ঞাত উপায় নেই (যেমন প্রচুর ইনপুট পরীক্ষা করে এবং যে সংঘর্ষে সংঘটিত হয় তাদের নির্বাচন করে), নাহলে হ্যাশ বিবেচিত হবে ভাঙ্গা (যেমন, আজকাল MD5 হয়) 5 সুতরাং, কোনও ক্রিপ্টোগ্রাফিক হ্যাশের জন্য, আমরা বেশ নিরাপদে ধরে নিতে পারি যে সংঘর্ষের হারটি আদর্শ র্যান্ডম হ্যাশ ফাংশনের মতো। সর্বজনীন হ্যাশ ফাংশন বা একটি কীড ম্যাক (একটি এলোমেলো গোপন কী সহ) ব্যবহার করা এই গ্যারান্টিটিকে আরও দৃ stronger় করে তুলবে।
ইলমারি করোনেন

8

না, এই বৈশিষ্ট্যগুলির সাথে একটি কার্যকর ডেটা কাঠামো থাকা সম্ভব নয়, যদি আপনি গ্যারান্টি পেতে চান যে ডেটা স্ট্রাকচারটি সত্যই নতুন হলে "নতুন" বলবে (এটি কখনও নয়, কখনও "নতুন নয়" বলবে না এটি আসলে নতুন; কোনও মিথ্যা নেগেটিভ অনুমোদিত নয়)। এই জাতীয় যে কোনও ডেটা স্ট্রাকচারের সর্বদা ডেটা সবসময় "নতুন নয়" প্রতিক্রিয়া রাখতে হবে। সুনির্দিষ্ট ন্যায়সঙ্গততার জন্য সিস্টেরিতে পেন্টস 90 এর উত্তর দেখুন See

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


এছাড়াও গ্রহণযোগ্য উত্তর দেখুন, যেহেতু প্রশ্নটি একই রয়েছে
জো

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

1
এই উত্তরটি পুরোপুরি যুক্তিসঙ্গত, এবং আমার প্রশ্নের চিঠিটি সম্বোধন করে বলে মনে হচ্ছে, তবে সম্ভবত আত্মা নয়।
আন্দ্রেস সালামন

@ ডিডাব্লু উত্তরটি আপডেট করার জন্য সময় দেওয়ার জন্য ধন্যবাদ। আমি এটি এখনই একটি উত্তর হিসাবে ছেড়ে যেতে চাই, যদিও আমি এখনও অ্যান্টি-ব্লুম ফিল্টারগুলির অদক্ষতা বর্ণনা করার সময় ব্যবহৃত ভাষায় আপত্তি জানাতে চাইছি, পাশাপাশি "বিবরণ" রেফারেন্সে আরও কিছুটা ব্যাখ্যা করা ভাল। .. আপাতত -১ ছেড়ে চলেছি। কিছু অপ্রচলিত মন্তব্য সাফ করা হয়েছে।
প্যাট্রিক 87

@ ডিডব্লিউ "মিথ্যা নেতিবাচক" দ্বারা, আমি "নতুন" প্রতিক্রিয়া জানাতে চাইছি যখন উত্তরটি "নতুন নয়" হওয়া উচিত ছিল। (কিছুটা বিপরীতে, "নতুন নয়" এটি ইতিবাচক ক্ষেত্রে case সমস্ত উপাদান নয় - যদি না আপনি এখানে প্রশ্নের অন্যান্য উত্তর অনুসারে ত্রুটির একটি অনুমানের অর্থপূর্ণ সম্ভাবনা গ্রহণ করতে রাজি না হন।)
প্যাট্রিক ৮

6

শুধু একটি হ্যাশ টেবিলের কী হবে? আপনি যখন কোনও নতুন আইটেম দেখেন, হ্যাশ টেবিলটি পরীক্ষা করুন। যদি আইটেমটির স্পট ফাঁকা থাকে, "নতুন" ফিরে আসুন এবং আইটেমটি যুক্ত করুন। অন্যথায়, আইটেমটির স্থানটি আইটেমটির দ্বারা দখল করা হয়েছে কিনা তা পরীক্ষা করে দেখুন। যদি তা হয় তবে "নতুন নয়" ফেরত দিন। যদি স্পটটি অন্য কোনও আইটেম দ্বারা দখল করা হয়, "নতুন" ফিরে আসুন এবং নতুন আইটেমটির সাথে স্পটটি ওভাররাইট করুন।

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


1
আমি মনে করি যে এই ধরণের স্থান দক্ষতা ইস্যুটিকে উপেক্ষা করে বা তার পরিবর্তে, একটি ব্লুম ফিল্টারের তুলনায় উল্লেখযোগ্যভাবে কম দক্ষ, যেহেতু একটি ব্লুম ফিল্টারটিতে সত্যই কেবল বালতি প্রতি খানিকটা প্রয়োজন হয়, এবং এটি বালতিতে যতটা জায়গা লাগে সেখানে স্থান লাগে আইটেম উপস্থাপন। ওহ ভাল ... মহাবিশ্ব সীমাবদ্ধ না হলে (যুক্তির জবাব হিসাবে ঘুরে বেড়ানো) আমি মনে করি আপনি সম্ভবত একটি ব্লুম ফিল্টারের স্থান দক্ষতার খুব কাছে যেতে পারবেন না।
প্যাট্রিক 87

ব্যক্তিগতভাবে, আমি মনে করি আপনার উত্তরটি আমার চেয়ে ভাল। যদি আপনি সম্ভাব্যতা 50% এর চেয়ে ভাল চান তবে একটি ব্লুম ফিল্টার বালতি প্রতি সামান্য নয় । এটিও একটি স্থির আকার এবং একবার আপনি এটি অর্ধেকের বেশি পূরণ করলে মিথ্যা ধনাত্মক হওয়ার সম্ভাবনা তাত্পর্যপূর্ণভাবে বেড়ে যায়। এটিকে প্রসারিত করার মতো কোনও সুবিধাজনক উপায় নেই, এটিকে ক্যাশে হিসাবে ব্যবহার করার মতো সুবিধাজনক উপায় নেই এবং উপাদানগুলি মুছতে সুবিধাজনক উপায় নেই। আমি প্রতিবার একটি হ্যাশ টেবিল নেব ।
২৪:৪২ এ লজিক

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

4

আইটেমগুলির মহাবিশ্ব সীমাবদ্ধ সেক্ষেত্রে হ্যাঁ: কেবল একটি ব্লুম ফিল্টার ব্যবহার করুন যা সেটের পরিবর্তে কোন উপাদানগুলি সেট থেকে বাইরে রয়েছে তা রেকর্ড করে। (অর্থাত্ একটি ব্লুম ফিল্টার ব্যবহার করুন যা আগ্রহের সেটগুলির পরিপূরককে প্রতিনিধিত্ব করে))

এমন জায়গা যেখানে এটি দরকারী তা হ'ল মুছে ফেলার সীমাবদ্ধ ফর্মের অনুমতি দেওয়া। আপনি দুটি ব্লুম ফিল্টার রাখুন। তারা খালি শুরু। আপনি উপাদানগুলি Asোকানোর সাথে সাথে এগুলিকে পুষ্পযুক্ত ফিল্টার এ A.োকান আপনি যদি পরে কোনও উপাদান মুছতে চান তবে আপনি সেই উপাদানটি ব্লুম ফিল্টার বিতে sertোকান বি বাতিল করার কোনও উপায় নেই। ব্লুম ফিল্টার এ আপনি প্রথম দেখার জন্য এ। আপনি যদি কোনও মিল খুঁজে না পান তবে আইটেমটি কখনই .োকানো হয়নি (সম্ভাব্যতা 1 সহ)। যদি আপনি কোনও মিল খুঁজে পান তবে উপাদানটি orোকানো হতে পারে (বা নাও)। সেক্ষেত্রে আপনি ব্লুম ফিল্টার বিতে একটি অনুসন্ধান করবেন যদি আপনি কোনও মিল খুঁজে না পান তবে আইটেমটি কখনও মোছা হয়নি। আপনি যদি ব্লুম ফিল্টার বিতে কোনও মিল খুঁজে পান তবে আইটেমটি সম্ভবত inোকানো হয়েছিল এবং তারপরে মুছে ফেলা হয়েছিল।

এটি সত্যই আপনার প্রশ্নের উত্তর দেয় না, তবে, এই সীমিত ক্ষেত্রে, ব্লুম ফিল্টার বি আপনার সন্ধান করছেন এমন "অ্যান্টি-ব্লুম ফিল্টার" আচরণ করছে।

রিয়েল ব্লুম ফিল্টার গবেষকরা মুছে ফেলার উপস্থাপনের জন্য আরও কার্যকর উপায়গুলি ব্যবহার করেন, মাইক মিতজেনমাচারের প্রকাশের পৃষ্ঠাটি দেখুন


এই প্রশ্নে, আমরা আইটেমগুলি প্রক্রিয়াজাত করছি, এবং কোনও মোছা নেই। ব্লুম ফিল্টার থেকে আইটেমগুলি সরিয়ে না নিয়ে প্রশংসা সঞ্চয় করার কোনও অর্থবহ উপায় নেই
জো

1
@ জো: আমি সম্মত হই যে সমস্যাটি সাধারণভাবে অ দ্রবণীয়, তাই আমার উত্তরটি সেই ক্ষেত্রে সীমাবদ্ধ যেখানে পরিপূরক সীমাবদ্ধ এবং ছোট ছিল।
বিচরণ করা

1

vi

একটি উদাহরণ আইপি-অ্যাড্রেস হতে পারে এবং আপনি একবার জানতে চান যে আপনি এর আগে কখনও দেখেন নি। তবে এটি এখনও একটি সীমাবদ্ধ সেট, তাই আপনি কী আশা করতে পারেন তা আপনি জানেন।

আসল সমাধানটি সহজ:

  1. আপনার সমস্ত আইটেমগুলি গণনা ব্লুম ফিল্টারে যুক্ত করুন।
  2. 1
  3. আসল নতুন আইটেমটি দেখার পরে, এটি ফিল্টার থেকে বিয়োগ করুন।

সুতরাং আপনার কাছে 'মিথ্যা ধনাত্মক' মান থাকতে পারে যা আসলে পুরানো, তবে নতুন হিসাবে স্বীকৃত। তবে আপনি কোনও নতুন মূল্যের জন্য কখনই 'নতুন নয়' পাবেন না, কারণ এর মানটি এখনও সমস্ত স্লটে থাকবে এবং অন্য কেউ এটিকে নিতে পারত না।

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