डेटाबेस संगणना में समूहों, मोनॉयड्स और रिंग्स का क्या उपयोग है?


38

ट्विटर जैसी कंपनी को बीजीय अवधारणाओं जैसे समूह, मोनॉयड और रिंग में रुचि क्यों होगी? गितुब पर उनका भंडार देखें : Twitter / algebird

सब मैं पा सकता है:

दिलचस्प सन्निकटन एल्गोरिदम, जैसे कि ब्लूम फ़िल्टर , हाइपरलॉगलॉग और काउंटमिनसेट के लिए मोनॉयड का कार्यान्वयन । ये आपको इन परिष्कृत परिचालनों के बारे में सोचने की अनुमति देते हैं, जैसे कि आप संख्याएँ कर सकते हैं, और उन्हें शक्तिशाली आँकड़ों और विश्लेषणों के निर्माण के लिए हडूप या ऑनलाइन में जोड़ सकते हैं।

और GitHub पृष्ठ के दूसरे भाग में:

यह मूल रूप से स्कैलडिंग के मैट्रिक्स एपीआई के हिस्से के रूप में विकसित किया गया था, जहां मैट्रिसेस में मान थे जो मोनॉयड , समूह या रिंग्स के तत्व हैं । इसके बाद, यह स्पष्ट था कि कोड में स्केलिंग के भीतर और ट्विटर पर अन्य परियोजनाओं में व्यापक आवेदन था।

यह व्यापक अनुप्रयोग क्या हो सकता है? ट्विटर के भीतर और सामान्य हित के लिए?


ऐसा लगता है कि डेटाबेस के संरचना एकत्रीकरण में एक मोनॉइड जैसी संरचना है।

Quora पर समान प्रश्न: अमूर्त बीजगणित (बीजगणित के साथ) में ट्विटर की रुचि क्या है?


मेरे पास गणित की पृष्ठभूमि है लेकिन मैं कंप्यूटर वैज्ञानिक नहीं हूं। यह बहुत अच्छा होगा कि "वास्तविक दुनिया" का उपयोग मोनोड्स और अर्ध-समूहों के लिए किया जाए। इन्हें आम तौर पर बेकार सैद्धांतिक निर्माण माना जाता है, और कई अमूर्त बीजगणित पाठ्यक्रमों में उपेक्षा की जाती है (कहने के लिए कुछ भी दिलचस्प नहीं है)।


1
मुझे यह अच्छा लेख सम्मान मिला हैकरन्यूज news.ycombinator.com/item?id=5196708 "बीजगणित डेटा प्रकारों का बीजगणित"
जॉन मैन्गुअल

सहमत हूँ, यह आश्चर्य की बात है कि ट्विटर इन क्षेत्रों में, बल्कि इसके सारगर्भित है। मुख्य विचार एक मैप्रेडस जैसी प्रणाली के लिए पुन: प्रयोज्य घटक लगता है। algebird को स्केलिंग से "स्पून ऑफ" लगता है। यहाँ पर एक टॉक तीखा । हालाँकि यह बीजगणितीय वस्तुओं का उल्लेख नहीं करता है। संभवतः वे डेटा ऑब्जेक्ट प्राइमेटिव /
डेटाफ़्लो

अपनी algebirdलाइब्रेरी पर
स्केलिंग

2
मैं इस विवाद का दृढ़ता से विरोध करूंगा कि मोनॉयड और अर्ध-समूह दोनों को 'बेकार सैद्धांतिक निर्माण' माना जाता है, क्योंकि दोनों में ही गणित के भीतर काफी उपयोगिता है, साथ ही दोनों श्रेणी सिद्धांत और विभिन्न अन्य बीजीय संरचनाओं के लिए मॉडलिंग करते हैं। आप गणित की कौन सी शाखा से आते हैं जो अर्धवृत्त को 'बेकार' मानती है?
स्टीवन स्टैडनिक

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

जवाबों:


27

मुख्य उत्तर यह है कि अर्ध-समूह संरचना का शोषण करके, हम उन प्रणालियों का निर्माण कर सकते हैं जो अंतर्निहित ऑपरेशन को जानने के बिना सही ढंग से समानांतर करते हैं (उपयोगकर्ता आशाजनक साहचर्य है)।

