बुलियन खोज ने समझाया


29

मेरी मां कुछ ऑनलाइन पाठ्यक्रम ले रही हैं ताकि एक प्रकार का लाइब्रेरियन हो, इस कोर्स में वे बूलियन खोजों को कवर करते हैं, इसलिए वे डेटाबेस को कुशलता से खोज सकते हैं, हालांकि, उन्हें एक सवाल मिला, जो कुछ इस तरह लग रहा था:

खोज "x OR y" का परिणाम 105 000 हिट होगा, जबकि केवल x की खोज के परिणामस्वरूप 80 000 हिट होंगे, और केवल y के लिए एक खोज को 35 000 हिट मिलेंगे। खोज "x OR y" 105 000 हिट क्यों देती है, जब संयुक्त व्यक्तिगत खोज 115 000 हिट देती है?

मेरे लिए यह अजीब लग रहा था, इसलिए मैंने इसे स्वयं परीक्षण किया, बेकन और सैंडविच शब्दों का उपयोग करते हुए ।

  • केवल बेकन से 179 000 000 परिणाम मिले
  • केवल सैंडविच झुकेंगे 312 000 000 परिणाम
  • बेकन या सैंडविच ने 491 000 000 परिणाम दिए

लेकिन मेरे लिए यह और बढ़ जाता है: 179 000 000 (बेकन) + 312 000 000 (सैंडविच) = 491 000 000 (बेसिक ऑरेंज)

दोनों व्यक्तिगत प्रश्नों की तुलना में OR क्वेरी को कम हिट में क्यों जोड़ा जा सकता है?


22
आपके पास एक नीला कुत्ता, नीली बिल्ली और लाल बिल्ली है। संख्या (BLUE) = 2, NUMBER OF (CAT) = 2, लेकिन NUMBER OF (BLUE या CAT) = 3, 4 नहीं।
ब्लूराजा - डैनी पीफ्लूघफ्ट

11
मैंने यह कोशिश की, बेकन के लिए 184 मिलियन परिणाम मिले। सैंडविच की खोज करने के लिए इसे कभी नहीं बनाया, क्योंकि मैंने तुरंत खुद को कुछ बेकन भूनने के लिए छोड़ दिया।
corsiKa

15
मुझे लगता है कि असली समस्या यह है कि आपके डेटाबेस में कोई बेकन सैंडविच नहीं है।
MooseBoys

@MooseBoys हाँ, यह होना चाहिए कि मेरी संख्या क्यों बढ़ रही है, क्योंकि उन्हें नहीं करना चाहिए, है ना?
sch

3
@klskl: यदि आप उन नंबरों को Google से प्राप्त कर रहे हैं, तो ध्यान रखें कि वे संख्याएँ बहुत ही मोटे अनुमान हैं। यह बहुत अच्छी तरह से मामला हो सकता है कि, "बेकन या सैंडविच" के लिए अनुमान प्राप्त करने के लिए, वे बस संख्या का योग करते हैं। यह केवल इसलिए काम करता है क्योंकि अनुमान लगाने के लिए किसी भी तरह की सटीकता की आवश्यकता नहीं है।
ब्लूराजा - डैनी पफ्लुगुएफ्ट

जवाबों:


62

संकेत: खोज x और y का परिणाम 10 000 हिट होगा।


हाँ, लेकिन इस बिंदु के बगल में, शिक्षकों का दावा है कि उनकी x या y खोज व्यक्तिगत रूप से खोज करने वाले x के हिट के संयोजन से कम हिट देती है
sch

63
नहीं, वह बात के बगल में नहीं है। इसके विपरीत, यह बिंदु ही है।
युवल फिल्मस

मैं इस के लिए नया हूँ, देखभाल करने के लिए विस्तृत? जो मैं समझता हूं और उनमें दोनों शब्दों के साथ परिणाम देगा, इसलिए प्रत्येक व्यक्ति की तुलना में कम परिणाम होंगे, लेकिन ओआर के साथ क्या करना है?
sch

2
जब और खाली है या ADD की तरह काम करता है, अन्यथा यह नहीं करता है। @ x और y की जानकारी महत्वपूर्ण है।
ईविल

@YuvalFilmus अब मैं देख रहा हूँ, यह बात है! (मैं ऐसा था, हैमबर्गर और सैंडविच 10 000 हिट नहीं देता ...) धन्यवाद
sch

93

यहां लागू होने वाला मतगणना सिद्धांत समावेशन-बहिष्करण है

|एक्सY|=|एक्स|+|Y|-|एक्सY|

