सामग्री
1. परिचय
श्रेणी सिद्धांत और कार्यात्मक प्रोग्रामिंग के संदर्भ में, ऑप्टिक्स जटिल डेटा संरचनाओं के हिस्सों तक पहुंचने और उन्हें अपडेट करने के लिए एक सिद्धांत-आधारित दृष्टिकोण प्रदान करते हैं। जबकि सरल ऑप्टिक्स एकल श्रेणी के भीतर मोनोइडल क्रियाओं का उपयोग करके संचालित होते हैं, बहुपद फ़ैक्टर से जुड़े हालिया विकासों को एक अधिक सामान्य सिद्धांत की आवश्यकता होती है। यह पत्रकम्पोज़िट ऑप्टिक्स, यह फ्रेमवर्क को डबल कैटेगरी (विशेष रूप से प्रोफंक्टर डबल कैटेगरी Prof) के कोप्रेशीव शीव कैटेगरी पर एक्शन के उपयोग से सामान्यीकृत करता है। यह एकीकरण पॉलीनोमियल फंक्टर्स के बीच प्राकृतिक परिवर्तनों द्वारा उत्पन्न ऑप्टिक्स को सुंदरता से कैप्चर करता है।
2. सरल प्रकाशिकी
ऑप्टिक्स की नींव एक्शन कैटेगरी की अवधारणा पर आधारित है।
2.1 कार्य श्रेणी और मोनोइडल कार्य
एक कार्य-श्रेणी को एक मोनोइडल श्रेणी $\mathcal{M}$ के एक श्रेणी $\mathcal{C}$ पर कार्य द्वारा परिभाषित किया जाता है, जिसे $\bullet : \mathcal{M} \times \mathcal{C} \to \mathcal{C}$ से निरूपित किया जाता है। इसे एक मोनोइडल फ़ैक्टर $\bullet: \mathcal{M} \to [\mathcal{C}, \mathcal{C}]$ के रूप में देखा जा सकता है।
2.2 मिश्रित विचरण कार्य और कोएंड
दो क्रियाएँ $\bullet_1: \mathcal{M} \to [\mathcal{C}, \mathcal{C}]$ और $\bullet_2: \mathcal{M} \to [\mathcal{D}, \mathcal{D}]$ दी गई हैं, इन्हें गुणन श्रेणी $\mathcal{C}^{\text{op}} \times \mathcal{D}$ पर एक मिश्रित विचरण क्रिया में संयोजित किया जा सकता है। फिर, होम-सेट इन क्रियाओं के अनुदिश विस्तारित होते हैं, और $\mathcal{M}$ पर कोएंड का उपयोग करके औसत निकालने के बाद, हमें सरल (मिश्रित) ऑप्टिक्स का मानक रूप प्राप्त होता है:
$$O\langle a,b \rangle\langle s,t \rangle = \int^{m:\mathcal{M}} \mathcal{C}(s, m \bullet_1 a) \times \mathcal{D}(m \bullet_2 b, t)$$
यहाँ, $\langle a, b \rangle$ "फोकस" का प्रतिनिधित्व करता है, जबकि $\langle s, t \rangle$ "समग्र वस्तु" का प्रतिनिधित्व करता है।
2.3 प्रकाशिकी श्रेणी
ये ऑप्टिक्स एक श्रेणी $\mathbf{Opt}$ के होम-सेट का गठन करते हैं, जिसके वस्तु क्रमित युग्म $\langle a, b \rangle$ हैं।
3. द्वि-श्रेणी
बाइकैटेगरी श्रेणी सिद्धांत का सामान्यीकरण करती है, जो 2-सेल (1-सेल के बीच के रूपवाद) को प्रस्तुत करके सख्त समानता को सुसंगत समरूपता में शिथिल करती है।
3.1 परिभाषा और उदाहरण
एक द्वि-श्रेणी $\mathcal{B}$ में 0-कोशिकाएँ (वस्तुएँ), 1-कोशिकाएँ (वस्तुओं के बीच तीर) और 2-कोशिकाएँ (1-कोशिकाओं के बीच तीर) होती हैं। किसी भी 0-कोशिका युग्म $i, j$ के लिए, 1-कोशिकाएँ एक रूपवादी श्रेणी $\mathcal{B}(i, j)$ बनाती हैं। एक विशिष्ट उदाहरण $\mathbf{Cat}$ है, जहाँ श्रेणियाँ 0-कोशिकाएँ, फलक 1-कोशिकाएँ और प्राकृतिक रूपांतरण 2-कोशिकाएँ हैं।
3.2 एक द्वि-श्रेणी के रूप में मोनोइडल श्रेणी
एक एकल-वस्तु द्वि-श्रेणी एक एकलसमूही श्रेणी के तुल्य है। इसके 1-स्व-समरूपता कोष्ठक एकलसमूही श्रेणी की वस्तुएँ हैं, संयोजन टेंसर गुणनफल है, और 2-कोष्ठक संरूपण हैं।
3.3 छद्म फलक
द्वि-श्रेणियों के बीच एक छद्म फ़नकार $F: \mathcal{C} \to \mathcal{D}$ एक प्रतिचित्रण है जो द्वि-श्रेणी संरचना को सुसंगत समरूपता तक संरक्षित करता है, न कि सख्ती से।
4. द्वि-श्रेणी क्रिया पर आधारित संयुक्त प्रकाशिकी
महत्वपूर्ण अंतर्दृष्टि यह है कि संयुक्त प्रकाशिकी में फोकस और संयुक्त वस्तु के बीच संबंध का वर्णन एक एकल मोनोइडल क्रिया (एक क्रिया श्रेणी) द्वारा सबसे उपयुक्त रूप से नहीं, बल्कि एक द्वि-श्रेणी की क्रिया द्वारा किया जाता है। यह पत्र संयुक्त प्रकाशिकी को परिभाषित करने के लिए द्वि-श्रेणी $\mathbf{Prof}$ (श्रेणियों, प्रोफ़ंक्टर और प्राकृतिक परिवर्तनों से बनी) द्वारा कोप्रीशीफ श्रेणी पर की गई क्रिया का उपयोग प्रस्तावित करता है। इन प्रकाशिकीयों की संयोजन कान विस्तार के माध्यम से समझाई जाती है, जो उनके श्रृंखला व्यवहार के लिए एक ठोस श्रेणी सिद्धांत आधार प्रदान करती है।
5. बहुपदीय प्रकाशिकी एक विशेष मामले के रूप में
संयुक्त प्रकाशिकी सिद्धांत में बहुपदीय प्रकाशिकी शामिल है। बहुपदीय फ़ैक्टरों के बीच प्राकृतिक परिवर्तनों के रूप में प्रकट होने वाली प्रकाशिकी (पिछले कार्य में "ओसेलेट" के रूप में व्यक्त) सार्वभौमिक द्वि-श्रेणी ढांचे का एक विशिष्ट उदाहरण सिद्ध होती हैं। जब क्रिया द्वि-श्रेणी $\mathbf{Prof}$ होती है और क्रियान्वित श्रेणी कोप्रीशीफ श्रेणी होती है, तो परिणामी संयुक्त प्रकाशिकी ठीक इन बहुपद-आधारित प्रकाशिकीयों के अनुरूप होती है।
6. तकनीकी विवरण और गणितीय ढांचा
मुख्य तकनीकी योगदान ऑप्टिक्स को बाइकैटेगरी एक्शन और कान एक्सटेंशन का उपयोग करके तैयार करना है। एक बाइकैटेगरी $\mathcal{B}$ जो एक श्रेणी $\mathcal{X}$ पर कार्य करती है, और फोकल पॉइंट्स जो श्रेणियों $\mathcal{A}$ और $\mathcal{B}$ में समूहीकृत हैं, को देखते हुए, एक कम्पोजिट ऑप्टिक को एक निश्चित कान एक्सटेंशन इंटीग्रल के रूप में परिभाषित किया जा सकता है:
$$\text{Optic}((A,B), (S,T)) \cong \int^{M \in \mathcal{B}} \mathcal{X}(\alpha(M, A), S) \times \mathcal{X}(T, \beta(M, B))$$
यहाँ $\alpha$ और $\beta$ द्वि-श्रेणी की द्विपक्षीय क्रिया को दर्शाते हैं। यह सरल ऑप्टिक्स सूत्र का सामान्यीकरण करता है, जिसमें एकल श्रेणी $\mathcal{M}$ को द्वि-श्रेणी $\mathcal{B}$ से प्रतिस्थापित किया जाता है और क्रियाओं $\bullet_1, \bullet_2$ को अधिक सामान्य द्वि-फ़ैक्टर $\alpha, \beta$ से बदला जाता है जो द्वि-श्रेणी संरचना का सम्मान करते हैं।
7. विश्लेषणात्मक ढांचा: मुख्य अंतर्दृष्टि और तार्किक संरचना
मूल अंतर्दृष्टि: Milewski का पेपर लेंस सिद्धांत में एक और वृद्धिशील समायोजन नहीं है; यह संपूर्ण कंपोज़ेबल डेटा एक्सेसर्स के लिए एक श्रेणीगत ऑपरेटिंग सिस्टम का रणनीतिक उन्नयन है। मोनॉइडल एक्शन श्रेणियों से बाइकैटेगोरिकल एक्शन की ओर बदलाव, सिंगल-थ्रेडेड प्रक्रियाओं से समवर्ती, नेटवर्क वाली प्रणालियों के सामान्यीकरण के समान है। मूल अंतर्दृष्टि यह है कि आधुनिक डेटा संरचनाओं की वास्तविक जटिलता - जैसे नेस्टेड कंटेनर, आश्रित प्रकार या ग्राफ़ पैटर्न - स्वाभाविक रूप से बहुआयामी है, और एक ऐसे ढांचे की आवश्यकता है जहां "संदर्भ" ($\mathcal{M}$ या $\mathcal{B}$) स्वयं एक समृद्ध, कंपोज़ेबल इकाई है। यह अनुप्रयुक्त श्रेणी सिद्धांत की प्रवृत्ति के अनुरूप है, जैसा कि श्रेणीगत क्वांटम यांत्रिकी या Coq ऑप्टिक्स लाइब्रेरी के कार्यों में देखा जा सकता है, जहां बाइकैटेगोरीज़ और प्रोफ़ंक्टर ओपन सिस्टम और संसाधन-जागरूक कंप्यूटिंग की सार्वभौमिक भाषा बन रहे हैं।
तार्किक संरचना: तर्क प्रक्रिया शल्य चिकित्सा की तरह सटीक है। सबसे पहले, यह पुराने प्रतिमान की सीमाओं को स्थापित करती है: मोनोइडल एक्शन पर आधारित सरल ऑप्टिक्स, बहुपद फ़ैक्टर और विभिन्न ऑप्टिक्स संयोजनों का सामना करते समय एक बाधा में फंस गए। निदान यह था कि मोनोइडल श्रेणी $\mathcal{M}$ बहुत "सपाट" है, संयुक्त फ़ोकस के स्वतंत्र, अंतःक्रियात्मक संदर्भों को मॉडल करने में असमर्थ। समाधान एक बाइकैटेगरी है, जो इन अंतःक्रियाओं को ट्रैक करने के लिए आवश्यक द्वि-आयामी संरचना प्रदान करती है। प्रमाण-अवधारणा सुंदर है: यह दिखाना कि प्रोफ़ंक्टर बाइकैटेगरी $\mathbf{Prof}$ का कोप्रेशीव पर कार्य, स्वाभाविक रूप से पहले के अंतरिम रूप से परिभाषित, बहुपद ऑप्टिक्स के "ओसेलेट" उत्पन्न करता है। तार्किक चरमोत्कर्ष एकीकरण में है: जिन चीजों को एक समय अलग-अलग प्रजातियाँ (लेंस, प्रिज़्म, बहुपद ऑप्टिक्स) माना जाता था, वे अब एक ही बाइकैटेगरी जीनस के विभिन्न पैरामीटरों के तहत अभिव्यक्तियाँ प्रकट होती हैं।
8. शक्तियाँ, कमियाँ और क्रियान्वयन योग्य अंतर्दृष्टियाँ
लाभ:
- एकीकृत क्षमता: इस ढांचे ने बहुपदीय प्रकाशिकी और विभिन्न संयोजनों को सफलतापूर्वक शामिल किया, जिससे संकल्पनात्मक विखंडन कम हुआ।
- गणितीय मजबूती: द्वि-श्रेणियों, प्रोफ़ंक्टर और कैन विस्तार जैसी स्थापित अवधारणाओं का उपयोग करके, सैद्धांतिक विश्वसनीयता सुनिश्चित की गई है और व्यापक ज्ञान प्रणालियों से संबंध स्थापित किया गया है।
- भविष्योन्मुख: द्वि-श्रेणी सूत्रीकरण स्वाभाविक रूप से अधिक अभिव्यंजक है, और यह उभरती हुई डेटा संरचना प्रतिमानों (जैसे कि निर्देशित प्रकार निर्भरता या प्रभाव संदर्भों वाली संरचनाओं से जुड़े) के लिए ऑप्टिक्स मॉडलिंग के लिए तैयार है।
- कम्प्यूटेशनल ट्रैक्टेबिलिटी: पेपर अस्तित्व प्रमाणों और सार्वभौमिक गुणों पर केंद्रित है, लेकिन एल्गोरिदमिक अंतर्दृष्टि पर कम ध्यान देता है। हम कैसे कुशलतापूर्वकगणनाये मिश्रित प्रकाशिकी? शेष/कान विस्तार का यह निरूपण कार्यान्वयनकर्ताओं के लिए अत्यधिक अमूर्त हो सकता है। यह वैन लारहोवेन लेंस के ठोस निरूपण के विपरीत है, जिसे सीधे कार्यात्मक कोड पर मैप किया जा सकता है।
- अनुभवजन्य सत्यापन का अभाव: कोई केस स्टडी या बेंचमार्क नहीं दर्शाता कि यह सामान्य ढांचा वास्तविक सॉफ्टवेयर इंजीनियरिंग समस्याओं का समाधान करता है जिन्हें सरल ऑप्टिक्स द्वारा हल नहीं किया जा सकता। इसके बिना, व्यवहारकर्ताओं के लिए, यह केवल एक समस्या की तलाश में समाधान हो सकता है।
- खड़ी सीखने की अवस्था: द्वि-श्रेणी सिद्धांत और कोलिमिट कैलकुलस की पूर्व ज्ञान आवश्यकता अधिक है, जो श्रेणीय शब्दार्थ विज्ञान के विशेषज्ञता वाले शैक्षणिक हलकों के बाहर अपनाव को सीमित कर सकती है।
- लाइब्रेरी डिजाइनरों के लिए: इस लेख को अगली पीढ़ी की ऑप्टिकल लाइब्रेरी (जैसे Haskell का `lens` या Scala का `monocle`) डिजाइन करने के लिए एक उत्तरी तारे के रूप में लें। एक "बाइकैटेगरी बैकएंड" का प्रोटोटाइप बनाना शुरू करें, जो सामान्य मामलों के लिए सरल ऑप्टिक्स में सुंदरता से वापस आ सके, लेकिन एक सामान्य ढांचे के भीतर बहुपद और समग्र ऑप्टिक्स को मूल रूप से संभाल सके।
- शोधकर्ताओं के लिए: सबसे तत्काल अगला कदम हैविशिष्ट बनाएं। मूल "लेंस" पेपर के मार्ग का अनुसरण करें, जिसने व्यावहारिक लाइब्रेरी को जन्म दिया। यौगिक प्रकाशिकी के लिए एक विहित, ठोस प्रतिनिधित्व (शायद एक सामान्यीकृत van Laarhoven रूप) विकसित करें, और द्वि-श्रेणी विशिष्टता से उस प्रतिनिधित्व तक एक कंपाइलर प्रदान करें।
- अभ्यासकर्ताओं के लिए: इस शोध दिशा पर ध्यान दें। हालांकि इसे तुरंत व्यवहार में नहीं लाया जा सकता, यह उन्नत कार्यात्मक प्रोग्रामिंग अमूर्तन की दिशा दर्शाता है। इसे अभी समझना, मजबूत और भविष्य के लिए तैयार सिस्टम डिजाइन करने में प्रतिस्पर्धात्मक लाभ प्रदान कर सकता है।
9. भविष्य के अनुप्रयोग और अनुसंधान दिशाएँ
ऑप्टिक्स के द्वि-श्रेणीबद्ध ढांचे ने कई आशाजनक रास्ते खोले हैं:
- निर्भर प्रकार वाली ऑप्टिक्स: Agda या Idris जैसी निर्भर प्रकार भाषाओं में लेंस और प्रिज्म का मॉडल बनाना चुनौतीपूर्ण है। Profunctor-आधारित द्वि-श्रेणीबद्ध दृष्टिकोण उन सेटिंग्स में ऑप्टिक्स के लिए एक स्पष्ट अर्थविज्ञान आधार प्रदान कर सकता है, जहां प्रकार मानों पर निर्भर कर सकते हैं।
- प्रभाव प्रणाली के साथ एकीकरण: एक्शन बाइकैटेगरी को प्रभाव-सहित कम्प्यूटेशनल कैटेगरी (जैसे, मोनड बाइकैटेगरी) द्वारा उदाहरणित किया जा सकता है। इससे I/O, स्टेट या गैर-निर्धारणात्मकता की उपस्थिति में एक्सेस और अपडेट को संभालने के लिए एक एकीकृत "प्रभाव-सहित ऑप्टिक्स" सिद्धांत प्राप्त हो सकता है।
- डेटाबेस व्यू अपडेट: डेटाबेस में व्यू अपडेट समस्या लेंस का एक क्लासिक अनुप्रयोग है। कम्पोज़िट ऑप्टिक्स एकाधिक टेबल्स के जॉइन (बहुपदीय संरचनाओं के समान) शामिल करने वाले अधिक जटिल व्यू परिभाषाओं को मॉडल कर सकता है, और अपडेट प्रसार के लिए श्रेणी सिद्धांत-आधारित शुद्धता प्रमाण प्रदान करता है।
- मशीन लर्निंग और डिफरेंशिएबल प्रोग्रामिंग: जैसा कि PyTorch या JAX जैसे फ्रेमवर्क में देखा गया है, जटिल टेंसर या कम्प्यूटेशनल ग्राफ के हिस्सों तक पहुंचना और उन्हें संचालित करना महत्वपूर्ण है। एक सामान्य ऑप्टिक्स फ्रेमवर्क ऐसे संचालनों के लिए एक सिद्धांत-आधारित, संयोजन योग्य API प्रदान कर सकता है, जहां द्वि-श्रेणी कम्प्यूटेशनल ग्राफ की संरचना को स्वयं कैप्चर करती है।
- बायडायरेक्शनल ट्रांसफॉर्मेशन: BX क्षेत्र विभिन्न डेटा प्रस्तुतियों के बीच सिंक्रोनाइज़र का अध्ययन करता है, जो लेंस से गहरा संबंध रखता है। यह समग्र प्रकाशिकी ढांचा जटिल पैटर्न पर बहु-मार्ग सिंक्रनाइज़ेशन के लिए नए, अधिक संयोजन योग्य निर्माण प्रदान कर सकता है।
10. संदर्भ सूची
- Boisseau, G., & Gibbons, J. (2018). What You Needa Know about Yoneda: Profunctor Optics and the Yoneda Lemma. ACM प्रोग्रामिंग भाषाओं पर कार्यवाही.
- Riley, M. (2018). Categories of optics. arXiv preprint arXiv:1809.00738.
- Loregian, F. (2021). Coend Calculus. Cambridge University Press.
- Mac Lane, S. (1998). कार्यशील गणितज्ञ के लिए श्रेणियाँ. Springer Science & Business Media.
- Pickering, M., Gibbons, J., & Wu, N. (2017). Profunctor optics: Modular data accessors. Art Science and Engineering of Programming.
- स्पिवाक, डी. आई. (2020). बहुपद फ़ैक्टर और ओम्माटिडिया. arXiv प्रीप्रिंट arXiv:2006.16941.
- नेस्टर, सी. (2022). फंक्शनल प्रोग्रामिंग में बाइकैटेगरीज़: एक सर्वेक्षण. Journal of Functional Programming.
- Abramsky, S., & Coecke, B. (2004). A categorical semantics of quantum protocols. Proceedings of the 19th Annual IEEE Symposium on Logic in Computer Science.
- Haskell `lens` library documentation and source code. https://hackage.haskell.org/package/lens
- nLab community wiki. Entries on Bicategory, Profunctor, Optic. https://ncatlab.org/nlab/show/HomePage