मोनॉयड्स का उपयोग करके, हम स्पार्सिटी का लाभ उठा सकते हैं (हम बहुत सारे विरल मैट्रिस से निपटते हैं, जहां लगभग सभी मूल्य कुछ मोनॉयड में शून्य हैं)।

रिंग्स का उपयोग करके, हम संख्याओं के अलावा अन्य चीजों पर मैट्रिक्स गुणा कर सकते हैं (जो हमने किया है)।

स्वयं एल्जेबर्ड प्रोजेक्ट (साथ ही साथ मुद्दा इतिहास) बहुत स्पष्ट रूप से बताता है कि यहां क्या चल रहा है: हम बड़े डेटा सेटों के एकत्रीकरण के लिए बहुत सारे एल्गोरिदम का निर्माण कर रहे हैं, और संचालन की संरचना का लाभ उठाते हुए हमें सिस्टम की तरफ से जीत मिलती है। (जो आमतौर पर नोड्स के अधिक पर एल्गोरिदम का उत्पादन करने की कोशिश करते समय दर्द बिंदु होता है)।

किसी भी सेमिग्रुप / मोनॉयड / ग्रुप / रिंग के लिए एक बार सिस्टम की समस्याओं को हल करें, और फिर आप किसी भी एल्गोरिथ्म में प्लग कर सकते हैं बिना मेमेचे, होडोप, स्टॉर्म, आदि के बारे में सोचने के लिए ...


4
क्या कोई मोनोरेड और कुछ मोनॉइड में शून्य के बीच के लिंक पर विस्तार कर सकता है?
vzn

उदाहरण या आगे पढ़ने के लिए कुछ लिंक वास्तव में अच्छा होगा
एरिक एलिक

11

प्रोग्रामिंग में मोनॉयड सर्वव्यापी हैं, बस अधिकांश प्रोग्रामर उनके बारे में नहीं जानते हैं।

  • संख्या संचालन जैसे जोड़ और गुणा।
  • मैट्रिक्स गुणन।
  • मूल रूप से सभी संग्रह-जैसी डेटा संरचनाएं मोनोइड बनाती हैं, जहां मोनोएडल ऑपरेशन का संघटन या संघ होता है। इसमें सूची, सेट, मूल्यों की कुंजी के नक्शे, विभिन्न प्रकार के पेड़ आदि शामिल हैं।
  • एक दिया प्रकार के लिए कार्य करता एक एक पर पहचान समारोह के साथ एक साथ एक फार्म एक के endomorphism monoid।AAAAA

कुछ अन्य ऑपरेशन मोनॉयड नहीं बल्कि अर्ध-समूह बनाते हैं। एक अच्छा उदाहरण तत्वों के एक दृश्य के न्यूनतम तत्व के लिए खोज कर रहा है: की न्यूनतम का प्रतिनिधित्व करता है एक और कुछ दिया आदेश wrt।abab

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

aantimesO(logn)

  • संख्याओं का तेजी से विस्तार;
  • O(logn)
  • O(1)O(log(min(n1,n2)))
  • आदि।

अधिक उदाहरणों के लिए प्रोग्रामिंग में monoids / semigroups के उदाहरण देखें ।


7

वितरित फ़ाइल सिस्टम ( DFS ) में एक महत्वपूर्ण समस्या वितरित ब्लॉक से फाइलें उत्पन्न करना है। सूचना सिद्धांत और बीजगणित (समूह, वलय, रेखीय बीजगणित, ...) से Erasure कोड का क्षेत्र HDFS RAID (Hadoop आधारित फ़ाइल सिस्टम) में उदाहरण के लिए वितरित दोष सहिष्णु फ़ाइल सिस्टम में बड़े पैमाने पर उपयोग किया जाता है । सोशल नेटवर्क और क्लाउड कंपनियां बड़े पैमाने पर डीएफएस पर आधारित हैं, इसलिए उन्हें बेहतर और उच्च प्रदर्शन प्रणाली (जैसे रीड-सोलोमन) डिजाइन करने के लिए बीजगणित और Erasure कोड में मास्टर हैं कोड, आदि) ।

यह क्लाउड स्टोरेज में उनके एप्लिकेशन (बीजगणित) के लिए अच्छा पोस्टर भी है: क्लाउड स्टोरेज के लिए नोवेल कोड


6

अगर आपका सवाल है

गणना में समूहों, मोनॉयड्स और रिंग्स के उदाहरण क्या हैं?

