क्या श्रेणी सिद्धांत और संबंधपरक बीजगणित के बीच एक समरूपता है?


12

यह बड़े डेटा के नजरिए से आता है। मूल रूप से, कई चौखटे (जैसे अपाचे स्पार्क) फनीक्टर / मोनाड-जैसे इंटरफेस प्रदान करके रिलेशनल ऑपरेशंस की कमी की "भरपाई" करते हैं और बिल्लियों-से-SQL रूपांतरण (स्लैक में स्लीक) के समान आंदोलन है। उदाहरण के लिए, हमें एसक्यूएल-परिप्रेक्ष्य से वैक्टर के तत्व-वार गुणन के लिए प्राकृतिक zip + map(multiply) जुड़ाव (ElementwiseProduct अनुक्रमित पर कोई पुनरावृत्ति नहीं मानने) की आवश्यकता होती है, जिसे श्रेणी थ्योरी के अनुप्रयोगों में (स्पार्क एमएलबी, हालांकि, पहले से ही ) माना जा सकता है ।

सीधे शब्दों में (निम्नलिखित उदाहरण स्काला में हैं):

  • जुड़ने के संदर्भित उप-भाग को आवेदक फ़ंक्टर (सॉर्ट किए गए संग्रह से अधिक) के रूप में माना जा सकता है, जो इसके बदले में हमें देता है zip: List(1,2,3).ap(List(2,4,8).map(a => (b: Int) => a * b))-> (List(1,2,3) zip List(2,4,8)).map(x => x._1 * x._2)। इसके अलावा, हम कुछ प्रीप्रोसेसिंग ( groupByऑपरेटर या सिर्फ सरोगेसी, या आम तौर पर - एक एपिमोर्फिज्म) को मानते हुए इसे कुछ अन्य जॉइन के लिए प्रेरित कर सकते हैं ।

  • अन्य योगों और चयन को मोनाड माना जा सकता है। उदाहरण के लिए, WHEREबस है: List(1,2,2,4).flatMap(x => if (x < 3) List(x) else List.empty)->List(1,2,2,4).filter(_ < 3)

  • डेटा स्वयं ADT (GADT भी है?), जो अपनी बारी में एक साधारण सेट-श्रेणी (या आमतौर पर बोलने वाला - कार्टेशियन-बंद) की तरह दिखता है, इसलिए इसे सेट-आधारित संचालन (करी के कारण) को कवर करना चाहिए (मुझे लगता है) हॉवर्ड-लैंबेक ही) और जैसे ऑपरेशन RENAME(कम से कम अभ्यास में)।

  • एकत्रीकरण fold/reduce(कायापलट) से मेल खाता है

इसलिए, मैं जो पूछ रहा हूं, क्या हम श्रेणी सिद्धांत (और पूरे) रिलेशनल बीजगणित के बीच (शायद सबसेट) के बीच एक समरूपता का निर्माण कर सकते हैं या कुछ खुला है? यदि यह काम करता है, तो श्रेणियों का "सबसेट" क्या है, जो रिलेजेब्रा के लिए आइसोमॉर्फिक है?

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

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

जवाबों:


13

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

{एक्स|एक्स=एक्स}। हर संबंधपरक बीजगणित अभिव्यक्ति तार्किक रूप से एक पारंपरिक स्वतंत्र क्वेरी से संबंधित है।

इसे एक तरफ रखते हुए, जिन श्रेणियों का आंतरिक तर्क (जो मूल रूप से एक आंतरिक भाषा का एक श्रेणीबद्ध या प्रमाण-अप्रासंगिक रूप है) शास्त्रीय FOL के लिए अंतर्ज्ञानवादी FOL और बूलियन श्रेणियों के लिए Heyting श्रेणियां हैं । (श्रेणीबद्ध / प्रमाण प्रासंगिक संस्करण हाइपरडॉक्ट्रीन द्वारा वर्णित हैं । यह बहुत ही प्रासंगिक विभिन्न प्रकार के प्रोटोपोस हैं ।) ध्यान दें, कि FOL, रिलेशनल कैलकुलस और रिलेशनल बीजगणित एकत्रीकरण का समर्थन नहीं करते हैं। (वे एक Datalog क्वेरी का प्रतिनिधित्व करने के लिए आवश्यक पुनरावृत्ति का भी समर्थन नहीं करते हैं ।) एक दृष्टिकोणGROUP BYऔर एकत्रीकरण संबंध-मूल्यवान स्तंभों को अनुमति देने के लिए है जो उच्च-क्रम तर्क (HOL) और नेस्टेड रिलेशनल कैलकुलस (NRL) की ओर जाता है। एक बार जब हम संबंध-मूल्यवान कॉलम रखते हैं, तो एकत्रीकरण को केवल एक अन्य "स्केलर" ऑपरेटर के रूप में औपचारिक रूप दिया जा सकता है।

आपके उदाहरण इस तथ्य की ओर इशारा करते हैं कि एक सामान्य मेटा-भाषा प्रश्नों के लिए एक सभ्य भाषा है। द पेपर मोनड कॉम्प्रिहेंशन: ए वर्सटाइल रिप्रेजेंटेशन ऑफ क्वरीज ( पीडीएफ ) इसे अच्छी तरह से मंत्रित करता है। एक अधिक व्यापक और आधुनिक रूप रयान विन्सस्की की पीएचडी थीसिस, ए फंक्शनल क्वैरी लैंग्वेज विद कंजोरिकल टाइप्स ( पीडीएफ ) है, जो डेविड स्पिवक के काम से संबंधित है जो खुद ही आपके प्रश्न की किसी भी व्याख्या के लिए प्रासंगिक लगता है। (यदि आप अधिक ऐतिहासिक जाना चाहते हैं, तो क्लेसीली, एक कार्यात्मक क्वेरी सिस्टम था ।) वास्तव में, नीरस मेटा-भाषा नेस्टेड में प्रश्नों के लिए एक सभ्य भाषा हैसंबंधपरक कलन। Wisnesky एक प्राथमिक टॉपोस के संदर्भ में NRC तैयार करता है, जिसकी आंतरिक भाषा मिशेल-बेनेबौ भाषा है, जो मूल रूप से बंधे हुए क्वांटिफायर के साथ एक अंतर्ज्ञानवादी सेट सिद्धांत की तरह दिखता है। विन्सेंस्की के उद्देश्य के लिए, वह बूलियन टोपोस का उपयोग करता है, जिसके बजाय एक शास्त्रीय तर्क होगा। यह भाषा (कोर) SQL या Datalog की तुलना में बहुत अधिक शक्तिशाली है। यह ध्यान देने योग्य है कि परिमित सेट की श्रेणी एक (बुलियन) टोपोस बनाती है


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