नंबर काम करने के लिए, 10000 होना चाहिए।|एक्सY|

एक वेन आरेख किसी ऐसे व्यक्ति के लिए अधिक आश्वस्त हो सकता है जो अंकन से भयभीत हो सकता है।

वेन आरेख


4
यह वास्तव में अच्छा है, यह मेरी माँ को समझाने के लिए उपयोग करेगा, वास्तव में साफ, धन्यवाद!
sch

3
|एक्सY|=|एक्स|+|Y|-|एक्सY||एक्सY||एक्स||Y||एक्स|+|Y|
देवसमन

गणित काम करता है, और यह समझ में आता है, लेकिन यह सेट बीजगणित से ठीक ऊपर मेल नहीं खाता है।
केविन ब्राउन

मुझे याद है कि जब मैं 4-5 का था तब वेन डायग्राम्स कर रहा था। वे वास्तव में कम कर रहे हैं। शुक्रिया जॉन वेन।
फड़

1
@ चित्र, वास्तव में, ऐसे चित्र हमारे वेन-आयन के लायक हैं।
मेसन व्हीलर

13

दस्तावेज़ 1: बिल्ली मेज पर है
दस्तावेज़ 2: मेरी बिल्ली काली है
दस्तावेज़ 3: कुत्ते तालिका के नीचे है
दस्तावेज़ 4: आपकी बिल्ली का नाम क्या है?
दस्तावेज़ 5: यह एक श्वेत-श्याम तस्वीर है

बिल्ली के लिए खोज : लौटाए गए दस्तावेज़ 1,2,4 (3 दस्तावेज़ लौटे) के लिए
खोजें काले रंग के : लौटे दस्तावेज़ हैं ... बिल्ली या काले के
लिए खोजें : लौटे दस्तावेज़ ...

:- डी :- डी


3

सरल शब्दों में:

X के लिए खोज आपको n उत्तर देता है।
Y के लिए खोज आपको उत्तर देता है।
X AND Y की खोज आपको p उत्तर देती है।

एक्स या वाई की खोज में, जैसे ही यह एक्स या वाई पाता है, वैसे ही खोज बंद हो जाती है। इसलिए यदि वाई से पहले कोई एक्स है, तो वाई को एक्स या वाई की खोज में नहीं गिना जाएगा। इसलिए एक्स या वाई के लिए आपकी खोज। आपको n + m - p उत्तर देगा।

यह ध्यान रखना महत्वपूर्ण है कि परिणाम समान होंगे, चाहे आप 2 खोज करें, या सिर्फ एक। यह सिर्फ इतना है कि दो खोजों में संक्षेप में, कुछ दस्तावेजों को दो बार गिना जाता है।


"जैसे ही X या Y पता चलता है, खोज टूट जाती है" क्या यह कार्यान्वयन पर निर्भर नहीं है? एक कार्यान्वयन एक्स के लिए सभी परिणाम प्राप्त कर सकता है, वाई के लिए सभी परिणाम प्राप्त कर सकता है, और फिर परिणाम को इस तरह से जोड़ सकता है जो डुप्लिकेट को समाप्त करता है।
jpmc26

@AnnabDatta मैंने जो वर्णन किया है वह निश्चित रूप से XOR नहीं है। "डुप्लिकेट को समाप्त करना" का अर्थ है दूसरी प्रतिलिपि को समाप्त करना, उस तत्व के सभी उदाहरणों को नहीं।
jpmc26

सच। मैंने गलत समझा। मेरी टिप्पणी को हटा दिया।
अरनब दत्ता

3

कल्पना कीजिए कि आपके पास केवल एक दस्तावेज है। यह इसके साथ दस्तावेज़ # 1 है:

X Y

अब कल्पना कीजिए कि आपके पास एक खोज फ़ंक्शन है जो आपको एक कीवर्ड के आधार पर सभी दस्तावेज़ दे सकता है:

search("X") => 1
search("Y") => 1

ध्यान दें कि दोनों मामलों में दस्तावेजों की संख्या 1 है। अब यदि आपके पास कोई खोज कार्य है जो आपको एक या अधिक खोजशब्दों के मिलान वाले दस्तावेजों की संख्या प्रदान करता है:

search("X", "Y") => 1

जब आप दस्तावेज़ों की संख्या वाले दस्तावेज़ों की संख्या जोड़ते Xहैं Y, तो इससे आप एक ही दस्तावेज़ को दो बार गिन सकते हैं। आपके मामले में, ऐसा 10000कई बार हुआ जैसा कि ऊपर बताया गया है :)

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.