+min+ , तो हम सभी जोड़े-कम से कम-पथ को खोजने के लिए निकटता मैट्रिक्स के साथ आव्यूह गुणन उपयोग कर सकते हैं। यह विधि वास्तव में सीएलआरएस में वर्णित है।

हालांकि यह एक बीजीय दृष्टिकोण से केवल सैद्धांतिक लग सकता है, यह हमें ग्राफ समस्याओं के लिए बहुत भारी अनुकूलित रैखिक बीजगणित पुस्तकालयों का उपयोग करने की अनुमति देता है। कॉम्बिनेटरियल BLAS एक ऐसी लाइब्रेरी है।


1
हां, और हमने ऐसा करने के लिए मिनप्लस जोड़ा: github.com/twitter/algebird/blob/develop/algebird-core/src/main/…
ऑस्कर बॉयकिन

4

(Σ,) । इसलिए, औपचारिक भाषा के पूरे क्षेत्र को बीजगणितीय काल के माध्यम से देखा जा सकता है, और इसे कभी-कभी इस तरह से पढ़ाया जाता है।

बदले में, औपचारिक भाषाओं पर विचार से अर्ली पार्सर की पैदावार हुई है, जिसे सेमरिंग्स पर पार्स तक बढ़ाया जा सकता है । यह (औपचारिक) भाषाओं के लिए स्टोचस्टिक मॉडल का उपयोग करते हुए प्राकृतिक भाषा प्रसंस्करण और अन्य क्षेत्रों में उपयोगी है।


3

मेरे पास गणित की पृष्ठभूमि है लेकिन मैं कंप्यूटर वैज्ञानिक नहीं हूं। यह बहुत अच्छा होगा कि "वास्तविक दुनिया" का उपयोग मोनोड्स और अर्ध-समूहों के लिए किया जाए। इन्हें आम तौर पर बेकार सैद्धांतिक निर्माण माना जाता है, और कई अमूर्त बीजगणित पाठ्यक्रमों में उपेक्षा की जाती है (कहने के लिए कुछ भी दिलचस्प नहीं है)।

बल्कि कहने के लिए बहुत दिलचस्प है। हालांकि, यह अमूर्त बीजगणित और विश्लेषण के लिए, कम तुच्छ विषयों के लिए कम से कम असतत गणित और कॉम्बिनेटरिक्स का विषय है। यह भी सवाल है कि आपको किसी निश्चित विषय के बारे में कितना जानना है इससे पहले कि आप किसी और को बता सकें कि यह एक दिलचस्प गणितीय विषय होगा जिसमें मोनॉइड्स और सेमिनग्रुप से संबंधित है। उदाहरण के लिए, मुझे निम्नलिखित विषय (सूजी से संबंधित) दिलचस्प लगे:

  • परिमित अर्धवृत्त और क्रोन-रोड्स सिद्धांत
  • आंशिक समरूपताएं, व्युत्क्रम अर्धवृत्त, समूहवाचक और अर्धवृत्ताकार
  • semirings और उष्णकटिबंधीय ज्यामिति
  • आंशिक आदेश और Möbius फ़ंक्शन
  • submodular फ़ंक्शंस और (Dulmage-Mendelsohn like) decompositions

क्या मैं इनमें से प्रत्येक विषय के बारे में बहुत कुछ जानता हूं? शायद ऩही। कई अन्य गणितीय विषय भी हैं जिनमें मोनॉयड्स और सेमिनग्रुप शामिल हैं, उनमें से कुछ सेमीग्रुप सिद्धांत (जैसे ग्रीन के संबंध) में अधिक आंतरिक हैं, अन्य अधिक सामान्य हैं और सेमीग्रुप (सार्वभौमिक सेमीग्रुप, होमोमोर्फिज्म और आइसोमोर्फिज्म प्रमेय, भागफल संरचनाओं और) के लिए विशिष्ट नहीं हैं। congruences), लेकिन गणितीय दृष्टिकोण से भी महत्वपूर्ण है। जिन विषयों का मैंने ऊपर उल्लेख किया है उनमें "वास्तविक दुनिया" अनुप्रयोग हैं, लेकिन अधिक संबंधित विषय हैं जिनमें "वास्तविक दुनिया" अनुप्रयोग भी हैं।


