हालांकि दोनों शब्द बताते हैं कि दो सेट के बीच एलिमेंट कैसे मैप किए जाते हैं, वे इक्वेशन के अलग-अलग साइड को बताते हैं। वन-टू-वन (इंजेक्टिव) फ़ंक्शन इनपुट की यूनिकनेस पर फ़ोकस करते हैं, यह पक्का करते हैं कि कोई भी दो रास्ते एक ही डेस्टिनेशन तक न जाएं, जबकि ऑनटू (सर्जेक्टिव) फ़ंक्शन यह पक्का करते हैं कि हर पॉसिबल डेस्टिनेशन तक असल में पहुंचा जाए।
मुख्य बातें
वन-टू-वन से खासियत मिलती है; ऑनटू से पूरापन मिलता है।
एक फ़ंक्शन जो वन-टू-वन और ऑनटू दोनों होता है, उसे बाईजेक्शन कहते हैं।
हॉरिजॉन्टल लाइन टेस्ट एक नज़र में वन-टू-वन फ़ंक्शन की पहचान करता है।
ऑनटू फ़ंक्शन के लिए रेंज और कोडोमेन का एक जैसा होना ज़रूरी है।
एक-से-एक (इंजेक्टिव) क्या है?
एक मैपिंग जहां हर यूनिक इनपुट एक अलग, यूनिक आउटपुट देता है।
सेट थ्योरी में इसे आमतौर पर इंजेक्टिव फ़ंक्शन कहा जाता है।
कोऑर्डिनेट प्लेन पर प्लॉट करने पर यह हॉरिजॉन्टल लाइन टेस्ट पास कर लेता है।
डोमेन में कोई भी दो अलग-अलग एलिमेंट कोडोमेन में एक ही इमेज शेयर नहीं करते हैं।
डोमेन में एलिमेंट्स की संख्या कोडोमेन में एलिमेंट्स की संख्या से ज़्यादा नहीं हो सकती।
इनवर्स फ़ंक्शन बनाने के लिए ज़रूरी है क्योंकि मैपिंग को बिना किसी कन्फ्यूजन के रिवर्स किया जा सकता है।
आच्छादित (सर्वेक्षणिक) क्या है?
एक मैपिंग जहां टारगेट सेट का हर एलिमेंट कम से कम एक इनपुट से कवर होता है।
औपचारिक रूप से इसे सर्जेक्टिव फ़ंक्शन के रूप में जाना जाता है।
फ़ंक्शन की रेंज उसके कोडोमेन के बिल्कुल बराबर है।
एक से ज़्यादा इनपुट को एक ही आउटपुट पर पॉइंट करने की इजाज़त है, बस कुछ भी छूटा नहीं है।
डोमेन का साइज़ कोडोमेन के साइज़ से बड़ा या बराबर होना चाहिए।
यह गारंटी देता है कि आउटपुट सेट में हर वैल्यू में कम से कम एक 'प्री-इमेज' है।
तुलना तालिका
विशेषता
एक-से-एक (इंजेक्टिव)
आच्छादित (सर्वेक्षणिक)
औपचारिक नाम
इंजेक्शन
प्रक्षेप्य
मुख्य आवश्यकता
अद्वितीय इनपुट के लिए अद्वितीय आउटपुट
लक्ष्य सेट का कुल कवरेज
क्षैतिज रेखा परीक्षण
पास होना चाहिए (ज़्यादा से ज़्यादा एक बार काटता है)
कम से कम एक बार प्रतिच्छेद करना चाहिए
संबंध फोकस
विशिष्टता
समावेशिता
आकार सीमा निर्धारित करें
डोमेन ≤ कोडोमेन
डोमेन ≥ कोडोमेन
शेयर्ड आउटपुट?
कड़ाई से निषेध
अनुमत और सामान्य
विस्तृत तुलना
विशिष्टता की अवधारणा
वन-टू-वन फ़ंक्शन एक हाई-एंड रेस्टोरेंट जैसा है जहाँ हर टेबल सिर्फ़ एक पार्टी के लिए रिज़र्व होती है; आप कभी भी दो अलग-अलग ग्रुप को एक ही सीट शेयर करते हुए नहीं देखेंगे। मैथमेटिकली, अगर $f(a) = f(b)$, तो $a$ का मतलब $b$ होना चाहिए। यही एक्सक्लूसिविटी इन फ़ंक्शन को 'अनडन' या इनवर्ट करने की इजाज़त देती है।
कवरेज की अवधारणा
ऑनटू फ़ंक्शन का ज़्यादा ध्यान टारगेट सेट में कोई कसर नहीं छोड़ने पर होता है। एक बस की कल्पना करें जहाँ हर एक सीट पर कम से कम एक व्यक्ति का होना ज़रूरी है। इससे कोई फ़र्क नहीं पड़ता कि दो लोगों को एक ही बेंच पर बैठना पड़े (कई-से-एक), जब तक बस में एक भी खाली सीट न हो।
मैपिंग डायग्राम के साथ विज़ुअलाइज़ करना
मैपिंग डायग्राम में, वन-टू-वन की पहचान सिंगल एरो से होती है जो सिंगल डॉट्स की ओर इशारा करते हैं—कोई भी दो एरो कभी एक साथ नहीं आते। एक ऑनटू फ़ंक्शन के लिए, दूसरे सर्कल के हर डॉट पर कम से कम एक एरो होना चाहिए जो उस ओर इशारा करता हो। एक फ़ंक्शन दोनों हो सकता है, जिसे मैथमैटिशियन बाईजेक्शन कहते हैं।
ग्राफ़िंग अंतर
एक स्टैंडर्ड ग्राफ़ पर, आप एक हॉरिजॉन्टल लाइन को ऊपर और नीचे स्लाइड करके वन-टू-वन स्टेटस के लिए टेस्ट करते हैं; अगर यह कर्व से एक से ज़्यादा बार टकराती है, तो फ़ंक्शन वन-टू-वन नहीं होता है। 'ऑनटू' के लिए टेस्टिंग के लिए ग्राफ़ के वर्टिकल स्पैन को देखना ज़रूरी है ताकि यह पक्का हो सके कि यह बिना किसी गैप के पूरी तय रेंज को कवर करता है।
लाभ और हानि
एक-से-एक
लाभ
+व्युत्क्रम फ़ंक्शन की अनुमति देता है
+कोई डेटा टकराव नहीं
+विशिष्टता बनाए रखता है
+उलटना आसान
सहमत
−आउटपुट का इस्तेमाल नहीं हो सकता
−बड़े कोडोमेन की आवश्यकता है
−सख्त इनपुट नियम
−आगे बढ़ना कठिन है
पर
लाभ
+पूरे टारगेट सेट को कवर करता है
+आउटपुट स्पेस बर्बाद नहीं होगा
+छोटे सेट फिट करना आसान
+सभी संसाधनों का उपयोग करता है
सहमत
−विशिष्टता का नुकसान
−हमेशा उल्टा नहीं किया जा सकता
−टकराव आम बात है
−वापस खोजना कठिन
सामान्य भ्रांतियाँ
मिथ
सभी फ़ंक्शन या तो वन-टू-वन या ऑनटू हैं।
वास्तविकता
कई फ़ंक्शन दोनों में से कोई नहीं हैं। उदाहरण के लिए, $f(x) = x^2$ (सभी रियल नंबरों से सभी रियल नंबरों तक) वन-टू-वन नहीं है क्योंकि $2$ और $-2$ दोनों का रिज़ल्ट $4$ होता है, और यह ऑनटू नहीं है क्योंकि यह कभी भी नेगेटिव नंबर नहीं देता है।
मिथ
वन-टू-वन का मतलब फ़ंक्शन जैसा ही है।
वास्तविकता
एक फ़ंक्शन के लिए बस यह ज़रूरी है कि हर इनपुट का एक आउटपुट हो। वन-टू-वन 'स्ट्रिक्टनेस' की एक एक्स्ट्रा लेयर है जो दो इनपुट को उस आउटपुट को शेयर करने से रोकती है।
मिथ
Onto सिर्फ़ फ़ॉर्मूले पर निर्भर करता है।
वास्तविकता
ऑनटू इस बात पर बहुत ज़्यादा निर्भर करता है कि आप टारगेट सेट को कैसे डिफाइन करते हैं। अगर आप टारगेट को 'सभी नॉन-नेगेटिव नंबर' के तौर पर डिफाइन करते हैं, तो फ़ंक्शन $f(x) = x^2$ ऑनटू है, लेकिन अगर टारगेट 'सभी रियल नंबर' हैं, तो यह फेल हो जाता है।
मिथ
अगर कोई फ़ंक्शन ऑनटू है, तो उसे रिवर्सिबल होना चाहिए।
वास्तविकता
रिवर्सिबिलिटी के लिए वन-टू-वन स्टेटस की ज़रूरत होती है। अगर कोई फ़ंक्शन ऑनटू है लेकिन वन-टू-वन नहीं है, तो आपको पता चल सकता है कि आपका आउटपुट क्या है, लेकिन आपको यह नहीं पता होगा कि कई इनपुट में से किसने इसे बनाया है।
अक्सर पूछे जाने वाले सवाल
वन-टू-वन फ़ंक्शन का एक आसान उदाहरण क्या है?
लीनियर फ़ंक्शन $f(x) = x + 1$ इसका एक क्लासिक उदाहरण है। आप जो भी नंबर डालेंगे, वह आपको एक यूनिक रिज़ल्ट देगा जो कोई दूसरा नंबर नहीं दे सकता। अगर आपको 5 का आउटपुट मिलता है, तो आप पक्के तौर पर जानते हैं कि इनपुट 4 था।
ऑनटू फ़ंक्शन का एक आसान उदाहरण क्या है?
एक ऐसे फ़ंक्शन के बारे में सोचें जो शहर के हर रहने वाले को उस बिल्डिंग से मैप करता है जिसमें वे रहते हैं। अगर हर बिल्डिंग में कम से कम एक व्यक्ति अंदर है, तो फ़ंक्शन बिल्डिंग के सेट पर 'ऑनटू' है। हालांकि, यह वन-टू-वन नहीं है, क्योंकि कई लोग एक ही बिल्डिंग शेयर करते हैं।
हॉरिजॉन्टल लाइन टेस्ट कैसे काम करता है?
अपने ग्राफ़ पर ऊपर-नीचे जाती हुई एक हॉरिजॉन्टल लाइन को देखें। अगर वह लाइन कभी भी फ़ंक्शन को एक साथ दो या ज़्यादा जगहों पर छूती है, तो इसका मतलब है कि वे अलग-अलग x-वैल्यू एक y-वैल्यू शेयर करते हैं, जिससे यह साबित होता है कि यह वन-टू-वन नहीं है।
कंप्यूटर साइंस में ये कॉन्सेप्ट क्यों ज़रूरी हैं?
ये डेटा एन्क्रिप्शन और हैशिंग के लिए बहुत ज़रूरी हैं। एक अच्छा एन्क्रिप्शन एल्गोरिदम वन-टू-वन होना चाहिए ताकि आप बिना डेटा खोए या मिले-जुले नतीजे पाए मैसेज को उसके ओरिजिनल यूनिक रूप में वापस डिक्रिप्ट कर सकें।
क्या होता है जब कोई फ़ंक्शन वन-टू-वन और ऑनटू दोनों होता है?
यह एक 'बाईजेक्शन' या 'वन-टू-वन कॉरेस्पोंडेंस' है। यह दो सेट के बीच एक परफेक्ट पेयरिंग बनाता है, जहाँ हर एलिमेंट का दूसरी तरफ ठीक एक पार्टनर होता है। यह इनफिनिट सेट के साइज़ की तुलना करने के लिए गोल्ड स्टैंडर्ड है।
क्या कोई फ़ंक्शन ऑनटू हो सकता है लेकिन वन-टू-वन नहीं?
हाँ, ऐसा अक्सर होता है। $f(x) = x^3 - x$ सभी रियल नंबर्स पर होता है क्योंकि यह नेगेटिव इनफिनिटी से पॉजिटिव इनफिनिटी तक फैला होता है, लेकिन यह वन-टू-वन नहीं है क्योंकि यह x-एक्सिस को तीन अलग-अलग पॉइंट्स (-1, 0, और 1) पर क्रॉस करता है।
रेंज और कोडोमेन में क्या अंतर है?
कोडोमेन वह 'टारगेट' सेट है जिसे आप शुरू में बताते हैं (जैसे 'सभी रियल नंबर')। रेंज उन वैल्यू का सेट है जिन्हें फ़ंक्शन असल में हिट करता है। एक फ़ंक्शन तभी ऑनटू होता है जब रेंज और कोडोमेन एक जैसे हों।
क्या $f(x) = \sin(x)$ एक-से-एक है?
नहीं, साइन फ़ंक्शन बिल्कुल भी वन-टू-वन नहीं है क्योंकि यह हर $2\pi$ रेडियन पर अपनी वैल्यू दोहराता है। उदाहरण के लिए, $\sin(0)$, $\sin(\pi)$, और $\sin(2\pi)$ सभी 0 के बराबर हैं।
निर्णय
जब आपको यह पक्का करना हो कि हर रिज़ल्ट को एक खास, यूनिक शुरुआती पॉइंट तक वापस ट्रेस किया जा सके, तो वन-टू-वन मैपिंग का इस्तेमाल करें। जब आपका मकसद यह पक्का करना हो कि सिस्टम में हर मुमकिन आउटपुट वैल्यू का इस्तेमाल हो या उसे पाया जा सके, तो ऑनटू मैपिंग चुनें।