उपरोक्त वास्तविक प्रश्न का उत्तर नहीं है, लेकिन केवल "... आम तौर पर बेकार सैद्धांतिक निर्माण माना जाता है ... कुछ भी कहने के लिए दिलचस्प है ..." टिप्पणी के अभाव में। इसलिए मैंने कुछ "दिलचस्प" बिंदुओं को सूचीबद्ध किया, दावा किया कि उन लोगों के पास "वास्तविक दुनिया" अनुप्रयोग हैं, और अब हाय-एंजेल उन अनुप्रयोगों के बारे में थोड़ी जानकारी का अनुरोध करता है। लेकिन क्योंकि "यह कहने के लिए बहुत अधिक दिलचस्प है," उस जानकारी से बहुत अधिक उम्मीद न करें: क्रोहन-रोड्स प्रमेय परिमित अर्धवृत्त के लिए एक अपघटन प्रमेय है। इसके अनुप्रयोगों में माल्यार्पण उत्पाद की व्याख्या एक प्रकार की रचना (ट्रांसड्यूसर की) के रूप में है जो ऑटोमेटा और नियमित भाषाओं के सिद्धांत के संबंध में है। मार्क वी लॉसन : दो ट्यूटोरियल व्याख्यान और पृष्ठभूमि सामग्रीनिहित (404 अब) उलटा सेमीफाइगर पर अच्छी सामग्री । उनके अनुप्रयोगों के लिए आधार सममित व्युत्क्रम अर्धसमूह के लिए उनका संबंध है , अर्थात एक सेट पर सभी आंशिक जीवों का समूह। एक व्युत्क्रम अर्धवृत्त के मूल बीजगणितीय लक्षण वर्णन के साथ भी शुरू हो सकता है, लेकिन यह दृष्टिकोण आंशिक अनुप्रयोगों के लिए कनेक्शनों की उपेक्षा करने के लिए जोखिम है जो कई अनुप्रयोगों के लिए महत्वपूर्ण हैं। किसी दिन मुझे करना पड़ेगा उलटे अर्धवृत्त के एक विशिष्ट अनुप्रयोग के बारे में ब्लॉग क्योंकि "पदानुक्रम" का उपयोग अर्धचालक लेआउट को संपीड़ित करने के लिए किया जाता था।। दूसरे उत्तरों में पहले ही सेमरिंग्स के आवेदन वर्णित किए गए हैं (और उष्णकटिबंधीय ज्यामिति हमें कंप्यूटर विज्ञान से बहुत दूर ले जाएगी)। चूँकि मोनॉयड और सेमिनग्रुप भी आंशिक आदेश से संबंधित होते हैं, ऐसे अच्छे विषय जैसे मोबीअस फ़ंक्शंस, जो कि कॉम्बिनेटरिक्स में वर्णित है : द रोटा वे भी संबंधित हैं। और फिर Dulmage-Mendelsohn अपघटन जैसे सिस्टम एनालिसिस के लिए Matrices और Matroids के विषय भी संबंधित हो जाते हैं, जो जाली सिद्धांत (और छिपी पदानुक्रमित संरचनाओं) का अध्ययन करने के लिए मेरी प्रेरणाओं में से एक थे।


ऐसा नहीं है कि मैं शिकायत कर रहा हूं, लेकिन मुझे लगता है कि यदि आप सूचीबद्ध बिंदुओं के वास्तविक जीवन के अनुप्रयोग के बारे में थोड़ी जानकारी जोड़ते हैं, तो आपके पास बहुत अधिक अपवर्जन होगा।
हाय-एंजेल

1
@ हाय-एंजेल असली सवाल का जवाब नहीं है, लेकिन केवल "... बेकार सैद्धांतिक निर्माण ... कुछ भी कहने के लिए दिलचस्प की कमी है ..." टिप्पणी करता है। यह संकेत देता है कि मैं इसे संबोधित करने वाला सबसे योग्य व्यक्ति नहीं हो सकता हूं: "क्या मैं इनमें से प्रत्येक विषय के बारे में बहुत कुछ जानता हूं? शायद नहीं।" मेरी सर्वोच्च मतदान पोस्ट उसी श्रेणी में आती है। बेंजामिन स्टीनबर्ग इसे "विषाक्त" क्षेत्र कहते हैं , और वह "उत्तर" के लिए योग्य होगा ...
थॉमस क्लिम्पेल
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.